PageSourceSearch

https://www.supporthclib.org/modules/custom/friends_donate/dist/donate.js?tjxfc1

js supporthclib.org collected 2026-09-24 18:47:18 UTC 2,220,028 bytes, 61,515 lines download raw bytes

vendor: 3,594 bytes, lines 1-88
1/******/ (function(modules) { // webpackBootstrap
2/******/ 	// The module cache
3/******/ 	var installedModules = {};
4/******/
5/******/ 	// The require function
6/******/ 	function __webpack_require__(moduleId) {
7/******/
8/******/ 		// Check if module is in cache
9/******/ 		if(installedModules[moduleId]) {
10/******/ 			return installedModules[moduleId].exports;
11/******/ 		}
12/******/ 		// Create a new module (and put it into the cache)
13/******/ 		var module = installedModules[moduleId] = {
14/******/ 			i: moduleId,
15/******/ 			l: false,
16/******/ 			exports: {}
17/******/ 		};
18/******/
19/******/ 		// Execute the module function
20/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21/******/
22/******/ 		// Flag the module as loaded
23/******/ 		module.l = true;
24/******/
25/******/ 		// Return the exports of the module
26/******/ 		return module.exports;
27/******/ 	}
28/******/
29/******/
30/******/ 	// expose the modules object (__webpack_modules__)
31/******/ 	__webpack_require__.m = modules;
32/******/
33/******/ 	// expose the module cache
34/******/ 	__webpack_require__.c = installedModules;
35/******/
36/******/ 	// define getter function for harmony exports
37/******/ 	__webpack_require__.d = function(exports, name, getter) {
38/******/ 		if(!__webpack_require__.o(exports, name)) {
39/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
40/******/ 		}
41/******/ 	};
42/******/
43/******/ 	// define __esModule on exports
44/******/ 	__webpack_require__.r = function(exports) {
45/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47/******/ 		}
48/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
49/******/ 	};
50/******/
51/******/ 	// create a fake namespace object
52/******/ 	// mode & 1: value is a module id, require it
53/******/ 	// mode & 2: merge all properties of value into the ns
54/******/ 	// mode & 4: return value when already ns object
55/******/ 	// mode & 8|1: behave like require
56/******/ 	__webpack_require__.t = function(value, mode) {
57/******/ 		if(mode & 1) value = __webpack_require__(value);
58/******/ 		if(mode & 8) return value;
59/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60/******/ 		var ns = Object.create(null);
61/******/ 		__webpack_require__.r(ns);
62/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64/******/ 		return ns;
65/******/ 	};
66/******/
67/******/ 	// getDefaultExport function for compatibility with non-harmony modules
68/******/ 	__webpack_require__.n = function(module) {
69/******/ 		var getter = module && module.__esModule ?
70/******/ 			function getDefault() { return module['default']; } :
71/******/ 			function getModuleExports() { return module; };
72/******/ 		__webpack_require__.d(getter, 'a', getter);
73/******/ 		return getter;
74/******/ 	};
75/******/
76/******/ 	// Object.prototype.hasOwnProperty.call
77/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78/******/
79/******/ 	// __webpack_public_path__
80/******/ 	__webpack_require__.p = "";
81/******/
82/******/
83/******/ 	// Load entry module and return exports
84/******/ 	return __webpack_require__(__webpack_require__.s = 0);
85/******/ })
86/************************************************************************/
87/******/ ({
88
vendor: 8,250 bytes, lines 89-155
89/***/ "./js/components/DonationForm.jsx":
90/*!****************************************!*\
91  !*** ./js/components/DonationForm.jsx ***!
92  \****************************************/
93/*! exports provided: default */
94/***/ (function(module, __webpack_exports__, __webpack_require__) {
95
96"use strict";
97__webpack_require__.r(__webpack_exports__);
98/* harmony import */ var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.concat */ "./node_modules/core-js/modules/es.array.concat.js");
99/* harmony import */ var core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_concat__WEBPACK_IMPORTED_MODULE_0__);
100/* harmony import */ var core_js_modules_es_array_is_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.is-array */ "./node_modules/core-js/modules/es.array.is-array.js");
101/* harmony import */ var core_js_modules_es_array_is_array__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_is_array__WEBPACK_IMPORTED_MODULE_1__);
102/* harmony import */ var core_js_modules_es_array_iterator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.iterator */ "./node_modules/core-js/modules/es.array.iterator.js");
103/* harmony import */ var core_js_modules_es_array_iterator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator__WEBPACK_IMPORTED_MODULE_2__);
104/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ "./node_modules/core-js/modules/es.object.to-string.js");
105/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_3__);
106/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js");
107/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_4__);
108/* harmony import */ var core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.string.iterator */ "./node_modules/core-js/modules/es.string.iterator.js");
109/* harmony import */ var core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator__WEBPACK_IMPORTED_MODULE_5__);
110/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.string.replace */ "./node_modules/core-js/modules/es.string.replace.js");
111/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_6__);
112/* harmony import */ var core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.string.search */ "./node_modules/core-js/modules/es.string.search.js");
113/* harmony import */ var core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_7__);
114/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/web.dom-collections.iterator */ "./node_modules/core-js/modules/web.dom-collections.iterator.js");
115/* harmony import */ var core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator__WEBPACK_IMPORTED_MODULE_8__);
116/* harmony import */ var core_js_modules_web_timers__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/web.timers */ "./node_modules/core-js/modules/web.timers.js");
117/* harmony import */ var core_js_modules_web_timers__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_timers__WEBPACK_IMPORTED_MODULE_9__);
118/* harmony import */ var core_js_modules_web_url__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/web.url */ "./node_modules/core-js/modules/web.url.js");
119/* harmony import */ var core_js_modules_web_url__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_url__WEBPACK_IMPORTED_MODULE_10__);
120/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js");
121/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_11__);
122/* harmony import */ var lodash_compact__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! lodash/compact */ "./node_modules/lodash/compact.js");
123/* harmony import */ var lodash_compact__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(lodash_compact__WEBPACK_IMPORTED_MODULE_12__);
124/* harmony import */ var text_mask_addons_dist_createNumberMask__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! text-mask-addons/dist/createNumberMask */ "./node_modules/text-mask-addons/dist/createNumberMask.js");
125/* harmony import */ var text_mask_addons_dist_createNumberMask__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(text_mask_addons_dist_createNumberMask__WEBPACK_IMPORTED_MODULE_13__);
126/* harmony import */ var lodash_fp_map__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! lodash/fp/map */ "./node_modules/lodash/fp/map.js");
127/* harmony import */ var lodash_fp_map__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(lodash_fp_map__WEBPACK_IMPORTED_MODULE_14__);
128/* harmony import */ var react_text_mask__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! react-text-mask */ "./node_modules/react-text-mask/dist/reactTextMask.js");
129/* harmony import */ var react_text_mask__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(react_text_mask__WEBPACK_IMPORTED_MODULE_15__);
130/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
131/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_16__);
132/* harmony import */ var lodash_toNumber__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! lodash/toNumber */ "./node_modules/lodash/toNumber.js");
133/* harmony import */ var lodash_toNumber__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(lodash_toNumber__WEBPACK_IMPORTED_MODULE_17__);
134/* harmony import */ var formik__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! formik */ "./node_modules/formik/dist/formik.esm.js");
135/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js");
136/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_19__);
137
138
139
140
141
142
143
144
145
146
147
148
149function _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); }
150
151function _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; }
152
153function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
154
155function _nonIterableRest() { throw new TypeError("Invalid attempt to de
155structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
156
157function _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); }
158
159function _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; }
160
161function _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; }
162
163function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
164
165/**
166 * Donation Form
167 */
168
169
170
171
172
173
174
175
176 // import { useSpring, animated } from '@react-spring/web';
177
178/* eslint-disable jsx-a11y/label-has-for */
179
180/* global window */
181
182var DonationForm = function DonationForm(_ref) {
183  var _ref2;
184
185  var buttonText = _ref.buttonText,
186      classyFormUrl = _ref.classyFormUrl,
187      donationType = _ref.donationType,
188      entityId = _ref.entityId,
189      monthlyValues = _ref.monthlyValues,
190      oneTimeValues = _ref.oneTimeValues;
191  var ref = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_16__["createRef"])();
192  var numberMask = text_mask_addons_dist_createNumberMask__WEBPACK_IMPORTED_MODULE_13___default()({
193    prefix: '$ ',
194    suffix: ''
195  });
196
197  var getClassyUrl = function getClassyUrl(unformatted, amount, recurring) {
198    var url = classyFormUrl.replace('#!/donation/checkout', '');
199    var parsed = new URL(url);
200    var connector = parsed.search ? '&' : '?';
201    return "".concat(url).concat(connector, "amount=").concat(amount, "&recurring=").concat(recurring).replace('?', '#!/donation/checkout?');
202  };
203
204  var defaultDonationType = donationType;
205
206  if (defaultDonationType === 'monthly') {
207    defaultDonationType = monthlyValues.length ? 'monthly' : 'onetime';
208  } else {
209    defaultDonationType = oneTimeValues.length ? 'onetime' : 'monthly';
210  }
211
212  var initialMonthly;
213  var initialOneTime;
214
215  if (monthlyValues.length > 1) {
216    initialMonthly = monthlyValues[monthlyValues.length - 2];
217  } else if (monthlyValues.length > 0) {
218    var _monthlyValues = _slicedToArray(monthlyValues, 1);
219
220    initialMonthly = _monthlyValues[0];
221  }
222
223  if (oneTimeValues.length > 1) {
224    initialOneTime = oneTimeValues[oneTimeValues.length - 2];
225  } else if (oneTimeValues.length > 0) {
226    var _oneTimeValues = _slicedToArray(oneTimeValues, 1);
227
228    initialOneTime = _oneTimeValues[0];
229  }
230
231  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Formik"], {
232    initialValues: (_ref2 = {}, _defineProperty(_ref2, "donation-type-".concat(entityId), defaultDonationType), _defineProperty(_ref2, "other-monthly-".concat(entityId), ''), _defineProperty(_ref2, "other-one-time-".concat(entityId), ''), _defineProperty(_ref2, "monthly-donation-amount-".concat(entityId), initialMonthly), _defineProperty(_ref2, "one-time-donation-amount-".concat(entityId), initialOneTime), _ref2),
233    onSubmit: function onSubmit(values) {
234      switch (values["donation-type-".concat(entityId)]) {
235        case 'monthly':
236          {
237            var amount = values["monthly-donation-amount-".concat(entityId)];
238            var other = values["other-monthly-".concat(entityId)];
239            if (amount === 'other') amount = other.replace(/\D/g, '');
240            amount = lodash_toNumber__WEBPACK_IMPORTED_MODULE_17___default()(amount);
241
242            if (amount > 0) {
243              window.location.href = getClassyUrl(classyFormUrl, amount, 1);
244            }
245
246            break;
247          }
248
249        case 'onetime':
250          {
251            var _amount = values["one-time-donation-amount-".concat(entityId)];
252            var _other = values["other-one-time-".concat(entityId)];
253            if (_amount === 'other') _amount = _other.replace(/\D/g, '');
254            _amount = lodash_toNumber__WEBPACK_IMPORTED_MODULE_17___default()(_amount);
255
256            if (_amount > 0) {
257              window.location.href = getClassyUrl(classyFormUrl, _amount, 0);
258            }
259
260            break;
261          }
262
263        default:
264          break;
265      }
266    }
267  }, function (_ref3) {
268    var values = _ref3.values,
269        setStatus = _ref3.setStatus,
270        status = _ref3.status;
271    var type = values["donation-type-".concat(entityId)].replace('onetime', 'one-time');
272    var amount = values["".concat(type, "-donation-amount-").concat(entityId)];
273    var combined = "".concat(type, "-").concat(amount); // If the donation amount and/or type has changed and "other" is not
274    // the selected amount (since you couldn't immediately submit without
275    // entering a value) then we'll animate the button.
276
277    if (status !== combined && amount !== 'other') {
278      setStatus(combined);
279      var current = ref.current;
280
281      if (current) {
282        current.classList.remove('is-animating');
283        current.classList.add('is-animating');
284        setTimeout(function () {
285          return current.classList.remove('is-animating');
286        }, 500);
287      }
288    }
289
290    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Form"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
291      className: "sr-only",
292      id: "donation-type-label-".concat(entityId)
293    }, "Select type of donation"), oneTimeValues.length && monthlyValues.length ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
294      role: "group",
295      "aria-labelledby": "donation-type-label-".concat(entityId)
296    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("label", {
297      className: classnames__WEBPACK_IMPORTED_MODULE_11___default()({
298        'is-active': values["donation-type-".concat(entityId)] === 'monthly',
299        'donation-type-label': true
300      }),
301      htmlFor: "donation-type-monthly-".concat(entityId)
302    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Field"], {
303      id: "donation-type-monthly-".concat(entityId),
304      name: "donation-type-".concat(entityId),
305      type: "radio",
306      value: "monthly"
307    }), "Monthly"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("label", {
308      className: classnames__WEBPACK_IMPORTED_MODULE_11___default()({
309        'is-active': values["donation-type-".concat(entityId)] === 'onetime',
310        'donation-type-label': true
311      }),
312      htmlFor: "donation-type-one-time-".concat(entityId)
313    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Field"], {
314      id: "donation-type-one-time-".concat(entityId),
315      name: "donation-type-".concat(entityId),
316      type: "radio",
317      value: "onetime"
318    }), "One-Time")) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", null, values["donation-type-".concat(entityId)] === 'monthly' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_16__["Fragment"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
319      className: "sr-only",
320      id: "donation-monthly-label-".concat(entityId)
321    }, "Make a monthly donation"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
322      role: "group",
323      "aria-labelledby": "donation-monthly-label-".concat(entityId)
324    }, lodash_fp_map__WEBPACK_IMPORTED_MODULE_14___default()(function (amount) {
325      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("label", {
326        className: classnames__WEBPACK_IMPORTED_MODULE_11___default()({
327          'is-active': amount === values["monthly-donation-amount-".concat(entityId)],
328          'monthly-donation-amount-label': true
329        }),
330        key: "monthly-donation-amount-".concat(amount, "-").concat(entityId),
331        htmlFor: "monthly-donation-amount-".concat(amount, "-").concat(entityId)
332      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Field"], {
333        id: "monthly-donation-amount-".concat(amount, "-").concat(entityId),
334        name: "monthly-donation-amount-".concat(entityId),
335        type: "radio",
336        value: amount
337      }), new Intl.NumberFormat('en-US', {
338        style: 'currency',
339        currency: 'USD',
340        minimumFractionDigits: 0
341      }).format(amount));
342    }, lodash_compact__WEBPACK_IMPORTED_MODULE_12___default()(monthlyValues)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("label", {
343      key: "monthly-donation-amount-other-".concat(entityId),
344      htmlFor: "monthly-donation-amount-other-".concat(entityId),
345      className: classnames__WEBPACK_IMPORTED_MODULE_11___default()({
346        'is-active': values["monthly-donation-amount-".concat(entityId)] === 'other',
347        'monthly-donation-amount-label': true
348      })
349    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Field"], {
350      id: "monthly-donation-amount-other-".concat(entityId),
351      type: "radio",
352      name: "monthly-donation-amount-".concat(entityId),
353      value: "other"
354    }), values["monthly-donation-amount-".concat(entityId)] === 'other' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Field"], {
355      name: "other-monthly-".concat(entityId),
356      render: function render(_ref4) {
357        var field = _ref4.field;
358        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(react_text_mask__WEBPACK_IMPORTED_MODULE_15___default.a, _extends({
359          autoFocus: true,
360          mask: numberMask,
361          placeholder: "$0"
362        }, field));
363      }
364    }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("span", null, "Other")))) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_16__["Fragment"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
365      className: "sr-only",
366      id: "donation-one-time-label-".concat(entityId)
367    }, "Make a one-time donation"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("div", {
368      role: "group",
369      "aria-labelledby": "donation-one-time-label-".concat(entityId)
370    }, lodash_fp_map__WEBPACK_IMPORTED_MODULE_14___default()(function (amount) {
371      return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("label", {
372        className: classnames__WEBPACK_IMPORTED_MODULE_11___default()({
373          'is-active': amount === values["one-time-donation-amount-".concat(entityId)],
374          'one-time-donation-amount-label': true
375        }),
376        key: "one-time-donation-amount-".concat(amount, "-").concat(entityId),
377        htmlFor: "one-time-donation-amount-".concat(amount, "-").concat(entityId)
378      }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Field"], {
379        id: "one-time-donation-amount-".concat(amount, "-").concat(entityId),
380        name: "one-time-donation-amount-".concat(entityId),
381        type: "radio",
382        value: amount
383      }), new Intl.NumberFormat('en-US', {
384        style: 'currency',
385        currency: 'USD',
386        minimumFractionDigits: 0
387      }).format(amount));
388    }, lodash_compact__WEBPACK_IMPORTED_MODULE_12___default()(oneTimeValues)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("label", {
389      className: classnames__WEBPACK_IMPORTED_MODULE_11___default()({
390        'is-active': values["one-time-donation-amount-".concat(entityId)] === 'other',
391        'one-time-donation-amount-label': true
392      }),
393      key: "one-time-donation-amount-other-".concat(entityId),
394      htmlFor: "one-time-donation-amount-other-".concat(entityId)
395    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Field"], {
396      id: "one-time-donation-amount-other-".concat(entityId),
397      type: "radio",
398      name: "one-time-donation-amount-".concat(entityId),
399      value: "other"
400    }), values["one-time-donation-amount-".concat(entityId)] === 'other' ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_18__["Field"], {
401      name: "other-one-time-".concat(entityId),
402      render: function render(_ref5) {
403        var field = _ref5.field;
404        return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement(react_text_mask__WEBPACK_IMPORTED_MODULE_15___default.a, _extends({
405          autoFocus: true,
406          mask: numberMask,
407          placeholder: "$0"
408        }, field));
409      }
410    }) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("span", null, "Other"))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_16___default.a.createElement("button", {
411      ref: ref,
412      type: "submit"
413    }, buttonText));
414  }));
415};
416
417DonationForm.propTypes = {
418  buttonText: prop_types__WEBPACK_IMPORTED_MODULE_19__["PropTypes"].string.isRequired,
419  classyFormUrl: prop_types__WEBPACK_IMPORTED_MODULE_19__["PropTypes"].string.isRequired,
420  donationType: prop_types__WEBPACK_IMPORTED_MODULE_19__["PropTypes"].string.isRequired,
421  entityId: prop_types__WEBPACK_IMPORTED_MODULE_19__["PropTypes"].string.isRequired,
422  monthlyValues: prop_types__WEBPACK_IMPORTED_MODULE_19__["PropTypes"].arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_19__["PropTypes"].string).isRequired,
423  oneTimeValues: prop_types__WEBPACK_IMPORTED_MODULE_19__["PropTypes"].arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_19__["PropTypes"].string).isRequired
424};
425/* harmony default export */ __webpack_exports__["default"] = (DonationForm);
426
427/***/ }),
428
429/***/ "./js/donate.js":
430/*!**********************!*\
431  !*** ./js/donate.js ***!
432  \**********************/
433/*! no exports provided */
434/***/ (function(module, __webpack_exports__, __webpack_require__) {
435
436"use strict";
437__webpack_require__.r(__webpack_exports__);
438/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js");
439/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_0__);
440/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.split */ "./node_modules/core-js/modules/es.string.split.js");
441/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_1__);
442/* harmony import */ var core_js_stable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/stable */ "./node_modules/core-js/stable/index.js");
443/* harmony import */ var core_js_stable__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_stable__WEBPACK_IMPORTED_MODULE_2__);
444/* harmony import */ var lodash_compact__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/compact */ "./node_modules/lodash/compact.js");
445/* harmony import */ var lodash_compact__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_compact__WEBPACK_IMPORTED_MODULE_3__);
446/* harmony import */ var lodash_fp_map__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/fp/map */ "./node_modules/lodash/fp/map.js");
447/* harmony import */ var lodash_fp_map__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_fp_map__WEBPACK_IMPORTED_MODULE_4__);
448/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
449/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);
450/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-dom */ "./node_modules/react-dom/index.js");
451/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_6__);
452/* harmony import */ var _components_DonationForm__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/DonationForm */ "./js/components/DonationForm.jsx");
453
454
455
456/* global document, jQuery */
457 // import 'regenerator-runtime/runtime';
458
459
460
461
462
463
464
465(function () {
466  jQuery(once('friends-donate', 'body')).each(function () {
467    if (document.querySelector('.friends-donation-form')) {
468      lodash_fp_map__WEBPACK_IMPORTED_MODULE_4___default()(function (form) {
469        var buttonText = form.getAttribute('data-button-text');
470        var classyFormUrl = form.getAttribute('data-classy-form-url');
471        var donationType = form.getAttribute('data-default-type');
472        var entityId = form.getAttribute('data-entity-id');
473        var monthlyValues = lodash_compact__WEBPACK_IMPORTED_MODULE_3___default()(form.getAttribute('data-monthly-values').split(';'));
474        var oneTimeValues = lodash_compact__WEBPACK_IMPORTED_MODULE_3___default()(form.getAttribute('data-one-time-values').split(';'));
475        /* eslint-disable react/jsx-filename-extension */
476
477        Object(react_dom__WEBPACK_IMPORTED_MODULE_6__["render"])( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_5___default.a.createElement(_components_DonationForm__WEBPACK_IMPORTED_MODULE_7__["default"], {
478          buttonText: buttonText,
479          classyFormUrl: classyFormUrl,
480          donationType: donationType,
481          entityId: entityId,
482          monthlyValues: monthlyValues,
483          oneTimeValues: oneTimeValues
484        }), form);
485      }, document.querySelectorAll('.friends-donation-form'));
486    }
487  });
488})();
489
490/***/ }),
491
vendor: 1,462 bytes, lines 492-554
492/***/ "./node_modules/classnames/index.js":
493/*!******************************************!*\
494  !*** ./node_modules/classnames/index.js ***!
495  \******************************************/
496/*! no static exports found */
497/***/ (function(module, exports, __webpack_require__) {
498
499/*!
500  Copyright (c) 2017 Jed Watson.
501  Licensed under the MIT License (MIT), see
502  http://jedwatson.github.io/classnames
503*/
504/* global define */
505
506(function () {
507	'use strict';
508
509	var hasOwn = {}.hasOwnProperty;
510
511	function classNames () {
512		var classes = [];
513
514		for (var i = 0; i < arguments.length; i++) {
515			var arg = arguments[i];
516			if (!arg) continue;
517
518			var argType = typeof arg;
519
520			if (argType === 'string' || argType === 'number') {
521				classes.push(arg);
522			} else if (Array.isArray(arg) && arg.length) {
523				var inner = classNames.apply(null, arg);
524				if (inner) {
525					classes.push(inner);
526				}
527			} else if (argType === 'object') {
528				for (var key in arg) {
529					if (hasOwn.call(arg, key) && arg[key]) {
530						classes.push(key);
531					}
532				}
533			}
534		}
535
536		return classes.join(' ');
537	}
538
539	if ( true && module.exports) {
540		classNames.default = classNames;
541		module.exports = classNames;
542	} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {
543		// register as 'classnames', consistent with npm package name
544		define('classnames', [], function () {
545			return classNames;
546		});
547	} else {
548		window.classNames = classNames;
549	}
550}());
551
552
553/***/ }),
554
vendor: 24,813 bytes, lines 555-779
555/***/ "./node_modules/core-js/es/index.js":
556/*!******************************************!*\
557  !*** ./node_modules/core-js/es/index.js ***!
558  \******************************************/
559/*! no static exports found */
560/***/ (function(module, exports, __webpack_require__) {
561
562__webpack_require__(/*! ../modules/es.symbol */ "./node_modules/core-js/modules/es.symbol.js");
563__webpack_require__(/*! ../modules/es.symbol.async-iterator */ "./node_modules/core-js/modules/es.symbol.async-iterator.js");
564__webpack_require__(/*! ../modules/es.symbol.description */ "./node_modules/core-js/modules/es.symbol.description.js");
565__webpack_require__(/*! ../modules/es.symbol.has-instance */ "./node_modules/core-js/modules/es.symbol.has-instance.js");
566__webpack_require__(/*! ../modules/es.symbol.is-concat-spreadable */ "./node_modules/core-js/modules/es.symbol.is-concat-spreadable.js");
567__webpack_require__(/*! ../modules/es.symbol.iterator */ "./node_modules/core-js/modules/es.symbol.iterator.js");
568__webpack_require__(/*! ../modules/es.symbol.match */ "./node_modules/core-js/modules/es.symbol.match.js");
569__webpack_require__(/*! ../modules/es.symbol.match-all */ "./node_modules/core-js/modules/es.symbol.match-all.js");
570__webpack_require__(/*! ../modules/es.symbol.replace */ "./node_modules/core-js/modules/es.symbol.replace.js");
571__webpack_require__(/*! ../modules/es.symbol.search */ "./node_modules/core-js/modules/es.symbol.search.js");
572__webpack_require__(/*! ../modules/es.symbol.species */ "./node_modules/core-js/modules/es.symbol.species.js");
573__webpack_require__(/*! ../modules/es.symbol.split */ "./node_modules/core-js/modules/es.symbol.split.js");
574__webpack_require__(/*! ../modules/es.symbol.to-primitive */ "./node_modules/core-js/modules/es.symbol.to-primitive.js");
575__webpack_require__(/*! ../modules/es.symbol.to-string-tag */ "./node_modules/core-js/modules/es.symbol.to-string-tag.js");
576__webpack_require__(/*! ../modules/es.symbol.unscopables */ "./node_modules/core-js/modules/es.symbol.unscopables.js");
577__webpack_require__(/*! ../modules/es.aggregate-error */ "./node_modules/core-js/modules/es.aggregate-error.js");
578__webpack_require__(/*! ../modules/es.array.from */ "./node_modules/core-js/modules/es.array.from.js");
579__webpack_require__(/*! ../modules/es.array.is-array */ "./node_modules/core-js/modules/es.array.is-array.js");
580__webpack_require__(/*! ../modules/es.array.of */ "./node_modules/core-js/modules/es.array.of.js");
581__webpack_require__(/*! ../modules/es.array.concat */ "./node_modules/core-js/modules/es.array.concat.js");
582__webpack_require__(/*! ../modules/es.array.copy-within */ "./node_modules/core-js/modules/es.array.copy-within.js");
583__webpack_require__(/*! ../modules/es.array.every */ "./node_modules/core-js/modules/es.array.every.js");
584__webpack_require__(/*! ../modules/es.array.fill */ "./node_modules/core-js/modules/es.array.fill.js");
585__webpack_require__(/*! ../modules/es.array.filter */ "./node_modules/core-js/modules/es.array.filter.js");
586__webpack_require__(/*! ../modules/es.array.find */ "./node_modules/core-js/modules/es.array.find.js");
587__webpack_require__(/*! ../modules/es.array.find-index */ "./node_modules/core-js/modules/es.array.find-index.js");
588__webpack_require__(/*! ../modules/es.array.flat */ "./node_modules/core-js/modules/es.array.flat.js");
589__webpack_require__(/*! ../modules/es.array.flat-map */ "./node_modules/core-js/modules/es.array.flat-map.js");
590__webpack_require__(/*! ../modules/es.array.for-each */ "./node_modules/core-js/modules/es.array.for-each.js");
591__webpack_require__(/*! ../modules/es.array.includes */ "./node_modules/core-js/modules/es.array.includes.js");
592__webpack_require__(/*! ../modules/es.array.index-of */ "./node_modules/core-js/modules/es.array.index-of.js");
593__webpack_require__(/*! ../modules/es.array.join */ "./node_modules/core-js/modules/es.array.join.js");
594__webpack_require__(/*! ../modules/es.array.last-index-of */ "./node_modules/core-js/modules/es.array.last-index-of.js");
595__webpack_require__(/*! ../modules/es.array.map */ "./node_modules/core-js/modules/es.array.map.js");
596__webpack_require__(/*! ../modules/es.array.reduce */ "./node_modules/core-js/modules/es.array.reduce.js");
597__webpack_require__(/*! ../modules/es.array.reduce-right */ "./node_modules/core-js/modules/es.array.reduce-right.js");
598__webpack_require__(/*! ../modules/es.array.reverse */ "./node_modules/core-js/modules/es.array.reverse.js");
599__webpack_require__(/*! ../modules/es.array.slice */ "./node_modules/core-js/modules/es.array.slice.js");
600__webpack_require__(/*! ../modules/es.array.some */ "./node_modules/core-js/modules/es.array.some.js");
601__webpack_require__(/*! ../modules/es.array.sort */ "./node_modules/core-js/modules/es.array.sort.js");
602__webpack_require__(/*! ../modules/es.array.splice */ "./node_modules/core-js/modules/es.array.splice.js");
603__webpack_require__(/*! ../modules/es.array.species */ "./node_modules/core-js/modules/es.array.species.js");
604__webpack_require__(/*! ../modules/es.array.unscopables.flat */ "./node_modules/core-js/modules/es.array.unscopables.flat.js");
605__webpack_require__(/*! ../modules/es.array.unscopables.flat-map */ "./node_modules/core-js/modules/es.array.unscopables.flat-map.js");
606__webpack_require__(/*! ../modules/es.array.iterator */ "./node_modules/core-js/modules/es.array.iterator.js");
607__webpack_require__(/*! ../modules/es.function.bind */ "./node_modules/core-js/modules/es.function.bind.js");
608__webpack_require__(/*! ../modules/es.function.name */ "./node_modules/core-js/modules/es.function.name.js");
609__webpack_require__(/*! ../modules/es.function.has-instance */ "./node_modules/core-js/modules/es.function.has-instance.js");
610__webpack_require__(/*! ../modules/es.global-this */ "./node_modules/core-js/modules/es.global-this.js");
611__webpack_require__(/*! ../modules/es.object.assign */ "./node_modules/core-js/modules/es.object.assign.js");
612__webpack_require__(/*! ../modules/es.object.create */ "./node_modules/core-js/modules/es.object.create.js");
613__webpack_require__(/*! ../modules/es.object.define-property */ "./node_modules/core-js/modules/es.object.define-property.js");
614__webpack_require__(/*! ../modules/es.object.define-properties */ "./node_modules/core-js/modules/es.object.define-properties.js");
615__webpack_require__(/*! ../modules/es.object.entries */ "./node_modules/core-js/modules/es.object.entries.js");
616__webpack_require__(/*! ../modules/es.object.freeze */ "./node_modules/core-js/modules/es.object.freeze.js");
617__webpack_require__(/*! ../modules/es.object.from-entries */ "./node_modules/core-js/modules/es.object.from-entries.js");
618__webpack_require__(/*! ../modules/es.object.get-own-property-descriptor */ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js");
619__webpack_require__(/*! ../modules/es.object.get-own-property-descriptors */ "./node_modules/core-js/modules/es.object.get-own-property-descriptors.js");
620__webpack_require__(/*! ../modules/es.object.get-own-property-names */ "./node_modules/core-js/modules/es.object.get-own-property-names.js");
621__webpack_require__(/*! ../modules/es.object.get-prototype-of */ "./node_modules/core-js/modules/es.object.get-prototype-of.js");
622__webpack_require__(/*! ../modules/es.object.is */ "./node_modules/core-js/modules/es.object.is.js");
623__webpack_require__(/*! ../modules/es.object.is-extensible */ "./node_modules/core-js/modules/es.object.is-extensible.js");
624__webpack_require__(/*! ../modules/es.object.is-frozen */ "./node_modules/core-js/modules/es.object.is-frozen.js");
625__webpack_require__(/*! ../modules/es.object.is-sealed */ "./node_modules/core-js/modules/es.object.is-sealed.js");
626__webpack_require__(/*! ../modules/es.object.keys */ "./node_modules/core-js/modules/es.object.keys.js");
627__webpack_require__(/*! ../modules/es.object.prevent-extensions */ "./node_modules/core-js/modules/es.object.prevent-extensions.js");
628__webpack_require__(/*! ../modules/es.object.seal */ "./node_modules/core-js/modules/es.object.seal.js");
629__webpack_require__(/*! ../modules/es.object.set-prototype-of */ "./node_modules/core-js/modules/es.object.set-prototype-of.js");
630__webpack_require__(/*! ../modules/es.object.values */ "./node_modules/core-js/modules/es.object.values.js");
631__webpack_require__(/*! ../modules/es.object.to-string */ "./node_modules/core-js/modules/es.object.to-string.js");
632__webpack_require__(/*! ../modules/es.object.define-getter */ "./node_modules/core-js/modules/es.object.define-getter.js");
633__webpack_require__(/*! ../modules/es.object.define-setter */ "./node_modules/core-js/modules/es.object.define-setter.js");
634__webpack_require__(/*! ../modules/es.object.lookup-getter */ "./node_modules/core-js/modules/es.object.lookup-getter.js");
635__webpack_require__(/*! ../modules/es.object.lookup-setter */ "./node_modules/core-js/modules/es.object.lookup-setter.js");
636__webpack_require__(/*! ../modules/es.string.from-code-point */ "./node_modules/core-js/modules/es.string.from-code-point.js");
637__webpack_require__(/*! ../modules/es.string.raw */ "./node_modules/core-js/modules/es.string.raw.js");
638__webpack_require__(/*! ../modules/es.string.code-point-at */ "./node_modules/core-js/modules/es.string.code-point-at.js");
639__webpack_require__(/*! ../modules/es.string.ends-with */ "./node_modules/core-js/modules/es.string.ends-with.js");
640__webpack_require__(/*! ../modules/es.string.includes */ "./node_modules/core-js/modules/es.string.includes.js");
641__webpack_require__(/*! ../modules/es.string.match */ "./node_modules/core-js/modules/es.string.match.js");
642__webpack_require__(/*! ../modules/es.string.match-all */ "./node_modules/core-js/modules/es.string.match-all.js");
643__webpack_require__(/*! ../modules/es.string.pad-end */ "./node_modules/core-js/modules/es.string.pad-end.js");
644__webpack_require__(/*! ../modules/es.string.pad-start */ "./node_modules/core-js/modules/es.string.pad-start.js");
645__webpack_require__(/*! ../modules/es.string.repeat */ "./node_modules/core-js/modules/es.string.repeat.js");
646__webpack_require__(/*! ../modules/es.string.replace */ "./node_modules/core-js/modules/es.string.replace.js");
647__webpack_require__(/*! ../modules/es.string.search */ "./node_modules/core-js/modules/es.string.search.js");
648__webpack_require__(/*! ../modules/es.string.split */ "./node_modules/core-js/modules/es.string.split.js");
649__webpack_require__(/*! ../modules/es.string.starts-with */ "./node_modules/core-js/modules/es.string.starts-with.js");
650__webpack_require__(/*! ../modules/es.string.trim */ "./node_modules/core-js/modules/es.string.trim.js");
651__webpack_require__(/*! ../modules/es.string.trim-start */ "./node_modules/core-js/modules/es.string.trim-start.js");
652__webpack_require__(/*! ../modules/es.string.trim-end */ "./node_modules/core-js/modules/es.string.trim-end.js");
653__webpack_require__(/*! ../modules/es.string.iterator */ "./node_modules/core-js/modules/es.string.iterator.js");
654__webpack_require__(/*! ../modules/es.string.anchor */ "./node_modules/core-js/modules/es.string.anchor.js");
655__webpack_require__(/*! ../modules/es.string.big */ "./node_modules/core-js/modules/es.string.big.js");
656__webpack_require__(/*! ../modules/es.string.blink */ "./node_modules/core-js/modules/es.string.blink.js");
657__webpack_require__(/*! ../modules/es.string.bold */ "./node_modules/core-js/modules/es.string.bold.js");
658__webpack_require__(/*! ../modules/es.string.fixed */ "./node_modules/core-js/modules/es.string.fixed.js");
659__webpack_require__(/*! ../modules/es.string.fontcolor */ "./node_modules/core-js/modules/es.string.fontcolor.js");
660__webpack_require__(/*! ../modules/es.string.fontsize */ "./node_modules/core-js/modules/es.string.fontsize.js");
661__webpack_require__(/*! ../modules/es.string.italics */ "./node_modules/core-js/modules/es.string.italics.js");
662__webpack_require__(/*! ../modules/es.string.link */ "./node_modules/core-js/modules/es.string.link.js");
663__webpack_require__(/*! ../modules/es.string.small */ "./node_modules/core-js/modules/es.string.small.js");
664__webpack_require__(/*! ../modules/es.string.strike */ "./node_modules/core-js/modules/es.string.strike.js");
665__webpack_require__(/*! ../modules/es.string.sub */ "./node_modules/core-js/modules/es.string.sub.js");
666__webpack_require__(/*! ../modules/es.string.sup */ "./node_modules/core-js/modules/es.string.sup.js");
667__webpack_require__(/*! ../modules/es.string.replace-all */ "./node_modules/core-js/modules/es.string.replace-all.js");
668__webpack_require__(/*! ../modules/es.regexp.constructor */ "./node_modules/core-js/modules/es.regexp.constructor.js");
669__webpack_require__(/*! ../modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js");
670__webpack_require__(/*! ../modules/es.regexp.flags */ "./node_modules/core-js/modules/es.regexp.flags.js");
671__webpack_require__(/*! ../modules/es.regexp.sticky */ "./node_modules/core-js/modules/es.regexp.sticky.js");
672__webpack_require__(/*! ../modules/es.regexp.test */ "./node_modules/core-js/modules/es.regexp.test.js");
673__webpack_require__(/*! ../modules/es.regexp.to-string */ "./node_modules/core-js/modules/es.regexp.to-string.js");
674__webpack_require__(/*! ../modules/es.parse-int */ "./node_modules/core-js/modules/es.parse-int.js");
675__webpack_require__(/*! ../modules/es.parse-float */ "./node_modules/core-js/modules/es.parse-float.js");
676__webpack_require__(/*! ../modules/es.number.constructor */ "./node_modules/core-js/modules/es.number.constructor.js");
677__webpack_require__(/*! ../modules/es.number.epsilon */ "./node_modules/core-js/modules/es.number.epsilon.js");
678__webpack_require__(/*! ../modules/es.number.is-finite */ "./node_modules/core-js/modules/es.number.is-finite.js");
679__webpack_require__(/*! ../modules/es.number.is-integer */ "./node_modules/core-js/modules/es.number.is-integer.js");
680__webpack_require__(/*! ../modules/es.number.is-nan */ "./node_modules/core-js/modules/es.number.is-nan.js");
681__webpack_require__(/*! ../modules/es.number.is-safe-integer */ "./node_modules/core-js/modules/es.number.is-safe-integer.js");
682__webpack_require__(/*! ../modules/es.number.max-safe-integer */ "./node_modules/core-js/modules/es.number.max-safe-integer.js");
683__webpack_require__(/*! ../modules/es.number.min-safe-integer */ "./node_modules/core-js/modules/es.number.min-safe-integer.js");
684__webpack_require__(/*! ../modules/es.number.parse-float */ "./node_modules/core-js/modules/es.number.parse-float.js");
685__webpack_require__(/*! ../modules/es.number.parse-int */ "./node_modules/core-js/modules/es.number.parse-int.js");
686__webpack_require__(/*! ../modules/es.number.to-fixed */ "./node_modules/core-js/modules/es.number.to-fixed.js");
687__webpack_require__(/*! ../modules/es.number.to-precision */ "./node_modules/core-js/modules/es.number.to-precision.js");
688__webpack_require__(/*! ../modules/es.math.acosh */ "./node_modules/core-js/modules/es.math.acosh.js");
689__webpack_require__(/*! ../modules/es.math.asinh */ "./node_modules/core-js/modules/es.math.asinh.js");
690__webpack_require__(/*! ../modules/es.math.atanh */ "./node_modules/core-js/modules/es.math.atanh.js");
691__webpack_require__(/*! ../modules/es.math.cbrt */ "./node_modules/core-js/modules/es.math.cbrt.js");
692__webpack_require__(/*! ../modules/es.math.clz32 */ "./node_modules/core-js/modules/es.math.clz32.js");
693__webpack_require__(/*! ../modules/es.math.cosh */ "./node_modules/core-js/modules/es.math.cosh.js");
694__webpack_require__(/*! ../modules/es.math.expm1 */ "./node_modules/core-js/modules/es.math.expm1.js");
695__webpack_require__(/*! ../modules/es.math.fround */ "./node_modules/core-js/modules/es.math.fround.js");
696__webpack_require__(/*! ../modules/es.math.hypot */ "./node_modules/core-js/modules/es.math.hypot.js");
697__webpack_require__(/*! ../modules/es.math.imul */ "./node_modules/core-js/modules/es.math.imul.js");
698__webpack_require__(/*! ../modules/es.math.log10 */ "./node_modules/core-js/modules/es.math.log10.js");
699__webpack_require__(/*! ../modules/es.math.log1p */ "./node_modules/core-js/modules/es.math.log1p.js");
700__webpack_require__(/*! ../modules/es.math.log2 */ "./node_modules/core-js/modules/es.math.log2.js");
701__webpack_require__(/*! ../modules/es.math.sign */ "./node_modules/core-js/modules/es.math.sign.js");
702__webpack_require__(/*! ../modules/es.math.sinh */ "./node_modules/core-js/modules/es.math.sinh.js");
703__webpack_require__(/*! ../modules/es.math.tanh */ "./node_modules/core-js/modules/es.math.tanh.js");
704__webpack_require__(/*! ../modules/es.math.to-string-tag */ "./node_modules/core-js/modules/es.math.to-string-tag.js");
705__webpack_require__(/*! ../modules/es.math.trunc */ "./node_modules/core-js/modules/es.math.trunc.js");
706__webpack_require__(/*! ../modules/es.date.now */ "./node_modules/core-js/modules/es.date.now.js");
707__webpack_require__(/*! ../modules/es.date.to-json */ "./node_modules/core-js/modules/es.date.to-json.js");
708__webpack_require__(/*! ../modules/es.date.to-iso-string */ "./node_modules/core-js/modules/es.date.to-iso-string.js");
709__webpack_require__(/*! ../modules/es.date.to-string */ "./node_modules/core-js/modules/es.date.to-string.js");
710__webpack_require__(/*! ../modules/es.date.to-primitive */ "./node_modules/core-js/modules/es.date.to-primitive.js");
711__webpack_require__(/*! ../modules/es.json.stringify */ "./node_modules/core-js/modules/es.json.stringify.js");
712__webpack_require__(/*! ../modules/es.json.to-string-tag */ "./node_modules/core-js/modules/es.json.to-string-tag.js");
713__webpack_require__(/*! ../modules/es.promise */ "./node_modules/core-js/modules/es.promise.js");
714__webpack_require__(/*! ../modules/es.promise.all-settled */ "./node_modules/core-js/modules/es.promise.all-settled.js");
715__webpack_require__(/*! ../modules/es.promise.any */ "./node_modules/core-js/modules/es.promise.any.js");
716__webpack_require__(/*! ../modules/es.promise.finally */ "./node_modules/core-js/modules/es.promise.finally.js");
717__webpack_require__(/*! ../modules/es.map */ "./node_modules/core-js/modules/es.map.js");
718__webpack_require__(/*! ../modules/es.set */ "./node_modules/core-js/modules/es.set.js");
719__webpack_require__(/*! ../modules/es.weak-map */ "./node_modules/core-js/modules/es.weak-map.js");
720__webpack_require__(/*! ../modules/es.weak-set */ "./node_modules/core-js/modules/es.weak-set.js");
721__webpack_require__(/*! ../modules/es.array-buffer.constructor */ "./node_modules/core-js/modules/es.array-buffer.constructor.js");
722__webpack_require__(/*! ../modules/es.array-buffer.is-view */ "./node_modules/core-js/modules/es.array-buffer.is-view.js");
723__webpack_require__(/*! ../modules/es.array-buffer.slice */ "./node_modules/core-js/modules/es.array-buffer.slice.js");
724__webpack_require__(/*! ../modules/es.data-view */ "./node_modules/core-js/modules/es.data-view.js");
725__webpack_require__(/*! ../modules/es.typed-array.int8-array */ "./node_modules/core-js/modules/es.typed-array.int8-array.js");
726__webpack_require__(/*! ../modules/es.typed-array.uint8-array */ "./node_modules/core-js/modules/es.typed-array.uint8-array.js");
727__webpack_require__(/*! ../modules/es.typed-array.uint8-clamped-array */ "./node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js");
728__webpack_require__(/*! ../modules/es.typed-array.int16-array */ "./node_modules/core-js/modules/es.typed-array.int16-array.js");
729__webpack_require__(/*! ../modules/es.typed-array.uint16-array */ "./node_modules/core-js/modules/es.typed-array.uint16-array.js");
730__webpack_require__(/*! ../modules/es.typed-array.int32-array */ "./node_modules/core-js/modules/es.typed-array.int32-array.js");
731__webpack_require__(/*! ../modules/es.typed-array.uint32-array */ "./node_modules/core-js/modules/es.typed-array.uint32-array.js");
732__webpack_require__(/*! ../modules/es.typed-array.float32-array */ "./node_modules/core-js/modules/es.typed-array.float32-array.js");
733__webpack_require__(/*! ../modules/es.typed-array.float64-array */ "./node_modules/core-js/modules/es.typed-array.float64-array.js");
734__webpack_require__(/*! ../modules/es.typed-array.from */ "./node_modules/core-js/modules/es.typed-array.from.js");
735__webpack_require__(/*! ../modules/es.typed-array.of */ "./node_modules/core-js/modules/es.typed-array.of.js");
736__webpack_require__(/*! ../modules/es.typed-array.copy-within */ "./node_modules/core-js/modules/es.typed-array.copy-within.js");
737__webpack_require__(/*! ../modules/es.typed-array.every */ "./node_modules/core-js/modules/es.typed-array.every.js");
738__webpack_require__(/*! ../modules/es.typed-array.fill */ "./node_modules/core-js/modules/es.typed-array.fill.js");
739__webpack_require__(/*! ../modules/es.typed-array.filter */ "./node_modules/core-js/modules/es.typed-array.filter.js");
740__webpack_require__(/*! ../modules/es.typed-array.find */ "./node_modules/core-js/modules/es.typed-array.find.js");
741__webpack_require__(/*! ../modules/es.typed-array.find-index */ "./node_modules/core-js/modules/es.typed-array.find-index.js");
742__webpack_require__(/*! ../modules/es.typed-array.for-each */ "./node_modules/core-js/modules/es.typed-array.for-each.js");
743__webpack_require__(/*! ../modules/es.typed-array.includes */ "./node_modules/core-js/modules/es.typed-array.includes.js");
744__webpack_require__(/*! ../modules/es.typed-array.index-of */ "./node_modules/core-js/modules/es.typed-array.index-of.js");
745__webpack_require__(/*! ../modules/es.typed-array.iterator */ "./node_modules/core-js/modules/es.typed-array.iterator.js");
746__webpack_require__(/*! ../modules/es.typed-array.join */ "./node_modules/core-js/modules/es.typed-array.join.js");
747__webpack_require__(/*! ../modules/es.typed-array.last-index-of */ "./node_modules/core-js/modules/es.typed-array.last-index-of.js");
748__webpack_require__(/*! ../modules/es.typed-array.map */ "./node_modules/core-js/modules/es.typed-array.map.js");
749__webpack_require__(/*! ../modules/es.typed-array.reduce */ "./node_modules/core-js/modules/es.typed-array.reduce.js");
750__webpack_require__(/*! ../modules/es.typed-array.reduce-right */ "./node_modules/core-js/modules/es.typed-array.reduce-right.js");
751__webpack_require__(/*! ../modules/es.typed-array.reverse */ "./node_modules/core-js/modules/es.typed-array.reverse.js");
752__webpack_require__(/*! ../modules/es.typed-array.set */ "./node_modules/core-js/modules/es.typed-array.set.js");
753__webpack_require__(/*! ../modules/es.typed-array.slice */ "./node_modules/core-js/modules/es.typed-array.slice.js");
754__webpack_require__(/*! ../modules/es.typed-array.some */ "./node_modules/core-js/modules/es.typed-array.some.js");
755__webpack_require__(/*! ../modules/es.typed-array.sort */ "./node_modules/core-js/modules/es.typed-array.sort.js");
756__webpack_require__(/*! ../modules/es.typed-array.subarray */ "./node_modules/core-js/modules/es.typed-array.subarray.js");
757__webpack_require__(/*! ../modules/es.typed-array.to-locale-string */ "./node_modules/core-js/modules/es.typed-array.to-locale-string.js");
758__webpack_require__(/*! ../modules/es.typed-array.to-string */ "./node_modules/core-js/modules/es.typed-array.to-string.js");
759__webpack_require__(/*! ../modules/es.reflect.apply */ "./node_modules/core-js/modules/es.reflect.apply.js");
760__webpack_require__(/*! ../modules/es.reflect.construct */ "./node_modules/core-js/modules/es.reflect.construct.js");
761__webpack_require__(/*! ../modules/es.reflect.define-property */ "./node_modules/core-js/modules/es.reflect.define-property.js");
762__webpack_require__(/*! ../modules/es.reflect.delete-property */ "./node_modules/core-js/modules/es.reflect.delete-property.js");
763__webpack_require__(/*! ../modules/es.reflect.get */ "./node_modules/core-js/modules/es.reflect.get.js");
764__webpack_require__(/*! ../modules/es.reflect.get-own-property-descriptor */ "./node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js");
765__webpack_require__(/*! ../modules/es.reflect.get-prototype-of */ "./node_modules/core-js/modules/es.reflect.get-prototype-of.js");
766__webpack_require__(/*! ../modules/es.reflect.has */ "./node_modules/core-js/modules/es.reflect.has.js");
767__webpack_require__(/*! ../modules/es.reflect.is-extensible */ "./node_modules/core-js/modules/es.reflect.is-extensible.js");
768__webpack_require__(/*! ../modules/es.reflect.own-keys */ "./node_modules/core-js/modules/es.reflect.own-keys.js");
769__webpack_require__(/*! ../modules/es.reflect.prevent-extensions */ "./node_modules/core-js/modules/es.reflect.prevent-extensions.js");
770__webpack_require__(/*! ../modules/es.reflect.set */ "./node_modules/core-js/modules/es.reflect.set.js");
771__webpack_require__(/*! ../modules/es.reflect.set-prototype-of */ "./node_modules/core-js/modules/es.reflect.set-prototype-of.js");
772__webpack_require__(/*! ../modules/es.reflect.to-string-tag */ "./node_modules/core-js/modules/es.reflect.to-string-tag.js");
773var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js/internals/path.js");
774
775module.exports = path;
776
777
778/***/ }),
779
vendor: 455 bytes, lines 780-795
780/***/ "./node_modules/core-js/internals/a-function.js":
781/*!******************************************************!*\
782  !*** ./node_modules/core-js/internals/a-function.js ***!
783  \******************************************************/
784/*! no static exports found */
785/***/ (function(module, exports) {
786
787module.exports = function (it) {
788  if (typeof it != 'function') {
789    throw TypeError(String(it) + ' is not a function');
790  } return it;
791};
792
793
794/***/ }),
795
vendor: 649 bytes, lines 796-813
796/***/ "./node_modules/core-js/internals/a-possible-prototype.js":
797/*!****************************************************************!*\
798  !*** ./node_modules/core-js/internals/a-possible-prototype.js ***!
799  \****************************************************************/
800/*! no static exports found */
801/***/ (function(module, exports, __webpack_require__) {
802
803var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
804
805module.exports = function (it) {
806  if (!isObject(it) && it !== null) {
807    throw TypeError("Can't set " + String(it) + ' as a prototype');
808  } return it;
809};
810
811
812/***/ }),
813
vendor: 1,261 bytes, lines 814-844
814/***/ "./node_modules/core-js/internals/add-to-unscopables.js":
815/*!**************************************************************!*\
816  !*** ./node_modules/core-js/internals/add-to-unscopables.js ***!
817  \**************************************************************/
818/*! no static exports found */
819/***/ (function(module, exports, __webpack_require__) {
820
821var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
822var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");
823var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
824
825var UNSCOPABLES = wellKnownSymbol('unscopables');
826var ArrayPrototype = Array.prototype;
827
828// Array.prototype[@@unscopables]
829// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
830if (ArrayPrototype[UNSCOPABLES] == undefined) {
831  definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
832    configurable: true,
833    value: create(null)
834  });
835}
836
837// add a key to Array.prototype[@@unscopables]
838module.exports = function (key) {
839  ArrayPrototype[UNSCOPABLES][key] = true;
840};
841
842
843/***/ }),
844
vendor: 736 bytes, lines 845-864
845/***/ "./node_modules/core-js/internals/advance-string-index.js":
846/*!****************************************************************!*\
847  !*** ./node_modules/core-js/internals/advance-string-index.js ***!
848  \****************************************************************/
849/*! no static exports found */
850/***/ (function(module, exports, __webpack_require__) {
851
852"use strict";
853
854var charAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js/internals/string-multibyte.js").charAt;
855
856// `AdvanceStringIndex` abstract operation
857// https://tc39.github.io/ecma262/#sec-advancestringindex
858module.exports = function (S, index, unicode) {
859  return index + (unicode ? charAt(S, index).length : 1);
860};
861
862
863/***/ }),
864
vendor: 504 bytes, lines 865-880
865/***/ "./node_modules/core-js/internals/an-instance.js":
866/*!*******************************************************!*\
867  !*** ./node_modules/core-js/internals/an-instance.js ***!
868  \*******************************************************/
869/*! no static exports found */
870/***/ (function(module, exports) {
871
872module.exports = function (it, Constructor, name) {
873  if (!(it instanceof Constructor)) {
874    throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
875  } return it;
876};
877
878
879/***/ }),
880
vendor: 577 bytes, lines 881-898
881/***/ "./node_modules/core-js/internals/an-object.js":
882/*!*****************************************************!*\
883  !*** ./node_modules/core-js/internals/an-object.js ***!
884  \*****************************************************/
885/*! no static exports found */
886/***/ (function(module, exports, __webpack_require__) {
887
888var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
889
890module.exports = function (it) {
891  if (!isObject(it)) {
892    throw TypeError(String(it) + ' is not an object');
893  } return it;
894};
895
896
897/***/ }),
898
vendor: 439 bytes, lines 899-910
899/***/ "./node_modules/core-js/internals/array-buffer-native.js":
900/*!***************************************************************!*\
901  !*** ./node_modules/core-js/internals/array-buffer-native.js ***!
902  \***************************************************************/
903/*! no static exports found */
904/***/ (function(module, exports) {
905
906module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';
907
908
909/***/ }),
910
vendor: 7,564 bytes, lines 911-1089
911/***/ "./node_modules/core-js/internals/array-buffer-view-core.js":
912/*!******************************************************************!*\
913  !*** ./node_modules/core-js/internals/array-buffer-view-core.js ***!
914  \******************************************************************/
915/*! no static exports found */
916/***/ (function(module, exports, __webpack_require__) {
917
918"use strict";
919
920var NATIVE_ARRAY_BUFFER = __webpack_require__(/*! ../internals/array-buffer-native */ "./node_modules/core-js/internals/array-buffer-native.js");
921var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
922var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
923var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
924var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
925var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js");
926var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
927var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
928var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
929var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");
930var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js");
931var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
932var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js");
933
934var Int8Array = global.Int8Array;
935var Int8ArrayPrototype = Int8Array && Int8Array.prototype;
936var Uint8ClampedArray = global.Uint8ClampedArray;
937var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;
938var TypedArray = Int8Array && getPrototypeOf(Int8Array);
939var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);
940var ObjectPrototype = Object.prototype;
941var isPrototypeOf = ObjectPrototype.isPrototypeOf;
942
943var TO_STRING_TAG = wellKnownSymbol('toStringTag');
944var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');
945// Fixing native typed arrays in Opera Presto crashes the browser, see #595
946var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';
947var TYPED_ARRAY_TAG_REQIRED = false;
948var NAME;
949
950var TypedArrayConstructorsList = {
951  Int8Array: 1,
952  Uint8Array: 1,
953  Uint8ClampedArray: 1,
954  Int16Array: 2,
955  Uint16Array: 2,
956  Int32Array: 4,
957  Uint32Array: 4,
958  Float32Array: 4,
959  Float64Array: 8
960};
961
962var BigIntArrayConstructorsList = {
963  BigInt64Array: 8,
964  BigUint64Array: 8
965};
966
967var isView = function isView(it) {
968  if (!isObject(it)) return false;
969  var klass = classof(it);
970  return klass === 'DataView'
971    || has(TypedArrayConstructorsList, klass)
972    || has(BigIntArrayConstructorsList, klass);
973};
974
975var isTypedArray = function (it) {
976  if (!isObject(it)) return false;
977  var klass = classof(it);
978  return has(TypedArrayConstructorsList, klass)
979    || has(BigIntArrayConstructorsList, klass);
980};
981
982var aTypedArray = function (it) {
983  if (isTypedArray(it)) return it;
984  throw TypeError('Target is not a typed array');
985};
986
987var aTypedArrayConstructor = function (C) {
988  if (setPrototypeOf) {
989    if (isPrototypeOf.call(TypedArray, C)) return C;
990  } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) {
991    var TypedArrayConstructor = global[ARRAY];
992    if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {
993      return C;
994    }
995  } throw TypeError('Target is not a typed array constructor');
996};
997
998var exportTypedArrayMethod = function (KEY, property, forced) {
999  if (!DESCRIPTORS) return;
1000  if (forced) for (var ARRAY in TypedArrayConstructorsList) {
1001    var TypedArrayConstructor = global[ARRAY];
1002    if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {
1003      delete TypedArrayConstructor.prototype[KEY];
1004    }
1005  }
1006  if (!TypedArrayPrototype[KEY] || forced) {
1007    redefine(TypedArrayPrototype, KEY, forced ? property
1008      : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);
1009  }
1010};
1011
1012var exportTypedArrayStaticMethod = function (KEY, property, forced) {
1013  var ARRAY, TypedArrayConstructor;
1014  if (!DESCRIPTORS) return;
1015  if (setPrototypeOf) {
1016    if (forced) for (ARRAY in TypedArrayConstructorsList) {
1017      TypedArrayConstructor = global[ARRAY];
1018      if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {
1019        delete TypedArrayConstructor[KEY];
1020      }
1021    }
1022    if (!TypedArray[KEY] || forced) {
1023      // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable
1024      try {
1025        return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);
1026      } catch (error) { /* empty */ }
1027    } else return;
1028  }
1029  for (ARRAY in TypedArrayConstructorsList) {
1030    TypedArrayConstructor = global[ARRAY];
1031    if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {
1032      redefine(TypedArrayConstructor, KEY, property);
1033    }
1034  }
1035};
1036
1037for (NAME in TypedArrayConstructorsList) {
1038  if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;
1039}
1040
1041// WebKit bug - typed arrays constructors prototype is Object.prototype
1042if (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {
1043  // eslint-disable-next-line no-shadow
1044  TypedArray = function TypedArray() {
1045    throw TypeError('Incorrect invocation');
1046  };
1047  if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {
1048    if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);
1049  }
1050}
1051
1052if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {
1053  TypedArrayPrototype = TypedArray.prototype;
1054  if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {
1055    if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);
1056  }
1057}
1058
1059// WebKit bug - one more object in Uint8ClampedArray prototype chain
1060if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {
1061  setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);
1062}
1063
1064if (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {
1065  TYPED_ARRAY_TAG_REQIRED = true;
1066  defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {
1067    return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;
1068  } });
1069  for (NAME in TypedArrayConstructorsList) if (global[NAME]) {
1070    createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);
1071  }
1072}
1073
1074module.exports = {
1075  NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,
1076  TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,
1077  aTypedArray: aTypedArray,
1078  aTypedArrayConstructor: aTypedArrayConstructor,
1079  exportTypedArrayMethod: exportTypedArrayMethod,
1080  exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,
1081  isView: isView,
1082  isTypedArray: isTypedArray,
1083  TypedArray: TypedArray,
1084  TypedArrayPrototype: TypedArrayPrototype
1085};
1086
1087
1088/***/ }),
1089
vendor: 10,727 bytes, lines 1090-1327
1090/***/ "./node_modules/core-js/internals/array-buffer.js":
1091/*!********************************************************!*\
1092  !*** ./node_modules/core-js/internals/array-buffer.js ***!
1093  \********************************************************/
1094/*! no static exports found */
1095/***/ (function(module, exports, __webpack_require__) {
1096
1097"use strict";
1098
1099var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
1100var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
1101var NATIVE_ARRAY_BUFFER = __webpack_require__(/*! ../internals/array-buffer-native */ "./node_modules/core-js/internals/array-buffer-native.js");
1102var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
1103var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js");
1104var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
1105var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js");
1106var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
1107var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
1108var toIndex = __webpack_require__(/*! ../internals/to-index */ "./node_modules/core-js/internals/to-index.js");
1109var IEEE754 = __webpack_require__(/*! ../internals/ieee754 */ "./node_modules/core-js/internals/ieee754.js");
1110var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");
1111var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js");
1112var getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f;
1113var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
1114var arrayFill = __webpack_require__(/*! ../internals/array-fill */ "./node_modules/core-js/internals/array-fill.js");
1115var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
1116var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
1117
1118var getInternalState = InternalStateModule.get;
1119var setInternalState = InternalStateModule.set;
1120var ARRAY_BUFFER = 'ArrayBuffer';
1121var DATA_VIEW = 'DataView';
1122var PROTOTYPE = 'prototype';
1123var WRONG_LENGTH = 'Wrong length';
1124var WRONG_INDEX = 'Wrong index';
1125var NativeArrayBuffer = global[ARRAY_BUFFER];
1126var $ArrayBuffer = NativeArrayBuffer;
1127var $DataView = global[DATA_VIEW];
1128var $DataViewPrototype = $DataView && $DataView[PROTOTYPE];
1129var ObjectPrototype = Object.prototype;
1130var RangeError = global.RangeError;
1131
1132var packIEEE754 = IEEE754.pack;
1133var unpackIEEE754 = IEEE754.unpack;
1134
1135var packInt8 = function (number) {
1136  return [number & 0xFF];
1137};
1138
1139var packInt16 = function (number) {
1140  return [number & 0xFF, number >> 8 & 0xFF];
1141};
1142
1143var packInt32 = function (number) {
1144  return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];
1145};
1146
1147var unpackInt32 = function (buffer) {
1148  return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];
1149};
1150
1151var packFloat32 = function (number) {
1152  return packIEEE754(number, 23, 4);
1153};
1154
1155var packFloat64 = function (number) {
1156  return packIEEE754(number, 52, 8);
1157};
1158
1159var addGetter = function (Constructor, key) {
1160  defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });
1161};
1162
1163var get = function (view, count, index, isLittleEndian) {
1164  var intIndex = toIndex(index);
1165  var store = getInternalState(view);
1166  if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);
1167  var bytes = getInternalState(store.buffer).bytes;
1168  var start = intIndex + store.byteOffset;
1169  var pack = bytes.slice(start, start + count);
1170  return isLittleEndian ? pack : pack.reverse();
1171};
1172
1173var set = function (view, count, index, conversion, value, isLittleEndian) {
1174  var intIndex = toIndex(index);
1175  var store = getInternalState(view);
1176  if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);
1177  var bytes = getInternalState(store.buffer).bytes;
1178  var start = intIndex + store.byteOffset;
1179  var pack = conversion(+value);
1180  for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];
1181};
1182
1183if (!NATIVE_ARRAY_BUFFER) {
1184  $ArrayBuffer = function ArrayBuffer(length) {
1185    anInstance(this, $ArrayBuffer, ARRAY_BUFFER);
1186    var byteLength = toIndex(length);
1187    setInternalState(this, {
1188      bytes: arrayFill.call(new Array(byteLength), 0),
1189      byteLength: byteLength
1190    });
1191    if (!DESCRIPTORS) this.byteLength = byteLength;
1192  };
1193
1194  $DataView = function DataView(buffer, byteOffset, byteLength) {
1195    anInstance(this, $DataView, DATA_VIEW);
1196    anInstance(buffer, $ArrayBuffer, DATA_VIEW);
1197    var bufferLength = getInternalState(buffer).byteLength;
1198    var offset = toInteger(byteOffset);
1199    if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');
1200    byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
1201    if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);
1202    setInternalState(this, {
1203      buffer: buffer,
1204      byteLength: byteLength,
1205      byteOffset: offset
1206    });
1207    if (!DESCRIPTORS) {
1208      this.buffer = buffer;
1209      this.byteLength = byteLength;
1210      this.byteOffset = offset;
1211    }
1212  };
1213
1214  if (DESCRIPTORS) {
1215    addGetter($ArrayBuffer, 'byteLength');
1216    addGetter($DataView, 'buffer');
1217    addGetter($DataView, 'byteLength');
1218    addGetter($DataView, 'byteOffset');
1219  }
1220
1221  redefineAll($DataView[PROTOTYPE], {
1222    getInt8: function getInt8(byteOffset) {
1223      return get(this, 1, byteOffset)[0] << 24 >> 24;
1224    },
1225    getUint8: function getUint8(byteOffset) {
1226      return get(this, 1, byteOffset)[0];
1227    },
1228    getInt16: function getInt16(byteOffset /* , littleEndian */) {
1229      var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
1230      return (bytes[1] << 8 | bytes[0]) << 16 >> 16;
1231    },
1232    getUint16: function getUint16(byteOffset /* , littleEndian */) {
1233      var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
1234      return bytes[1] << 8 | bytes[0];
1235    },
1236    getInt32: function getInt32(byteOffset /* , littleEndian */) {
1237      return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));
1238    },
1239    getUint32: function getUint32(byteOffset /* , littleEndian */) {
1240      return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;
1241    },
1242    getFloat32: function getFloat32(byteOffset /* , littleEndian */) {
1243      return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);
1244    },
1245    getFloat64: function getFloat64(byteOffset /* , littleEndian */) {
1246      return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);
1247    },
1248    setInt8: function setInt8(byteOffset, value) {
1249      set(this, 1, byteOffset, packInt8, value);
1250    },
1251    setUint8: function setUint8(byteOffset, value) {
1252      set(this, 1, byteOffset, packInt8, value);
1253    },
1254    setInt16: function setInt16(byteOffset, value /* , littleEndian */) {
1255      set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);
1256    },
1257    setUint16: function setUint16(byteOffset, value /* , littleEndian */) {
1258      set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);
1259    },
1260    setInt32: function setInt32(byteOffset, value /* , littleEndian */) {
1261      set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);
1262    },
1263    setUint32: function setUint32(byteOffset, value /* , littleEndian */) {
1264      set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);
1265    },
1266    setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {
1267      set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);
1268    },
1269    setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {
1270      set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);
1271    }
1272  });
1273} else {
1274  if (!fails(function () {
1275    NativeArrayBuffer(1);
1276  }) || !fails(function () {
1277    new NativeArrayBuffer(-1); // eslint-disable-line no-new
1278  }) || fails(function () {
1279    new NativeArrayBuffer(); // eslint-disable-line no-new
1280    new NativeArrayBuffer(1.5); // eslint-disable-line no-new
1281    new NativeArrayBuffer(NaN); // eslint-disable-line no-new
1282    return NativeArrayBuffer.name != ARRAY_BUFFER;
1283  })) {
1284    $ArrayBuffer = function ArrayBuffer(length) {
1285      anInstance(this, $ArrayBuffer);
1286      return new NativeArrayBuffer(toIndex(length));
1287    };
1288    var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE];
1289    for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {
1290      if (!((key = keys[j++]) in $ArrayBuffer)) {
1291        createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);
1292      }
1293    }
1294    ArrayBufferPrototype.constructor = $ArrayBuffer;
1295  }
1296
1297  // WebKit bug - the same parent prototype for typed arrays and data view
1298  if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) {
1299    setPrototypeOf($DataViewPrototype, ObjectPrototype);
1300  }
1301
1302  // iOS Safari 7.x bug
1303  var testView = new $DataView(new $ArrayBuffer(2));
1304  var nativeSetInt8 = $DataViewPrototype.setInt8;
1305  testView.setInt8(0, 2147483648);
1306  testView.setInt8(1, 2147483649);
1307  if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {
1308    setInt8: function setInt8(byteOffset, value) {
1309      nativeSetInt8.call(this, byteOffset, value << 24 >> 24);
1310    },
1311    setUint8: function setUint8(byteOffset, value) {
1312      nativeSetInt8.call(this, byteOffset, value << 24 >> 24);
1313    }
1314  }, { unsafe: true });
1315}
1316
1317setToStringTag($ArrayBuffer, ARRAY_BUFFER);
1318setToStringTag($DataView, DATA_VIEW);
1319
1320module.exports = {
1321  ArrayBuffer: $ArrayBuffer,
1322  DataView: $DataView
1323};
1324
1325
1326/***/ }),
1327
vendor: 1,537 bytes, lines 1328-1368
1328/***/ "./node_modules/core-js/internals/array-copy-within.js":
1329/*!*************************************************************!*\
1330  !*** ./node_modules/core-js/internals/array-copy-within.js ***!
1331  \*************************************************************/
1332/*! no static exports found */
1333/***/ (function(module, exports, __webpack_require__) {
1334
1335"use strict";
1336
1337var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
1338var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js");
1339var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
1340
1341var min = Math.min;
1342
1343// `Array.prototype.copyWithin` method implementation
1344// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin
1345module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {
1346  var O = toObject(this);
1347  var len = toLength(O.length);
1348  var to = toAbsoluteIndex(target, len);
1349  var from = toAbsoluteIndex(start, len);
1350  var end = arguments.length > 2 ? arguments[2] : undefined;
1351  var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);
1352  var inc = 1;
1353  if (from < to && to < from + count) {
1354    inc = -1;
1355    from += count - 1;
1356    to += count - 1;
1357  }
1358  while (count-- > 0) {
1359    if (from in O) O[to] = O[from];
1360    else delete O[to];
1361    to += inc;
1362    from += inc;
1363  } return O;
1364};
1365
1366
1367/***/ }),
1368
vendor: 1,285 bytes, lines 1369-1397
1369/***/ "./node_modules/core-js/internals/array-fill.js":
1370/*!******************************************************!*\
1371  !*** ./node_modules/core-js/internals/array-fill.js ***!
1372  \******************************************************/
1373/*! no static exports found */
1374/***/ (function(module, exports, __webpack_require__) {
1375
1376"use strict";
1377
1378var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
1379var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js");
1380var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
1381
1382// `Array.prototype.fill` method implementation
1383// https://tc39.github.io/ecma262/#sec-array.prototype.fill
1384module.exports = function fill(value /* , start = 0, end = @length */) {
1385  var O = toObject(this);
1386  var length = toLength(O.length);
1387  var argumentsLength = arguments.length;
1388  var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);
1389  var end = argumentsLength > 2 ? arguments[2] : undefined;
1390  var endPos = end === undefined ? length : toAbsoluteIndex(end, length);
1391  while (endPos > index) O[index++] = value;
1392  return O;
1393};
1394
1395
1396/***/ }),
1397
vendor: 1,249 bytes, lines 1398-1422
1398/***/ "./node_modules/core-js/internals/array-for-each.js":
1399/*!**********************************************************!*\
1400  !*** ./node_modules/core-js/internals/array-for-each.js ***!
1401  \**********************************************************/
1402/*! no static exports found */
1403/***/ (function(module, exports, __webpack_require__) {
1404
1405"use strict";
1406
1407var $forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").forEach;
1408var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js");
1409var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js");
1410
1411var STRICT_METHOD = arrayMethodIsStrict('forEach');
1412var USES_TO_LENGTH = arrayMethodUsesToLength('forEach');
1413
1414// `Array.prototype.forEach` method implementation
1415// https://tc39.github.io/ecma262/#sec-array.prototype.foreach
1416module.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {
1417  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
1418} : [].forEach;
1419
1420
1421/***/ }),
1422
vendor: 2,701 bytes, lines 1423-1475
1423/***/ "./node_modules/core-js/internals/array-from.js":
1424/*!******************************************************!*\
1425  !*** ./node_modules/core-js/internals/array-from.js ***!
1426  \******************************************************/
1427/*! no static exports found */
1428/***/ (function(module, exports, __webpack_require__) {
1429
1430"use strict";
1431
1432var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js");
1433var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
1434var callWithSafeIterationClosing = __webpack_require__(/*! ../internals/call-with-safe-iteration-closing */ "./node_modules/core-js/internals/call-with-safe-iteration-closing.js");
1435var isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ "./node_modules/core-js/internals/is-array-iterator-method.js");
1436var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
1437var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js");
1438var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js");
1439
1440// `Array.from` method implementation
1441// https://tc39.github.io/ecma262/#sec-array.from
1442module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
1443  var O = toObject(arrayLike);
1444  var C = typeof this == 'function' ? this : Array;
1445  var argumentsLength = arguments.length;
1446  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
1447  var mapping = mapfn !== undefined;
1448  var iteratorMethod = getIteratorMethod(O);
1449  var index = 0;
1450  var length, result, step, iterator, next, value;
1451  if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
1452  // if the target is not iterable or it's an array with the default iterator - use a simple case
1453  if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
1454    iterator = iteratorMethod.call(O);
1455    next = iterator.next;
1456    result = new C();
1457    for (;!(step = next.call(iterator)).done; index++) {
1458      value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
1459      createProperty(result, index, value);
1460    }
1461  } else {
1462    length = toLength(O.length);
1463    result = new C(length);
1464    for (;length > index; index++) {
1465      value = mapping ? mapfn(O[index], index) : O[index];
1466      createProperty(result, index, value);
1467    }
1468  }
1469  result.length = index;
1470  return result;
1471};
1472
1473
1474/***/ }),
1475
vendor: 1,846 bytes, lines 1476-1518
1476/***/ "./node_modules/core-js/internals/array-includes.js":
1477/*!**********************************************************!*\
1478  !*** ./node_modules/core-js/internals/array-includes.js ***!
1479  \**********************************************************/
1480/*! no static exports found */
1481/***/ (function(module, exports, __webpack_require__) {
1482
1483var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
1484var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
1485var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js");
1486
1487// `Array.prototype.{ indexOf, includes }` methods implementation
1488var createMethod = function (IS_INCLUDES) {
1489  return function ($this, el, fromIndex) {
1490    var O = toIndexedObject($this);
1491    var length = toLength(O.length);
1492    var index = toAbsoluteIndex(fromIndex, length);
1493    var value;
1494    // Array#includes uses SameValueZero equality algorithm
1495    // eslint-disable-next-line no-self-compare
1496    if (IS_INCLUDES && el != el) while (length > index) {
1497      value = O[index++];
1498      // eslint-disable-next-line no-self-compare
1499      if (value != value) return true;
1500    // Array#indexOf ignores holes, Array#includes - not
1501    } else for (;length > index; index++) {
1502      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
1503    } return !IS_INCLUDES && -1;
1504  };
1505};
1506
1507module.exports = {
1508  // `Array.prototype.includes` method
1509  // https://tc39.github.io/ecma262/#sec-array.prototype.includes
1510  includes: createMethod(true),
1511  // `Array.prototype.indexOf` method
1512  // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
1513  indexOf: createMethod(false)
1514};
1515
1516
1517/***/ }),
1518
vendor: 3,552 bytes, lines 1519-1601
1519/***/ "./node_modules/core-js/internals/array-iteration.js":
1520/*!***********************************************************!*\
1521  !*** ./node_modules/core-js/internals/array-iteration.js ***!
1522  \***********************************************************/
1523/*! no static exports found */
1524/***/ (function(module, exports, __webpack_require__) {
1525
1526var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js");
1527var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js");
1528var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
1529var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
1530var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js");
1531
1532var push = [].push;
1533
1534// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation
1535var createMethod = function (TYPE) {
1536  var IS_MAP = TYPE == 1;
1537  var IS_FILTER = TYPE == 2;
1538  var IS_SOME = TYPE == 3;
1539  var IS_EVERY = TYPE == 4;
1540  var IS_FIND_INDEX = TYPE == 6;
1541  var IS_FILTER_OUT = TYPE == 7;
1542  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
1543  return function ($this, callbackfn, that, specificCreate) {
1544    var O = toObject($this);
1545    var self = IndexedObject(O);
1546    var boundFunction = bind(callbackfn, that, 3);
1547    var length = toLength(self.length);
1548    var index = 0;
1549    var create = specificCreate || arraySpeciesCreate;
1550    var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;
1551    var value, result;
1552    for (;length > index; index++) if (NO_HOLES || index in self) {
1553      value = self[index];
1554      result = boundFunction(value, index, O);
1555      if (TYPE) {
1556        if (IS_MAP) target[index] = result; // map
1557        else if (result) switch (TYPE) {
1558          case 3: return true;              // some
1559          case 5: return value;             // find
1560          case 6: return index;             // findIndex
1561          case 2: push.call(target, value); // filter
1562        } else switch (TYPE) {
1563          case 4: return false;             // every
1564          case 7: push.call(target, value); // filterOut
1565        }
1566      }
1567    }
1568    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
1569  };
1570};
1571
1572module.exports = {
1573  // `Array.prototype.forEach` method
1574  // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
1575  forEach: createMethod(0),
1576  // `Array.prototype.map` method
1577  // https://tc39.github.io/ecma262/#sec-array.prototype.map
1578  map: createMethod(1),
1579  // `Array.prototype.filter` method
1580  // https://tc39.github.io/ecma262/#sec-array.prototype.filter
1581  filter: createMethod(2),
1582  // `Array.prototype.some` method
1583  // https://tc39.github.io/ecma262/#sec-array.prototype.some
1584  some: createMethod(3),
1585  // `Array.prototype.every` method
1586  // https://tc39.github.io/ecma262/#sec-array.prototype.every
1587  every: createMethod(4),
1588  // `Array.prototype.find` method
1589  // https://tc39.github.io/ecma262/#sec-array.prototype.find
1590  find: createMethod(5),
1591  // `Array.prototype.findIndex` method
1592  // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
1593  findIndex: createMethod(6),
1594  // `Array.prototype.filterOut` method
1595  // https://github.com/tc39/proposal-array-filtering
1596  filterOut: createMethod(7)
1597};
1598
1599
1600/***/ }),
1601
vendor: 2,186 bytes, lines 1602-1641
1602/***/ "./node_modules/core-js/internals/array-last-index-of.js":
1603/*!***************************************************************!*\
1604  !*** ./node_modules/core-js/internals/array-last-index-of.js ***!
1605  \***************************************************************/
1606/*! no static exports found */
1607/***/ (function(module, exports, __webpack_require__) {
1608
1609"use strict";
1610
1611var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
1612var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
1613var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
1614var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js");
1615var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js");
1616
1617var min = Math.min;
1618var nativeLastIndexOf = [].lastIndexOf;
1619var NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;
1620var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');
1621// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method
1622var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });
1623var FORCED = NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH;
1624
1625// `Array.prototype.lastIndexOf` method implementation
1626// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof
1627module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
1628  // convert -0 to +0
1629  if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0;
1630  var O = toIndexedObject(this);
1631  var length = toLength(O.length);
1632  var index = length - 1;
1633  if (arguments.length > 1) index = min(index, toInteger(arguments[1]));
1634  if (index < 0) index = length + index;
1635  for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;
1636  return -1;
1637} : nativeLastIndexOf;
1638
1639
1640/***/ }),
1641
vendor: 1,304 bytes, lines 1642-1671
1642/***/ "./node_modules/core-js/internals/array-method-has-species-support.js":
1643/*!****************************************************************************!*\
1644  !*** ./node_modules/core-js/internals/array-method-has-species-support.js ***!
1645  \****************************************************************************/
1646/*! no static exports found */
1647/***/ (function(module, exports, __webpack_require__) {
1648
1649var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
1650var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
1651var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js");
1652
1653var SPECIES = wellKnownSymbol('species');
1654
1655module.exports = function (METHOD_NAME) {
1656  // We can't use this feature detection in V8 since it causes
1657  // deoptimization and serious performance degradation
1658  // https://github.com/zloirock/core-js/issues/677
1659  return V8_VERSION >= 51 || !fails(function () {
1660    var array = [];
1661    var constructor = array.constructor = {};
1662    constructor[SPECIES] = function () {
1663      return { foo: 1 };
1664    };
1665    return array[METHOD_NAME](Boolean).foo !== 1;
1666  });
1667};
1668
1669
1670/***/ }),
1671
vendor: 767 bytes, lines 1672-1693
1672/***/ "./node_modules/core-js/internals/array-method-is-strict.js":
1673/*!******************************************************************!*\
1674  !*** ./node_modules/core-js/internals/array-method-is-strict.js ***!
1675  \******************************************************************/
1676/*! no static exports found */
1677/***/ (function(module, exports, __webpack_require__) {
1678
1679"use strict";
1680
1681var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
1682
1683module.exports = function (METHOD_NAME, argument) {
1684  var method = [][METHOD_NAME];
1685  return !!method && fails(function () {
1686    // eslint-disable-next-line no-useless-call,no-throw-literal
1687    method.call(null, argument || function () { throw 1; }, 1);
1688  });
1689};
1690
1691
1692/***/ }),
1693
vendor: 1,485 bytes, lines 1694-1731
1694/***/ "./node_modules/core-js/internals/array-method-uses-to-length.js":
1695/*!***********************************************************************!*\
1696  !*** ./node_modules/core-js/internals/array-method-uses-to-length.js ***!
1697  \***********************************************************************/
1698/*! no static exports found */
1699/***/ (function(module, exports, __webpack_require__) {
1700
1701var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
1702var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
1703var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
1704
1705var defineProperty = Object.defineProperty;
1706var cache = {};
1707
1708var thrower = function (it) { throw it; };
1709
1710module.exports = function (METHOD_NAME, options) {
1711  if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];
1712  if (!options) options = {};
1713  var method = [][METHOD_NAME];
1714  var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;
1715  var argument0 = has(options, 0) ? options[0] : thrower;
1716  var argument1 = has(options, 1) ? options[1] : undefined;
1717
1718  return cache[METHOD_NAME] = !!method && !fails(function () {
1719    if (ACCESSORS && !DESCRIPTORS) return true;
1720    var O = { length: -1 };
1721
1722    if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });
1723    else O[1] = 1;
1724
1725    method.call(O, argument0, argument1);
1726  });
1727};
1728
1729
1730/***/ }),
1731
vendor: 1,951 bytes, lines 1732-1782
1732/***/ "./node_modules/core-js/internals/array-reduce.js":
1733/*!********************************************************!*\
1734  !*** ./node_modules/core-js/internals/array-reduce.js ***!
1735  \********************************************************/
1736/*! no static exports found */
1737/***/ (function(module, exports, __webpack_require__) {
1738
1739var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
1740var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
1741var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js");
1742var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
1743
1744// `Array.prototype.{ reduce, reduceRight }` methods implementation
1745var createMethod = function (IS_RIGHT) {
1746  return function (that, callbackfn, argumentsLength, memo) {
1747    aFunction(callbackfn);
1748    var O = toObject(that);
1749    var self = IndexedObject(O);
1750    var length = toLength(O.length);
1751    var index = IS_RIGHT ? length - 1 : 0;
1752    var i = IS_RIGHT ? -1 : 1;
1753    if (argumentsLength < 2) while (true) {
1754      if (index in self) {
1755        memo = self[index];
1756        index += i;
1757        break;
1758      }
1759      index += i;
1760      if (IS_RIGHT ? index < 0 : length <= index) {
1761        throw TypeError('Reduce of empty array with no initial value');
1762      }
1763    }
1764    for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
1765      memo = callbackfn(memo, self[index], index, O);
1766    }
1767    return memo;
1768  };
1769};
1770
1771module.exports = {
1772  // `Array.prototype.reduce` method
1773  // https://tc39.github.io/ecma262/#sec-array.prototype.reduce
1774  left: createMethod(false),
1775  // `Array.prototype.reduceRight` method
1776  // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright
1777  right: createMethod(true)
1778};
1779
1780
1781/***/ }),
1782
vendor: 1,299 bytes, lines 1783-1813
1783/***/ "./node_modules/core-js/internals/array-species-create.js":
1784/*!****************************************************************!*\
1785  !*** ./node_modules/core-js/internals/array-species-create.js ***!
1786  \****************************************************************/
1787/*! no static exports found */
1788/***/ (function(module, exports, __webpack_require__) {
1789
1790var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
1791var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js");
1792var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
1793
1794var SPECIES = wellKnownSymbol('species');
1795
1796// `ArraySpeciesCreate` abstract operation
1797// https://tc39.github.io/ecma262/#sec-arrayspeciescreate
1798module.exports = function (originalArray, length) {
1799  var C;
1800  if (isArray(originalArray)) {
1801    C = originalArray.constructor;
1802    // cross-realm fallback
1803    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
1804    else if (isObject(C)) {
1805      C = C[SPECIES];
1806      if (C === null) C = undefined;
1807    }
1808  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
1809};
1810
1811
1812/***/ }),
1813
vendor: 986 bytes, lines 1814-1837
1814/***/ "./node_modules/core-js/internals/call-with-safe-iteration-closing.js":
1815/*!****************************************************************************!*\
1816  !*** ./node_modules/core-js/internals/call-with-safe-iteration-closing.js ***!
1817  \****************************************************************************/
1818/*! no static exports found */
1819/***/ (function(module, exports, __webpack_require__) {
1820
1821var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
1822var iteratorClose = __webpack_require__(/*! ../internals/iterator-close */ "./node_modules/core-js/internals/iterator-close.js");
1823
1824// call something on iterator step with safe closing on error
1825module.exports = function (iterator, fn, value, ENTRIES) {
1826  try {
1827    return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
1828  // 7.4.6 IteratorClose(iterator, completion)
1829  } catch (error) {
1830    iteratorClose(iterator);
1831    throw error;
1832  }
1833};
1834
1835
1836/***/ }),
1837
vendor: 1,425 bytes, lines 1838-1886
1838/***/ "./node_modules/core-js/internals/check-correctness-of-iteration.js":
1839/*!**************************************************************************!*\
1840  !*** ./node_modules/core-js/internals/check-correctness-of-iteration.js ***!
1841  \**************************************************************************/
1842/*! no static exports found */
1843/***/ (function(module, exports, __webpack_require__) {
1844
1845var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
1846
1847var ITERATOR = wellKnownSymbol('iterator');
1848var SAFE_CLOSING = false;
1849
1850try {
1851  var called = 0;
1852  var iteratorWithReturn = {
1853    next: function () {
1854      return { done: !!called++ };
1855    },
1856    'return': function () {
1857      SAFE_CLOSING = true;
1858    }
1859  };
1860  iteratorWithReturn[ITERATOR] = function () {
1861    return this;
1862  };
1863  // eslint-disable-next-line no-throw-literal
1864  Array.from(iteratorWithReturn, function () { throw 2; });
1865} catch (error) { /* empty */ }
1866
1867module.exports = function (exec, SKIP_CLOSING) {
1868  if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
1869  var ITERATION_SUPPORT = false;
1870  try {
1871    var object = {};
1872    object[ITERATOR] = function () {
1873      return {
1874        next: function () {
1875          return { done: ITERATION_SUPPORT = true };
1876        }
1877      };
1878    };
1879    exec(object);
1880  } catch (error) { /* empty */ }
1881  return ITERATION_SUPPORT;
1882};
1883
1884
1885/***/ }),
1886
vendor: 425 bytes, lines 1887-1902
1887/***/ "./node_modules/core-js/internals/classof-raw.js":
1888/*!*******************************************************!*\
1889  !*** ./node_modules/core-js/internals/classof-raw.js ***!
1890  \*******************************************************/
1891/*! no static exports found */
1892/***/ (function(module, exports) {
1893
1894var toString = {}.toString;
1895
1896module.exports = function (it) {
1897  return toString.call(it).slice(8, -1);
1898};
1899
1900
1901/***/ }),
1902
vendor: 1,550 bytes, lines 1903-1939
1903/***/ "./node_modules/core-js/internals/classof.js":
1904/*!***************************************************!*\
1905  !*** ./node_modules/core-js/internals/classof.js ***!
1906  \***************************************************/
1907/*! no static exports found */
1908/***/ (function(module, exports, __webpack_require__) {
1909
1910var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js/internals/to-string-tag-support.js");
1911var classofRaw = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
1912var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
1913
1914var TO_STRING_TAG = wellKnownSymbol('toStringTag');
1915// ES3 wrong here
1916var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
1917
1918// fallback for IE11 Script Access Denied error
1919var tryGet = function (it, key) {
1920  try {
1921    return it[key];
1922  } catch (error) { /* empty */ }
1923};
1924
1925// getting tag from ES6+ `Object.prototype.toString`
1926module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
1927  var O, tag, result;
1928  return it === undefined ? 'Undefined' : it === null ? 'Null'
1929    // @@toStringTag case
1930    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag
1931    // builtinTag case
1932    : CORRECT_ARGUMENTS ? classofRaw(O)
1933    // ES3 arguments fallback
1934    : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
1935};
1936
1937
1938/***/ }),
1939
vendor: 7,885 bytes, lines 1940-2137
1940/***/ "./node_modules/core-js/internals/collection-strong.js":
1941/*!*************************************************************!*\
1942  !*** ./node_modules/core-js/internals/collection-strong.js ***!
1943  \*************************************************************/
1944/*! no static exports found */
1945/***/ (function(module, exports, __webpack_require__) {
1946
1947"use strict";
1948
1949var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
1950var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");
1951var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js");
1952var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js");
1953var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js");
1954var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js");
1955var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js");
1956var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js");
1957var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
1958var fastKey = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js").fastKey;
1959var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
1960
1961var setInternalState = InternalStateModule.set;
1962var internalStateGetterFor = InternalStateModule.getterFor;
1963
1964module.exports = {
1965  getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
1966    var C = wrapper(function (that, iterable) {
1967      anInstance(that, C, CONSTRUCTOR_NAME);
1968      setInternalState(that, {
1969        type: CONSTRUCTOR_NAME,
1970        index: create(null),
1971        first: undefined,
1972        last: undefined,
1973        size: 0
1974      });
1975      if (!DESCRIPTORS) that.size = 0;
1976      if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
1977    });
1978
1979    var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
1980
1981    var define = function (that, key, value) {
1982      var state = getInternalState(that);
1983      var entry = getEntry(that, key);
1984      var previous, index;
1985      // change existing entry
1986      if (entry) {
1987        entry.value = value;
1988      // create new entry
1989      } else {
1990        state.last = entry = {
1991          index: index = fastKey(key, true),
1992          key: key,
1993          value: value,
1994          previous: previous = state.last,
1995          next: undefined,
1996          removed: false
1997        };
1998        if (!state.first) state.first = entry;
1999        if (previous) previous.next = entry;
2000        if (DESCRIPTORS) state.size++;
2001        else that.size++;
2002        // add to index
2003        if (index !== 'F') state.index[index] = entry;
2004      } return that;
2005    };
2006
2007    var getEntry = function (that, key) {
2008      var state = getInternalState(that);
2009      // fast case
2010      var index = fastKey(key);
2011      var entry;
2012      if (index !== 'F') return state.index[index];
2013      // frozen object case
2014      for (entry = state.first; entry; entry = entry.next) {
2015        if (entry.key == key) return entry;
2016      }
2017    };
2018
2019    redefineAll(C.prototype, {
2020      // 23.1.3.1 Map.prototype.clear()
2021      // 23.2.3.2 Set.prototype.clear()
2022      clear: function clear() {
2023        var that = this;
2024        var state = getInternalState(that);
2025        var data = state.index;
2026        var entry = state.first;
2027        while (entry) {
2028          entry.removed = true;
2029          if (entry.previous) entry.previous = entry.previous.next = undefined;
2030          delete data[entry.index];
2031          entry = entry.next;
2032        }
2033        state.first = state.last = undefined;
2034        if (DESCRIPTORS) state.size = 0;
2035        else that.size = 0;
2036      },
2037      // 23.1.3.3 Map.prototype.delete(key)
2038      // 23.2.3.4 Set.prototype.delete(value)
2039      'delete': function (key) {
2040        var that = this;
2041        var state = getInternalState(that);
2042        var entry = getEntry(that, key);
2043        if (entry) {
2044          var next = entry.next;
2045          var prev = entry.previous;
2046          delete state.index[entry.index];
2047          entry.removed = true;
2048          if (prev) prev.next = next;
2049          if (next) next.previous = prev;
2050          if (state.first == entry) state.first = next;
2051          if (state.last == entry) state.last = prev;
2052          if (DESCRIPTORS) state.size--;
2053          else that.size--;
2054        } return !!entry;
2055      },
2056      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
2057      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
2058      forEach: function forEach(callbackfn /* , that = undefined */) {
2059        var state = getInternalState(this);
2060        var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
2061        var entry;
2062        while (entry = entry ? entry.next : state.first) {
2063          boundFunction(entry.value, entry.key, this);
2064          // revert to the last existing entry
2065          while (entry && entry.removed) entry = entry.previous;
2066        }
2067      },
2068      // 23.1.3.7 Map.prototype.has(key)
2069      // 23.2.3.7 Set.prototype.has(value)
2070      has: function has(key) {
2071        return !!getEntry(this, key);
2072      }
2073    });
2074
2075    redefineAll(C.prototype, IS_MAP ? {
2076      // 23.1.3.6 Map.prototype.get(key)
2077      get: function get(key) {
2078        var entry = getEntry(this, key);
2079        return entry && entry.value;
2080      },
2081      // 23.1.3.9 Map.prototype.set(key, value)
2082      set: function set(key, value) {
2083        return define(this, key === 0 ? 0 : key, value);
2084      }
2085    } : {
2086      // 23.2.3.1 Set.prototype.add(value)
2087      add: function add(value) {
2088        return define(this, value = value === 0 ? 0 : value, value);
2089      }
2090    });
2091    if (DESCRIPTORS) defineProperty(C.prototype, 'size', {
2092      get: function () {
2093        return getInternalState(this).size;
2094      }
2095    });
2096    return C;
2097  },
2098  setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {
2099    var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';
2100    var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);
2101    var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);
2102    // add .keys, .values, .entries, [@@iterator]
2103    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
2104    defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {
2105      setInternalState(this, {
2106        type: ITERATOR_NAME,
2107        target: iterated,
2108        state: getInternalCollectionState(iterated),
2109        kind: kind,
2110        last: undefined
2111      });
2112    }, function () {
2113      var state = getInternalIteratorState(this);
2114      var kind = state.kind;
2115      var entry = state.last;
2116      // revert to the last existing entry
2117      while (entry && entry.removed) entry = entry.previous;
2118      // get next entry
2119      if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
2120        // or finish the iteration
2121        state.target = undefined;
2122        return { value: undefined, done: true };
2123      }
2124      // return step by kind
2125      if (kind == 'keys') return { value: entry.key, done: false };
2126      if (kind == 'values') return { value: entry.value, done: false };
2127      return { value: [entry.key, entry.value], done: false };
2128    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
2129
2130    // add [@@species], 23.1.2.2, 23.2.2.2
2131    setSpecies(CONSTRUCTOR_NAME);
2132  }
2133};
2134
2135
2136/***/ }),
2137
vendor: 4,857 bytes, lines 2138-2270
2138/***/ "./node_modules/core-js/internals/collection-weak.js":
2139/*!***********************************************************!*\
2140  !*** ./node_modules/core-js/internals/collection-weak.js ***!
2141  \***********************************************************/
2142/*! no static exports found */
2143/***/ (function(module, exports, __webpack_require__) {
2144
2145"use strict";
2146
2147var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js");
2148var getWeakData = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js").getWeakData;
2149var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
2150var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
2151var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js");
2152var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js");
2153var ArrayIterationModule = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js");
2154var $has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
2155var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
2156
2157var setInternalState = InternalStateModule.set;
2158var internalStateGetterFor = InternalStateModule.getterFor;
2159var find = ArrayIterationModule.find;
2160var findIndex = ArrayIterationModule.findIndex;
2161var id = 0;
2162
2163// fallback for uncaught frozen keys
2164var uncaughtFrozenStore = function (store) {
2165  return store.frozen || (store.frozen = new UncaughtFrozenStore());
2166};
2167
2168var UncaughtFrozenStore = function () {
2169  this.entries = [];
2170};
2171
2172var findUncaughtFrozen = function (store, key) {
2173  return find(store.entries, function (it) {
2174    return it[0] === key;
2175  });
2176};
2177
2178UncaughtFrozenStore.prototype = {
2179  get: function (key) {
2180    var entry = findUncaughtFrozen(this, key);
2181    if (entry) return entry[1];
2182  },
2183  has: function (key) {
2184    return !!findUncaughtFrozen(this, key);
2185  },
2186  set: function (key, value) {
2187    var entry = findUncaughtFrozen(this, key);
2188    if (entry) entry[1] = value;
2189    else this.entries.push([key, value]);
2190  },
2191  'delete': function (key) {
2192    var index = findIndex(this.entries, function (it) {
2193      return it[0] === key;
2194    });
2195    if (~index) this.entries.splice(index, 1);
2196    return !!~index;
2197  }
2198};
2199
2200module.exports = {
2201  getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
2202    var C = wrapper(function (that, iterable) {
2203      anInstance(that, C, CONSTRUCTOR_NAME);
2204      setInternalState(that, {
2205        type: CONSTRUCTOR_NAME,
2206        id: id++,
2207        frozen: undefined
2208      });
2209      if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
2210    });
2211
2212    var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
2213
2214    var define = function (that, key, value) {
2215      var state = getInternalState(that);
2216      var data = getWeakData(anObject(key), true);
2217      if (data === true) uncaughtFrozenStore(state).set(key, value);
2218      else data[state.id] = value;
2219      return that;
2220    };
2221
2222    redefineAll(C.prototype, {
2223      // 23.3.3.2 WeakMap.prototype.delete(key)
2224      // 23.4.3.3 WeakSet.prototype.delete(value)
2225      'delete': function (key) {
2226        var state = getInternalState(this);
2227        if (!isObject(key)) return false;
2228        var data = getWeakData(key);
2229        if (data === true) return uncaughtFrozenStore(state)['delete'](key);
2230        return data && $has(data, state.id) && delete data[state.id];
2231      },
2232      // 23.3.3.4 WeakMap.prototype.has(key)
2233      // 23.4.3.4 WeakSet.prototype.has(value)
2234      has: function has(key) {
2235        var state = getInternalState(this);
2236        if (!isObject(key)) return false;
2237        var data = getWeakData(key);
2238        if (data === true) return uncaughtFrozenStore(state).has(key);
2239        return data && $has(data, state.id);
2240      }
2241    });
2242
2243    redefineAll(C.prototype, IS_MAP ? {
2244      // 23.3.3.3 WeakMap.prototype.get(key)
2245      get: function get(key) {
2246        var state = getInternalState(this);
2247        if (isObject(key)) {
2248          var data = getWeakData(key);
2249          if (data === true) return uncaughtFrozenStore(state).get(key);
2250          return data ? data[state.id] : undefined;
2251        }
2252      },
2253      // 23.3.3.5 WeakMap.prototype.set(key, value)
2254      set: function set(key, value) {
2255        return define(this, key, value);
2256      }
2257    } : {
2258      // 23.4.3.1 WeakSet.prototype.add(value)
2259      add: function add(value) {
2260        return define(this, value, true);
2261      }
2262    });
2263
2264    return C;
2265  }
2266};
2267
2268
2269/***/ }),
2270
vendor: 5,460 bytes, lines 2271-2381
2271/***/ "./node_modules/core-js/internals/collection.js":
2272/*!******************************************************!*\
2273  !*** ./node_modules/core-js/internals/collection.js ***!
2274  \******************************************************/
2275/*! no static exports found */
2276/***/ (function(module, exports, __webpack_require__) {
2277
2278"use strict";
2279
2280var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
2281var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
2282var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js");
2283var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
2284var InternalMetadataModule = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js");
2285var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js");
2286var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js");
2287var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
2288var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
2289var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js/internals/check-correctness-of-iteration.js");
2290var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
2291var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "./node_modules/core-js/internals/inherit-if-required.js");
2292
2293module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
2294  var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;
2295  var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;
2296  var ADDER = IS_MAP ? 'set' : 'add';
2297  var NativeConstructor = global[CONSTRUCTOR_NAME];
2298  var NativePrototype = NativeConstructor && NativeConstructor.prototype;
2299  var Constructor = NativeConstructor;
2300  var exported = {};
2301
2302  var fixMethod = function (KEY) {
2303    var nativeMethod = NativePrototype[KEY];
2304    redefine(NativePrototype, KEY,
2305      KEY == 'add' ? function add(value) {
2306        nativeMethod.call(this, value === 0 ? 0 : value);
2307        return this;
2308      } : KEY == 'delete' ? function (key) {
2309        return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
2310      } : KEY == 'get' ? function get(key) {
2311        return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
2312      } : KEY == 'has' ? function has(key) {
2313        return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
2314      } : function set(key, value) {
2315        nativeMethod.call(this, key === 0 ? 0 : key, value);
2316        return this;
2317      }
2318    );
2319  };
2320
2321  // eslint-disable-next-line max-len
2322  if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {
2323    new NativeConstructor().entries().next();
2324  })))) {
2325    // create collection constructor
2326    Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
2327    InternalMetadataModule.REQUIRED = true;
2328  } else if (isForced(CONSTRUCTOR_NAME, true)) {
2329    var instance = new Constructor();
2330    // early implementations not supports chaining
2331    var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
2332    // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
2333    var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });
2334    // most early implementations doesn't supports iterables, most modern - not close it correctly
2335    // eslint-disable-next-line no-new
2336    var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });
2337    // for early implementations -0 and +0 not the same
2338    var BUGGY_ZERO = !IS_WEAK && fails(function () {
2339      // V8 ~ Chromium 42- fails only with 5+ elements
2340      var $instance = new NativeConstructor();
2341      var index = 5;
2342      while (index--) $instance[ADDER](index, index);
2343      return !$instance.has(-0);
2344    });
2345
2346    if (!ACCEPT_ITERABLES) {
2347      Constructor = wrapper(function (dummy, iterable) {
2348        anInstance(dummy, Constructor, CONSTRUCTOR_NAME);
2349        var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
2350        if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
2351        return that;
2352      });
2353      Constructor.prototype = NativePrototype;
2354      NativePrototype.constructor = Constructor;
2355    }
2356
2357    if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
2358      fixMethod('delete');
2359      fixMethod('has');
2360      IS_MAP && fixMethod('get');
2361    }
2362
2363    if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);
2364
2365    // weak collections should not contains .clear method
2366    if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;
2367  }
2368
2369  exported[CONSTRUCTOR_NAME] = Constructor;
2370  $({ global: true, forced: Constructor != NativeConstructor }, exported);
2371
2372  setToStringTag(Constructor, CONSTRUCTOR_NAME);
2373
2374  if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
2375
2376  return Constructor;
2377};
2378
2379
2380/***/ }),
2381
vendor: 1,311 bytes, lines 2382-2406
2382/***/ "./node_modules/core-js/internals/copy-constructor-properties.js":
2383/*!***********************************************************************!*\
2384  !*** ./node_modules/core-js/internals/copy-constructor-properties.js ***!
2385  \***********************************************************************/
2386/*! no static exports found */
2387/***/ (function(module, exports, __webpack_require__) {
2388
2389var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
2390var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/core-js/internals/own-keys.js");
2391var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js");
2392var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
2393
2394module.exports = function (target, source) {
2395  var keys = ownKeys(source);
2396  var defineProperty = definePropertyModule.f;
2397  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
2398  for (var i = 0; i < keys.length; i++) {
2399    var key = keys[i];
2400    if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
2401  }
2402};
2403
2404
2405/***/ }),
2406
vendor: 827 bytes, lines 2407-2432
2407/***/ "./node_modules/core-js/internals/correct-is-regexp-logic.js":
2408/*!*******************************************************************!*\
2409  !*** ./node_modules/core-js/internals/correct-is-regexp-logic.js ***!
2410  \*******************************************************************/
2411/*! no static exports found */
2412/***/ (function(module, exports, __webpack_require__) {
2413
2414var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
2415
2416var MATCH = wellKnownSymbol('match');
2417
2418module.exports = function (METHOD_NAME) {
2419  var regexp = /./;
2420  try {
2421    '/./'[METHOD_NAME](regexp);
2422  } catch (error1) {
2423    try {
2424      regexp[MATCH] = false;
2425      return '/./'[METHOD_NAME](regexp);
2426    } catch (error2) { /* empty */ }
2427  } return false;
2428};
2429
2430
2431/***/ }),
2432
vendor: 661 bytes, lines 2433-2450
2433/***/ "./node_modules/core-js/internals/correct-prototype-getter.js":
2434/*!********************************************************************!*\
2435  !*** ./node_modules/core-js/internals/correct-prototype-getter.js ***!
2436  \********************************************************************/
2437/*! no static exports found */
2438/***/ (function(module, exports, __webpack_require__) {
2439
2440var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
2441
2442module.exports = !fails(function () {
2443  function F() { /* empty */ }
2444  F.prototype.constructor = null;
2445  return Object.getPrototypeOf(new F()) !== F.prototype;
2446});
2447
2448
2449/***/ }),
2450
vendor: 900 bytes, lines 2451-2473
2451/***/ "./node_modules/core-js/internals/create-html.js":
2452/*!*******************************************************!*\
2453  !*** ./node_modules/core-js/internals/create-html.js ***!
2454  \*******************************************************/
2455/*! no static exports found */
2456/***/ (function(module, exports, __webpack_require__) {
2457
2458var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
2459
2460var quot = /"/g;
2461
2462// B.2.3.2.1 CreateHTML(string, tag, attribute, value)
2463// https://tc39.github.io/ecma262/#sec-createhtml
2464module.exports = function (string, tag, attribute, value) {
2465  var S = String(requireObjectCoercible(string));
2466  var p1 = '<' + tag;
2467  if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '&quot;') + '"';
2468  return p1 + '>' + S + '</' + tag + '>';
2469};
2470
2471
2472/***/ }),
2473
vendor: 1,510 bytes, lines 2474-2501
2474/***/ "./node_modules/core-js/internals/create-iterator-constructor.js":
2475/*!***********************************************************************!*\
2476  !*** ./node_modules/core-js/internals/create-iterator-constructor.js ***!
2477  \***********************************************************************/
2478/*! no static exports found */
2479/***/ (function(module, exports, __webpack_require__) {
2480
2481"use strict";
2482
2483var IteratorPrototype = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/core-js/internals/iterators-core.js").IteratorPrototype;
2484var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");
2485var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
2486var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
2487var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");
2488
2489var returnThis = function () { return this; };
2490
2491module.exports = function (IteratorConstructor, NAME, next) {
2492  var TO_STRING_TAG = NAME + ' Iterator';
2493  IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
2494  setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
2495  Iterators[TO_STRING_TAG] = returnThis;
2496  return IteratorConstructor;
2497};
2498
2499
2500/***/ }),
2501
vendor: 1,081 bytes, lines 2502-2522
2502/***/ "./node_modules/core-js/internals/create-non-enumerable-property.js":
2503/*!**************************************************************************!*\
2504  !*** ./node_modules/core-js/internals/create-non-enumerable-property.js ***!
2505  \**************************************************************************/
2506/*! no static exports found */
2507/***/ (function(module, exports, __webpack_require__) {
2508
2509var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
2510var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
2511var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
2512
2513module.exports = DESCRIPTORS ? function (object, key, value) {
2514  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
2515} : function (object, key, value) {
2516  object[key] = value;
2517  return object;
2518};
2519
2520
2521/***/ }),
2522
vendor: 552 bytes, lines 2523-2541
2523/***/ "./node_modules/core-js/internals/create-property-descriptor.js":
2524/*!**********************************************************************!*\
2525  !*** ./node_modules/core-js/internals/create-property-descriptor.js ***!
2526  \**********************************************************************/
2527/*! no static exports found */
2528/***/ (function(module, exports) {
2529
2530module.exports = function (bitmap, value) {
2531  return {
2532    enumerable: !(bitmap & 1),
2533    configurable: !(bitmap & 2),
2534    writable: !(bitmap & 4),
2535    value: value
2536  };
2537};
2538
2539
2540/***/ }),
2541
vendor: 1,050 bytes, lines 2542-2563
2542/***/ "./node_modules/core-js/internals/create-property.js":
2543/*!***********************************************************!*\
2544  !*** ./node_modules/core-js/internals/create-property.js ***!
2545  \***********************************************************/
2546/*! no static exports found */
2547/***/ (function(module, exports, __webpack_require__) {
2548
2549"use strict";
2550
2551var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
2552var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
2553var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
2554
2555module.exports = function (object, key, value) {
2556  var propertyKey = toPrimitive(key);
2557  if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
2558  else object[propertyKey] = value;
2559};
2560
2561
2562/***/ }),
2563
vendor: 1,755 bytes, lines 2564-2606
2564/***/ "./node_modules/core-js/internals/date-to-iso-string.js":
2565/*!**************************************************************!*\
2566  !*** ./node_modules/core-js/internals/date-to-iso-string.js ***!
2567  \**************************************************************/
2568/*! no static exports found */
2569/***/ (function(module, exports, __webpack_require__) {
2570
2571"use strict";
2572
2573var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
2574var padStart = __webpack_require__(/*! ../internals/string-pad */ "./node_modules/core-js/internals/string-pad.js").start;
2575
2576var abs = Math.abs;
2577var DatePrototype = Date.prototype;
2578var getTime = DatePrototype.getTime;
2579var nativeDateToISOString = DatePrototype.toISOString;
2580
2581// `Date.prototype.toISOString` method implementation
2582// https://tc39.github.io/ecma262/#sec-date.prototype.toisostring
2583// PhantomJS / old WebKit fails here:
2584module.exports = (fails(function () {
2585  return nativeDateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';
2586}) || !fails(function () {
2587  nativeDateToISOString.call(new Date(NaN));
2588})) ? function toISOString() {
2589  if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');
2590  var date = this;
2591  var year = date.getUTCFullYear();
2592  var milliseconds = date.getUTCMilliseconds();
2593  var sign = year < 0 ? '-' : year > 9999 ? '+' : '';
2594  return sign + padStart(abs(year), sign ? 6 : 4, 0) +
2595    '-' + padStart(date.getUTCMonth() + 1, 2, 0) +
2596    '-' + padStart(date.getUTCDate(), 2, 0) +
2597    'T' + padStart(date.getUTCHours(), 2, 0) +
2598    ':' + padStart(date.getUTCMinutes(), 2, 0) +
2599    ':' + padStart(date.getUTCSeconds(), 2, 0) +
2600    '.' + padStart(milliseconds, 3, 0) +
2601    'Z';
2602} : nativeDateToISOString;
2603
2604
2605/***/ }),
2606
vendor: 825 bytes, lines 2607-2627
2607/***/ "./node_modules/core-js/internals/date-to-primitive.js":
2608/*!*************************************************************!*\
2609  !*** ./node_modules/core-js/internals/date-to-primitive.js ***!
2610  \*************************************************************/
2611/*! no static exports found */
2612/***/ (function(module, exports, __webpack_require__) {
2613
2614"use strict";
2615
2616var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
2617var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
2618
2619module.exports = function (hint) {
2620  if (hint !== 'string' && hint !== 'number' && hint !== 'default') {
2621    throw TypeError('Incorrect hint');
2622  } return toPrimitive(anObject(this), hint !== 'number');
2623};
2624
2625
2626/***/ }),
2627
vendor: 5,196 bytes, lines 2628-2729
2628/***/ "./node_modules/core-js/internals/define-iterator.js":
2629/*!***********************************************************!*\
2630  !*** ./node_modules/core-js/internals/define-iterator.js ***!
2631  \***********************************************************/
2632/*! no static exports found */
2633/***/ (function(module, exports, __webpack_require__) {
2634
2635"use strict";
2636
2637var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
2638var createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ "./node_modules/core-js/internals/create-iterator-constructor.js");
2639var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");
2640var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js");
2641var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
2642var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
2643var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
2644var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
2645var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
2646var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");
2647var IteratorsCore = __webpack_require__(/*! ../internals/iterators-core */ "./node_modules/core-js/internals/iterators-core.js");
2648
2649var IteratorPrototype = IteratorsCore.IteratorPrototype;
2650var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
2651var ITERATOR = wellKnownSymbol('iterator');
2652var KEYS = 'keys';
2653var VALUES = 'values';
2654var ENTRIES = 'entries';
2655
2656var returnThis = function () { return this; };
2657
2658module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
2659  createIteratorConstructor(IteratorConstructor, NAME, next);
2660
2661  var getIterationMethod = function (KIND) {
2662    if (KIND === DEFAULT && defaultIterator) return defaultIterator;
2663    if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];
2664    switch (KIND) {
2665      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
2666      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
2667      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
2668    } return function () { return new IteratorConstructor(this); };
2669  };
2670
2671  var TO_STRING_TAG = NAME + ' Iterator';
2672  var INCORRECT_VALUES_NAME = false;
2673  var IterablePrototype = Iterable.prototype;
2674  var nativeIterator = IterablePrototype[ITERATOR]
2675    || IterablePrototype['@@iterator']
2676    || DEFAULT && IterablePrototype[DEFAULT];
2677  var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
2678  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
2679  var CurrentIteratorPrototype, methods, KEY;
2680
2681  // fix native
2682  if (anyNativeIterator) {
2683    CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
2684    if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
2685      if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
2686        if (setPrototypeOf) {
2687          setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
2688        } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
2689          createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);
2690        }
2691      }
2692      // Set @@toStringTag to native iterators
2693      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
2694      if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;
2695    }
2696  }
2697
2698  // fix Array#{values, @@iterator}.name in V8 / FF
2699  if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
2700    INCORRECT_VALUES_NAME = true;
2701    defaultIterator = function values() { return nativeIterator.call(this); };
2702  }
2703
2704  // define iterator
2705  if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
2706    createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);
2707  }
2708  Iterators[NAME] = defaultIterator;
2709
2710  // export additional methods
2711  if (DEFAULT) {
2712    methods = {
2713      values: getIterationMethod(VALUES),
2714      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
2715      entries: getIterationMethod(ENTRIES)
2716    };
2717    if (FORCED) for (KEY in methods) {
2718      if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
2719        redefine(IterablePrototype, KEY, methods[KEY]);
2720      }
2721    } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
2722  }
2723
2724  return methods;
2725};
2726
2727
2728/***/ }),
2729
vendor: 1,107 bytes, lines 2730-2751
2730/***/ "./node_modules/core-js/internals/define-well-known-symbol.js":
2731/*!********************************************************************!*\
2732  !*** ./node_modules/core-js/internals/define-well-known-symbol.js ***!
2733  \********************************************************************/
2734/*! no static exports found */
2735/***/ (function(module, exports, __webpack_require__) {
2736
2737var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js/internals/path.js");
2738var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
2739var wrappedWellKnownSymbolModule = __webpack_require__(/*! ../internals/well-known-symbol-wrapped */ "./node_modules/core-js/internals/well-known-symbol-wrapped.js");
2740var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
2741
2742module.exports = function (NAME) {
2743  var Symbol = path.Symbol || (path.Symbol = {});
2744  if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
2745    value: wrappedWellKnownSymbolModule.f(NAME)
2746  });
2747};
2748
2749
2750/***/ }),
2751
vendor: 614 bytes, lines 2752-2768
2752/***/ "./node_modules/core-js/internals/descriptors.js":
2753/*!*******************************************************!*\
2754  !*** ./node_modules/core-js/internals/descriptors.js ***!
2755  \*******************************************************/
2756/*! no static exports found */
2757/***/ (function(module, exports, __webpack_require__) {
2758
2759var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
2760
2761// Thank's IE8 for his funny defineProperty
2762module.exports = !fails(function () {
2763  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
2764});
2765
2766
2767/***/ }),
2768
vendor: 855 bytes, lines 2769-2789
2769/***/ "./node_modules/core-js/internals/document-create-element.js":
2770/*!*******************************************************************!*\
2771  !*** ./node_modules/core-js/internals/document-create-element.js ***!
2772  \*******************************************************************/
2773/*! no static exports found */
2774/***/ (function(module, exports, __webpack_require__) {
2775
2776var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
2777var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
2778
2779var document = global.document;
2780// typeof document.createElement is 'object' in old IE
2781var EXISTS = isObject(document) && isObject(document.createElement);
2782
2783module.exports = function (it) {
2784  return EXISTS ? document.createElement(it) : {};
2785};
2786
2787
2788/***/ }),
2789
vendor: 1,080 bytes, lines 2790-2835
2790/***/ "./node_modules/core-js/internals/dom-iterables.js":
2791/*!*********************************************************!*\
2792  !*** ./node_modules/core-js/internals/dom-iterables.js ***!
2793  \*********************************************************/
2794/*! no static exports found */
2795/***/ (function(module, exports) {
2796
2797// iterable DOM collections
2798// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
2799module.exports = {
2800  CSSRuleList: 0,
2801  CSSStyleDeclaration: 0,
2802  CSSValueList: 0,
2803  ClientRectList: 0,
2804  DOMRectList: 0,
2805  DOMStringList: 0,
2806  DOMTokenList: 1,
2807  DataTransferItemList: 0,
2808  FileList: 0,
2809  HTMLAllCollection: 0,
2810  HTMLCollection: 0,
2811  HTMLFormElement: 0,
2812  HTMLSelectElement: 0,
2813  MediaList: 0,
2814  MimeTypeArray: 0,
2815  NamedNodeMap: 0,
2816  NodeList: 1,
2817  PaintRequestList: 0,
2818  Plugin: 0,
2819  PluginArray: 0,
2820  SVGLengthList: 0,
2821  SVGNumberList: 0,
2822  SVGPathSegList: 0,
2823  SVGPointList: 0,
2824  SVGStringList: 0,
2825  SVGTransformList: 0,
2826  SourceBufferList: 0,
2827  StyleSheetList: 0,
2828  TextTrackCueList: 0,
2829  TextTrackList: 0,
2830  TouchList: 0
2831};
2832
2833
2834/***/ }),
2835
vendor: 550 bytes, lines 2836-2849
2836/***/ "./node_modules/core-js/internals/engine-is-ios.js":
2837/*!*********************************************************!*\
2838  !*** ./node_modules/core-js/internals/engine-is-ios.js ***!
2839  \*********************************************************/
2840/*! no static exports found */
2841/***/ (function(module, exports, __webpack_require__) {
2842
2843var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js/internals/engine-user-agent.js");
2844
2845module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);
2846
2847
2848/***/ }),
2849
vendor: 633 bytes, lines 2850-2864
2850/***/ "./node_modules/core-js/internals/engine-is-node.js":
2851/*!**********************************************************!*\
2852  !*** ./node_modules/core-js/internals/engine-is-node.js ***!
2853  \**********************************************************/
2854/*! no static exports found */
2855/***/ (function(module, exports, __webpack_require__) {
2856
2857var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
2858var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
2859
2860module.exports = classof(global.process) == 'process';
2861
2862
2863/***/ }),
2864
vendor: 549 bytes, lines 2865-2878
2865/***/ "./node_modules/core-js/internals/engine-user-agent.js":
2866/*!*************************************************************!*\
2867  !*** ./node_modules/core-js/internals/engine-user-agent.js ***!
2868  \*************************************************************/
2869/*! no static exports found */
2870/***/ (function(module, exports, __webpack_require__) {
2871
2872var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
2873
2874module.exports = getBuiltIn('navigator', 'userAgent') || '';
2875
2876
2877/***/ }),
2878
vendor: 1,027 bytes, lines 2879-2909
2879/***/ "./node_modules/core-js/internals/engine-v8-version.js":
2880/*!*************************************************************!*\
2881  !*** ./node_modules/core-js/internals/engine-v8-version.js ***!
2882  \*************************************************************/
2883/*! no static exports found */
2884/***/ (function(module, exports, __webpack_require__) {
2885
2886var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
2887var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js/internals/engine-user-agent.js");
2888
2889var process = global.process;
2890var versions = process && process.versions;
2891var v8 = versions && versions.v8;
2892var match, version;
2893
2894if (v8) {
2895  match = v8.split('.');
2896  version = match[0] + match[1];
2897} else if (userAgent) {
2898  match = userAgent.match(/Edge\/(\d+)/);
2899  if (!match || match[1] >= 74) {
2900    match = userAgent.match(/Chrome\/(\d+)/);
2901    if (match) version = match[1];
2902  }
2903}
2904
2905module.exports = version && +version;
2906
2907
2908/***/ }),
2909
vendor: 505 bytes, lines 2910-2930
2910/***/ "./node_modules/core-js/internals/enum-bug-keys.js":
2911/*!*********************************************************!*\
2912  !*** ./node_modules/core-js/internals/enum-bug-keys.js ***!
2913  \*********************************************************/
2914/*! no static exports found */
2915/***/ (function(module, exports) {
2916
2917// IE8- don't enum bug keys
2918module.exports = [
2919  'constructor',
2920  'hasOwnProperty',
2921  'isPrototypeOf',
2922  'propertyIsEnumerable',
2923  'toLocaleString',
2924  'toString',
2925  'valueOf'
2926];
2927
2928
2929/***/ }),
2930
vendor: 3,355 bytes, lines 2931-2995
2931/***/ "./node_modules/core-js/internals/export.js":
2932/*!**************************************************!*\
2933  !*** ./node_modules/core-js/internals/export.js ***!
2934  \**************************************************/
2935/*! no static exports found */
2936/***/ (function(module, exports, __webpack_require__) {
2937
2938var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
2939var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
2940var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
2941var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
2942var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js");
2943var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "./node_modules/core-js/internals/copy-constructor-properties.js");
2944var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js");
2945
2946/*
2947  options.target      - name of the target object
2948  options.global      - target is the global object
2949  options.stat        - export as static methods of target
2950  options.proto       - export as prototype methods of target
2951  options.real        - real prototype method for the `pure` version
2952  options.forced      - export even if the native feature is available
2953  options.bind        - bind methods to the target, required for the `pure` version
2954  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
2955  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
2956  options.sham        - add a flag to not completely full polyfills
2957  options.enumerable  - export as enumerable property
2958  options.noTargetGet - prevent calling a getter on target
2959*/
2960module.exports = function (options, source) {
2961  var TARGET = options.target;
2962  var GLOBAL = options.global;
2963  var STATIC = options.stat;
2964  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
2965  if (GLOBAL) {
2966    target = global;
2967  } else if (STATIC) {
2968    target = global[TARGET] || setGlobal(TARGET, {});
2969  } else {
2970    target = (global[TARGET] || {}).prototype;
2971  }
2972  if (target) for (key in source) {
2973    sourceProperty = source[key];
2974    if (options.noTargetGet) {
2975      descriptor = getOwnPropertyDescriptor(target, key);
2976      targetProperty = descriptor && descriptor.value;
2977    } else targetProperty = target[key];
2978    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
2979    // contained in target
2980    if (!FORCED && targetProperty !== undefined) {
2981      if (typeof sourceProperty === typeof targetProperty) continue;
2982      copyConstructorProperties(sourceProperty, targetProperty);
2983    }
2984    // add a flag to not completely full polyfills
2985    if (options.sham || (targetProperty && targetProperty.sham)) {
2986      createNonEnumerableProperty(sourceProperty, 'sham', true);
2987    }
2988    // extend global
2989    redefine(target, key, sourceProperty, options);
2990  }
2991};
2992
2993
2994/***/ }),
2995
vendor: 403 bytes, lines 2996-3013
2996/***/ "./node_modules/core-js/internals/fails.js":
2997/*!*************************************************!*\
2998  !*** ./node_modules/core-js/internals/fails.js ***!
2999  \*************************************************/
3000/*! no static exports found */
3001/***/ (function(module, exports) {
3002
3003module.exports = function (exec) {
3004  try {
3005    return !!exec();
3006  } catch (error) {
3007    return true;
3008  }
3009};
3010
3011
3012/***/ }),
3013
vendor: 5,515 bytes, lines 3014-3150
3014/***/ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js":
3015/*!******************************************************************************!*\
3016  !*** ./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js ***!
3017  \******************************************************************************/
3018/*! no static exports found */
3019/***/ (function(module, exports, __webpack_require__) {
3020
3021"use strict";
3022
3023// TODO: Remove from `core-js@4` since it's moved to entry points
3024__webpack_require__(/*! ../modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js");
3025var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
3026var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
3027var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
3028var regexpExec = __webpack_require__(/*! ../internals/regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js");
3029var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
3030
3031var SPECIES = wellKnownSymbol('species');
3032
3033var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
3034  // #replace needs built-in support for named groups.
3035  // #match works fine because it just return the exec results, even if it has
3036  // a "grops" property.
3037  var re = /./;
3038  re.exec = function () {
3039    var result = [];
3040    result.groups = { a: '7' };
3041    return result;
3042  };
3043  return ''.replace(re, '$<a>') !== '7';
3044});
3045
3046// IE <= 11 replaces $0 with the whole match, as if it was $&
3047// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
3048var REPLACE_KEEPS_$0 = (function () {
3049  return 'a'.replace(/./, '$0') === '$0';
3050})();
3051
3052var REPLACE = wellKnownSymbol('replace');
3053// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
3054var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
3055  if (/./[REPLACE]) {
3056    return /./[REPLACE]('a', '$0') === '';
3057  }
3058  return false;
3059})();
3060
3061// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
3062// Weex JS has frozen built-in prototypes, so use try / catch wrapper
3063var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
3064  var re = /(?:)/;
3065  var originalExec = re.exec;
3066  re.exec = function () { return originalExec.apply(this, arguments); };
3067  var result = 'ab'.split(re);
3068  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
3069});
3070
3071module.exports = function (KEY, length, exec, sham) {
3072  var SYMBOL = wellKnownSymbol(KEY);
3073
3074  var DELEGATES_TO_SYMBOL = !fails(function () {
3075    // String methods call symbol-named RegEp methods
3076    var O = {};
3077    O[SYMBOL] = function () { return 7; };
3078    return ''[KEY](O) != 7;
3079  });
3080
3081  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
3082    // Symbol-named RegExp methods call .exec
3083    var execCalled = false;
3084    var re = /a/;
3085
3086    if (KEY === 'split') {
3087      // We can't use real regex here since it causes deoptimization
3088      // and serious performance degradation in V8
3089      // https://github.com/zloirock/core-js/issues/306
3090      re = {};
3091      // RegExp[@@split] doesn't call the regex's exec method, but first creates
3092      // a new one. We need to return the patched regex when creating the new one.
3093      re.constructor = {};
3094      re.constructor[SPECIES] = function () { return re; };
3095      re.flags = '';
3096      re[SYMBOL] = /./[SYMBOL];
3097    }
3098
3099    re.exec = function () { execCalled = true; return null; };
3100
3101    re[SYMBOL]('');
3102    return !execCalled;
3103  });
3104
3105  if (
3106    !DELEGATES_TO_SYMBOL ||
3107    !DELEGATES_TO_EXEC ||
3108    (KEY === 'replace' && !(
3109      REPLACE_SUPPORTS_NAMED_GROUPS &&
3110      REPLACE_KEEPS_$0 &&
3111      !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
3112    )) ||
3113    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)
3114  ) {
3115    var nativeRegExpMethod = /./[SYMBOL];
3116    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
3117      if (regexp.exec === regexpExec) {
3118        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
3119          // The native String method already delegates to @@method (this
3120          // polyfilled function), leasing to infinite recursion.
3121          // We avoid it by directly calling the native @@method method.
3122          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };
3123        }
3124        return { done: true, value: nativeMethod.call(str, regexp, arg2) };
3125      }
3126      return { done: false };
3127    }, {
3128      REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,
3129      REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
3130    });
3131    var stringMethod = methods[0];
3132    var regexMethod = methods[1];
3133
3134    redefine(String.prototype, KEY, stringMethod);
3135    redefine(RegExp.prototype, SYMBOL, length == 2
3136      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
3137      // 21.2.5.11 RegExp.prototype[@@split](string, limit)
3138      ? function (string, arg) { return regexMethod.call(string, this, arg); }
3139      // 21.2.5.6 RegExp.prototype[@@match](string)
3140      // 21.2.5.9 RegExp.prototype[@@search](string)
3141      : function (string) { return regexMethod.call(string, this); }
3142    );
3143  }
3144
3145  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
3146};
3147
3148
3149/***/ }),
3150
vendor: 1,683 bytes, lines 3151-3194
3151/***/ "./node_modules/core-js/internals/flatten-into-array.js":
3152/*!**************************************************************!*\
3153  !*** ./node_modules/core-js/internals/flatten-into-array.js ***!
3154  \**************************************************************/
3155/*! no static exports found */
3156/***/ (function(module, exports, __webpack_require__) {
3157
3158"use strict";
3159
3160var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js");
3161var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
3162var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js");
3163
3164// `FlattenIntoArray` abstract operation
3165// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray
3166var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {
3167  var targetIndex = start;
3168  var sourceIndex = 0;
3169  var mapFn = mapper ? bind(mapper, thisArg, 3) : false;
3170  var element;
3171
3172  while (sourceIndex < sourceLen) {
3173    if (sourceIndex in source) {
3174      element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
3175
3176      if (depth > 0 && isArray(element)) {
3177        targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;
3178      } else {
3179        if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');
3180        target[targetIndex] = element;
3181      }
3182
3183      targetIndex++;
3184    }
3185    sourceIndex++;
3186  }
3187  return targetIndex;
3188};
3189
3190module.exports = flattenIntoArray;
3191
3192
3193/***/ }),
3194
vendor: 535 bytes, lines 3195-3210
3195/***/ "./node_modules/core-js/internals/freezing.js":
3196/*!****************************************************!*\
3197  !*** ./node_modules/core-js/internals/freezing.js ***!
3198  \****************************************************/
3199/*! no static exports found */
3200/***/ (function(module, exports, __webpack_require__) {
3201
3202var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
3203
3204module.exports = !fails(function () {
3205  return Object.isExtensible(Object.preventExtensions({}));
3206});
3207
3208
3209/***/ }),
3210
vendor: 1,045 bytes, lines 3211-3245
3211/***/ "./node_modules/core-js/internals/function-bind-context.js":
3212/*!*****************************************************************!*\
3213  !*** ./node_modules/core-js/internals/function-bind-context.js ***!
3214  \*****************************************************************/
3215/*! no static exports found */
3216/***/ (function(module, exports, __webpack_require__) {
3217
3218var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
3219
3220// optional / simple context binding
3221module.exports = function (fn, that, length) {
3222  aFunction(fn);
3223  if (that === undefined) return fn;
3224  switch (length) {
3225    case 0: return function () {
3226      return fn.call(that);
3227    };
3228    case 1: return function (a) {
3229      return fn.call(that, a);
3230    };
3231    case 2: return function (a, b) {
3232      return fn.call(that, a, b);
3233    };
3234    case 3: return function (a, b, c) {
3235      return fn.call(that, a, b, c);
3236    };
3237  }
3238  return function (/* ...args */) {
3239    return fn.apply(that, arguments);
3240  };
3241};
3242
3243
3244/***/ }),
3245
vendor: 1,547 bytes, lines 3246-3284
3246/***/ "./node_modules/core-js/internals/function-bind.js":
3247/*!*********************************************************!*\
3248  !*** ./node_modules/core-js/internals/function-bind.js ***!
3249  \*********************************************************/
3250/*! no static exports found */
3251/***/ (function(module, exports, __webpack_require__) {
3252
3253"use strict";
3254
3255var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
3256var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
3257
3258var slice = [].slice;
3259var factories = {};
3260
3261var construct = function (C, argsLength, args) {
3262  if (!(argsLength in factories)) {
3263    for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';
3264    // eslint-disable-next-line no-new-func
3265    factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');
3266  } return factories[argsLength](C, args);
3267};
3268
3269// `Function.prototype.bind` method implementation
3270// https://tc39.github.io/ecma262/#sec-function.prototype.bind
3271module.exports = Function.bind || function bind(that /* , ...args */) {
3272  var fn = aFunction(this);
3273  var partArgs = slice.call(arguments, 1);
3274  var boundFunction = function bound(/* args... */) {
3275    var args = partArgs.concat(slice.call(arguments));
3276    return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);
3277  };
3278  if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;
3279  return boundFunction;
3280};
3281
3282
3283/***/ }),
3284
vendor: 900 bytes, lines 3285-3306
3285/***/ "./node_modules/core-js/internals/get-built-in.js":
3286/*!********************************************************!*\
3287  !*** ./node_modules/core-js/internals/get-built-in.js ***!
3288  \********************************************************/
3289/*! no static exports found */
3290/***/ (function(module, exports, __webpack_require__) {
3291
3292var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js/internals/path.js");
3293var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
3294
3295var aFunction = function (variable) {
3296  return typeof variable == 'function' ? variable : undefined;
3297};
3298
3299module.exports = function (namespace, method) {
3300  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])
3301    : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];
3302};
3303
3304
3305/***/ }),
3306
vendor: 916 bytes, lines 3307-3328
3307/***/ "./node_modules/core-js/internals/get-iterator-method.js":
3308/*!***************************************************************!*\
3309  !*** ./node_modules/core-js/internals/get-iterator-method.js ***!
3310  \***************************************************************/
3311/*! no static exports found */
3312/***/ (function(module, exports, __webpack_require__) {
3313
3314var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js");
3315var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");
3316var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
3317
3318var ITERATOR = wellKnownSymbol('iterator');
3319
3320module.exports = function (it) {
3321  if (it != undefined) return it[ITERATOR]
3322    || it['@@iterator']
3323    || Iterators[classof(it)];
3324};
3325
3326
3327/***/ }),
3328
vendor: 831 bytes, lines 3329-3348
3329/***/ "./node_modules/core-js/internals/get-iterator.js":
3330/*!********************************************************!*\
3331  !*** ./node_modules/core-js/internals/get-iterator.js ***!
3332  \********************************************************/
3333/*! no static exports found */
3334/***/ (function(module, exports, __webpack_require__) {
3335
3336var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
3337var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js");
3338
3339module.exports = function (it) {
3340  var iteratorMethod = getIteratorMethod(it);
3341  if (typeof iteratorMethod != 'function') {
3342    throw TypeError(String(it) + ' is not iterable');
3343  } return anObject(iteratorMethod.call(it));
3344};
3345
3346
3347/***/ }),
3348
vendor: 1,014 bytes, lines 3349-3373
3349/***/ "./node_modules/core-js/internals/global.js":
3350/*!**************************************************!*\
3351  !*** ./node_modules/core-js/internals/global.js ***!
3352  \**************************************************/
3353/*! no static exports found */
3354/***/ (function(module, exports, __webpack_require__) {
3355
3356/* WEBPACK VAR INJECTION */(function(global) {var check = function (it) {
3357  return it && it.Math == Math && it;
3358};
3359
3360// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
3361module.exports =
3362  // eslint-disable-next-line no-undef
3363  check(typeof globalThis == 'object' && globalThis) ||
3364  check(typeof window == 'object' && window) ||
3365  check(typeof self == 'object' && self) ||
3366  check(typeof global == 'object' && global) ||
3367  // eslint-disable-next-line no-new-func
3368  (function () { return this; })() || Function('return this')();
3369
3370/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js")))
3371
3372/***/ }),
3373
vendor: 408 bytes, lines 3374-3389
3374/***/ "./node_modules/core-js/internals/has.js":
3375/*!***********************************************!*\
3376  !*** ./node_modules/core-js/internals/has.js ***!
3377  \***********************************************/
3378/*! no static exports found */
3379/***/ (function(module, exports) {
3380
3381var hasOwnProperty = {}.hasOwnProperty;
3382
3383module.exports = function (it, key) {
3384  return hasOwnProperty.call(it, key);
3385};
3386
3387
3388/***/ }),
3389
vendor: 340 bytes, lines 3390-3401
3390/***/ "./node_modules/core-js/internals/hidden-keys.js":
3391/*!*******************************************************!*\
3392  !*** ./node_modules/core-js/internals/hidden-keys.js ***!
3393  \*******************************************************/
3394/*! no static exports found */
3395/***/ (function(module, exports) {
3396
3397module.exports = {};
3398
3399
3400/***/ }),
3401
vendor: 653 bytes, lines 3402-3420
3402/***/ "./node_modules/core-js/internals/host-report-errors.js":
3403/*!**************************************************************!*\
3404  !*** ./node_modules/core-js/internals/host-report-errors.js ***!
3405  \**************************************************************/
3406/*! no static exports found */
3407/***/ (function(module, exports, __webpack_require__) {
3408
3409var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
3410
3411module.exports = function (a, b) {
3412  var console = global.console;
3413  if (console && console.error) {
3414    arguments.length === 1 ? console.error(a) : console.error(a, b);
3415  }
3416};
3417
3418
3419/***/ }),
3420
vendor: 496 bytes, lines 3421-3434
3421/***/ "./node_modules/core-js/internals/html.js":
3422/*!************************************************!*\
3423  !*** ./node_modules/core-js/internals/html.js ***!
3424  \************************************************/
3425/*! no static exports found */
3426/***/ (function(module, exports, __webpack_require__) {
3427
3428var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
3429
3430module.exports = getBuiltIn('document', 'documentElement');
3431
3432
3433/***/ }),
3434
vendor: 937 bytes, lines 3435-3455
3435/***/ "./node_modules/core-js/internals/ie8-dom-define.js":
3436/*!**********************************************************!*\
3437  !*** ./node_modules/core-js/internals/ie8-dom-define.js ***!
3438  \**********************************************************/
3439/*! no static exports found */
3440/***/ (function(module, exports, __webpack_require__) {
3441
3442var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
3443var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
3444var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js");
3445
3446// Thank's IE8 for his funny defineProperty
3447module.exports = !DESCRIPTORS && !fails(function () {
3448  return Object.defineProperty(createElement('div'), 'a', {
3449    get: function () { return 7; }
3450  }).a != 7;
3451});
3452
3453
3454/***/ }),
3455
vendor: 3,135 bytes, lines 3456-3554
3456/***/ "./node_modules/core-js/internals/ieee754.js":
3457/*!***************************************************!*\
3458  !*** ./node_modules/core-js/internals/ieee754.js ***!
3459  \***************************************************/
3460/*! no static exports found */
3461/***/ (function(module, exports) {
3462
3463// IEEE754 conversions based on https://github.com/feross/ieee754
3464// eslint-disable-next-line no-shadow-restricted-names
3465var Infinity = 1 / 0;
3466var abs = Math.abs;
3467var pow = Math.pow;
3468var floor = Math.floor;
3469var log = Math.log;
3470var LN2 = Math.LN2;
3471
3472var pack = function (number, mantissaLength, bytes) {
3473  var buffer = new Array(bytes);
3474  var exponentLength = bytes * 8 - mantissaLength - 1;
3475  var eMax = (1 << exponentLength) - 1;
3476  var eBias = eMax >> 1;
3477  var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;
3478  var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;
3479  var index = 0;
3480  var exponent, mantissa, c;
3481  number = abs(number);
3482  // eslint-disable-next-line no-self-compare
3483  if (number != number || number === Infinity) {
3484    // eslint-disable-next-line no-self-compare
3485    mantissa = number != number ? 1 : 0;
3486    exponent = eMax;
3487  } else {
3488    exponent = floor(log(number) / LN2);
3489    if (number * (c = pow(2, -exponent)) < 1) {
3490      exponent--;
3491      c *= 2;
3492    }
3493    if (exponent + eBias >= 1) {
3494      number += rt / c;
3495    } else {
3496      number += rt * pow(2, 1 - eBias);
3497    }
3498    if (number * c >= 2) {
3499      exponent++;
3500      c /= 2;
3501    }
3502    if (exponent + eBias >= eMax) {
3503      mantissa = 0;
3504      exponent = eMax;
3505    } else if (exponent + eBias >= 1) {
3506      mantissa = (number * c - 1) * pow(2, mantissaLength);
3507      exponent = exponent + eBias;
3508    } else {
3509      mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);
3510      exponent = 0;
3511    }
3512  }
3513  for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);
3514  exponent = exponent << mantissaLength | mantissa;
3515  exponentLength += mantissaLength;
3516  for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);
3517  buffer[--index] |= sign * 128;
3518  return buffer;
3519};
3520
3521var unpack = function (buffer, mantissaLength) {
3522  var bytes = buffer.length;
3523  var exponentLength = bytes * 8 - mantissaLength - 1;
3524  var eMax = (1 << exponentLength) - 1;
3525  var eBias = eMax >> 1;
3526  var nBits = exponentLength - 7;
3527  var index = bytes - 1;
3528  var sign = buffer[index--];
3529  var exponent = sign & 127;
3530  var mantissa;
3531  sign >>= 7;
3532  for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);
3533  mantissa = exponent & (1 << -nBits) - 1;
3534  exponent >>= -nBits;
3535  nBits += mantissaLength;
3536  for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);
3537  if (exponent === 0) {
3538    exponent = 1 - eBias;
3539  } else if (exponent === eMax) {
3540    return mantissa ? NaN : sign ? -Infinity : Infinity;
3541  } else {
3542    mantissa = mantissa + pow(2, mantissaLength);
3543    exponent = exponent - eBias;
3544  } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);
3545};
3546
3547module.exports = {
3548  pack: pack,
3549  unpack: unpack
3550};
3551
3552
3553/***/ }),
3554
vendor: 983 bytes, lines 3555-3578
3555/***/ "./node_modules/core-js/internals/indexed-object.js":
3556/*!**********************************************************!*\
3557  !*** ./node_modules/core-js/internals/indexed-object.js ***!
3558  \**********************************************************/
3559/*! no static exports found */
3560/***/ (function(module, exports, __webpack_require__) {
3561
3562var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
3563var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
3564
3565var split = ''.split;
3566
3567// fallback for non-array-like ES3 and non-enumerable old V8 strings
3568module.exports = fails(function () {
3569  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
3570  // eslint-disable-next-line no-prototype-builtins
3571  return !Object('z').propertyIsEnumerable(0);
3572}) ? function (it) {
3573  return classof(it) == 'String' ? split.call(it, '') : Object(it);
3574} : Object;
3575
3576
3577/***/ }),
3578
vendor: 1,209 bytes, lines 3579-3606
3579/***/ "./node_modules/core-js/internals/inherit-if-required.js":
3580/*!***************************************************************!*\
3581  !*** ./node_modules/core-js/internals/inherit-if-required.js ***!
3582  \***************************************************************/
3583/*! no static exports found */
3584/***/ (function(module, exports, __webpack_require__) {
3585
3586var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
3587var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js");
3588
3589// makes subclassing work correct for wrapped built-ins
3590module.exports = function ($this, dummy, Wrapper) {
3591  var NewTarget, NewTargetPrototype;
3592  if (
3593    // it can work only with native `setPrototypeOf`
3594    setPrototypeOf &&
3595    // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
3596    typeof (NewTarget = dummy.constructor) == 'function' &&
3597    NewTarget !== Wrapper &&
3598    isObject(NewTargetPrototype = NewTarget.prototype) &&
3599    NewTargetPrototype !== Wrapper.prototype
3600  ) setPrototypeOf($this, NewTargetPrototype);
3601  return $this;
3602};
3603
3604
3605/***/ }),
3606
vendor: 758 bytes, lines 3607-3629
3607/***/ "./node_modules/core-js/internals/inspect-source.js":
3608/*!**********************************************************!*\
3609  !*** ./node_modules/core-js/internals/inspect-source.js ***!
3610  \**********************************************************/
3611/*! no static exports found */
3612/***/ (function(module, exports, __webpack_require__) {
3613
3614var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js");
3615
3616var functionToString = Function.toString;
3617
3618// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
3619if (typeof store.inspectSource != 'function') {
3620  store.inspectSource = function (it) {
3621    return functionToString.call(it);
3622  };
3623}
3624
3625module.exports = store.inspectSource;
3626
3627
3628/***/ }),
3629
vendor: 2,522 bytes, lines 3630-3701
3630/***/ "./node_modules/core-js/internals/internal-metadata.js":
3631/*!*************************************************************!*\
3632  !*** ./node_modules/core-js/internals/internal-metadata.js ***!
3633  \*************************************************************/
3634/*! no static exports found */
3635/***/ (function(module, exports, __webpack_require__) {
3636
3637var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js");
3638var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
3639var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
3640var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
3641var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js");
3642var FREEZING = __webpack_require__(/*! ../internals/freezing */ "./node_modules/core-js/internals/freezing.js");
3643
3644var METADATA = uid('meta');
3645var id = 0;
3646
3647var isExtensible = Object.isExtensible || function () {
3648  return true;
3649};
3650
3651var setMetadata = function (it) {
3652  defineProperty(it, METADATA, { value: {
3653    objectID: 'O' + ++id, // object ID
3654    weakData: {}          // weak collections IDs
3655  } });
3656};
3657
3658var fastKey = function (it, create) {
3659  // return a primitive with prefix
3660  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
3661  if (!has(it, METADATA)) {
3662    // can't set metadata to uncaught frozen object
3663    if (!isExtensible(it)) return 'F';
3664    // not necessary to add metadata
3665    if (!create) return 'E';
3666    // add missing metadata
3667    setMetadata(it);
3668  // return object ID
3669  } return it[METADATA].objectID;
3670};
3671
3672var getWeakData = function (it, create) {
3673  if (!has(it, METADATA)) {
3674    // can't set metadata to uncaught frozen object
3675    if (!isExtensible(it)) return true;
3676    // not necessary to add metadata
3677    if (!create) return false;
3678    // add missing metadata
3679    setMetadata(it);
3680  // return the store of weak collections IDs
3681  } return it[METADATA].weakData;
3682};
3683
3684// add metadata on freeze-family methods calling
3685var onFreeze = function (it) {
3686  if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);
3687  return it;
3688};
3689
3690var meta = module.exports = {
3691  REQUIRED: false,
3692  fastKey: fastKey,
3693  getWeakData: getWeakData,
3694  onFreeze: onFreeze
3695};
3696
3697hiddenKeys[METADATA] = true;
3698
3699
3700/***/ }),
3701
vendor: 2,578 bytes, lines 3702-3776
3702/***/ "./node_modules/core-js/internals/internal-state.js":
3703/*!**********************************************************!*\
3704  !*** ./node_modules/core-js/internals/internal-state.js ***!
3705  \**********************************************************/
3706/*! no static exports found */
3707/***/ (function(module, exports, __webpack_require__) {
3708
3709var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ "./node_modules/core-js/internals/native-weak-map.js");
3710var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
3711var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
3712var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
3713var objectHas = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
3714var shared = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js");
3715var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js");
3716var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js");
3717
3718var WeakMap = global.WeakMap;
3719var set, get, has;
3720
3721var enforce = function (it) {
3722  return has(it) ? get(it) : set(it, {});
3723};
3724
3725var getterFor = function (TYPE) {
3726  return function (it) {
3727    var state;
3728    if (!isObject(it) || (state = get(it)).type !== TYPE) {
3729      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
3730    } return state;
3731  };
3732};
3733
3734if (NATIVE_WEAK_MAP) {
3735  var store = shared.state || (shared.state = new WeakMap());
3736  var wmget = store.get;
3737  var wmhas = store.has;
3738  var wmset = store.set;
3739  set = function (it, metadata) {
3740    metadata.facade = it;
3741    wmset.call(store, it, metadata);
3742    return metadata;
3743  };
3744  get = function (it) {
3745    return wmget.call(store, it) || {};
3746  };
3747  has = function (it) {
3748    return wmhas.call(store, it);
3749  };
3750} else {
3751  var STATE = sharedKey('state');
3752  hiddenKeys[STATE] = true;
3753  set = function (it, metadata) {
3754    metadata.facade = it;
3755    createNonEnumerableProperty(it, STATE, metadata);
3756    return metadata;
3757  };
3758  get = function (it) {
3759    return objectHas(it, STATE) ? it[STATE] : {};
3760  };
3761  has = function (it) {
3762    return objectHas(it, STATE);
3763  };
3764}
3765
3766module.exports = {
3767  set: set,
3768  get: get,
3769  has: has,
3770  enforce: enforce,
3771  getterFor: getterFor
3772};
3773
3774
3775/***/ }),
3776
vendor: 891 bytes, lines 3777-3797
3777/***/ "./node_modules/core-js/internals/is-array-iterator-method.js":
3778/*!********************************************************************!*\
3779  !*** ./node_modules/core-js/internals/is-array-iterator-method.js ***!
3780  \********************************************************************/
3781/*! no static exports found */
3782/***/ (function(module, exports, __webpack_require__) {
3783
3784var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
3785var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");
3786
3787var ITERATOR = wellKnownSymbol('iterator');
3788var ArrayPrototype = Array.prototype;
3789
3790// check on default Array iterator
3791module.exports = function (it) {
3792  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
3793};
3794
3795
3796/***/ }),
3797
vendor: 621 bytes, lines 3798-3815
3798/***/ "./node_modules/core-js/internals/is-array.js":
3799/*!****************************************************!*\
3800  !*** ./node_modules/core-js/internals/is-array.js ***!
3801  \****************************************************/
3802/*! no static exports found */
3803/***/ (function(module, exports, __webpack_require__) {
3804
3805var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
3806
3807// `IsArray` abstract operation
3808// https://tc39.github.io/ecma262/#sec-isarray
3809module.exports = Array.isArray || function isArray(arg) {
3810  return classof(arg) == 'Array';
3811};
3812
3813
3814/***/ }),
3815
vendor: 966 bytes, lines 3816-3847
3816/***/ "./node_modules/core-js/internals/is-forced.js":
3817/*!*****************************************************!*\
3818  !*** ./node_modules/core-js/internals/is-forced.js ***!
3819  \*****************************************************/
3820/*! no static exports found */
3821/***/ (function(module, exports, __webpack_require__) {
3822
3823var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
3824
3825var replacement = /#|\.prototype\./;
3826
3827var isForced = function (feature, detection) {
3828  var value = data[normalize(feature)];
3829  return value == POLYFILL ? true
3830    : value == NATIVE ? false
3831    : typeof detection == 'function' ? fails(detection)
3832    : !!detection;
3833};
3834
3835var normalize = isForced.normalize = function (string) {
3836  return String(string).replace(replacement, '.').toLowerCase();
3837};
3838
3839var data = isForced.data = {};
3840var NATIVE = isForced.NATIVE = 'N';
3841var POLYFILL = isForced.POLYFILL = 'P';
3842
3843module.exports = isForced;
3844
3845
3846/***/ }),
3847
vendor: 682 bytes, lines 3848-3867
3848/***/ "./node_modules/core-js/internals/is-integer.js":
3849/*!******************************************************!*\
3850  !*** ./node_modules/core-js/internals/is-integer.js ***!
3851  \******************************************************/
3852/*! no static exports found */
3853/***/ (function(module, exports, __webpack_require__) {
3854
3855var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
3856
3857var floor = Math.floor;
3858
3859// `Number.isInteger` method implementation
3860// https://tc39.github.io/ecma262/#sec-number.isinteger
3861module.exports = function isInteger(it) {
3862  return !isObject(it) && isFinite(it) && floor(it) === it;
3863};
3864
3865
3866/***/ }),
3867
vendor: 421 bytes, lines 3868-3881
3868/***/ "./node_modules/core-js/internals/is-object.js":
3869/*!*****************************************************!*\
3870  !*** ./node_modules/core-js/internals/is-object.js ***!
3871  \*****************************************************/
3872/*! no static exports found */
3873/***/ (function(module, exports) {
3874
3875module.exports = function (it) {
3876  return typeof it === 'object' ? it !== null : typeof it === 'function';
3877};
3878
3879
3880/***/ }),
3881
vendor: 327 bytes, lines 3882-3893
3882/***/ "./node_modules/core-js/internals/is-pure.js":
3883/*!***************************************************!*\
3884  !*** ./node_modules/core-js/internals/is-pure.js ***!
3885  \***************************************************/
3886/*! no static exports found */
3887/***/ (function(module, exports) {
3888
3889module.exports = false;
3890
3891
3892/***/ }),
3893
vendor: 980 bytes, lines 3894-3916
3894/***/ "./node_modules/core-js/internals/is-regexp.js":
3895/*!*****************************************************!*\
3896  !*** ./node_modules/core-js/internals/is-regexp.js ***!
3897  \*****************************************************/
3898/*! no static exports found */
3899/***/ (function(module, exports, __webpack_require__) {
3900
3901var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
3902var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
3903var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
3904
3905var MATCH = wellKnownSymbol('match');
3906
3907// `IsRegExp` abstract operation
3908// https://tc39.github.io/ecma262/#sec-isregexp
3909module.exports = function (it) {
3910  var isRegExp;
3911  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
3912};
3913
3914
3915/***/ }),
3916
vendor: 2,813 bytes, lines 3917-3985
3917/***/ "./node_modules/core-js/internals/iterate.js":
3918/*!***************************************************!*\
3919  !*** ./node_modules/core-js/internals/iterate.js ***!
3920  \***************************************************/
3921/*! no static exports found */
3922/***/ (function(module, exports, __webpack_require__) {
3923
3924var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
3925var isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ "./node_modules/core-js/internals/is-array-iterator-method.js");
3926var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
3927var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js");
3928var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js");
3929var iteratorClose = __webpack_require__(/*! ../internals/iterator-close */ "./node_modules/core-js/internals/iterator-close.js");
3930
3931var Result = function (stopped, result) {
3932  this.stopped = stopped;
3933  this.result = result;
3934};
3935
3936module.exports = function (iterable, unboundFunction, options) {
3937  var that = options && options.that;
3938  var AS_ENTRIES = !!(options && options.AS_ENTRIES);
3939  var IS_ITERATOR = !!(options && options.IS_ITERATOR);
3940  var INTERRUPTED = !!(options && options.INTERRUPTED);
3941  var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);
3942  var iterator, iterFn, index, length, result, next, step;
3943
3944  var stop = function (condition) {
3945    if (iterator) iteratorClose(iterator);
3946    return new Result(true, condition);
3947  };
3948
3949  var callFn = function (value) {
3950    if (AS_ENTRIES) {
3951      anObject(value);
3952      return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
3953    } return INTERRUPTED ? fn(value, stop) : fn(value);
3954  };
3955
3956  if (IS_ITERATOR) {
3957    iterator = iterable;
3958  } else {
3959    iterFn = getIteratorMethod(iterable);
3960    if (typeof iterFn != 'function') throw TypeError('Target is not iterable');
3961    // optimisation for array iterators
3962    if (isArrayIteratorMethod(iterFn)) {
3963      for (index = 0, length = toLength(iterable.length); length > index; index++) {
3964        result = callFn(iterable[index]);
3965        if (result && result instanceof Result) return result;
3966      } return new Result(false);
3967    }
3968    iterator = iterFn.call(iterable);
3969  }
3970
3971  next = iterator.next;
3972  while (!(step = next.call(iterator)).done) {
3973    try {
3974      result = callFn(step.value);
3975    } catch (error) {
3976      iteratorClose(iterator);
3977      throw error;
3978    }
3979    if (typeof result == 'object' && result && result instanceof Result) return result;
3980  } return new Result(false);
3981};
3982
3983
3984/***/ }),
3985
vendor: 647 bytes, lines 3986-4004
3986/***/ "./node_modules/core-js/internals/iterator-close.js":
3987/*!**********************************************************!*\
3988  !*** ./node_modules/core-js/internals/iterator-close.js ***!
3989  \**********************************************************/
3990/*! no static exports found */
3991/***/ (function(module, exports, __webpack_require__) {
3992
3993var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
3994
3995module.exports = function (iterator) {
3996  var returnMethod = iterator['return'];
3997  if (returnMethod !== undefined) {
3998    return anObject(returnMethod.call(iterator)).value;
3999  }
4000};
4001
4002
4003/***/ }),
4004
vendor: 2,064 bytes, lines 4005-4053
4005/***/ "./node_modules/core-js/internals/iterators-core.js":
4006/*!**********************************************************!*\
4007  !*** ./node_modules/core-js/internals/iterators-core.js ***!
4008  \**********************************************************/
4009/*! no static exports found */
4010/***/ (function(module, exports, __webpack_require__) {
4011
4012"use strict";
4013
4014var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");
4015var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
4016var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
4017var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
4018var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
4019
4020var ITERATOR = wellKnownSymbol('iterator');
4021var BUGGY_SAFARI_ITERATORS = false;
4022
4023var returnThis = function () { return this; };
4024
4025// `%IteratorPrototype%` object
4026// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
4027var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
4028
4029if ([].keys) {
4030  arrayIterator = [].keys();
4031  // Safari 8 has buggy iterators w/o `next`
4032  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
4033  else {
4034    PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
4035    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
4036  }
4037}
4038
4039if (IteratorPrototype == undefined) IteratorPrototype = {};
4040
4041// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
4042if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {
4043  createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
4044}
4045
4046module.exports = {
4047  IteratorPrototype: IteratorPrototype,
4048  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
4049};
4050
4051
4052/***/ }),
4053
vendor: 332 bytes, lines 4054-4065
4054/***/ "./node_modules/core-js/internals/iterators.js":
4055/*!*****************************************************!*\
4056  !*** ./node_modules/core-js/internals/iterators.js ***!
4057  \*****************************************************/
4058/*! no static exports found */
4059/***/ (function(module, exports) {
4060
4061module.exports = {};
4062
4063
4064/***/ }),
4065
vendor: 765 bytes, lines 4066-4089
4066/***/ "./node_modules/core-js/internals/math-expm1.js":
4067/*!******************************************************!*\
4068  !*** ./node_modules/core-js/internals/math-expm1.js ***!
4069  \******************************************************/
4070/*! no static exports found */
4071/***/ (function(module, exports) {
4072
4073var nativeExpm1 = Math.expm1;
4074var exp = Math.exp;
4075
4076// `Math.expm1` method implementation
4077// https://tc39.github.io/ecma262/#sec-math.expm1
4078module.exports = (!nativeExpm1
4079  // Old FF bug
4080  || nativeExpm1(10) > 22025.465794806719 || nativeExpm1(10) < 22025.4657948067165168
4081  // Tor Browser bug
4082  || nativeExpm1(-2e-17) != -2e-17
4083) ? function expm1(x) {
4084  return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp(x) - 1;
4085} : nativeExpm1;
4086
4087
4088/***/ }),
4089
vendor: 1,209 bytes, lines 4090-4126
4090/***/ "./node_modules/core-js/internals/math-fround.js":
4091/*!*******************************************************!*\
4092  !*** ./node_modules/core-js/internals/math-fround.js ***!
4093  \*******************************************************/
4094/*! no static exports found */
4095/***/ (function(module, exports, __webpack_require__) {
4096
4097var sign = __webpack_require__(/*! ../internals/math-sign */ "./node_modules/core-js/internals/math-sign.js");
4098
4099var abs = Math.abs;
4100var pow = Math.pow;
4101var EPSILON = pow(2, -52);
4102var EPSILON32 = pow(2, -23);
4103var MAX32 = pow(2, 127) * (2 - EPSILON32);
4104var MIN32 = pow(2, -126);
4105
4106var roundTiesToEven = function (n) {
4107  return n + 1 / EPSILON - 1 / EPSILON;
4108};
4109
4110// `Math.fround` method implementation
4111// https://tc39.github.io/ecma262/#sec-math.fround
4112module.exports = Math.fround || function fround(x) {
4113  var $abs = abs(x);
4114  var $sign = sign(x);
4115  var a, result;
4116  if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
4117  a = (1 + EPSILON32 / EPSILON) * $abs;
4118  result = a - (a - $abs);
4119  // eslint-disable-next-line no-self-compare
4120  if (result > MAX32 || result != result) return $sign * Infinity;
4121  return $sign * result;
4122};
4123
4124
4125/***/ }),
4126
vendor: 546 bytes, lines 4127-4144
4127/***/ "./node_modules/core-js/internals/math-log1p.js":
4128/*!******************************************************!*\
4129  !*** ./node_modules/core-js/internals/math-log1p.js ***!
4130  \******************************************************/
4131/*! no static exports found */
4132/***/ (function(module, exports) {
4133
4134var log = Math.log;
4135
4136// `Math.log1p` method implementation
4137// https://tc39.github.io/ecma262/#sec-math.log1p
4138module.exports = Math.log1p || function log1p(x) {
4139  return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log(1 + x);
4140};
4141
4142
4143/***/ }),
4144
vendor: 550 bytes, lines 4145-4161
4145/***/ "./node_modules/core-js/internals/math-sign.js":
4146/*!*****************************************************!*\
4147  !*** ./node_modules/core-js/internals/math-sign.js ***!
4148  \*****************************************************/
4149/*! no static exports found */
4150/***/ (function(module, exports) {
4151
4152// `Math.sign` method implementation
4153// https://tc39.github.io/ecma262/#sec-math.sign
4154module.exports = Math.sign || function sign(x) {
4155  // eslint-disable-next-line no-self-compare
4156  return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
4157};
4158
4159
4160/***/ }),
4161
vendor: 3,187 bytes, lines 4162-4250
4162/***/ "./node_modules/core-js/internals/microtask.js":
4163/*!*****************************************************!*\
4164  !*** ./node_modules/core-js/internals/microtask.js ***!
4165  \*****************************************************/
4166/*! no static exports found */
4167/***/ (function(module, exports, __webpack_require__) {
4168
4169var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
4170var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
4171var macrotask = __webpack_require__(/*! ../internals/task */ "./node_modules/core-js/internals/task.js").set;
4172var IS_IOS = __webpack_require__(/*! ../internals/engine-is-ios */ "./node_modules/core-js/internals/engine-is-ios.js");
4173var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js");
4174
4175var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
4176var document = global.document;
4177var process = global.process;
4178var Promise = global.Promise;
4179// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
4180var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
4181var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
4182
4183var flush, head, last, notify, toggle, node, promise, then;
4184
4185// modern engines have queueMicrotask method
4186if (!queueMicrotask) {
4187  flush = function () {
4188    var parent, fn;
4189    if (IS_NODE && (parent = process.domain)) parent.exit();
4190    while (head) {
4191      fn = head.fn;
4192      head = head.next;
4193      try {
4194        fn();
4195      } catch (error) {
4196        if (head) notify();
4197        else last = undefined;
4198        throw error;
4199      }
4200    } last = undefined;
4201    if (parent) parent.enter();
4202  };
4203
4204  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339
4205  if (!IS_IOS && !IS_NODE && MutationObserver && document) {
4206    toggle = true;
4207    node = document.createTextNode('');
4208    new MutationObserver(flush).observe(node, { characterData: true });
4209    notify = function () {
4210      node.data = toggle = !toggle;
4211    };
4212  // environments with maybe non-completely correct, but existent Promise
4213  } else if (Promise && Promise.resolve) {
4214    // Promise.resolve without an argument throws an error in LG WebOS 2
4215    promise = Promise.resolve(undefined);
4216    then = promise.then;
4217    notify = function () {
4218      then.call(promise, flush);
4219    };
4220  // Node.js without promises
4221  } else if (IS_NODE) {
4222    notify = function () {
4223      process.nextTick(flush);
4224    };
4225  // for other environments - macrotask based on:
4226  // - setImmediate
4227  // - MessageChannel
4228  // - window.postMessag
4229  // - onreadystatechange
4230  // - setTimeout
4231  } else {
4232    notify = function () {
4233      // strange IE + webpack dev server bug - use .call(global)
4234      macrotask.call(global, flush);
4235    };
4236  }
4237}
4238
4239module.exports = queueMicrotask || function (fn) {
4240  var task = { fn: fn, next: undefined };
4241  if (last) last.next = task;
4242  if (!head) {
4243    head = task;
4244    notify();
4245  } last = task;
4246};
4247
4248
4249/***/ }),
4250
vendor: 541 bytes, lines 4251-4264
4251/***/ "./node_modules/core-js/internals/native-promise-constructor.js":
4252/*!**********************************************************************!*\
4253  !*** ./node_modules/core-js/internals/native-promise-constructor.js ***!
4254  \**********************************************************************/
4255/*! no static exports found */
4256/***/ (function(module, exports, __webpack_require__) {
4257
4258var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
4259
4260module.exports = global.Promise;
4261
4262
4263/***/ }),
4264
vendor: 652 bytes, lines 4265-4282
4265/***/ "./node_modules/core-js/internals/native-symbol.js":
4266/*!*********************************************************!*\
4267  !*** ./node_modules/core-js/internals/native-symbol.js ***!
4268  \*********************************************************/
4269/*! no static exports found */
4270/***/ (function(module, exports, __webpack_require__) {
4271
4272var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
4273
4274module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
4275  // Chrome 38 Symbol has incorrect toString conversion
4276  // eslint-disable-next-line no-undef
4277  return !String(Symbol());
4278});
4279
4280
4281/***/ }),
4282
vendor: 1,685 bytes, lines 4283-4326
4283/***/ "./node_modules/core-js/internals/native-url.js":
4284/*!******************************************************!*\
4285  !*** ./node_modules/core-js/internals/native-url.js ***!
4286  \******************************************************/
4287/*! no static exports found */
4288/***/ (function(module, exports, __webpack_require__) {
4289
4290var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
4291var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
4292var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
4293
4294var ITERATOR = wellKnownSymbol('iterator');
4295
4296module.exports = !fails(function () {
4297  var url = new URL('b?a=1&b=2&c=3', 'http://a');
4298  var searchParams = url.searchParams;
4299  var result = '';
4300  url.pathname = 'c%20d';
4301  searchParams.forEach(function (value, key) {
4302    searchParams['delete']('b');
4303    result += key + value;
4304  });
4305  return (IS_PURE && !url.toJSON)
4306    || !searchParams.sort
4307    || url.href !== 'http://a/c%20d?a=1&c=3'
4308    || searchParams.get('c') !== '3'
4309    || String(new URLSearchParams('?a=1')) !== 'a=1'
4310    || !searchParams[ITERATOR]
4311    // throws in Edge
4312    || new URL('https://a@b').username !== 'a'
4313    || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'
4314    // not punycoded in Edge
4315    || new URL('http://тест').host !== 'xn--e1aybc'
4316    // not escaped in Chrome 62-
4317    || new URL('http://a#б').hash !== '#%D0%B1'
4318    // fails in Chrome 66-
4319    || result !== 'a1c3'
4320    // throws in Safari
4321    || new URL('http://x', undefined).host !== 'x';
4322});
4323
4324
4325/***/ }),
4326
vendor: 719 bytes, lines 4327-4343
4327/***/ "./node_modules/core-js/internals/native-weak-map.js":
4328/*!***********************************************************!*\
4329  !*** ./node_modules/core-js/internals/native-weak-map.js ***!
4330  \***********************************************************/
4331/*! no static exports found */
4332/***/ (function(module, exports, __webpack_require__) {
4333
4334var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
4335var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js/internals/inspect-source.js");
4336
4337var WeakMap = global.WeakMap;
4338
4339module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
4340
4341
4342/***/ }),
4343
vendor: 973 bytes, lines 4344-4373
4344/***/ "./node_modules/core-js/internals/new-promise-capability.js":
4345/*!******************************************************************!*\
4346  !*** ./node_modules/core-js/internals/new-promise-capability.js ***!
4347  \******************************************************************/
4348/*! no static exports found */
4349/***/ (function(module, exports, __webpack_require__) {
4350
4351"use strict";
4352
4353var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
4354
4355var PromiseCapability = function (C) {
4356  var resolve, reject;
4357  this.promise = new C(function ($$resolve, $$reject) {
4358    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
4359    resolve = $$resolve;
4360    reject = $$reject;
4361  });
4362  this.resolve = aFunction(resolve);
4363  this.reject = aFunction(reject);
4364};
4365
4366// 25.4.1.5 NewPromiseCapability(C)
4367module.exports.f = function (C) {
4368  return new PromiseCapability(C);
4369};
4370
4371
4372/***/ }),
4373
vendor: 603 bytes, lines 4374-4391
4374/***/ "./node_modules/core-js/internals/not-a-regexp.js":
4375/*!********************************************************!*\
4376  !*** ./node_modules/core-js/internals/not-a-regexp.js ***!
4377  \********************************************************/
4378/*! no static exports found */
4379/***/ (function(module, exports, __webpack_require__) {
4380
4381var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/core-js/internals/is-regexp.js");
4382
4383module.exports = function (it) {
4384  if (isRegExp(it)) {
4385    throw TypeError("The method doesn't accept regular expressions");
4386  } return it;
4387};
4388
4389
4390/***/ }),
4391
vendor: 707 bytes, lines 4392-4411
4392/***/ "./node_modules/core-js/internals/number-is-finite.js":
4393/*!************************************************************!*\
4394  !*** ./node_modules/core-js/internals/number-is-finite.js ***!
4395  \************************************************************/
4396/*! no static exports found */
4397/***/ (function(module, exports, __webpack_require__) {
4398
4399var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
4400
4401var globalIsFinite = global.isFinite;
4402
4403// `Number.isFinite` method
4404// https://tc39.github.io/ecma262/#sec-number.isfinite
4405module.exports = Number.isFinite || function isFinite(it) {
4406  return typeof it == 'number' && globalIsFinite(it);
4407};
4408
4409
4410/***/ }),
4411
vendor: 1,131 bytes, lines 4412-4436
4412/***/ "./node_modules/core-js/internals/number-parse-float.js":
4413/*!**************************************************************!*\
4414  !*** ./node_modules/core-js/internals/number-parse-float.js ***!
4415  \**************************************************************/
4416/*! no static exports found */
4417/***/ (function(module, exports, __webpack_require__) {
4418
4419var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
4420var trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim;
4421var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js");
4422
4423var $parseFloat = global.parseFloat;
4424var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity;
4425
4426// `parseFloat` method
4427// https://tc39.github.io/ecma262/#sec-parsefloat-string
4428module.exports = FORCED ? function parseFloat(string) {
4429  var trimmedString = trim(String(string));
4430  var result = $parseFloat(trimmedString);
4431  return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;
4432} : $parseFloat;
4433
4434
4435/***/ }),
4436
vendor: 1,116 bytes, lines 4437-4461
4437/***/ "./node_modules/core-js/internals/number-parse-int.js":
4438/*!************************************************************!*\
4439  !*** ./node_modules/core-js/internals/number-parse-int.js ***!
4440  \************************************************************/
4441/*! no static exports found */
4442/***/ (function(module, exports, __webpack_require__) {
4443
4444var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
4445var trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim;
4446var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js");
4447
4448var $parseInt = global.parseInt;
4449var hex = /^[+-]?0[Xx]/;
4450var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22;
4451
4452// `parseInt` method
4453// https://tc39.github.io/ecma262/#sec-parseint-string-radix
4454module.exports = FORCED ? function parseInt(string, radix) {
4455  var S = trim(String(string));
4456  return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));
4457} : $parseInt;
4458
4459
4460/***/ }),
4461
vendor: 2,925 bytes, lines 4462-4525
4462/***/ "./node_modules/core-js/internals/object-assign.js":
4463/*!*********************************************************!*\
4464  !*** ./node_modules/core-js/internals/object-assign.js ***!
4465  \*********************************************************/
4466/*! no static exports found */
4467/***/ (function(module, exports, __webpack_require__) {
4468
4469"use strict";
4470
4471var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
4472var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
4473var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js");
4474var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js");
4475var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js");
4476var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
4477var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js");
4478
4479var nativeAssign = Object.assign;
4480var defineProperty = Object.defineProperty;
4481
4482// `Object.assign` method
4483// https://tc39.github.io/ecma262/#sec-object.assign
4484module.exports = !nativeAssign || fails(function () {
4485  // should have correct order of operations (Edge bug)
4486  if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {
4487    enumerable: true,
4488    get: function () {
4489      defineProperty(this, 'b', {
4490        value: 3,
4491        enumerable: false
4492      });
4493    }
4494  }), { b: 2 })).b !== 1) return true;
4495  // should work with symbols and should have deterministic property order (V8 bug)
4496  var A = {};
4497  var B = {};
4498  // eslint-disable-next-line no-undef
4499  var symbol = Symbol();
4500  var alphabet = 'abcdefghijklmnopqrst';
4501  A[symbol] = 7;
4502  alphabet.split('').forEach(function (chr) { B[chr] = chr; });
4503  return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
4504}) ? function assign(target, source) { // eslint-disable-line no-unused-vars
4505  var T = toObject(target);
4506  var argumentsLength = arguments.length;
4507  var index = 1;
4508  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
4509  var propertyIsEnumerable = propertyIsEnumerableModule.f;
4510  while (argumentsLength > index) {
4511    var S = IndexedObject(arguments[index++]);
4512    var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
4513    var length = keys.length;
4514    var j = 0;
4515    var key;
4516    while (length > j) {
4517      key = keys[j++];
4518      if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];
4519    }
4520  } return T;
4521} : nativeAssign;
4522
4523
4524/***/ }),
4525
vendor: 3,716 bytes, lines 4526-4614
4526/***/ "./node_modules/core-js/internals/object-create.js":
4527/*!*********************************************************!*\
4528  !*** ./node_modules/core-js/internals/object-create.js ***!
4529  \*********************************************************/
4530/*! no static exports found */
4531/***/ (function(module, exports, __webpack_require__) {
4532
4533var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
4534var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js");
4535var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js");
4536var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js");
4537var html = __webpack_require__(/*! ../internals/html */ "./node_modules/core-js/internals/html.js");
4538var documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js");
4539var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js");
4540
4541var GT = '>';
4542var LT = '<';
4543var PROTOTYPE = 'prototype';
4544var SCRIPT = 'script';
4545var IE_PROTO = sharedKey('IE_PROTO');
4546
4547var EmptyConstructor = function () { /* empty */ };
4548
4549var scriptTag = function (content) {
4550  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
4551};
4552
4553// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
4554var NullProtoObjectViaActiveX = function (activeXDocument) {
4555  activeXDocument.write(scriptTag(''));
4556  activeXDocument.close();
4557  var temp = activeXDocument.parentWindow.Object;
4558  activeXDocument = null; // avoid memory leak
4559  return temp;
4560};
4561
4562// Create object with fake `null` prototype: use iframe Object with cleared prototype
4563var NullProtoObjectViaIFrame = function () {
4564  // Thrash, waste and sodomy: IE GC bug
4565  var iframe = documentCreateElement('iframe');
4566  var JS = 'java' + SCRIPT + ':';
4567  var iframeDocument;
4568  iframe.style.display = 'none';
4569  html.appendChild(iframe);
4570  // https://github.com/zloirock/core-js/issues/475
4571  iframe.src = String(JS);
4572  iframeDocument = iframe.contentWindow.document;
4573  iframeDocument.open();
4574  iframeDocument.write(scriptTag('document.F=Object'));
4575  iframeDocument.close();
4576  return iframeDocument.F;
4577};
4578
4579// Check for document.domain and active x support
4580// No need to use active x approach when document.domain is not set
4581// see https://github.com/es-shims/es5-shim/issues/150
4582// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
4583// avoid IE GC bug
4584var activeXDocument;
4585var NullProtoObject = function () {
4586  try {
4587    /* global ActiveXObject */
4588    activeXDocument = document.domain && new ActiveXObject('htmlfile');
4589  } catch (error) { /* ignore */ }
4590  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
4591  var length = enumBugKeys.length;
4592  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
4593  return NullProtoObject();
4594};
4595
4596hiddenKeys[IE_PROTO] = true;
4597
4598// `Object.create` method
4599// https://tc39.github.io/ecma262/#sec-object.create
4600module.exports = Object.create || function create(O, Properties) {
4601  var result;
4602  if (O !== null) {
4603    EmptyConstructor[PROTOTYPE] = anObject(O);
4604    result = new EmptyConstructor();
4605    EmptyConstructor[PROTOTYPE] = null;
4606    // add "__proto__" for Object.getPrototypeOf polyfill
4607    result[IE_PROTO] = O;
4608  } else result = NullProtoObject();
4609  return Properties === undefined ? result : defineProperties(result, Properties);
4610};
4611
4612
4613/***/ }),
4614
vendor: 1,316 bytes, lines 4615-4641
4615/***/ "./node_modules/core-js/internals/object-define-properties.js":
4616/*!********************************************************************!*\
4617  !*** ./node_modules/core-js/internals/object-define-properties.js ***!
4618  \********************************************************************/
4619/*! no static exports found */
4620/***/ (function(module, exports, __webpack_require__) {
4621
4622var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
4623var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
4624var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
4625var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js");
4626
4627// `Object.defineProperties` method
4628// https://tc39.github.io/ecma262/#sec-object.defineproperties
4629module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
4630  anObject(O);
4631  var keys = objectKeys(Properties);
4632  var length = keys.length;
4633  var index = 0;
4634  var key;
4635  while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);
4636  return O;
4637};
4638
4639
4640/***/ }),
4641
vendor: 1,459 bytes, lines 4642-4672
4642/***/ "./node_modules/core-js/internals/object-define-property.js":
4643/*!******************************************************************!*\
4644  !*** ./node_modules/core-js/internals/object-define-property.js ***!
4645  \******************************************************************/
4646/*! no static exports found */
4647/***/ (function(module, exports, __webpack_require__) {
4648
4649var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
4650var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js");
4651var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
4652var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
4653
4654var nativeDefineProperty = Object.defineProperty;
4655
4656// `Object.defineProperty` method
4657// https://tc39.github.io/ecma262/#sec-object.defineproperty
4658exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
4659  anObject(O);
4660  P = toPrimitive(P, true);
4661  anObject(Attributes);
4662  if (IE8_DOM_DEFINE) try {
4663    return nativeDefineProperty(O, P, Attributes);
4664  } catch (error) { /* empty */ }
4665  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
4666  if ('value' in Attributes) O[P] = Attributes.value;
4667  return O;
4668};
4669
4670
4671/***/ }),
4672
vendor: 1,937 bytes, lines 4673-4703
4673/***/ "./node_modules/core-js/internals/object-get-own-property-descriptor.js":
4674/*!******************************************************************************!*\
4675  !*** ./node_modules/core-js/internals/object-get-own-property-descriptor.js ***!
4676  \******************************************************************************/
4677/*! no static exports found */
4678/***/ (function(module, exports, __webpack_require__) {
4679
4680var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
4681var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js");
4682var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
4683var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
4684var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
4685var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
4686var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js");
4687
4688var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
4689
4690// `Object.getOwnPropertyDescriptor` method
4691// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
4692exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
4693  O = toIndexedObject(O);
4694  P = toPrimitive(P, true);
4695  if (IE8_DOM_DEFINE) try {
4696    return nativeGetOwnPropertyDescriptor(O, P);
4697  } catch (error) { /* empty */ }
4698  if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
4699};
4700
4701
4702/***/ }),
4703
vendor: 1,343 bytes, lines 4704-4736
4704/***/ "./node_modules/core-js/internals/object-get-own-property-names-external.js":
4705/*!**********************************************************************************!*\
4706  !*** ./node_modules/core-js/internals/object-get-own-property-names-external.js ***!
4707  \**********************************************************************************/
4708/*! no static exports found */
4709/***/ (function(module, exports, __webpack_require__) {
4710
4711var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
4712var nativeGetOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f;
4713
4714var toString = {}.toString;
4715
4716var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
4717  ? Object.getOwnPropertyNames(window) : [];
4718
4719var getWindowNames = function (it) {
4720  try {
4721    return nativeGetOwnPropertyNames(it);
4722  } catch (error) {
4723    return windowNames.slice();
4724  }
4725};
4726
4727// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
4728module.exports.f = function getOwnPropertyNames(it) {
4729  return windowNames && toString.call(it) == '[object Window]'
4730    ? getWindowNames(it)
4731    : nativeGetOwnPropertyNames(toIndexedObject(it));
4732};
4733
4734
4735/***/ }),
4736
vendor: 975 bytes, lines 4737-4757
4737/***/ "./node_modules/core-js/internals/object-get-own-property-names.js":
4738/*!*************************************************************************!*\
4739  !*** ./node_modules/core-js/internals/object-get-own-property-names.js ***!
4740  \*************************************************************************/
4741/*! no static exports found */
4742/***/ (function(module, exports, __webpack_require__) {
4743
4744var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js");
4745var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js");
4746
4747var hiddenKeys = enumBugKeys.concat('length', 'prototype');
4748
4749// `Object.getOwnPropertyNames` method
4750// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
4751exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
4752  return internalObjectKeys(O, hiddenKeys);
4753};
4754
4755
4756/***/ }),
4757
vendor: 441 bytes, lines 4758-4769
4758/***/ "./node_modules/core-js/internals/object-get-own-property-symbols.js":
4759/*!***************************************************************************!*\
4760  !*** ./node_modules/core-js/internals/object-get-own-property-symbols.js ***!
4761  \***************************************************************************/
4762/*! no static exports found */
4763/***/ (function(module, exports) {
4764
4765exports.f = Object.getOwnPropertySymbols;
4766
4767
4768/***/ }),
4769
vendor: 1,371 bytes, lines 4770-4797
4770/***/ "./node_modules/core-js/internals/object-get-prototype-of.js":
4771/*!*******************************************************************!*\
4772  !*** ./node_modules/core-js/internals/object-get-prototype-of.js ***!
4773  \*******************************************************************/
4774/*! no static exports found */
4775/***/ (function(module, exports, __webpack_require__) {
4776
4777var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
4778var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
4779var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js");
4780var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/core-js/internals/correct-prototype-getter.js");
4781
4782var IE_PROTO = sharedKey('IE_PROTO');
4783var ObjectPrototype = Object.prototype;
4784
4785// `Object.getPrototypeOf` method
4786// https://tc39.github.io/ecma262/#sec-object.getprototypeof
4787module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
4788  O = toObject(O);
4789  if (has(O, IE_PROTO)) return O[IE_PROTO];
4790  if (typeof O.constructor == 'function' && O instanceof O.constructor) {
4791    return O.constructor.prototype;
4792  } return O instanceof Object ? ObjectPrototype : null;
4793};
4794
4795
4796/***/ }),
4797
vendor: 1,227 bytes, lines 4798-4825
4798/***/ "./node_modules/core-js/internals/object-keys-internal.js":
4799/*!****************************************************************!*\
4800  !*** ./node_modules/core-js/internals/object-keys-internal.js ***!
4801  \****************************************************************/
4802/*! no static exports found */
4803/***/ (function(module, exports, __webpack_require__) {
4804
4805var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
4806var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
4807var indexOf = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").indexOf;
4808var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js");
4809
4810module.exports = function (object, names) {
4811  var O = toIndexedObject(object);
4812  var i = 0;
4813  var result = [];
4814  var key;
4815  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
4816  // Don't enum bug & hidden keys
4817  while (names.length > i) if (has(O, key = names[i++])) {
4818    ~indexOf(result, key) || result.push(key);
4819  }
4820  return result;
4821};
4822
4823
4824/***/ }),
4825
vendor: 788 bytes, lines 4826-4844
4826/***/ "./node_modules/core-js/internals/object-keys.js":
4827/*!*******************************************************!*\
4828  !*** ./node_modules/core-js/internals/object-keys.js ***!
4829  \*******************************************************/
4830/*! no static exports found */
4831/***/ (function(module, exports, __webpack_require__) {
4832
4833var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "./node_modules/core-js/internals/object-keys-internal.js");
4834var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "./node_modules/core-js/internals/enum-bug-keys.js");
4835
4836// `Object.keys` method
4837// https://tc39.github.io/ecma262/#sec-object.keys
4838module.exports = Object.keys || function keys(O) {
4839  return internalObjectKeys(O, enumBugKeys);
4840};
4841
4842
4843/***/ }),
4844
vendor: 1,003 bytes, lines 4845-4869
4845/***/ "./node_modules/core-js/internals/object-property-is-enumerable.js":
4846/*!*************************************************************************!*\
4847  !*** ./node_modules/core-js/internals/object-property-is-enumerable.js ***!
4848  \*************************************************************************/
4849/*! no static exports found */
4850/***/ (function(module, exports, __webpack_require__) {
4851
4852"use strict";
4853
4854var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
4855var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
4856
4857// Nashorn ~ JDK8 bug
4858var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
4859
4860// `Object.prototype.propertyIsEnumerable` method implementation
4861// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
4862exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
4863  var descriptor = getOwnPropertyDescriptor(this, V);
4864  return !!descriptor && descriptor.enumerable;
4865} : nativePropertyIsEnumerable;
4866
4867
4868/***/ }),
4869
vendor: 1,083 bytes, lines 4870-4894
4870/***/ "./node_modules/core-js/internals/object-prototype-accessors-forced.js":
4871/*!*****************************************************************************!*\
4872  !*** ./node_modules/core-js/internals/object-prototype-accessors-forced.js ***!
4873  \*****************************************************************************/
4874/*! no static exports found */
4875/***/ (function(module, exports, __webpack_require__) {
4876
4877"use strict";
4878
4879var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
4880var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
4881var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
4882
4883// Forced replacement object prototype accessors methods
4884module.exports = IS_PURE || !fails(function () {
4885  var key = Math.random();
4886  // In FF throws only define methods
4887  // eslint-disable-next-line no-undef, no-useless-call
4888  __defineSetter__.call(null, key, function () { /* empty */ });
4889  delete global[key];
4890});
4891
4892
4893/***/ }),
4894
vendor: 1,388 bytes, lines 4895-4929
4895/***/ "./node_modules/core-js/internals/object-set-prototype-of.js":
4896/*!*******************************************************************!*\
4897  !*** ./node_modules/core-js/internals/object-set-prototype-of.js ***!
4898  \*******************************************************************/
4899/*! no static exports found */
4900/***/ (function(module, exports, __webpack_require__) {
4901
4902var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
4903var aPossiblePrototype = __webpack_require__(/*! ../internals/a-possible-prototype */ "./node_modules/core-js/internals/a-possible-prototype.js");
4904
4905// `Object.setPrototypeOf` method
4906// https://tc39.github.io/ecma262/#sec-object.setprototypeof
4907// Works with __proto__ only. Old v8 can't work with null proto objects.
4908/* eslint-disable no-proto */
4909module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
4910  var CORRECT_SETTER = false;
4911  var test = {};
4912  var setter;
4913  try {
4914    setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
4915    setter.call(test, []);
4916    CORRECT_SETTER = test instanceof Array;
4917  } catch (error) { /* empty */ }
4918  return function setPrototypeOf(O, proto) {
4919    anObject(O);
4920    aPossiblePrototype(proto);
4921    if (CORRECT_SETTER) setter.call(O, proto);
4922    else O.__proto__ = proto;
4923    return O;
4924  };
4925}() : undefined);
4926
4927
4928/***/ }),
4929
vendor: 1,634 bytes, lines 4930-4972
4930/***/ "./node_modules/core-js/internals/object-to-array.js":
4931/*!***********************************************************!*\
4932  !*** ./node_modules/core-js/internals/object-to-array.js ***!
4933  \***********************************************************/
4934/*! no static exports found */
4935/***/ (function(module, exports, __webpack_require__) {
4936
4937var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
4938var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js");
4939var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
4940var propertyIsEnumerable = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js").f;
4941
4942// `Object.{ entries, values }` methods implementation
4943var createMethod = function (TO_ENTRIES) {
4944  return function (it) {
4945    var O = toIndexedObject(it);
4946    var keys = objectKeys(O);
4947    var length = keys.length;
4948    var i = 0;
4949    var result = [];
4950    var key;
4951    while (length > i) {
4952      key = keys[i++];
4953      if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {
4954        result.push(TO_ENTRIES ? [key, O[key]] : O[key]);
4955      }
4956    }
4957    return result;
4958  };
4959};
4960
4961module.exports = {
4962  // `Object.entries` method
4963  // https://tc39.github.io/ecma262/#sec-object.entries
4964  entries: createMethod(true),
4965  // `Object.values` method
4966  // https://tc39.github.io/ecma262/#sec-object.values
4967  values: createMethod(false)
4968};
4969
4970
4971/***/ }),
4972
vendor: 879 bytes, lines 4973-4993
4973/***/ "./node_modules/core-js/internals/object-to-string.js":
4974/*!************************************************************!*\
4975  !*** ./node_modules/core-js/internals/object-to-string.js ***!
4976  \************************************************************/
4977/*! no static exports found */
4978/***/ (function(module, exports, __webpack_require__) {
4979
4980"use strict";
4981
4982var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js/internals/to-string-tag-support.js");
4983var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js");
4984
4985// `Object.prototype.toString` method implementation
4986// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
4987module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
4988  return '[object ' + classof(this) + ']';
4989};
4990
4991
4992/***/ }),
4993
vendor: 1,249 bytes, lines 4994-5015
4994/***/ "./node_modules/core-js/internals/own-keys.js":
4995/*!****************************************************!*\
4996  !*** ./node_modules/core-js/internals/own-keys.js ***!
4997  \****************************************************/
4998/*! no static exports found */
4999/***/ (function(module, exports, __webpack_require__) {
5000
5001var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
5002var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js");
5003var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js");
5004var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
5005
5006// all object keys, includes non-enumerable and symbols
5007module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
5008  var keys = getOwnPropertyNamesModule.f(anObject(it));
5009  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
5010  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
5011};
5012
5013
5014/***/ }),
5015
vendor: 445 bytes, lines 5016-5029
5016/***/ "./node_modules/core-js/internals/path.js":
5017/*!************************************************!*\
5018  !*** ./node_modules/core-js/internals/path.js ***!
5019  \************************************************/
5020/*! no static exports found */
5021/***/ (function(module, exports, __webpack_require__) {
5022
5023var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
5024
5025module.exports = global;
5026
5027
5028/***/ }),
5029
vendor: 459 bytes, lines 5030-5047
5030/***/ "./node_modules/core-js/internals/perform.js":
5031/*!***************************************************!*\
5032  !*** ./node_modules/core-js/internals/perform.js ***!
5033  \***************************************************/
5034/*! no static exports found */
5035/***/ (function(module, exports) {
5036
5037module.exports = function (exec) {
5038  try {
5039    return { error: false, value: exec() };
5040  } catch (error) {
5041    return { error: true, value: error };
5042  }
5043};
5044
5045
5046/***/ }),
5047
vendor: 991 bytes, lines 5048-5070
5048/***/ "./node_modules/core-js/internals/promise-resolve.js":
5049/*!***********************************************************!*\
5050  !*** ./node_modules/core-js/internals/promise-resolve.js ***!
5051  \***********************************************************/
5052/*! no static exports found */
5053/***/ (function(module, exports, __webpack_require__) {
5054
5055var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
5056var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
5057var newPromiseCapability = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js/internals/new-promise-capability.js");
5058
5059module.exports = function (C, x) {
5060  anObject(C);
5061  if (isObject(x) && x.constructor === C) return x;
5062  var promiseCapability = newPromiseCapability.f(C);
5063  var resolve = promiseCapability.resolve;
5064  resolve(x);
5065  return promiseCapability.promise;
5066};
5067
5068
5069/***/ }),
5070
vendor: 594 bytes, lines 5071-5087
5071/***/ "./node_modules/core-js/internals/redefine-all.js":
5072/*!********************************************************!*\
5073  !*** ./node_modules/core-js/internals/redefine-all.js ***!
5074  \********************************************************/
5075/*! no static exports found */
5076/***/ (function(module, exports, __webpack_require__) {
5077
5078var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
5079
5080module.exports = function (target, src, options) {
5081  for (var key in src) redefine(target, key, src[key], options);
5082  return target;
5083};
5084
5085
5086/***/ }),
5087
vendor: 2,330 bytes, lines 5088-5138
5088/***/ "./node_modules/core-js/internals/redefine.js":
5089/*!****************************************************!*\
5090  !*** ./node_modules/core-js/internals/redefine.js ***!
5091  \****************************************************/
5092/*! no static exports found */
5093/***/ (function(module, exports, __webpack_require__) {
5094
5095var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
5096var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
5097var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
5098var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js");
5099var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js/internals/inspect-source.js");
5100var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
5101
5102var getInternalState = InternalStateModule.get;
5103var enforceInternalState = InternalStateModule.enforce;
5104var TEMPLATE = String(String).split('String');
5105
5106(module.exports = function (O, key, value, options) {
5107  var unsafe = options ? !!options.unsafe : false;
5108  var simple = options ? !!options.enumerable : false;
5109  var noTargetGet = options ? !!options.noTargetGet : false;
5110  var state;
5111  if (typeof value == 'function') {
5112    if (typeof key == 'string' && !has(value, 'name')) {
5113      createNonEnumerableProperty(value, 'name', key);
5114    }
5115    state = enforceInternalState(value);
5116    if (!state.source) {
5117      state.source = TEMPLATE.join(typeof key == 'string' ? key : '');
5118    }
5119  }
5120  if (O === global) {
5121    if (simple) O[key] = value;
5122    else setGlobal(key, value);
5123    return;
5124  } else if (!unsafe) {
5125    delete O[key];
5126  } else if (!noTargetGet && O[key]) {
5127    simple = true;
5128  }
5129  if (simple) O[key] = value;
5130  else createNonEnumerableProperty(O, key, value);
5131// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
5132})(Function.prototype, 'toString', function toString() {
5133  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
5134});
5135
5136
5137/***/ }),
5138
vendor: 1,108 bytes, lines 5139-5171
5139/***/ "./node_modules/core-js/internals/regexp-exec-abstract.js":
5140/*!****************************************************************!*\
5141  !*** ./node_modules/core-js/internals/regexp-exec-abstract.js ***!
5142  \****************************************************************/
5143/*! no static exports found */
5144/***/ (function(module, exports, __webpack_require__) {
5145
5146var classof = __webpack_require__(/*! ./classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
5147var regexpExec = __webpack_require__(/*! ./regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js");
5148
5149// `RegExpExec` abstract operation
5150// https://tc39.github.io/ecma262/#sec-regexpexec
5151module.exports = function (R, S) {
5152  var exec = R.exec;
5153  if (typeof exec === 'function') {
5154    var result = exec.call(R, S);
5155    if (typeof result !== 'object') {
5156      throw TypeError('RegExp exec method returned something other than an Object or null');
5157    }
5158    return result;
5159  }
5160
5161  if (classof(R) !== 'RegExp') {
5162    throw TypeError('RegExp#exec called on incompatible receiver');
5163  }
5164
5165  return regexpExec.call(R, S);
5166};
5167
5168
5169
5170/***/ }),
5171
vendor: 3,302 bytes, lines 5172-5270
5172/***/ "./node_modules/core-js/internals/regexp-exec.js":
5173/*!*******************************************************!*\
5174  !*** ./node_modules/core-js/internals/regexp-exec.js ***!
5175  \*******************************************************/
5176/*! no static exports found */
5177/***/ (function(module, exports, __webpack_require__) {
5178
5179"use strict";
5180
5181var regexpFlags = __webpack_require__(/*! ./regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js");
5182var stickyHelpers = __webpack_require__(/*! ./regexp-sticky-helpers */ "./node_modules/core-js/internals/regexp-sticky-helpers.js");
5183
5184var nativeExec = RegExp.prototype.exec;
5185// This always refers to the native implementation, because the
5186// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
5187// which loads this file before patching the method.
5188var nativeReplace = String.prototype.replace;
5189
5190var patchedExec = nativeExec;
5191
5192var UPDATES_LAST_INDEX_WRONG = (function () {
5193  var re1 = /a/;
5194  var re2 = /b*/g;
5195  nativeExec.call(re1, 'a');
5196  nativeExec.call(re2, 'a');
5197  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
5198})();
5199
5200var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;
5201
5202// nonparticipating capturing group, copied from es5-shim's String#split patch.
5203var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
5204
5205var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;
5206
5207if (PATCH) {
5208  patchedExec = function exec(str) {
5209    var re = this;
5210    var lastIndex, reCopy, match, i;
5211    var sticky = UNSUPPORTED_Y && re.sticky;
5212    var flags = regexpFlags.call(re);
5213    var source = re.source;
5214    var charsAdded = 0;
5215    var strCopy = str;
5216
5217    if (sticky) {
5218      flags = flags.replace('y', '');
5219      if (flags.indexOf('g') === -1) {
5220        flags += 'g';
5221      }
5222
5223      strCopy = String(str).slice(re.lastIndex);
5224      // Support anchored sticky behavior.
5225      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
5226        source = '(?: ' + source + ')';
5227        strCopy = ' ' + strCopy;
5228        charsAdded++;
5229      }
5230      // ^(? + rx + ) is needed, in combination with some str slicing, to
5231      // simulate the 'y' flag.
5232      reCopy = new RegExp('^(?:' + source + ')', flags);
5233    }
5234
5235    if (NPCG_INCLUDED) {
5236      reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
5237    }
5238    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
5239
5240    match = nativeExec.call(sticky ? reCopy : re, strCopy);
5241
5242    if (sticky) {
5243      if (match) {
5244        match.input = match.input.slice(charsAdded);
5245        match[0] = match[0].slice(charsAdded);
5246        match.index = re.lastIndex;
5247        re.lastIndex += match[0].length;
5248      } else re.lastIndex = 0;
5249    } else if (UPDATES_LAST_INDEX_WRONG && match) {
5250      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
5251    }
5252    if (NPCG_INCLUDED && match && match.length > 1) {
5253      // Fix browsers whose `exec` methods don't consistently return `undefined`
5254      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
5255      nativeReplace.call(match[0], reCopy, function () {
5256        for (i = 1; i < arguments.length - 2; i++) {
5257          if (arguments[i] === undefined) match[i] = undefined;
5258        }
5259      });
5260    }
5261
5262    return match;
5263  };
5264}
5265
5266module.exports = patchedExec;
5267
5268
5269/***/ }),
5270
vendor: 902 bytes, lines 5271-5298
5271/***/ "./node_modules/core-js/internals/regexp-flags.js":
5272/*!********************************************************!*\
5273  !*** ./node_modules/core-js/internals/regexp-flags.js ***!
5274  \********************************************************/
5275/*! no static exports found */
5276/***/ (function(module, exports, __webpack_require__) {
5277
5278"use strict";
5279
5280var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
5281
5282// `RegExp.prototype.flags` getter implementation
5283// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
5284module.exports = function () {
5285  var that = anObject(this);
5286  var result = '';
5287  if (that.global) result += 'g';
5288  if (that.ignoreCase) result += 'i';
5289  if (that.multiline) result += 'm';
5290  if (that.dotAll) result += 's';
5291  if (that.unicode) result += 'u';
5292  if (that.sticky) result += 'y';
5293  return result;
5294};
5295
5296
5297/***/ }),
5298
vendor: 1,046 bytes, lines 5299-5333
5299/***/ "./node_modules/core-js/internals/regexp-sticky-helpers.js":
5300/*!*****************************************************************!*\
5301  !*** ./node_modules/core-js/internals/regexp-sticky-helpers.js ***!
5302  \*****************************************************************/
5303/*! no static exports found */
5304/***/ (function(module, exports, __webpack_require__) {
5305
5306"use strict";
5307
5308
5309var fails = __webpack_require__(/*! ./fails */ "./node_modules/core-js/internals/fails.js");
5310
5311// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,
5312// so we use an intermediate function.
5313function RE(s, f) {
5314  return RegExp(s, f);
5315}
5316
5317exports.UNSUPPORTED_Y = fails(function () {
5318  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
5319  var re = RE('a', 'y');
5320  re.lastIndex = 2;
5321  return re.exec('abcd') != null;
5322});
5323
5324exports.BROKEN_CARET = fails(function () {
5325  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
5326  var re = RE('^r', 'gy');
5327  re.lastIndex = 2;
5328  return re.exec('str') != null;
5329});
5330
5331
5332/***/ }),
5333
vendor: 599 bytes, lines 5334-5350
5334/***/ "./node_modules/core-js/internals/require-object-coercible.js":
5335/*!********************************************************************!*\
5336  !*** ./node_modules/core-js/internals/require-object-coercible.js ***!
5337  \********************************************************************/
5338/*! no static exports found */
5339/***/ (function(module, exports) {
5340
5341// `RequireObjectCoercible` abstract operation
5342// https://tc39.github.io/ecma262/#sec-requireobjectcoercible
5343module.exports = function (it) {
5344  if (it == undefined) throw TypeError("Can't call method on " + it);
5345  return it;
5346};
5347
5348
5349/***/ }),
5350
vendor: 563 bytes, lines 5351-5367
5351/***/ "./node_modules/core-js/internals/same-value.js":
5352/*!******************************************************!*\
5353  !*** ./node_modules/core-js/internals/same-value.js ***!
5354  \******************************************************/
5355/*! no static exports found */
5356/***/ (function(module, exports) {
5357
5358// `SameValue` abstract operation
5359// https://tc39.github.io/ecma262/#sec-samevalue
5360module.exports = Object.is || function is(x, y) {
5361  // eslint-disable-next-line no-self-compare
5362  return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
5363};
5364
5365
5366/***/ }),
5367
vendor: 788 bytes, lines 5368-5388
5368/***/ "./node_modules/core-js/internals/set-global.js":
5369/*!******************************************************!*\
5370  !*** ./node_modules/core-js/internals/set-global.js ***!
5371  \******************************************************/
5372/*! no static exports found */
5373/***/ (function(module, exports, __webpack_require__) {
5374
5375var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
5376var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
5377
5378module.exports = function (key, value) {
5379  try {
5380    createNonEnumerableProperty(global, key, value);
5381  } catch (error) {
5382    global[key] = value;
5383  } return value;
5384};
5385
5386
5387/***/ }),
5388
vendor: 1,265 bytes, lines 5389-5419
5389/***/ "./node_modules/core-js/internals/set-species.js":
5390/*!*******************************************************!*\
5391  !*** ./node_modules/core-js/internals/set-species.js ***!
5392  \*******************************************************/
5393/*! no static exports found */
5394/***/ (function(module, exports, __webpack_require__) {
5395
5396"use strict";
5397
5398var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
5399var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
5400var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
5401var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
5402
5403var SPECIES = wellKnownSymbol('species');
5404
5405module.exports = function (CONSTRUCTOR_NAME) {
5406  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
5407  var defineProperty = definePropertyModule.f;
5408
5409  if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
5410    defineProperty(Constructor, SPECIES, {
5411      configurable: true,
5412      get: function () { return this; }
5413    });
5414  }
5415};
5416
5417
5418/***/ }),
5419
vendor: 999 bytes, lines 5420-5441
5420/***/ "./node_modules/core-js/internals/set-to-string-tag.js":
5421/*!*************************************************************!*\
5422  !*** ./node_modules/core-js/internals/set-to-string-tag.js ***!
5423  \*************************************************************/
5424/*! no static exports found */
5425/***/ (function(module, exports, __webpack_require__) {
5426
5427var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
5428var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
5429var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
5430
5431var TO_STRING_TAG = wellKnownSymbol('toStringTag');
5432
5433module.exports = function (it, TAG, STATIC) {
5434  if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
5435    defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });
5436  }
5437};
5438
5439
5440/***/ }),
5441
vendor: 653 bytes, lines 5442-5460
5442/***/ "./node_modules/core-js/internals/shared-key.js":
5443/*!******************************************************!*\
5444  !*** ./node_modules/core-js/internals/shared-key.js ***!
5445  \******************************************************/
5446/*! no static exports found */
5447/***/ (function(module, exports, __webpack_require__) {
5448
5449var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js");
5450var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js");
5451
5452var keys = shared('keys');
5453
5454module.exports = function (key) {
5455  return keys[key] || (keys[key] = uid(key));
5456};
5457
5458
5459/***/ }),
5460
vendor: 683 bytes, lines 5461-5478
5461/***/ "./node_modules/core-js/internals/shared-store.js":
5462/*!********************************************************!*\
5463  !*** ./node_modules/core-js/internals/shared-store.js ***!
5464  \********************************************************/
5465/*! no static exports found */
5466/***/ (function(module, exports, __webpack_require__) {
5467
5468var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
5469var setGlobal = __webpack_require__(/*! ../internals/set-global */ "./node_modules/core-js/internals/set-global.js");
5470
5471var SHARED = '__core-js_shared__';
5472var store = global[SHARED] || setGlobal(SHARED, {});
5473
5474module.exports = store;
5475
5476
5477/***/ }),
5478
vendor: 803 bytes, lines 5479-5499
5479/***/ "./node_modules/core-js/internals/shared.js":
5480/*!**************************************************!*\
5481  !*** ./node_modules/core-js/internals/shared.js ***!
5482  \**************************************************/
5483/*! no static exports found */
5484/***/ (function(module, exports, __webpack_require__) {
5485
5486var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
5487var store = __webpack_require__(/*! ../internals/shared-store */ "./node_modules/core-js/internals/shared-store.js");
5488
5489(module.exports = function (key, value) {
5490  return store[key] || (store[key] = value !== undefined ? value : {});
5491})('versions', []).push({
5492  version: '3.8.1',
5493  mode: IS_PURE ? 'pure' : 'global',
5494  copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
5495});
5496
5497
5498/***/ }),
5499
vendor: 1,092 bytes, lines 5500-5523
5500/***/ "./node_modules/core-js/internals/species-constructor.js":
5501/*!***************************************************************!*\
5502  !*** ./node_modules/core-js/internals/species-constructor.js ***!
5503  \***************************************************************/
5504/*! no static exports found */
5505/***/ (function(module, exports, __webpack_require__) {
5506
5507var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
5508var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
5509var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
5510
5511var SPECIES = wellKnownSymbol('species');
5512
5513// `SpeciesConstructor` abstract operation
5514// https://tc39.github.io/ecma262/#sec-speciesconstructor
5515module.exports = function (O, defaultConstructor) {
5516  var C = anObject(O).constructor;
5517  var S;
5518  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
5519};
5520
5521
5522/***/ }),
5523
vendor: 751 bytes, lines 5524-5544
5524/***/ "./node_modules/core-js/internals/string-html-forced.js":
5525/*!**************************************************************!*\
5526  !*** ./node_modules/core-js/internals/string-html-forced.js ***!
5527  \**************************************************************/
5528/*! no static exports found */
5529/***/ (function(module, exports, __webpack_require__) {
5530
5531var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
5532
5533// check the existence of a method, lowercase
5534// of a tag and escaping quotes in arguments
5535module.exports = function (METHOD_NAME) {
5536  return fails(function () {
5537    var test = ''[METHOD_NAME]('"');
5538    return test !== test.toLowerCase() || test.split('"').length > 3;
5539  });
5540};
5541
5542
5543/***/ }),
5544
vendor: 1,656 bytes, lines 5545-5582
5545/***/ "./node_modules/core-js/internals/string-multibyte.js":
5546/*!************************************************************!*\
5547  !*** ./node_modules/core-js/internals/string-multibyte.js ***!
5548  \************************************************************/
5549/*! no static exports found */
5550/***/ (function(module, exports, __webpack_require__) {
5551
5552var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
5553var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
5554
5555// `String.prototype.{ codePointAt, at }` methods implementation
5556var createMethod = function (CONVERT_TO_STRING) {
5557  return function ($this, pos) {
5558    var S = String(requireObjectCoercible($this));
5559    var position = toInteger(pos);
5560    var size = S.length;
5561    var first, second;
5562    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
5563    first = S.charCodeAt(position);
5564    return first < 0xD800 || first > 0xDBFF || position + 1 === size
5565      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF
5566        ? CONVERT_TO_STRING ? S.charAt(position) : first
5567        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
5568  };
5569};
5570
5571module.exports = {
5572  // `String.prototype.codePointAt` method
5573  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
5574  codeAt: createMethod(false),
5575  // `String.prototype.at` method
5576  // https://github.com/mathiasbynens/String.prototype.at
5577  charAt: createMethod(true)
5578};
5579
5580
5581/***/ }),
5582
vendor: 700 bytes, lines 5583-5598
5583/***/ "./node_modules/core-js/internals/string-pad-webkit-bug.js":
5584/*!*****************************************************************!*\
5585  !*** ./node_modules/core-js/internals/string-pad-webkit-bug.js ***!
5586  \*****************************************************************/
5587/*! no static exports found */
5588/***/ (function(module, exports, __webpack_require__) {
5589
5590// https://github.com/zloirock/core-js/issues/280
5591var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js/internals/engine-user-agent.js");
5592
5593// eslint-disable-next-line unicorn/no-unsafe-regex
5594module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent);
5595
5596
5597/***/ }),
5598
vendor: 1,819 bytes, lines 5599-5640
5599/***/ "./node_modules/core-js/internals/string-pad.js":
5600/*!******************************************************!*\
5601  !*** ./node_modules/core-js/internals/string-pad.js ***!
5602  \******************************************************/
5603/*! no static exports found */
5604/***/ (function(module, exports, __webpack_require__) {
5605
5606// https://github.com/tc39/proposal-string-pad-start-end
5607var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
5608var repeat = __webpack_require__(/*! ../internals/string-repeat */ "./node_modules/core-js/internals/string-repeat.js");
5609var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
5610
5611var ceil = Math.ceil;
5612
5613// `String.prototype.{ padStart, padEnd }` methods implementation
5614var createMethod = function (IS_END) {
5615  return function ($this, maxLength, fillString) {
5616    var S = String(requireObjectCoercible($this));
5617    var stringLength = S.length;
5618    var fillStr = fillString === undefined ? ' ' : String(fillString);
5619    var intMaxLength = toLength(maxLength);
5620    var fillLen, stringFiller;
5621    if (intMaxLength <= stringLength || fillStr == '') return S;
5622    fillLen = intMaxLength - stringLength;
5623    stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));
5624    if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);
5625    return IS_END ? S + stringFiller : stringFiller + S;
5626  };
5627};
5628
5629module.exports = {
5630  // `String.prototype.padStart` method
5631  // https://tc39.github.io/ecma262/#sec-string.prototype.padstart
5632  start: createMethod(false),
5633  // `String.prototype.padEnd` method
5634  // https://tc39.github.io/ecma262/#sec-string.prototype.padend
5635  end: createMethod(true)
5636};
5637
5638
5639/***/ }),
5640
vendor: 5,620 bytes, lines 5641-5820
5641/***/ "./node_modules/core-js/internals/string-punycode-to-ascii.js":
5642/*!********************************************************************!*\
5643  !*** ./node_modules/core-js/internals/string-punycode-to-ascii.js ***!
5644  \********************************************************************/
5645/*! no static exports found */
5646/***/ (function(module, exports, __webpack_require__) {
5647
5648"use strict";
5649
5650// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js
5651var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1
5652var base = 36;
5653var tMin = 1;
5654var tMax = 26;
5655var skew = 38;
5656var damp = 700;
5657var initialBias = 72;
5658var initialN = 128; // 0x80
5659var delimiter = '-'; // '\x2D'
5660var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars
5661var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators
5662var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
5663var baseMinusTMin = base - tMin;
5664var floor = Math.floor;
5665var stringFromCharCode = String.fromCharCode;
5666
5667/**
5668 * Creates an array containing the numeric code points of each Unicode
5669 * character in the string. While JavaScript uses UCS-2 internally,
5670 * this function will convert a pair of surrogate halves (each of which
5671 * UCS-2 exposes as separate characters) into a single code point,
5672 * matching UTF-16.
5673 */
5674var ucs2decode = function (string) {
5675  var output = [];
5676  var counter = 0;
5677  var length = string.length;
5678  while (counter < length) {
5679    var value = string.charCodeAt(counter++);
5680    if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
5681      // It's a high surrogate, and there is a next character.
5682      var extra = string.charCodeAt(counter++);
5683      if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.
5684        output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
5685      } else {
5686        // It's an unmatched surrogate; only append this code unit, in case the
5687        // next code unit is the high surrogate of a surrogate pair.
5688        output.push(value);
5689        counter--;
5690      }
5691    } else {
5692      output.push(value);
5693    }
5694  }
5695  return output;
5696};
5697
5698/**
5699 * Converts a digit/integer into a basic code point.
5700 */
5701var digitToBasic = function (digit) {
5702  //  0..25 map to ASCII a..z or A..Z
5703  // 26..35 map to ASCII 0..9
5704  return digit + 22 + 75 * (digit < 26);
5705};
5706
5707/**
5708 * Bias adaptation function as per section 3.4 of RFC 3492.
5709 * https://tools.ietf.org/html/rfc3492#section-3.4
5710 */
5711var adapt = function (delta, numPoints, firstTime) {
5712  var k = 0;
5713  delta = firstTime ? floor(delta / damp) : delta >> 1;
5714  delta += floor(delta / numPoints);
5715  for (; delta > baseMinusTMin * tMax >> 1; k += base) {
5716    delta = floor(delta / baseMinusTMin);
5717  }
5718  return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
5719};
5720
5721/**
5722 * Converts a string of Unicode symbols (e.g. a domain name label) to a
5723 * Punycode string of ASCII-only symbols.
5724 */
5725// eslint-disable-next-line  max-statements
5726var encode = function (input) {
5727  var output = [];
5728
5729  // Convert the input in UCS-2 to an array of Unicode code points.
5730  input = ucs2decode(input);
5731
5732  // Cache the length.
5733  var inputLength = input.length;
5734
5735  // Initialize the state.
5736  var n = initialN;
5737  var delta = 0;
5738  var bias = initialBias;
5739  var i, currentValue;
5740
5741  // Handle the basic code points.
5742  for (i = 0; i < input.length; i++) {
5743    currentValue = input[i];
5744    if (currentValue < 0x80) {
5745      output.push(stringFromCharCode(currentValue));
5746    }
5747  }
5748
5749  var basicLength = output.length; // number of basic code points.
5750  var handledCPCount = basicLength; // number of code points that have been handled;
5751
5752  // Finish the basic string with a delimiter unless it's empty.
5753  if (basicLength) {
5754    output.push(delimiter);
5755  }
5756
5757  // Main encoding loop:
5758  while (handledCPCount < inputLength) {
5759    // All non-basic code points < n have been handled already. Find the next larger one:
5760    var m = maxInt;
5761    for (i = 0; i < input.length; i++) {
5762      currentValue = input[i];
5763      if (currentValue >= n && currentValue < m) {
5764        m = currentValue;
5765      }
5766    }
5767
5768    // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.
5769    var handledCPCountPlusOne = handledCPCount + 1;
5770    if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
5771      throw RangeError(OVERFLOW_ERROR);
5772    }
5773
5774    delta += (m - n) * handledCPCountPlusOne;
5775    n = m;
5776
5777    for (i = 0; i < input.length; i++) {
5778      currentValue = input[i];
5779      if (currentValue < n && ++delta > maxInt) {
5780        throw RangeError(OVERFLOW_ERROR);
5781      }
5782      if (currentValue == n) {
5783        // Represent delta as a generalized variable-length integer.
5784        var q = delta;
5785        for (var k = base; /* no condition */; k += base) {
5786          var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
5787          if (q < t) break;
5788          var qMinusT = q - t;
5789          var baseMinusT = base - t;
5790          output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
5791          q = floor(qMinusT / baseMinusT);
5792        }
5793
5794        output.push(stringFromCharCode(digitToBasic(q)));
5795        bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
5796        delta = 0;
5797        ++handledCPCount;
5798      }
5799    }
5800
5801    ++delta;
5802    ++n;
5803  }
5804  return output.join('');
5805};
5806
5807module.exports = function (input) {
5808  var encoded = [];
5809  var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.');
5810  var i, label;
5811  for (i = 0; i < labels.length; i++) {
5812    label = labels[i];
5813    encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);
5814  }
5815  return encoded.join('.');
5816};
5817
5818
5819/***/ }),
5820
vendor: 1,075 bytes, lines 5821-5846
5821/***/ "./node_modules/core-js/internals/string-repeat.js":
5822/*!*********************************************************!*\
5823  !*** ./node_modules/core-js/internals/string-repeat.js ***!
5824  \*********************************************************/
5825/*! no static exports found */
5826/***/ (function(module, exports, __webpack_require__) {
5827
5828"use strict";
5829
5830var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
5831var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
5832
5833// `String.prototype.repeat` method implementation
5834// https://tc39.github.io/ecma262/#sec-string.prototype.repeat
5835module.exports = ''.repeat || function repeat(count) {
5836  var str = String(requireObjectCoercible(this));
5837  var result = '';
5838  var n = toInteger(count);
5839  if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');
5840  for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;
5841  return result;
5842};
5843
5844
5845/***/ }),
5846
vendor: 919 bytes, lines 5847-5869
5847/***/ "./node_modules/core-js/internals/string-trim-forced.js":
5848/*!**************************************************************!*\
5849  !*** ./node_modules/core-js/internals/string-trim-forced.js ***!
5850  \**************************************************************/
5851/*! no static exports found */
5852/***/ (function(module, exports, __webpack_require__) {
5853
5854var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
5855var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js");
5856
5857var non = '\u200B\u0085\u180E';
5858
5859// check that a method works with the correct list
5860// of whitespaces and has a correct name
5861module.exports = function (METHOD_NAME) {
5862  return fails(function () {
5863    return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
5864  });
5865};
5866
5867
5868/***/ }),
5869
vendor: 1,566 bytes, lines 5870-5908
5870/***/ "./node_modules/core-js/internals/string-trim.js":
5871/*!*******************************************************!*\
5872  !*** ./node_modules/core-js/internals/string-trim.js ***!
5873  \*******************************************************/
5874/*! no static exports found */
5875/***/ (function(module, exports, __webpack_require__) {
5876
5877var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
5878var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ "./node_modules/core-js/internals/whitespaces.js");
5879
5880var whitespace = '[' + whitespaces + ']';
5881var ltrim = RegExp('^' + whitespace + whitespace + '*');
5882var rtrim = RegExp(whitespace + whitespace + '*$');
5883
5884// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
5885var createMethod = function (TYPE) {
5886  return function ($this) {
5887    var string = String(requireObjectCoercible($this));
5888    if (TYPE & 1) string = string.replace(ltrim, '');
5889    if (TYPE & 2) string = string.replace(rtrim, '');
5890    return string;
5891  };
5892};
5893
5894module.exports = {
5895  // `String.prototype.{ trimLeft, trimStart }` methods
5896  // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart
5897  start: createMethod(1),
5898  // `String.prototype.{ trimRight, trimEnd }` methods
5899  // https://tc39.github.io/ecma262/#sec-string.prototype.trimend
5900  end: createMethod(2),
5901  // `String.prototype.trim` method
5902  // https://tc39.github.io/ecma262/#sec-string.prototype.trim
5903  trim: createMethod(3)
5904};
5905
5906
5907/***/ }),
5908
vendor: 3,758 bytes, lines 5909-6026
5909/***/ "./node_modules/core-js/internals/task.js":
5910/*!************************************************!*\
5911  !*** ./node_modules/core-js/internals/task.js ***!
5912  \************************************************/
5913/*! no static exports found */
5914/***/ (function(module, exports, __webpack_require__) {
5915
5916var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
5917var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
5918var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js");
5919var html = __webpack_require__(/*! ../internals/html */ "./node_modules/core-js/internals/html.js");
5920var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js");
5921var IS_IOS = __webpack_require__(/*! ../internals/engine-is-ios */ "./node_modules/core-js/internals/engine-is-ios.js");
5922var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js");
5923
5924var location = global.location;
5925var set = global.setImmediate;
5926var clear = global.clearImmediate;
5927var process = global.process;
5928var MessageChannel = global.MessageChannel;
5929var Dispatch = global.Dispatch;
5930var counter = 0;
5931var queue = {};
5932var ONREADYSTATECHANGE = 'onreadystatechange';
5933var defer, channel, port;
5934
5935var run = function (id) {
5936  // eslint-disable-next-line no-prototype-builtins
5937  if (queue.hasOwnProperty(id)) {
5938    var fn = queue[id];
5939    delete queue[id];
5940    fn();
5941  }
5942};
5943
5944var runner = function (id) {
5945  return function () {
5946    run(id);
5947  };
5948};
5949
5950var listener = function (event) {
5951  run(event.data);
5952};
5953
5954var post = function (id) {
5955  // old engines have not location.origin
5956  global.postMessage(id + '', location.protocol + '//' + location.host);
5957};
5958
5959// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
5960if (!set || !clear) {
5961  set = function setImmediate(fn) {
5962    var args = [];
5963    var i = 1;
5964    while (arguments.length > i) args.push(arguments[i++]);
5965    queue[++counter] = function () {
5966      // eslint-disable-next-line no-new-func
5967      (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
5968    };
5969    defer(counter);
5970    return counter;
5971  };
5972  clear = function clearImmediate(id) {
5973    delete queue[id];
5974  };
5975  // Node.js 0.8-
5976  if (IS_NODE) {
5977    defer = function (id) {
5978      process.nextTick(runner(id));
5979    };
5980  // Sphere (JS game engine) Dispatch API
5981  } else if (Dispatch && Dispatch.now) {
5982    defer = function (id) {
5983      Dispatch.now(runner(id));
5984    };
5985  // Browsers with MessageChannel, includes WebWorkers
5986  // except iOS - https://github.com/zloirock/core-js/issues/624
5987  } else if (MessageChannel && !IS_IOS) {
5988    channel = new MessageChannel();
5989    port = channel.port2;
5990    channel.port1.onmessage = listener;
5991    defer = bind(port.postMessage, port, 1);
5992  // Browsers with postMessage, skip WebWorkers
5993  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
5994  } else if (
5995    global.addEventListener &&
5996    typeof postMessage == 'function' &&
5997    !global.importScripts &&
5998    location && location.protocol !== 'file:' &&
5999    !fails(post)
6000  ) {
6001    defer = post;
6002    global.addEventListener('message', listener, false);
6003  // IE8-
6004  } else if (ONREADYSTATECHANGE in createElement('script')) {
6005    defer = function (id) {
6006      html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
6007        html.removeChild(this);
6008        run(id);
6009      };
6010    };
6011  // Rest old browsers
6012  } else {
6013    defer = function (id) {
6014      setTimeout(runner(id), 0);
6015    };
6016  }
6017}
6018
6019module.exports = {
6020  set: set,
6021  clear: clear
6022};
6023
6024
6025/***/ }),
6026
vendor: 747 bytes, lines 6027-6047
6027/***/ "./node_modules/core-js/internals/this-number-value.js":
6028/*!*************************************************************!*\
6029  !*** ./node_modules/core-js/internals/this-number-value.js ***!
6030  \*************************************************************/
6031/*! no static exports found */
6032/***/ (function(module, exports, __webpack_require__) {
6033
6034var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
6035
6036// `thisNumberValue` abstract operation
6037// https://tc39.github.io/ecma262/#sec-thisnumbervalue
6038module.exports = function (value) {
6039  if (typeof value != 'number' && classof(value) != 'Number') {
6040    throw TypeError('Incorrect invocation');
6041  }
6042  return +value;
6043};
6044
6045
6046/***/ }),
6047
vendor: 869 bytes, lines 6048-6070
6048/***/ "./node_modules/core-js/internals/to-absolute-index.js":
6049/*!*************************************************************!*\
6050  !*** ./node_modules/core-js/internals/to-absolute-index.js ***!
6051  \*************************************************************/
6052/*! no static exports found */
6053/***/ (function(module, exports, __webpack_require__) {
6054
6055var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
6056
6057var max = Math.max;
6058var min = Math.min;
6059
6060// Helper for a popular repeating case of the spec:
6061// Let integer be ? ToInteger(index).
6062// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
6063module.exports = function (index, length) {
6064  var integer = toInteger(index);
6065  return integer < 0 ? max(integer + length, 0) : min(integer, length);
6066};
6067
6068
6069/***/ }),
6070
vendor: 859 bytes, lines 6071-6093
6071/***/ "./node_modules/core-js/internals/to-index.js":
6072/*!****************************************************!*\
6073  !*** ./node_modules/core-js/internals/to-index.js ***!
6074  \****************************************************/
6075/*! no static exports found */
6076/***/ (function(module, exports, __webpack_require__) {
6077
6078var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
6079var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
6080
6081// `ToIndex` abstract operation
6082// https://tc39.github.io/ecma262/#sec-toindex
6083module.exports = function (it) {
6084  if (it === undefined) return 0;
6085  var number = toInteger(it);
6086  var length = toLength(number);
6087  if (number !== length) throw RangeError('Wrong length or index');
6088  return length;
6089};
6090
6091
6092/***/ }),
6093
vendor: 799 bytes, lines 6094-6111
6094/***/ "./node_modules/core-js/internals/to-indexed-object.js":
6095/*!*************************************************************!*\
6096  !*** ./node_modules/core-js/internals/to-indexed-object.js ***!
6097  \*************************************************************/
6098/*! no static exports found */
6099/***/ (function(module, exports, __webpack_require__) {
6100
6101// toObject with fallback for non-array-like ES3 strings
6102var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js");
6103var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
6104
6105module.exports = function (it) {
6106  return IndexedObject(requireObjectCoercible(it));
6107};
6108
6109
6110/***/ }),
6111
vendor: 571 bytes, lines 6112-6130
6112/***/ "./node_modules/core-js/internals/to-integer.js":
6113/*!******************************************************!*\
6114  !*** ./node_modules/core-js/internals/to-integer.js ***!
6115  \******************************************************/
6116/*! no static exports found */
6117/***/ (function(module, exports) {
6118
6119var ceil = Math.ceil;
6120var floor = Math.floor;
6121
6122// `ToInteger` abstract operation
6123// https://tc39.github.io/ecma262/#sec-tointeger
6124module.exports = function (argument) {
6125  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
6126};
6127
6128
6129/***/ }),
6130
vendor: 702 bytes, lines 6131-6150
6131/***/ "./node_modules/core-js/internals/to-length.js":
6132/*!*****************************************************!*\
6133  !*** ./node_modules/core-js/internals/to-length.js ***!
6134  \*****************************************************/
6135/*! no static exports found */
6136/***/ (function(module, exports, __webpack_require__) {
6137
6138var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
6139
6140var min = Math.min;
6141
6142// `ToLength` abstract operation
6143// https://tc39.github.io/ecma262/#sec-tolength
6144module.exports = function (argument) {
6145  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
6146};
6147
6148
6149/***/ }),
6150
vendor: 666 bytes, lines 6151-6168
6151/***/ "./node_modules/core-js/internals/to-object.js":
6152/*!*****************************************************!*\
6153  !*** ./node_modules/core-js/internals/to-object.js ***!
6154  \*****************************************************/
6155/*! no static exports found */
6156/***/ (function(module, exports, __webpack_require__) {
6157
6158var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
6159
6160// `ToObject` abstract operation
6161// https://tc39.github.io/ecma262/#sec-toobject
6162module.exports = function (argument) {
6163  return Object(requireObjectCoercible(argument));
6164};
6165
6166
6167/***/ }),
6168
vendor: 631 bytes, lines 6169-6186
6169/***/ "./node_modules/core-js/internals/to-offset.js":
6170/*!*****************************************************!*\
6171  !*** ./node_modules/core-js/internals/to-offset.js ***!
6172  \*****************************************************/
6173/*! no static exports found */
6174/***/ (function(module, exports, __webpack_require__) {
6175
6176var toPositiveInteger = __webpack_require__(/*! ../internals/to-positive-integer */ "./node_modules/core-js/internals/to-positive-integer.js");
6177
6178module.exports = function (it, BYTES) {
6179  var offset = toPositiveInteger(it);
6180  if (offset % BYTES) throw RangeError('Wrong offset');
6181  return offset;
6182};
6183
6184
6185/***/ }),
6186
vendor: 647 bytes, lines 6187-6204
6187/***/ "./node_modules/core-js/internals/to-positive-integer.js":
6188/*!***************************************************************!*\
6189  !*** ./node_modules/core-js/internals/to-positive-integer.js ***!
6190  \***************************************************************/
6191/*! no static exports found */
6192/***/ (function(module, exports, __webpack_require__) {
6193
6194var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
6195
6196module.exports = function (it) {
6197  var result = toInteger(it);
6198  if (result < 0) throw RangeError("The argument can't be less than 0");
6199  return result;
6200};
6201
6202
6203/***/ }),
6204
vendor: 1,188 bytes, lines 6205-6229
6205/***/ "./node_modules/core-js/internals/to-primitive.js":
6206/*!********************************************************!*\
6207  !*** ./node_modules/core-js/internals/to-primitive.js ***!
6208  \********************************************************/
6209/*! no static exports found */
6210/***/ (function(module, exports, __webpack_require__) {
6211
6212var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
6213
6214// `ToPrimitive` abstract operation
6215// https://tc39.github.io/ecma262/#sec-toprimitive
6216// instead of the ES6 spec version, we didn't implement @@toPrimitive case
6217// and the second argument - flag - preferred type is a string
6218module.exports = function (input, PREFERRED_STRING) {
6219  if (!isObject(input)) return input;
6220  var fn, val;
6221  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
6222  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
6223  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
6224  throw TypeError("Can't convert object to primitive value");
6225};
6226
6227
6228/***/ }),
6229
vendor: 663 bytes, lines 6230-6248
6230/***/ "./node_modules/core-js/internals/to-string-tag-support.js":
6231/*!*****************************************************************!*\
6232  !*** ./node_modules/core-js/internals/to-string-tag-support.js ***!
6233  \*****************************************************************/
6234/*! no static exports found */
6235/***/ (function(module, exports, __webpack_require__) {
6236
6237var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
6238
6239var TO_STRING_TAG = wellKnownSymbol('toStringTag');
6240var test = {};
6241
6242test[TO_STRING_TAG] = 'z';
6243
6244module.exports = String(test) === '[object z]';
6245
6246
6247/***/ }),
6248
vendor: 11,949 bytes, lines 6249-6490
6249/***/ "./node_modules/core-js/internals/typed-array-constructor.js":
6250/*!*******************************************************************!*\
6251  !*** ./node_modules/core-js/internals/typed-array-constructor.js ***!
6252  \*******************************************************************/
6253/*! no static exports found */
6254/***/ (function(module, exports, __webpack_require__) {
6255
6256"use strict";
6257
6258var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
6259var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
6260var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
6261var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(/*! ../internals/typed-array-constructors-require-wrappers */ "./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js");
6262var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
6263var ArrayBufferModule = __webpack_require__(/*! ../internals/array-buffer */ "./node_modules/core-js/internals/array-buffer.js");
6264var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js");
6265var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
6266var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
6267var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
6268var toIndex = __webpack_require__(/*! ../internals/to-index */ "./node_modules/core-js/internals/to-index.js");
6269var toOffset = __webpack_require__(/*! ../internals/to-offset */ "./node_modules/core-js/internals/to-offset.js");
6270var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
6271var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
6272var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js");
6273var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
6274var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");
6275var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js");
6276var getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f;
6277var typedArrayFrom = __webpack_require__(/*! ../internals/typed-array-from */ "./node_modules/core-js/internals/typed-array-from.js");
6278var forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").forEach;
6279var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js");
6280var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
6281var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js");
6282var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
6283var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "./node_modules/core-js/internals/inherit-if-required.js");
6284
6285var getInternalState = InternalStateModule.get;
6286var setInternalState = InternalStateModule.set;
6287var nativeDefineProperty = definePropertyModule.f;
6288var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
6289var round = Math.round;
6290var RangeError = global.RangeError;
6291var ArrayBuffer = ArrayBufferModule.ArrayBuffer;
6292var DataView = ArrayBufferModule.DataView;
6293var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;
6294var TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;
6295var TypedArray = ArrayBufferViewCore.TypedArray;
6296var TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;
6297var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
6298var isTypedArray = ArrayBufferViewCore.isTypedArray;
6299var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';
6300var WRONG_LENGTH = 'Wrong length';
6301
6302var fromList = function (C, list) {
6303  var index = 0;
6304  var length = list.length;
6305  var result = new (aTypedArrayConstructor(C))(length);
6306  while (length > index) result[index] = list[index++];
6307  return result;
6308};
6309
6310var addGetter = function (it, key) {
6311  nativeDefineProperty(it, key, { get: function () {
6312    return getInternalState(this)[key];
6313  } });
6314};
6315
6316var isArrayBuffer = function (it) {
6317  var klass;
6318  return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';
6319};
6320
6321var isTypedArrayIndex = function (target, key) {
6322  return isTypedArray(target)
6323    && typeof key != 'symbol'
6324    && key in target
6325    && String(+key) == String(key);
6326};
6327
6328var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {
6329  return isTypedArrayIndex(target, key = toPrimitive(key, true))
6330    ? createPropertyDescriptor(2, target[key])
6331    : nativeGetOwnPropertyDescriptor(target, key);
6332};
6333
6334var wrappedDefineProperty = function defineProperty(target, key, descriptor) {
6335  if (isTypedArrayIndex(target, key = toPrimitive(key, true))
6336    && isObject(descriptor)
6337    && has(descriptor, 'value')
6338    && !has(descriptor, 'get')
6339    && !has(descriptor, 'set')
6340    // TODO: add validation descriptor w/o calling accessors
6341    && !descriptor.configurable
6342    && (!has(descriptor, 'writable') || descriptor.writable)
6343    && (!has(descriptor, 'enumerable') || descriptor.enumerable)
6344  ) {
6345    target[key] = descriptor.value;
6346    return target;
6347  } return nativeDefineProperty(target, key, descriptor);
6348};
6349
6350if (DESCRIPTORS) {
6351  if (!NATIVE_ARRAY_BUFFER_VIEWS) {
6352    getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;
6353    definePropertyModule.f = wrappedDefineProperty;
6354    addGetter(TypedArrayPrototype, 'buffer');
6355    addGetter(TypedArrayPrototype, 'byteOffset');
6356    addGetter(TypedArrayPrototype, 'byteLength');
6357    addGetter(TypedArrayPrototype, 'length');
6358  }
6359
6360  $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {
6361    getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,
6362    defineProperty: wrappedDefineProperty
6363  });
6364
6365  module.exports = function (TYPE, wrapper, CLAMPED) {
6366    var BYTES = TYPE.match(/\d+$/)[0] / 8;
6367    var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';
6368    var GETTER = 'get' + TYPE;
6369    var SETTER = 'set' + TYPE;
6370    var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];
6371    var TypedArrayConstructor = NativeTypedArrayConstructor;
6372    var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;
6373    var exported = {};
6374
6375    var getter = function (that, index) {
6376      var data = getInternalState(that);
6377      return data.view[GETTER](index * BYTES + data.byteOffset, true);
6378    };
6379
6380    var setter = function (that, index, value) {
6381      var data = getInternalState(that);
6382      if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;
6383      data.view[SETTER](index * BYTES + data.byteOffset, value, true);
6384    };
6385
6386    var addElement = function (that, index) {
6387      nativeDefineProperty(that, index, {
6388        get: function () {
6389          return getter(this, index);
6390        },
6391        set: function (value) {
6392          return setter(this, index, value);
6393        },
6394        enumerable: true
6395      });
6396    };
6397
6398    if (!NATIVE_ARRAY_BUFFER_VIEWS) {
6399      TypedArrayConstructor = wrapper(function (that, data, offset, $length) {
6400        anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME);
6401        var index = 0;
6402        var byteOffset = 0;
6403        var buffer, byteLength, length;
6404        if (!isObject(data)) {
6405          length = toIndex(data);
6406          byteLength = length * BYTES;
6407          buffer = new ArrayBuffer(byteLength);
6408        } else if (isArrayBuffer(data)) {
6409          buffer = data;
6410          byteOffset = toOffset(offset, BYTES);
6411          var $len = data.byteLength;
6412          if ($length === undefined) {
6413            if ($len % BYTES) throw RangeError(WRONG_LENGTH);
6414            byteLength = $len - byteOffset;
6415            if (byteLength < 0) throw RangeError(WRONG_LENGTH);
6416          } else {
6417            byteLength = toLength($length) * BYTES;
6418            if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);
6419          }
6420          length = byteLength / BYTES;
6421        } else if (isTypedArray(data)) {
6422          return fromList(TypedArrayConstructor, data);
6423        } else {
6424          return typedArrayFrom.call(TypedArrayConstructor, data);
6425        }
6426        setInternalState(that, {
6427          buffer: buffer,
6428          byteOffset: byteOffset,
6429          byteLength: byteLength,
6430          length: length,
6431          view: new DataView(buffer)
6432        });
6433        while (index < length) addElement(that, index++);
6434      });
6435
6436      if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);
6437      TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);
6438    } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {
6439      TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {
6440        anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);
6441        return inheritIfRequired(function () {
6442          if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));
6443          if (isArrayBuffer(data)) return $length !== undefined
6444            ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)
6445            : typedArrayOffset !== undefined
6446              ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))
6447              : new NativeTypedArrayConstructor(data);
6448          if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);
6449          return typedArrayFrom.call(TypedArrayConstructor, data);
6450        }(), dummy, TypedArrayConstructor);
6451      });
6452
6453      if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);
6454      forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {
6455        if (!(key in TypedArrayConstructor)) {
6456          createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);
6457        }
6458      });
6459      TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;
6460    }
6461
6462    if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {
6463      createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);
6464    }
6465
6466    if (TYPED_ARRAY_TAG) {
6467      createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);
6468    }
6469
6470    exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;
6471
6472    $({
6473      global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS
6474    }, exported);
6475
6476    if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {
6477      createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);
6478    }
6479
6480    if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {
6481      createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);
6482    }
6483
6484    setSpecies(CONSTRUCTOR_NAME);
6485  };
6486} else module.exports = function () { /* empty */ };
6487
6488
6489/***/ }),
6490
vendor: 1,607 bytes, lines 6491-6523
6491/***/ "./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js":
6492/*!*************************************************************************************!*\
6493  !*** ./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js ***!
6494  \*************************************************************************************/
6495/*! no static exports found */
6496/***/ (function(module, exports, __webpack_require__) {
6497
6498/* eslint-disable no-new */
6499var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
6500var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
6501var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js/internals/check-correctness-of-iteration.js");
6502var NATIVE_ARRAY_BUFFER_VIEWS = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js").NATIVE_ARRAY_BUFFER_VIEWS;
6503
6504var ArrayBuffer = global.ArrayBuffer;
6505var Int8Array = global.Int8Array;
6506
6507module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {
6508  Int8Array(1);
6509}) || !fails(function () {
6510  new Int8Array(-1);
6511}) || !checkCorrectnessOfIteration(function (iterable) {
6512  new Int8Array();
6513  new Int8Array(null);
6514  new Int8Array(1.5);
6515  new Int8Array(iterable);
6516}, true) || fails(function () {
6517  // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill
6518  return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;
6519});
6520
6521
6522/***/ }),
6523
vendor: 2,050 bytes, lines 6524-6566
6524/***/ "./node_modules/core-js/internals/typed-array-from.js":
6525/*!************************************************************!*\
6526  !*** ./node_modules/core-js/internals/typed-array-from.js ***!
6527  \************************************************************/
6528/*! no static exports found */
6529/***/ (function(module, exports, __webpack_require__) {
6530
6531var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
6532var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
6533var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js");
6534var isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ "./node_modules/core-js/internals/is-array-iterator-method.js");
6535var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js");
6536var aTypedArrayConstructor = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js").aTypedArrayConstructor;
6537
6538module.exports = function from(source /* , mapfn, thisArg */) {
6539  var O = toObject(source);
6540  var argumentsLength = arguments.length;
6541  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
6542  var mapping = mapfn !== undefined;
6543  var iteratorMethod = getIteratorMethod(O);
6544  var i, length, result, step, iterator, next;
6545  if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {
6546    iterator = iteratorMethod.call(O);
6547    next = iterator.next;
6548    O = [];
6549    while (!(step = next.call(iterator)).done) {
6550      O.push(step.value);
6551    }
6552  }
6553  if (mapping && argumentsLength > 2) {
6554    mapfn = bind(mapfn, arguments[2], 2);
6555  }
6556  length = toLength(O.length);
6557  result = new (aTypedArrayConstructor(this))(length);
6558  for (i = 0; length > i; i++) {
6559    result[i] = mapping ? mapfn(O[i], i) : O[i];
6560  }
6561  return result;
6562};
6563
6564
6565/***/ }),
6566
vendor: 464 bytes, lines 6567-6583
6567/***/ "./node_modules/core-js/internals/uid.js":
6568/*!***********************************************!*\
6569  !*** ./node_modules/core-js/internals/uid.js ***!
6570  \***********************************************/
6571/*! no static exports found */
6572/***/ (function(module, exports) {
6573
6574var id = 0;
6575var postfix = Math.random();
6576
6577module.exports = function (key) {
6578  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
6579};
6580
6581
6582/***/ }),
6583
vendor: 661 bytes, lines 6584-6601
6584/***/ "./node_modules/core-js/internals/use-symbol-as-uid.js":
6585/*!*************************************************************!*\
6586  !*** ./node_modules/core-js/internals/use-symbol-as-uid.js ***!
6587  \*************************************************************/
6588/*! no static exports found */
6589/***/ (function(module, exports, __webpack_require__) {
6590
6591var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js");
6592
6593module.exports = NATIVE_SYMBOL
6594  // eslint-disable-next-line no-undef
6595  && !Symbol.sham
6596  // eslint-disable-next-line no-undef
6597  && typeof Symbol.iterator == 'symbol';
6598
6599
6600/***/ }),
6601
vendor: 564 bytes, lines 6602-6615
6602/***/ "./node_modules/core-js/internals/well-known-symbol-wrapped.js":
6603/*!*********************************************************************!*\
6604  !*** ./node_modules/core-js/internals/well-known-symbol-wrapped.js ***!
6605  \*********************************************************************/
6606/*! no static exports found */
6607/***/ (function(module, exports, __webpack_require__) {
6608
6609var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
6610
6611exports.f = wellKnownSymbol;
6612
6613
6614/***/ }),
6615
vendor: 1,500 bytes, lines 6616-6643
6616/***/ "./node_modules/core-js/internals/well-known-symbol.js":
6617/*!*************************************************************!*\
6618  !*** ./node_modules/core-js/internals/well-known-symbol.js ***!
6619  \*************************************************************/
6620/*! no static exports found */
6621/***/ (function(module, exports, __webpack_require__) {
6622
6623var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
6624var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js");
6625var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
6626var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js");
6627var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js");
6628var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "./node_modules/core-js/internals/use-symbol-as-uid.js");
6629
6630var WellKnownSymbolsStore = shared('wks');
6631var Symbol = global.Symbol;
6632var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
6633
6634module.exports = function (name) {
6635  if (!has(WellKnownSymbolsStore, name)) {
6636    if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];
6637    else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
6638  } return WellKnownSymbolsStore[name];
6639};
6640
6641
6642/***/ }),
6643
vendor: 571 bytes, lines 6644-6657
6644/***/ "./node_modules/core-js/internals/whitespaces.js":
6645/*!*******************************************************!*\
6646  !*** ./node_modules/core-js/internals/whitespaces.js ***!
6647  \*******************************************************/
6648/*! no static exports found */
6649/***/ (function(module, exports) {
6650
6651// a string of all valid unicode whitespaces
6652// eslint-disable-next-line max-len
6653module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
6654
6655
6656/***/ }),
6657
vendor: 2,151 bytes, lines 6658-6700
6658/***/ "./node_modules/core-js/modules/es.aggregate-error.js":
6659/*!************************************************************!*\
6660  !*** ./node_modules/core-js/modules/es.aggregate-error.js ***!
6661  \************************************************************/
6662/*! no static exports found */
6663/***/ (function(module, exports, __webpack_require__) {
6664
6665"use strict";
6666
6667var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
6668var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");
6669var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js");
6670var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");
6671var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
6672var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
6673var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js");
6674
6675var $AggregateError = function AggregateError(errors, message) {
6676  var that = this;
6677  if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message);
6678  if (setPrototypeOf) {
6679    that = setPrototypeOf(new Error(undefined), getPrototypeOf(that));
6680  }
6681  if (message !== undefined) createNonEnumerableProperty(that, 'message', String(message));
6682  var errorsArray = [];
6683  iterate(errors, errorsArray.push, { that: errorsArray });
6684  createNonEnumerableProperty(that, 'errors', errorsArray);
6685  return that;
6686};
6687
6688$AggregateError.prototype = create(Error.prototype, {
6689  constructor: createPropertyDescriptor(5, $AggregateError),
6690  message: createPropertyDescriptor(5, ''),
6691  name: createPropertyDescriptor(5, 'AggregateError')
6692});
6693
6694$({ global: true }, {
6695  AggregateError: $AggregateError
6696});
6697
6698
6699/***/ }),
6700
vendor: 1,219 bytes, lines 6701-6729
6701/***/ "./node_modules/core-js/modules/es.array-buffer.constructor.js":
6702/*!*********************************************************************!*\
6703  !*** ./node_modules/core-js/modules/es.array-buffer.constructor.js ***!
6704  \*********************************************************************/
6705/*! no static exports found */
6706/***/ (function(module, exports, __webpack_require__) {
6707
6708"use strict";
6709
6710var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
6711var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
6712var arrayBufferModule = __webpack_require__(/*! ../internals/array-buffer */ "./node_modules/core-js/internals/array-buffer.js");
6713var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js");
6714
6715var ARRAY_BUFFER = 'ArrayBuffer';
6716var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER];
6717var NativeArrayBuffer = global[ARRAY_BUFFER];
6718
6719// `ArrayBuffer` constructor
6720// https://tc39.github.io/ecma262/#sec-arraybuffer-constructor
6721$({ global: true, forced: NativeArrayBuffer !== ArrayBuffer }, {
6722  ArrayBuffer: ArrayBuffer
6723});
6724
6725setSpecies(ARRAY_BUFFER);
6726
6727
6728/***/ }),
6729
vendor: 924 bytes, lines 6730-6750
6730/***/ "./node_modules/core-js/modules/es.array-buffer.is-view.js":
6731/*!*****************************************************************!*\
6732  !*** ./node_modules/core-js/modules/es.array-buffer.is-view.js ***!
6733  \*****************************************************************/
6734/*! no static exports found */
6735/***/ (function(module, exports, __webpack_require__) {
6736
6737var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
6738var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
6739
6740var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;
6741
6742// `ArrayBuffer.isView` method
6743// https://tc39.github.io/ecma262/#sec-arraybuffer.isview
6744$({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {
6745  isView: ArrayBufferViewCore.isView
6746});
6747
6748
6749/***/ }),
6750
vendor: 2,348 bytes, lines 6751-6798
6751/***/ "./node_modules/core-js/modules/es.array-buffer.slice.js":
6752/*!***************************************************************!*\
6753  !*** ./node_modules/core-js/modules/es.array-buffer.slice.js ***!
6754  \***************************************************************/
6755/*! no static exports found */
6756/***/ (function(module, exports, __webpack_require__) {
6757
6758"use strict";
6759
6760var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
6761var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
6762var ArrayBufferModule = __webpack_require__(/*! ../internals/array-buffer */ "./node_modules/core-js/internals/array-buffer.js");
6763var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
6764var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js");
6765var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
6766var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js");
6767
6768var ArrayBuffer = ArrayBufferModule.ArrayBuffer;
6769var DataView = ArrayBufferModule.DataView;
6770var nativeArrayBufferSlice = ArrayBuffer.prototype.slice;
6771
6772var INCORRECT_SLICE = fails(function () {
6773  return !new ArrayBuffer(2).slice(1, undefined).byteLength;
6774});
6775
6776// `ArrayBuffer.prototype.slice` method
6777// https://tc39.github.io/ecma262/#sec-arraybuffer.prototype.slice
6778$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, {
6779  slice: function slice(start, end) {
6780    if (nativeArrayBufferSlice !== undefined && end === undefined) {
6781      return nativeArrayBufferSlice.call(anObject(this), start); // FF fix
6782    }
6783    var length = anObject(this).byteLength;
6784    var first = toAbsoluteIndex(start, length);
6785    var fin = toAbsoluteIndex(end === undefined ? length : end, length);
6786    var result = new (speciesConstructor(this, ArrayBuffer))(toLength(fin - first));
6787    var viewSource = new DataView(this);
6788    var viewTarget = new DataView(result);
6789    var index = 0;
6790    while (first < fin) {
6791      viewTarget.setUint8(index++, viewSource.getUint8(first++));
6792    } return result;
6793  }
6794});
6795
6796
6797/***/ }),
6798
vendor: 3,513 bytes, lines 6799-6870
6799/***/ "./node_modules/core-js/modules/es.array.concat.js":
6800/*!*********************************************************!*\
6801  !*** ./node_modules/core-js/modules/es.array.concat.js ***!
6802  \*********************************************************/
6803/*! no static exports found */
6804/***/ (function(module, exports, __webpack_require__) {
6805
6806"use strict";
6807
6808var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
6809var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
6810var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js");
6811var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
6812var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
6813var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
6814var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js");
6815var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js");
6816var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js");
6817var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
6818var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js");
6819
6820var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
6821var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
6822var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
6823
6824// We can't use this feature detection in V8 since it causes
6825// deoptimization and serious performance degradation
6826// https://github.com/zloirock/core-js/issues/679
6827var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {
6828  var array = [];
6829  array[IS_CONCAT_SPREADABLE] = false;
6830  return array.concat()[0] !== array;
6831});
6832
6833var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
6834
6835var isConcatSpreadable = function (O) {
6836  if (!isObject(O)) return false;
6837  var spreadable = O[IS_CONCAT_SPREADABLE];
6838  return spreadable !== undefined ? !!spreadable : isArray(O);
6839};
6840
6841var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
6842
6843// `Array.prototype.concat` method
6844// https://tc39.github.io/ecma262/#sec-array.prototype.concat
6845// with adding support of @@isConcatSpreadable and @@species
6846$({ target: 'Array', proto: true, forced: FORCED }, {
6847  concat: function concat(arg) { // eslint-disable-line no-unused-vars
6848    var O = toObject(this);
6849    var A = arraySpeciesCreate(O, 0);
6850    var n = 0;
6851    var i, k, length, len, E;
6852    for (i = -1, length = arguments.length; i < length; i++) {
6853      E = i === -1 ? O : arguments[i];
6854      if (isConcatSpreadable(E)) {
6855        len = toLength(E.length);
6856        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
6857        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
6858      } else {
6859        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
6860        createProperty(A, n++, E);
6861      }
6862    }
6863    A.length = n;
6864    return A;
6865  }
6866});
6867
6868
6869/***/ }),
6870
vendor: 1,019 bytes, lines 6871-6893
6871/***/ "./node_modules/core-js/modules/es.array.copy-within.js":
6872/*!**************************************************************!*\
6873  !*** ./node_modules/core-js/modules/es.array.copy-within.js ***!
6874  \**************************************************************/
6875/*! no static exports found */
6876/***/ (function(module, exports, __webpack_require__) {
6877
6878var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
6879var copyWithin = __webpack_require__(/*! ../internals/array-copy-within */ "./node_modules/core-js/internals/array-copy-within.js");
6880var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js");
6881
6882// `Array.prototype.copyWithin` method
6883// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin
6884$({ target: 'Array', proto: true }, {
6885  copyWithin: copyWithin
6886});
6887
6888// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
6889addToUnscopables('copyWithin');
6890
6891
6892/***/ }),
6893
vendor: 1,341 bytes, lines 6894-6921
6894/***/ "./node_modules/core-js/modules/es.array.every.js":
6895/*!********************************************************!*\
6896  !*** ./node_modules/core-js/modules/es.array.every.js ***!
6897  \********************************************************/
6898/*! no static exports found */
6899/***/ (function(module, exports, __webpack_require__) {
6900
6901"use strict";
6902
6903var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
6904var $every = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").every;
6905var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js");
6906var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js");
6907
6908var STRICT_METHOD = arrayMethodIsStrict('every');
6909var USES_TO_LENGTH = arrayMethodUsesToLength('every');
6910
6911// `Array.prototype.every` method
6912// https://tc39.github.io/ecma262/#sec-array.prototype.every
6913$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {
6914  every: function every(callbackfn /* , thisArg */) {
6915    return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
6916  }
6917});
6918
6919
6920/***/ }),
6921
vendor: 941 bytes, lines 6922-6944
6922/***/ "./node_modules/core-js/modules/es.array.fill.js":
6923/*!*******************************************************!*\
6924  !*** ./node_modules/core-js/modules/es.array.fill.js ***!
6925  \*******************************************************/
6926/*! no static exports found */
6927/***/ (function(module, exports, __webpack_require__) {
6928
6929var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
6930var fill = __webpack_require__(/*! ../internals/array-fill */ "./node_modules/core-js/internals/array-fill.js");
6931var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js");
6932
6933// `Array.prototype.fill` method
6934// https://tc39.github.io/ecma262/#sec-array.prototype.fill
6935$({ target: 'Array', proto: true }, {
6936  fill: fill
6937});
6938
6939// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
6940addToUnscopables('fill');
6941
6942
6943/***/ }),
6944
vendor: 1,458 bytes, lines 6945-6974
6945/***/ "./node_modules/core-js/modules/es.array.filter.js":
6946/*!*********************************************************!*\
6947  !*** ./node_modules/core-js/modules/es.array.filter.js ***!
6948  \*********************************************************/
6949/*! no static exports found */
6950/***/ (function(module, exports, __webpack_require__) {
6951
6952"use strict";
6953
6954var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
6955var $filter = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").filter;
6956var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js");
6957var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js");
6958
6959var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
6960// Edge 14- issue
6961var USES_TO_LENGTH = arrayMethodUsesToLength('filter');
6962
6963// `Array.prototype.filter` method
6964// https://tc39.github.io/ecma262/#sec-array.prototype.filter
6965// with adding support of @@species
6966$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
6967  filter: function filter(callbackfn /* , thisArg */) {
6968    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
6969  }
6970});
6971
6972
6973/***/ }),
6974
vendor: 1,599 bytes, lines 6975-7010
6975/***/ "./node_modules/core-js/modules/es.array.find-index.js":
6976/*!*************************************************************!*\
6977  !*** ./node_modules/core-js/modules/es.array.find-index.js ***!
6978  \*************************************************************/
6979/*! no static exports found */
6980/***/ (function(module, exports, __webpack_require__) {
6981
6982"use strict";
6983
6984var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
6985var $findIndex = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").findIndex;
6986var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js");
6987var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js");
6988
6989var FIND_INDEX = 'findIndex';
6990var SKIPS_HOLES = true;
6991
6992var USES_TO_LENGTH = arrayMethodUsesToLength(FIND_INDEX);
6993
6994// Shouldn't skip holes
6995if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });
6996
6997// `Array.prototype.findIndex` method
6998// https://tc39.github.io/ecma262/#sec-array.prototype.findindex
6999$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {
7000  findIndex: function findIndex(callbackfn /* , that = undefined */) {
7001    return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
7002  }
7003});
7004
7005// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
7006addToUnscopables(FIND_INDEX);
7007
7008
7009/***/ }),
7010
vendor: 1,505 bytes, lines 7011-7046
7011/***/ "./node_modules/core-js/modules/es.array.find.js":
7012/*!*******************************************************!*\
7013  !*** ./node_modules/core-js/modules/es.array.find.js ***!
7014  \*******************************************************/
7015/*! no static exports found */
7016/***/ (function(module, exports, __webpack_require__) {
7017
7018"use strict";
7019
7020var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7021var $find = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").find;
7022var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js");
7023var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js");
7024
7025var FIND = 'find';
7026var SKIPS_HOLES = true;
7027
7028var USES_TO_LENGTH = arrayMethodUsesToLength(FIND);
7029
7030// Shouldn't skip holes
7031if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
7032
7033// `Array.prototype.find` method
7034// https://tc39.github.io/ecma262/#sec-array.prototype.find
7035$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {
7036  find: function find(callbackfn /* , that = undefined */) {
7037    return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
7038  }
7039});
7040
7041// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
7042addToUnscopables(FIND);
7043
7044
7045/***/ }),
7046
vendor: 1,568 bytes, lines 7047-7079
7047/***/ "./node_modules/core-js/modules/es.array.flat-map.js":
7048/*!***********************************************************!*\
7049  !*** ./node_modules/core-js/modules/es.array.flat-map.js ***!
7050  \***********************************************************/
7051/*! no static exports found */
7052/***/ (function(module, exports, __webpack_require__) {
7053
7054"use strict";
7055
7056var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7057var flattenIntoArray = __webpack_require__(/*! ../internals/flatten-into-array */ "./node_modules/core-js/internals/flatten-into-array.js");
7058var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
7059var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
7060var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
7061var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js");
7062
7063// `Array.prototype.flatMap` method
7064// https://github.com/tc39/proposal-flatMap
7065$({ target: 'Array', proto: true }, {
7066  flatMap: function flatMap(callbackfn /* , thisArg */) {
7067    var O = toObject(this);
7068    var sourceLen = toLength(O.length);
7069    var A;
7070    aFunction(callbackfn);
7071    A = arraySpeciesCreate(O, 0);
7072    A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
7073    return A;
7074  }
7075});
7076
7077
7078/***/ }),
7079
vendor: 1,551 bytes, lines 7080-7111
7080/***/ "./node_modules/core-js/modules/es.array.flat.js":
7081/*!*******************************************************!*\
7082  !*** ./node_modules/core-js/modules/es.array.flat.js ***!
7083  \*******************************************************/
7084/*! no static exports found */
7085/***/ (function(module, exports, __webpack_require__) {
7086
7087"use strict";
7088
7089var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7090var flattenIntoArray = __webpack_require__(/*! ../internals/flatten-into-array */ "./node_modules/core-js/internals/flatten-into-array.js");
7091var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
7092var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
7093var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
7094var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js");
7095
7096// `Array.prototype.flat` method
7097// https://github.com/tc39/proposal-flatMap
7098$({ target: 'Array', proto: true }, {
7099  flat: function flat(/* depthArg = 1 */) {
7100    var depthArg = arguments.length ? arguments[0] : undefined;
7101    var O = toObject(this);
7102    var sourceLen = toLength(O.length);
7103    var A = arraySpeciesCreate(O, 0);
7104    A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));
7105    return A;
7106  }
7107});
7108
7109
7110/***/ }),
7111
vendor: 789 bytes, lines 7112-7132
7112/***/ "./node_modules/core-js/modules/es.array.for-each.js":
7113/*!***********************************************************!*\
7114  !*** ./node_modules/core-js/modules/es.array.for-each.js ***!
7115  \***********************************************************/
7116/*! no static exports found */
7117/***/ (function(module, exports, __webpack_require__) {
7118
7119"use strict";
7120
7121var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7122var forEach = __webpack_require__(/*! ../internals/array-for-each */ "./node_modules/core-js/internals/array-for-each.js");
7123
7124// `Array.prototype.forEach` method
7125// https://tc39.github.io/ecma262/#sec-array.prototype.foreach
7126$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {
7127  forEach: forEach
7128});
7129
7130
7131/***/ }),
7132
vendor: 994 bytes, lines 7133-7156
7133/***/ "./node_modules/core-js/modules/es.array.from.js":
7134/*!*******************************************************!*\
7135  !*** ./node_modules/core-js/modules/es.array.from.js ***!
7136  \*******************************************************/
7137/*! no static exports found */
7138/***/ (function(module, exports, __webpack_require__) {
7139
7140var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7141var from = __webpack_require__(/*! ../internals/array-from */ "./node_modules/core-js/internals/array-from.js");
7142var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js/internals/check-correctness-of-iteration.js");
7143
7144var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
7145  Array.from(iterable);
7146});
7147
7148// `Array.from` method
7149// https://tc39.github.io/ecma262/#sec-array.from
7150$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {
7151  from: from
7152});
7153
7154
7155/***/ }),
7156
vendor: 1,412 bytes, lines 7157-7186
7157/***/ "./node_modules/core-js/modules/es.array.includes.js":
7158/*!***********************************************************!*\
7159  !*** ./node_modules/core-js/modules/es.array.includes.js ***!
7160  \***********************************************************/
7161/*! no static exports found */
7162/***/ (function(module, exports, __webpack_require__) {
7163
7164"use strict";
7165
7166var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7167var $includes = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").includes;
7168var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js");
7169var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js");
7170
7171var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });
7172
7173// `Array.prototype.includes` method
7174// https://tc39.github.io/ecma262/#sec-array.prototype.includes
7175$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {
7176  includes: function includes(el /* , fromIndex = 0 */) {
7177    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
7178  }
7179});
7180
7181// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
7182addToUnscopables('includes');
7183
7184
7185/***/ }),
7186
vendor: 1,623 bytes, lines 7187-7220
7187/***/ "./node_modules/core-js/modules/es.array.index-of.js":
7188/*!***********************************************************!*\
7189  !*** ./node_modules/core-js/modules/es.array.index-of.js ***!
7190  \***********************************************************/
7191/*! no static exports found */
7192/***/ (function(module, exports, __webpack_require__) {
7193
7194"use strict";
7195
7196var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7197var $indexOf = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").indexOf;
7198var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js");
7199var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js");
7200
7201var nativeIndexOf = [].indexOf;
7202
7203var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
7204var STRICT_METHOD = arrayMethodIsStrict('indexOf');
7205var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });
7206
7207// `Array.prototype.indexOf` method
7208// https://tc39.github.io/ecma262/#sec-array.prototype.indexof
7209$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, {
7210  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
7211    return NEGATIVE_ZERO
7212      // convert -0 to +0
7213      ? nativeIndexOf.apply(this, arguments) || 0
7214      : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
7215  }
7216});
7217
7218
7219/***/ }),
7220
vendor: 710 bytes, lines 7221-7239
7221/***/ "./node_modules/core-js/modules/es.array.is-array.js":
7222/*!***********************************************************!*\
7223  !*** ./node_modules/core-js/modules/es.array.is-array.js ***!
7224  \***********************************************************/
7225/*! no static exports found */
7226/***/ (function(module, exports, __webpack_require__) {
7227
7228var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7229var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js");
7230
7231// `Array.isArray` method
7232// https://tc39.github.io/ecma262/#sec-array.isarray
7233$({ target: 'Array', stat: true }, {
7234  isArray: isArray
7235});
7236
7237
7238/***/ }),
7239
vendor: 2,926 bytes, lines 7240-7304
7240/***/ "./node_modules/core-js/modules/es.array.iterator.js":
7241/*!***********************************************************!*\
7242  !*** ./node_modules/core-js/modules/es.array.iterator.js ***!
7243  \***********************************************************/
7244/*! no static exports found */
7245/***/ (function(module, exports, __webpack_require__) {
7246
7247"use strict";
7248
7249var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
7250var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js");
7251var Iterators = __webpack_require__(/*! ../internals/iterators */ "./node_modules/core-js/internals/iterators.js");
7252var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
7253var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js");
7254
7255var ARRAY_ITERATOR = 'Array Iterator';
7256var setInternalState = InternalStateModule.set;
7257var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
7258
7259// `Array.prototype.entries` method
7260// https://tc39.github.io/ecma262/#sec-array.prototype.entries
7261// `Array.prototype.keys` method
7262// https://tc39.github.io/ecma262/#sec-array.prototype.keys
7263// `Array.prototype.values` method
7264// https://tc39.github.io/ecma262/#sec-array.prototype.values
7265// `Array.prototype[@@iterator]` method
7266// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator
7267// `CreateArrayIterator` internal method
7268// https://tc39.github.io/ecma262/#sec-createarrayiterator
7269module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
7270  setInternalState(this, {
7271    type: ARRAY_ITERATOR,
7272    target: toIndexedObject(iterated), // target
7273    index: 0,                          // next index
7274    kind: kind                         // kind
7275  });
7276// `%ArrayIteratorPrototype%.next` method
7277// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next
7278}, function () {
7279  var state = getInternalState(this);
7280  var target = state.target;
7281  var kind = state.kind;
7282  var index = state.index++;
7283  if (!target || index >= target.length) {
7284    state.target = undefined;
7285    return { value: undefined, done: true };
7286  }
7287  if (kind == 'keys') return { value: index, done: false };
7288  if (kind == 'values') return { value: target[index], done: false };
7289  return { value: [index, target[index]], done: false };
7290}, 'values');
7291
7292// argumentsList[@@iterator] is %ArrayProto_values%
7293// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject
7294// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject
7295Iterators.Arguments = Iterators.Array;
7296
7297// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
7298addToUnscopables('keys');
7299addToUnscopables('values');
7300addToUnscopables('entries');
7301
7302
7303/***/ }),
7304
vendor: 1,310 bytes, lines 7305-7334
7305/***/ "./node_modules/core-js/modules/es.array.join.js":
7306/*!*******************************************************!*\
7307  !*** ./node_modules/core-js/modules/es.array.join.js ***!
7308  \*******************************************************/
7309/*! no static exports found */
7310/***/ (function(module, exports, __webpack_require__) {
7311
7312"use strict";
7313
7314var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7315var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "./node_modules/core-js/internals/indexed-object.js");
7316var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
7317var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js");
7318
7319var nativeJoin = [].join;
7320
7321var ES3_STRINGS = IndexedObject != Object;
7322var STRICT_METHOD = arrayMethodIsStrict('join', ',');
7323
7324// `Array.prototype.join` method
7325// https://tc39.github.io/ecma262/#sec-array.prototype.join
7326$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {
7327  join: function join(separator) {
7328    return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
7329  }
7330});
7331
7332
7333/***/ }),
7334
vendor: 833 bytes, lines 7335-7353
7335/***/ "./node_modules/core-js/modules/es.array.last-index-of.js":
7336/*!****************************************************************!*\
7337  !*** ./node_modules/core-js/modules/es.array.last-index-of.js ***!
7338  \****************************************************************/
7339/*! no static exports found */
7340/***/ (function(module, exports, __webpack_require__) {
7341
7342var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7343var lastIndexOf = __webpack_require__(/*! ../internals/array-last-index-of */ "./node_modules/core-js/internals/array-last-index-of.js");
7344
7345// `Array.prototype.lastIndexOf` method
7346// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof
7347$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, {
7348  lastIndexOf: lastIndexOf
7349});
7350
7351
7352/***/ }),
7353
vendor: 1,416 bytes, lines 7354-7383
7354/***/ "./node_modules/core-js/modules/es.array.map.js":
7355/*!******************************************************!*\
7356  !*** ./node_modules/core-js/modules/es.array.map.js ***!
7357  \******************************************************/
7358/*! no static exports found */
7359/***/ (function(module, exports, __webpack_require__) {
7360
7361"use strict";
7362
7363var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7364var $map = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").map;
7365var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js");
7366var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js");
7367
7368var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');
7369// FF49- issue
7370var USES_TO_LENGTH = arrayMethodUsesToLength('map');
7371
7372// `Array.prototype.map` method
7373// https://tc39.github.io/ecma262/#sec-array.prototype.map
7374// with adding support of @@species
7375$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
7376  map: function map(callbackfn /* , thisArg */) {
7377    return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
7378  }
7379});
7380
7381
7382/***/ }),
7383
vendor: 1,297 bytes, lines 7384-7418
7384/***/ "./node_modules/core-js/modules/es.array.of.js":
7385/*!*****************************************************!*\
7386  !*** ./node_modules/core-js/modules/es.array.of.js ***!
7387  \*****************************************************/
7388/*! no static exports found */
7389/***/ (function(module, exports, __webpack_require__) {
7390
7391"use strict";
7392
7393var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7394var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
7395var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js");
7396
7397var ISNT_GENERIC = fails(function () {
7398  function F() { /* empty */ }
7399  return !(Array.of.call(F) instanceof F);
7400});
7401
7402// `Array.of` method
7403// https://tc39.github.io/ecma262/#sec-array.of
7404// WebKit Array.of isn't generic
7405$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, {
7406  of: function of(/* ...args */) {
7407    var index = 0;
7408    var argumentsLength = arguments.length;
7409    var result = new (typeof this == 'function' ? this : Array)(argumentsLength);
7410    while (argumentsLength > index) createProperty(result, index, arguments[index++]);
7411    result.length = argumentsLength;
7412    return result;
7413  }
7414});
7415
7416
7417/***/ }),
7418
vendor: 2,007 bytes, lines 7419-7452
7419/***/ "./node_modules/core-js/modules/es.array.reduce-right.js":
7420/*!***************************************************************!*\
7421  !*** ./node_modules/core-js/modules/es.array.reduce-right.js ***!
7422  \***************************************************************/
7423/*! no static exports found */
7424/***/ (function(module, exports, __webpack_require__) {
7425
7426"use strict";
7427
7428var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7429var $reduceRight = __webpack_require__(/*! ../internals/array-reduce */ "./node_modules/core-js/internals/array-reduce.js").right;
7430var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js");
7431var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js");
7432var CHROME_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js");
7433var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js");
7434
7435var STRICT_METHOD = arrayMethodIsStrict('reduceRight');
7436// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method
7437var USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });
7438// Chrome 80-82 has a critical bug
7439// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982
7440var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
7441
7442// `Array.prototype.reduceRight` method
7443// https://tc39.github.io/ecma262/#sec-array.prototype.reduceright
7444$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH || CHROME_BUG }, {
7445  reduceRight: function reduceRight(callbackfn /* , initialValue */) {
7446    return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
7447  }
7448});
7449
7450
7451/***/ }),
7452
vendor: 1,827 bytes, lines 7453-7485
7453/***/ "./node_modules/core-js/modules/es.array.reduce.js":
7454/*!*********************************************************!*\
7455  !*** ./node_modules/core-js/modules/es.array.reduce.js ***!
7456  \*********************************************************/
7457/*! no static exports found */
7458/***/ (function(module, exports, __webpack_require__) {
7459
7460"use strict";
7461
7462var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7463var $reduce = __webpack_require__(/*! ../internals/array-reduce */ "./node_modules/core-js/internals/array-reduce.js").left;
7464var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js");
7465var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js");
7466var CHROME_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js");
7467var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js");
7468
7469var STRICT_METHOD = arrayMethodIsStrict('reduce');
7470var USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });
7471// Chrome 80-82 has a critical bug
7472// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982
7473var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
7474
7475// `Array.prototype.reduce` method
7476// https://tc39.github.io/ecma262/#sec-array.prototype.reduce
7477$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH || CHROME_BUG }, {
7478  reduce: function reduce(callbackfn /* , initialValue */) {
7479    return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
7480  }
7481});
7482
7483
7484/***/ }),
7485
vendor: 1,071 bytes, lines 7486-7515
7486/***/ "./node_modules/core-js/modules/es.array.reverse.js":
7487/*!**********************************************************!*\
7488  !*** ./node_modules/core-js/modules/es.array.reverse.js ***!
7489  \**********************************************************/
7490/*! no static exports found */
7491/***/ (function(module, exports, __webpack_require__) {
7492
7493"use strict";
7494
7495var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7496var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js");
7497
7498var nativeReverse = [].reverse;
7499var test = [1, 2];
7500
7501// `Array.prototype.reverse` method
7502// https://tc39.github.io/ecma262/#sec-array.prototype.reverse
7503// fix for Safari 12.0 bug
7504// https://bugs.webkit.org/show_bug.cgi?id=188794
7505$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {
7506  reverse: function reverse() {
7507    // eslint-disable-next-line no-self-assign
7508    if (isArray(this)) this.length = this.length;
7509    return nativeReverse.call(this);
7510  }
7511});
7512
7513
7514/***/ }),
7515
vendor: 3,246 bytes, lines 7516-7576
7516/***/ "./node_modules/core-js/modules/es.array.slice.js":
7517/*!********************************************************!*\
7518  !*** ./node_modules/core-js/modules/es.array.slice.js ***!
7519  \********************************************************/
7520/*! no static exports found */
7521/***/ (function(module, exports, __webpack_require__) {
7522
7523"use strict";
7524
7525var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7526var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
7527var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js");
7528var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js");
7529var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
7530var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
7531var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js");
7532var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
7533var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js");
7534var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js");
7535
7536var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');
7537var USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });
7538
7539var SPECIES = wellKnownSymbol('species');
7540var nativeSlice = [].slice;
7541var max = Math.max;
7542
7543// `Array.prototype.slice` method
7544// https://tc39.github.io/ecma262/#sec-array.prototype.slice
7545// fallback for not array-like ES3 strings and DOM objects
7546$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
7547  slice: function slice(start, end) {
7548    var O = toIndexedObject(this);
7549    var length = toLength(O.length);
7550    var k = toAbsoluteIndex(start, length);
7551    var fin = toAbsoluteIndex(end === undefined ? length : end, length);
7552    // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
7553    var Constructor, result, n;
7554    if (isArray(O)) {
7555      Constructor = O.constructor;
7556      // cross-realm fallback
7557      if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
7558        Constructor = undefined;
7559      } else if (isObject(Constructor)) {
7560        Constructor = Constructor[SPECIES];
7561        if (Constructor === null) Constructor = undefined;
7562      }
7563      if (Constructor === Array || Constructor === undefined) {
7564        return nativeSlice.call(O, k, fin);
7565      }
7566    }
7567    result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));
7568    for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
7569    result.length = n;
7570    return result;
7571  }
7572});
7573
7574
7575/***/ }),
7576
vendor: 1,328 bytes, lines 7577-7604
7577/***/ "./node_modules/core-js/modules/es.array.some.js":
7578/*!*******************************************************!*\
7579  !*** ./node_modules/core-js/modules/es.array.some.js ***!
7580  \*******************************************************/
7581/*! no static exports found */
7582/***/ (function(module, exports, __webpack_require__) {
7583
7584"use strict";
7585
7586var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7587var $some = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").some;
7588var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js");
7589var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js");
7590
7591var STRICT_METHOD = arrayMethodIsStrict('some');
7592var USES_TO_LENGTH = arrayMethodUsesToLength('some');
7593
7594// `Array.prototype.some` method
7595// https://tc39.github.io/ecma262/#sec-array.prototype.some
7596$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {
7597  some: function some(callbackfn /* , thisArg */) {
7598    return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
7599  }
7600});
7601
7602
7603/***/ }),
7604
vendor: 1,607 bytes, lines 7605-7648
7605/***/ "./node_modules/core-js/modules/es.array.sort.js":
7606/*!*******************************************************!*\
7607  !*** ./node_modules/core-js/modules/es.array.sort.js ***!
7608  \*******************************************************/
7609/*! no static exports found */
7610/***/ (function(module, exports, __webpack_require__) {
7611
7612"use strict";
7613
7614var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7615var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
7616var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
7617var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
7618var arrayMethodIsStrict = __webpack_require__(/*! ../internals/array-method-is-strict */ "./node_modules/core-js/internals/array-method-is-strict.js");
7619
7620var test = [];
7621var nativeSort = test.sort;
7622
7623// IE8-
7624var FAILS_ON_UNDEFINED = fails(function () {
7625  test.sort(undefined);
7626});
7627// V8 bug
7628var FAILS_ON_NULL = fails(function () {
7629  test.sort(null);
7630});
7631// Old WebKit
7632var STRICT_METHOD = arrayMethodIsStrict('sort');
7633
7634var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD;
7635
7636// `Array.prototype.sort` method
7637// https://tc39.github.io/ecma262/#sec-array.prototype.sort
7638$({ target: 'Array', proto: true, forced: FORCED }, {
7639  sort: function sort(comparefn) {
7640    return comparefn === undefined
7641      ? nativeSort.call(toObject(this))
7642      : nativeSort.call(toObject(this), aFunction(comparefn));
7643  }
7644});
7645
7646
7647/***/ }),
7648
vendor: 583 bytes, lines 7649-7664
7649/***/ "./node_modules/core-js/modules/es.array.species.js":
7650/*!**********************************************************!*\
7651  !*** ./node_modules/core-js/modules/es.array.species.js ***!
7652  \**********************************************************/
7653/*! no static exports found */
7654/***/ (function(module, exports, __webpack_require__) {
7655
7656var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js");
7657
7658// `Array[@@species]` getter
7659// https://tc39.github.io/ecma262/#sec-get-array-@@species
7660setSpecies('Array');
7661
7662
7663/***/ }),
7664
vendor: 3,835 bytes, lines 7665-7746
7665/***/ "./node_modules/core-js/modules/es.array.splice.js":
7666/*!*********************************************************!*\
7667  !*** ./node_modules/core-js/modules/es.array.splice.js ***!
7668  \*********************************************************/
7669/*! no static exports found */
7670/***/ (function(module, exports, __webpack_require__) {
7671
7672"use strict";
7673
7674var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7675var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js");
7676var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
7677var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
7678var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
7679var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ "./node_modules/core-js/internals/array-species-create.js");
7680var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js");
7681var arrayMethodHasSpeciesSupport = __webpack_require__(/*! ../internals/array-method-has-species-support */ "./node_modules/core-js/internals/array-method-has-species-support.js");
7682var arrayMethodUsesToLength = __webpack_require__(/*! ../internals/array-method-uses-to-length */ "./node_modules/core-js/internals/array-method-uses-to-length.js");
7683
7684var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');
7685var USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });
7686
7687var max = Math.max;
7688var min = Math.min;
7689var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
7690var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';
7691
7692// `Array.prototype.splice` method
7693// https://tc39.github.io/ecma262/#sec-array.prototype.splice
7694// with adding support of @@species
7695$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
7696  splice: function splice(start, deleteCount /* , ...items */) {
7697    var O = toObject(this);
7698    var len = toLength(O.length);
7699    var actualStart = toAbsoluteIndex(start, len);
7700    var argumentsLength = arguments.length;
7701    var insertCount, actualDeleteCount, A, k, from, to;
7702    if (argumentsLength === 0) {
7703      insertCount = actualDeleteCount = 0;
7704    } else if (argumentsLength === 1) {
7705      insertCount = 0;
7706      actualDeleteCount = len - actualStart;
7707    } else {
7708      insertCount = argumentsLength - 2;
7709      actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);
7710    }
7711    if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {
7712      throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);
7713    }
7714    A = arraySpeciesCreate(O, actualDeleteCount);
7715    for (k = 0; k < actualDeleteCount; k++) {
7716      from = actualStart + k;
7717      if (from in O) createProperty(A, k, O[from]);
7718    }
7719    A.length = actualDeleteCount;
7720    if (insertCount < actualDeleteCount) {
7721      for (k = actualStart; k < len - actualDeleteCount; k++) {
7722        from = k + actualDeleteCount;
7723        to = k + insertCount;
7724        if (from in O) O[to] = O[from];
7725        else delete O[to];
7726      }
7727      for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];
7728    } else if (insertCount > actualDeleteCount) {
7729      for (k = len - actualDeleteCount; k > actualStart; k--) {
7730        from = k + actualDeleteCount - 1;
7731        to = k + insertCount - 1;
7732        if (from in O) O[to] = O[from];
7733        else delete O[to];
7734      }
7735    }
7736    for (k = 0; k < insertCount; k++) {
7737      O[k + actualStart] = arguments[k + 2];
7738    }
7739    O.length = len - actualDeleteCount + insertCount;
7740    return A;
7741  }
7742});
7743
7744
7745/***/ }),
7746
vendor: 694 bytes, lines 7747-7762
7747/***/ "./node_modules/core-js/modules/es.array.unscopables.flat-map.js":
7748/*!***********************************************************************!*\
7749  !*** ./node_modules/core-js/modules/es.array.unscopables.flat-map.js ***!
7750  \***********************************************************************/
7751/*! no static exports found */
7752/***/ (function(module, exports, __webpack_require__) {
7753
7754// this method was added to unscopables after implementation
7755// in popular engines, so it's moved to a separate module
7756var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js");
7757
7758addToUnscopables('flatMap');
7759
7760
7761/***/ }),
7762
vendor: 675 bytes, lines 7763-7778
7763/***/ "./node_modules/core-js/modules/es.array.unscopables.flat.js":
7764/*!*******************************************************************!*\
7765  !*** ./node_modules/core-js/modules/es.array.unscopables.flat.js ***!
7766  \*******************************************************************/
7767/*! no static exports found */
7768/***/ (function(module, exports, __webpack_require__) {
7769
7770// this method was added to unscopables after implementation
7771// in popular engines, so it's moved to a separate module
7772var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "./node_modules/core-js/internals/add-to-unscopables.js");
7773
7774addToUnscopables('flat');
7775
7776
7777/***/ }),
7778
vendor: 896 bytes, lines 7779-7798
7779/***/ "./node_modules/core-js/modules/es.data-view.js":
7780/*!******************************************************!*\
7781  !*** ./node_modules/core-js/modules/es.data-view.js ***!
7782  \******************************************************/
7783/*! no static exports found */
7784/***/ (function(module, exports, __webpack_require__) {
7785
7786var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7787var ArrayBufferModule = __webpack_require__(/*! ../internals/array-buffer */ "./node_modules/core-js/internals/array-buffer.js");
7788var NATIVE_ARRAY_BUFFER = __webpack_require__(/*! ../internals/array-buffer-native */ "./node_modules/core-js/internals/array-buffer-native.js");
7789
7790// `DataView` constructor
7791// https://tc39.github.io/ecma262/#sec-dataview-constructor
7792$({ global: true, forced: !NATIVE_ARRAY_BUFFER }, {
7793  DataView: ArrayBufferModule.DataView
7794});
7795
7796
7797/***/ }),
7798
vendor: 605 bytes, lines 7799-7818
7799/***/ "./node_modules/core-js/modules/es.date.now.js":
7800/*!*****************************************************!*\
7801  !*** ./node_modules/core-js/modules/es.date.now.js ***!
7802  \*****************************************************/
7803/*! no static exports found */
7804/***/ (function(module, exports, __webpack_require__) {
7805
7806var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7807
7808// `Date.now` method
7809// https://tc39.github.io/ecma262/#sec-date.now
7810$({ target: 'Date', stat: true }, {
7811  now: function now() {
7812    return new Date().getTime();
7813  }
7814});
7815
7816
7817/***/ }),
7818
vendor: 891 bytes, lines 7819-7838
7819/***/ "./node_modules/core-js/modules/es.date.to-iso-string.js":
7820/*!***************************************************************!*\
7821  !*** ./node_modules/core-js/modules/es.date.to-iso-string.js ***!
7822  \***************************************************************/
7823/*! no static exports found */
7824/***/ (function(module, exports, __webpack_require__) {
7825
7826var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7827var toISOString = __webpack_require__(/*! ../internals/date-to-iso-string */ "./node_modules/core-js/internals/date-to-iso-string.js");
7828
7829// `Date.prototype.toISOString` method
7830// https://tc39.github.io/ecma262/#sec-date.prototype.toisostring
7831// PhantomJS / old WebKit has a broken implementations
7832$({ target: 'Date', proto: true, forced: Date.prototype.toISOString !== toISOString }, {
7833  toISOString: toISOString
7834});
7835
7836
7837/***/ }),
7838
vendor: 1,340 bytes, lines 7839-7871
7839/***/ "./node_modules/core-js/modules/es.date.to-json.js":
7840/*!*********************************************************!*\
7841  !*** ./node_modules/core-js/modules/es.date.to-json.js ***!
7842  \*********************************************************/
7843/*! no static exports found */
7844/***/ (function(module, exports, __webpack_require__) {
7845
7846"use strict";
7847
7848var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7849var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
7850var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
7851var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
7852
7853var FORCED = fails(function () {
7854  return new Date(NaN).toJSON() !== null
7855    || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;
7856});
7857
7858// `Date.prototype.toJSON` method
7859// https://tc39.github.io/ecma262/#sec-date.prototype.tojson
7860$({ target: 'Date', proto: true, forced: FORCED }, {
7861  // eslint-disable-next-line no-unused-vars
7862  toJSON: function toJSON(key) {
7863    var O = toObject(this);
7864    var pv = toPrimitive(O);
7865    return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();
7866  }
7867});
7868
7869
7870/***/ }),
7871
vendor: 1,138 bytes, lines 7872-7894
7872/***/ "./node_modules/core-js/modules/es.date.to-primitive.js":
7873/*!**************************************************************!*\
7874  !*** ./node_modules/core-js/modules/es.date.to-primitive.js ***!
7875  \**************************************************************/
7876/*! no static exports found */
7877/***/ (function(module, exports, __webpack_require__) {
7878
7879var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
7880var dateToPrimitive = __webpack_require__(/*! ../internals/date-to-primitive */ "./node_modules/core-js/internals/date-to-primitive.js");
7881var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
7882
7883var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
7884var DatePrototype = Date.prototype;
7885
7886// `Date.prototype[@@toPrimitive]` method
7887// https://tc39.github.io/ecma262/#sec-date.prototype-@@toprimitive
7888if (!(TO_PRIMITIVE in DatePrototype)) {
7889  createNonEnumerableProperty(DatePrototype, TO_PRIMITIVE, dateToPrimitive);
7890}
7891
7892
7893/***/ }),
7894
vendor: 1,025 bytes, lines 7895-7922
7895/***/ "./node_modules/core-js/modules/es.date.to-string.js":
7896/*!***********************************************************!*\
7897  !*** ./node_modules/core-js/modules/es.date.to-string.js ***!
7898  \***********************************************************/
7899/*! no static exports found */
7900/***/ (function(module, exports, __webpack_require__) {
7901
7902var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
7903
7904var DatePrototype = Date.prototype;
7905var INVALID_DATE = 'Invalid Date';
7906var TO_STRING = 'toString';
7907var nativeDateToString = DatePrototype[TO_STRING];
7908var getTime = DatePrototype.getTime;
7909
7910// `Date.prototype.toString` method
7911// https://tc39.github.io/ecma262/#sec-date.prototype.tostring
7912if (new Date(NaN) + '' != INVALID_DATE) {
7913  redefine(DatePrototype, TO_STRING, function toString() {
7914    var value = getTime.call(this);
7915    // eslint-disable-next-line no-self-compare
7916    return value === value ? nativeDateToString.call(this) : INVALID_DATE;
7917  });
7918}
7919
7920
7921/***/ }),
7922
vendor: 731 bytes, lines 7923-7941
7923/***/ "./node_modules/core-js/modules/es.function.bind.js":
7924/*!**********************************************************!*\
7925  !*** ./node_modules/core-js/modules/es.function.bind.js ***!
7926  \**********************************************************/
7927/*! no static exports found */
7928/***/ (function(module, exports, __webpack_require__) {
7929
7930var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
7931var bind = __webpack_require__(/*! ../internals/function-bind */ "./node_modules/core-js/internals/function-bind.js");
7932
7933// `Function.prototype.bind` method
7934// https://tc39.github.io/ecma262/#sec-function.prototype.bind
7935$({ target: 'Function', proto: true }, {
7936  bind: bind
7937});
7938
7939
7940/***/ }),
7941
vendor: 1,613 bytes, lines 7942-7973
7942/***/ "./node_modules/core-js/modules/es.function.has-instance.js":
7943/*!******************************************************************!*\
7944  !*** ./node_modules/core-js/modules/es.function.has-instance.js ***!
7945  \******************************************************************/
7946/*! no static exports found */
7947/***/ (function(module, exports, __webpack_require__) {
7948
7949"use strict";
7950
7951var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
7952var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
7953var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");
7954var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
7955
7956var HAS_INSTANCE = wellKnownSymbol('hasInstance');
7957var FunctionPrototype = Function.prototype;
7958
7959// `Function.prototype[@@hasInstance]` method
7960// https://tc39.github.io/ecma262/#sec-function.prototype-@@hasinstance
7961if (!(HAS_INSTANCE in FunctionPrototype)) {
7962  definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: function (O) {
7963    if (typeof this != 'function' || !isObject(O)) return false;
7964    if (!isObject(this.prototype)) return O instanceof this;
7965    // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
7966    while (O = getPrototypeOf(O)) if (this.prototype === O) return true;
7967    return false;
7968  } });
7969}
7970
7971
7972/***/ }),
7973
vendor: 1,177 bytes, lines 7974-8006
7974/***/ "./node_modules/core-js/modules/es.function.name.js":
7975/*!**********************************************************!*\
7976  !*** ./node_modules/core-js/modules/es.function.name.js ***!
7977  \**********************************************************/
7978/*! no static exports found */
7979/***/ (function(module, exports, __webpack_require__) {
7980
7981var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
7982var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
7983
7984var FunctionPrototype = Function.prototype;
7985var FunctionPrototypeToString = FunctionPrototype.toString;
7986var nameRE = /^\s*function ([^ (]*)/;
7987var NAME = 'name';
7988
7989// Function instances `.name` property
7990// https://tc39.github.io/ecma262/#sec-function-instances-name
7991if (DESCRIPTORS && !(NAME in FunctionPrototype)) {
7992  defineProperty(FunctionPrototype, NAME, {
7993    configurable: true,
7994    get: function () {
7995      try {
7996        return FunctionPrototypeToString.call(this).match(nameRE)[1];
7997      } catch (error) {
7998        return '';
7999      }
8000    }
8001  });
8002}
8003
8004
8005/***/ }),
8006
vendor: 667 bytes, lines 8007-8025
8007/***/ "./node_modules/core-js/modules/es.global-this.js":
8008/*!********************************************************!*\
8009  !*** ./node_modules/core-js/modules/es.global-this.js ***!
8010  \********************************************************/
8011/*! no static exports found */
8012/***/ (function(module, exports, __webpack_require__) {
8013
8014var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8015var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
8016
8017// `globalThis` object
8018// https://github.com/tc39/proposal-global
8019$({ global: true }, {
8020  globalThis: global
8021});
8022
8023
8024/***/ }),
8025
vendor: 1,632 bytes, lines 8026-8068
8026/***/ "./node_modules/core-js/modules/es.json.stringify.js":
8027/*!***********************************************************!*\
8028  !*** ./node_modules/core-js/modules/es.json.stringify.js ***!
8029  \***********************************************************/
8030/*! no static exports found */
8031/***/ (function(module, exports, __webpack_require__) {
8032
8033var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8034var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
8035var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
8036
8037var $stringify = getBuiltIn('JSON', 'stringify');
8038var re = /[\uD800-\uDFFF]/g;
8039var low = /^[\uD800-\uDBFF]$/;
8040var hi = /^[\uDC00-\uDFFF]$/;
8041
8042var fix = function (match, offset, string) {
8043  var prev = string.charAt(offset - 1);
8044  var next = string.charAt(offset + 1);
8045  if ((low.test(match) && !hi.test(next)) || (hi.test(match) && !low.test(prev))) {
8046    return '\\u' + match.charCodeAt(0).toString(16);
8047  } return match;
8048};
8049
8050var FORCED = fails(function () {
8051  return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"'
8052    || $stringify('\uDEAD') !== '"\\udead"';
8053});
8054
8055if ($stringify) {
8056  // https://github.com/tc39/proposal-well-formed-stringify
8057  $({ target: 'JSON', stat: true, forced: FORCED }, {
8058    // eslint-disable-next-line no-unused-vars
8059    stringify: function stringify(it, replacer, space) {
8060      var result = $stringify.apply(null, arguments);
8061      return typeof result == 'string' ? result.replace(re, fix) : result;
8062    }
8063  });
8064}
8065
8066
8067/***/ }),
8068
vendor: 750 bytes, lines 8069-8085
8069/***/ "./node_modules/core-js/modules/es.json.to-string-tag.js":
8070/*!***************************************************************!*\
8071  !*** ./node_modules/core-js/modules/es.json.to-string-tag.js ***!
8072  \***************************************************************/
8073/*! no static exports found */
8074/***/ (function(module, exports, __webpack_require__) {
8075
8076var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
8077var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
8078
8079// JSON[@@toStringTag] property
8080// https://tc39.github.io/ecma262/#sec-json-@@tostringtag
8081setToStringTag(global.JSON, 'JSON', true);
8082
8083
8084/***/ }),
8085
vendor: 826 bytes, lines 8086-8106
8086/***/ "./node_modules/core-js/modules/es.map.js":
8087/*!************************************************!*\
8088  !*** ./node_modules/core-js/modules/es.map.js ***!
8089  \************************************************/
8090/*! no static exports found */
8091/***/ (function(module, exports, __webpack_require__) {
8092
8093"use strict";
8094
8095var collection = __webpack_require__(/*! ../internals/collection */ "./node_modules/core-js/internals/collection.js");
8096var collectionStrong = __webpack_require__(/*! ../internals/collection-strong */ "./node_modules/core-js/internals/collection-strong.js");
8097
8098// `Map` constructor
8099// https://tc39.github.io/ecma262/#sec-map-objects
8100module.exports = collection('Map', function (init) {
8101  return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };
8102}, collectionStrong);
8103
8104
8105/***/ }),
8106
vendor: 1,172 bytes, lines 8107-8140
8107/***/ "./node_modules/core-js/modules/es.math.acosh.js":
8108/*!*******************************************************!*\
8109  !*** ./node_modules/core-js/modules/es.math.acosh.js ***!
8110  \*******************************************************/
8111/*! no static exports found */
8112/***/ (function(module, exports, __webpack_require__) {
8113
8114var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8115var log1p = __webpack_require__(/*! ../internals/math-log1p */ "./node_modules/core-js/internals/math-log1p.js");
8116
8117var nativeAcosh = Math.acosh;
8118var log = Math.log;
8119var sqrt = Math.sqrt;
8120var LN2 = Math.LN2;
8121
8122var FORCED = !nativeAcosh
8123  // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509
8124  || Math.floor(nativeAcosh(Number.MAX_VALUE)) != 710
8125  // Tor Browser bug: Math.acosh(Infinity) -> NaN
8126  || nativeAcosh(Infinity) != Infinity;
8127
8128// `Math.acosh` method
8129// https://tc39.github.io/ecma262/#sec-math.acosh
8130$({ target: 'Math', stat: true, forced: FORCED }, {
8131  acosh: function acosh(x) {
8132    return (x = +x) < 1 ? NaN : x > 94906265.62425156
8133      ? log(x) + LN2
8134      : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
8135  }
8136});
8137
8138
8139/***/ }),
8140
vendor: 847 bytes, lines 8141-8167
8141/***/ "./node_modules/core-js/modules/es.math.asinh.js":
8142/*!*******************************************************!*\
8143  !*** ./node_modules/core-js/modules/es.math.asinh.js ***!
8144  \*******************************************************/
8145/*! no static exports found */
8146/***/ (function(module, exports, __webpack_require__) {
8147
8148var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8149
8150var nativeAsinh = Math.asinh;
8151var log = Math.log;
8152var sqrt = Math.sqrt;
8153
8154function asinh(x) {
8155  return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : log(x + sqrt(x * x + 1));
8156}
8157
8158// `Math.asinh` method
8159// https://tc39.github.io/ecma262/#sec-math.asinh
8160// Tor Browser bug: Math.asinh(0) -> -0
8161$({ target: 'Math', stat: true, forced: !(nativeAsinh && 1 / nativeAsinh(0) > 0) }, {
8162  asinh: asinh
8163});
8164
8165
8166/***/ }),
8167
vendor: 790 bytes, lines 8168-8191
8168/***/ "./node_modules/core-js/modules/es.math.atanh.js":
8169/*!*******************************************************!*\
8170  !*** ./node_modules/core-js/modules/es.math.atanh.js ***!
8171  \*******************************************************/
8172/*! no static exports found */
8173/***/ (function(module, exports, __webpack_require__) {
8174
8175var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8176
8177var nativeAtanh = Math.atanh;
8178var log = Math.log;
8179
8180// `Math.atanh` method
8181// https://tc39.github.io/ecma262/#sec-math.atanh
8182// Tor Browser bug: Math.atanh(-0) -> 0
8183$({ target: 'Math', stat: true, forced: !(nativeAtanh && 1 / nativeAtanh(-0) < 0) }, {
8184  atanh: function atanh(x) {
8185    return (x = +x) == 0 ? x : log((1 + x) / (1 - x)) / 2;
8186  }
8187});
8188
8189
8190/***/ }),
8191
vendor: 779 bytes, lines 8192-8215
8192/***/ "./node_modules/core-js/modules/es.math.cbrt.js":
8193/*!******************************************************!*\
8194  !*** ./node_modules/core-js/modules/es.math.cbrt.js ***!
8195  \******************************************************/
8196/*! no static exports found */
8197/***/ (function(module, exports, __webpack_require__) {
8198
8199var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8200var sign = __webpack_require__(/*! ../internals/math-sign */ "./node_modules/core-js/internals/math-sign.js");
8201
8202var abs = Math.abs;
8203var pow = Math.pow;
8204
8205// `Math.cbrt` method
8206// https://tc39.github.io/ecma262/#sec-math.cbrt
8207$({ target: 'Math', stat: true }, {
8208  cbrt: function cbrt(x) {
8209    return sign(x = +x) * pow(abs(x), 1 / 3);
8210  }
8211});
8212
8213
8214/***/ }),
8215
vendor: 721 bytes, lines 8216-8239
8216/***/ "./node_modules/core-js/modules/es.math.clz32.js":
8217/*!*******************************************************!*\
8218  !*** ./node_modules/core-js/modules/es.math.clz32.js ***!
8219  \*******************************************************/
8220/*! no static exports found */
8221/***/ (function(module, exports, __webpack_require__) {
8222
8223var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8224
8225var floor = Math.floor;
8226var log = Math.log;
8227var LOG2E = Math.LOG2E;
8228
8229// `Math.clz32` method
8230// https://tc39.github.io/ecma262/#sec-math.clz32
8231$({ target: 'Math', stat: true }, {
8232  clz32: function clz32(x) {
8233    return (x >>>= 0) ? 31 - floor(log(x + 0.5) * LOG2E) : 32;
8234  }
8235});
8236
8237
8238/***/ }),
8239
vendor: 892 bytes, lines 8240-8265
8240/***/ "./node_modules/core-js/modules/es.math.cosh.js":
8241/*!******************************************************!*\
8242  !*** ./node_modules/core-js/modules/es.math.cosh.js ***!
8243  \******************************************************/
8244/*! no static exports found */
8245/***/ (function(module, exports, __webpack_require__) {
8246
8247var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8248var expm1 = __webpack_require__(/*! ../internals/math-expm1 */ "./node_modules/core-js/internals/math-expm1.js");
8249
8250var nativeCosh = Math.cosh;
8251var abs = Math.abs;
8252var E = Math.E;
8253
8254// `Math.cosh` method
8255// https://tc39.github.io/ecma262/#sec-math.cosh
8256$({ target: 'Math', stat: true, forced: !nativeCosh || nativeCosh(710) === Infinity }, {
8257  cosh: function cosh(x) {
8258    var t = expm1(abs(x) - 1) + 1;
8259    return (t + 1 / (t * E * E)) * (E / 2);
8260  }
8261});
8262
8263
8264/***/ }),
8265
vendor: 712 bytes, lines 8266-8282
8266/***/ "./node_modules/core-js/modules/es.math.expm1.js":
8267/*!*******************************************************!*\
8268  !*** ./node_modules/core-js/modules/es.math.expm1.js ***!
8269  \*******************************************************/
8270/*! no static exports found */
8271/***/ (function(module, exports, __webpack_require__) {
8272
8273var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8274var expm1 = __webpack_require__(/*! ../internals/math-expm1 */ "./node_modules/core-js/internals/math-expm1.js");
8275
8276// `Math.expm1` method
8277// https://tc39.github.io/ecma262/#sec-math.expm1
8278$({ target: 'Math', stat: true, forced: expm1 != Math.expm1 }, { expm1: expm1 });
8279
8280
8281/***/ }),
8282
vendor: 694 bytes, lines 8283-8299
8283/***/ "./node_modules/core-js/modules/es.math.fround.js":
8284/*!********************************************************!*\
8285  !*** ./node_modules/core-js/modules/es.math.fround.js ***!
8286  \********************************************************/
8287/*! no static exports found */
8288/***/ (function(module, exports, __webpack_require__) {
8289
8290var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8291var fround = __webpack_require__(/*! ../internals/math-fround */ "./node_modules/core-js/internals/math-fround.js");
8292
8293// `Math.fround` method
8294// https://tc39.github.io/ecma262/#sec-math.fround
8295$({ target: 'Math', stat: true }, { fround: fround });
8296
8297
8298/***/ }),
8299
vendor: 1,290 bytes, lines 8300-8343
8300/***/ "./node_modules/core-js/modules/es.math.hypot.js":
8301/*!*******************************************************!*\
8302  !*** ./node_modules/core-js/modules/es.math.hypot.js ***!
8303  \*******************************************************/
8304/*! no static exports found */
8305/***/ (function(module, exports, __webpack_require__) {
8306
8307var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8308
8309var $hypot = Math.hypot;
8310var abs = Math.abs;
8311var sqrt = Math.sqrt;
8312
8313// Chrome 77 bug
8314// https://bugs.chromium.org/p/v8/issues/detail?id=9546
8315var BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity;
8316
8317// `Math.hypot` method
8318// https://tc39.github.io/ecma262/#sec-math.hypot
8319$({ target: 'Math', stat: true, forced: BUGGY }, {
8320  hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars
8321    var sum = 0;
8322    var i = 0;
8323    var aLen = arguments.length;
8324    var larg = 0;
8325    var arg, div;
8326    while (i < aLen) {
8327      arg = abs(arguments[i++]);
8328      if (larg < arg) {
8329        div = larg / arg;
8330        sum = sum * div * div + 1;
8331        larg = arg;
8332      } else if (arg > 0) {
8333        div = arg / larg;
8334        sum += div * div;
8335      } else sum += arg;
8336    }
8337    return larg === Infinity ? Infinity : larg * sqrt(sum);
8338  }
8339});
8340
8341
8342/***/ }),
8343
vendor: 1,113 bytes, lines 8344-8376
8344/***/ "./node_modules/core-js/modules/es.math.imul.js":
8345/*!******************************************************!*\
8346  !*** ./node_modules/core-js/modules/es.math.imul.js ***!
8347  \******************************************************/
8348/*! no static exports found */
8349/***/ (function(module, exports, __webpack_require__) {
8350
8351var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8352var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
8353
8354var nativeImul = Math.imul;
8355
8356var FORCED = fails(function () {
8357  return nativeImul(0xFFFFFFFF, 5) != -5 || nativeImul.length != 2;
8358});
8359
8360// `Math.imul` method
8361// https://tc39.github.io/ecma262/#sec-math.imul
8362// some WebKit versions fails with big numbers, some has wrong arity
8363$({ target: 'Math', stat: true, forced: FORCED }, {
8364  imul: function imul(x, y) {
8365    var UINT16 = 0xFFFF;
8366    var xn = +x;
8367    var yn = +y;
8368    var xl = UINT16 & xn;
8369    var yl = UINT16 & yn;
8370    return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
8371  }
8372});
8373
8374
8375/***/ }),
8376
vendor: 664 bytes, lines 8377-8399
8377/***/ "./node_modules/core-js/modules/es.math.log10.js":
8378/*!*******************************************************!*\
8379  !*** ./node_modules/core-js/modules/es.math.log10.js ***!
8380  \*******************************************************/
8381/*! no static exports found */
8382/***/ (function(module, exports, __webpack_require__) {
8383
8384var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8385
8386var log = Math.log;
8387var LOG10E = Math.LOG10E;
8388
8389// `Math.log10` method
8390// https://tc39.github.io/ecma262/#sec-math.log10
8391$({ target: 'Math', stat: true }, {
8392  log10: function log10(x) {
8393    return log(x) * LOG10E;
8394  }
8395});
8396
8397
8398/***/ }),
8399
vendor: 683 bytes, lines 8400-8416
8400/***/ "./node_modules/core-js/modules/es.math.log1p.js":
8401/*!*******************************************************!*\
8402  !*** ./node_modules/core-js/modules/es.math.log1p.js ***!
8403  \*******************************************************/
8404/*! no static exports found */
8405/***/ (function(module, exports, __webpack_require__) {
8406
8407var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8408var log1p = __webpack_require__(/*! ../internals/math-log1p */ "./node_modules/core-js/internals/math-log1p.js");
8409
8410// `Math.log1p` method
8411// https://tc39.github.io/ecma262/#sec-math.log1p
8412$({ target: 'Math', stat: true }, { log1p: log1p });
8413
8414
8415/***/ }),
8416
vendor: 647 bytes, lines 8417-8439
8417/***/ "./node_modules/core-js/modules/es.math.log2.js":
8418/*!******************************************************!*\
8419  !*** ./node_modules/core-js/modules/es.math.log2.js ***!
8420  \******************************************************/
8421/*! no static exports found */
8422/***/ (function(module, exports, __webpack_require__) {
8423
8424var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8425
8426var log = Math.log;
8427var LN2 = Math.LN2;
8428
8429// `Math.log2` method
8430// https://tc39.github.io/ecma262/#sec-math.log2
8431$({ target: 'Math', stat: true }, {
8432  log2: function log2(x) {
8433    return log(x) / LN2;
8434  }
8435});
8436
8437
8438/***/ }),
8439
vendor: 674 bytes, lines 8440-8458
8440/***/ "./node_modules/core-js/modules/es.math.sign.js":
8441/*!******************************************************!*\
8442  !*** ./node_modules/core-js/modules/es.math.sign.js ***!
8443  \******************************************************/
8444/*! no static exports found */
8445/***/ (function(module, exports, __webpack_require__) {
8446
8447var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8448var sign = __webpack_require__(/*! ../internals/math-sign */ "./node_modules/core-js/internals/math-sign.js");
8449
8450// `Math.sign` method
8451// https://tc39.github.io/ecma262/#sec-math.sign
8452$({ target: 'Math', stat: true }, {
8453  sign: sign
8454});
8455
8456
8457/***/ }),
8458
vendor: 1,105 bytes, lines 8459-8489
8459/***/ "./node_modules/core-js/modules/es.math.sinh.js":
8460/*!******************************************************!*\
8461  !*** ./node_modules/core-js/modules/es.math.sinh.js ***!
8462  \******************************************************/
8463/*! no static exports found */
8464/***/ (function(module, exports, __webpack_require__) {
8465
8466var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8467var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
8468var expm1 = __webpack_require__(/*! ../internals/math-expm1 */ "./node_modules/core-js/internals/math-expm1.js");
8469
8470var abs = Math.abs;
8471var exp = Math.exp;
8472var E = Math.E;
8473
8474var FORCED = fails(function () {
8475  return Math.sinh(-2e-17) != -2e-17;
8476});
8477
8478// `Math.sinh` method
8479// https://tc39.github.io/ecma262/#sec-math.sinh
8480// V8 near Chromium 38 has a problem with very small numbers
8481$({ target: 'Math', stat: true, forced: FORCED }, {
8482  sinh: function sinh(x) {
8483    return abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (E / 2);
8484  }
8485});
8486
8487
8488/***/ }),
8489
vendor: 848 bytes, lines 8490-8514
8490/***/ "./node_modules/core-js/modules/es.math.tanh.js":
8491/*!******************************************************!*\
8492  !*** ./node_modules/core-js/modules/es.math.tanh.js ***!
8493  \******************************************************/
8494/*! no static exports found */
8495/***/ (function(module, exports, __webpack_require__) {
8496
8497var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8498var expm1 = __webpack_require__(/*! ../internals/math-expm1 */ "./node_modules/core-js/internals/math-expm1.js");
8499
8500var exp = Math.exp;
8501
8502// `Math.tanh` method
8503// https://tc39.github.io/ecma262/#sec-math.tanh
8504$({ target: 'Math', stat: true }, {
8505  tanh: function tanh(x) {
8506    var a = expm1(x = +x);
8507    var b = expm1(-x);
8508    return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
8509  }
8510});
8511
8512
8513/***/ }),
8514
vendor: 636 bytes, lines 8515-8530
8515/***/ "./node_modules/core-js/modules/es.math.to-string-tag.js":
8516/*!***************************************************************!*\
8517  !*** ./node_modules/core-js/modules/es.math.to-string-tag.js ***!
8518  \***************************************************************/
8519/*! no static exports found */
8520/***/ (function(module, exports, __webpack_require__) {
8521
8522var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
8523
8524// Math[@@toStringTag] property
8525// https://tc39.github.io/ecma262/#sec-math-@@tostringtag
8526setToStringTag(Math, 'Math', true);
8527
8528
8529/***/ }),
8530
vendor: 677 bytes, lines 8531-8553
8531/***/ "./node_modules/core-js/modules/es.math.trunc.js":
8532/*!*******************************************************!*\
8533  !*** ./node_modules/core-js/modules/es.math.trunc.js ***!
8534  \*******************************************************/
8535/*! no static exports found */
8536/***/ (function(module, exports, __webpack_require__) {
8537
8538var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8539
8540var ceil = Math.ceil;
8541var floor = Math.floor;
8542
8543// `Math.trunc` method
8544// https://tc39.github.io/ecma262/#sec-math.trunc
8545$({ target: 'Math', stat: true }, {
8546  trunc: function trunc(it) {
8547    return (it > 0 ? floor : ceil)(it);
8548  }
8549});
8550
8551
8552/***/ }),
8553
vendor: 4,922 bytes, lines 8554-8645
8554/***/ "./node_modules/core-js/modules/es.number.constructor.js":
8555/*!***************************************************************!*\
8556  !*** ./node_modules/core-js/modules/es.number.constructor.js ***!
8557  \***************************************************************/
8558/*! no static exports found */
8559/***/ (function(module, exports, __webpack_require__) {
8560
8561"use strict";
8562
8563var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
8564var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
8565var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js");
8566var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
8567var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
8568var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
8569var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "./node_modules/core-js/internals/inherit-if-required.js");
8570var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
8571var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
8572var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");
8573var getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f;
8574var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
8575var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
8576var trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim;
8577
8578var NUMBER = 'Number';
8579var NativeNumber = global[NUMBER];
8580var NumberPrototype = NativeNumber.prototype;
8581
8582// Opera ~12 has broken Object#toString
8583var BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;
8584
8585// `ToNumber` abstract operation
8586// https://tc39.github.io/ecma262/#sec-tonumber
8587var toNumber = function (argument) {
8588  var it = toPrimitive(argument, false);
8589  var first, third, radix, maxCode, digits, length, index, code;
8590  if (typeof it == 'string' && it.length > 2) {
8591    it = trim(it);
8592    first = it.charCodeAt(0);
8593    if (first === 43 || first === 45) {
8594      third = it.charCodeAt(2);
8595      if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
8596    } else if (first === 48) {
8597      switch (it.charCodeAt(1)) {
8598        case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i
8599        case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i
8600        default: return +it;
8601      }
8602      digits = it.slice(2);
8603      length = digits.length;
8604      for (index = 0; index < length; index++) {
8605        code = digits.charCodeAt(index);
8606        // parseInt parses a string to a first unavailable symbol
8607        // but ToNumber should return NaN if a string contains unavailable symbols
8608        if (code < 48 || code > maxCode) return NaN;
8609      } return parseInt(digits, radix);
8610    }
8611  } return +it;
8612};
8613
8614// `Number` constructor
8615// https://tc39.github.io/ecma262/#sec-number-constructor
8616if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {
8617  var NumberWrapper = function Number(value) {
8618    var it = arguments.length < 1 ? 0 : value;
8619    var dummy = this;
8620    return dummy instanceof NumberWrapper
8621      // check on 1..constructor(foo) case
8622      && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)
8623        ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);
8624  };
8625  for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (
8626    // ES3:
8627    'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
8628    // ES2015 (in case, if modules with ES2015 Number statics required before):
8629    'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
8630    'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +
8631    // ESNext
8632    'fromString,range'
8633  ).split(','), j = 0, key; keys.length > j; j++) {
8634    if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {
8635      defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));
8636    }
8637  }
8638  NumberWrapper.prototype = NumberPrototype;
8639  NumberPrototype.constructor = NumberWrapper;
8640  redefine(global, NUMBER, NumberWrapper);
8641}
8642
8643
8644/***/ }),
8645
vendor: 612 bytes, lines 8646-8663
8646/***/ "./node_modules/core-js/modules/es.number.epsilon.js":
8647/*!***********************************************************!*\
8648  !*** ./node_modules/core-js/modules/es.number.epsilon.js ***!
8649  \***********************************************************/
8650/*! no static exports found */
8651/***/ (function(module, exports, __webpack_require__) {
8652
8653var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8654
8655// `Number.EPSILON` constant
8656// https://tc39.github.io/ecma262/#sec-number.epsilon
8657$({ target: 'Number', stat: true }, {
8658  EPSILON: Math.pow(2, -52)
8659});
8660
8661
8662/***/ }),
8663
vendor: 752 bytes, lines 8664-8680
8664/***/ "./node_modules/core-js/modules/es.number.is-finite.js":
8665/*!*************************************************************!*\
8666  !*** ./node_modules/core-js/modules/es.number.is-finite.js ***!
8667  \*************************************************************/
8668/*! no static exports found */
8669/***/ (function(module, exports, __webpack_require__) {
8670
8671var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8672var numberIsFinite = __webpack_require__(/*! ../internals/number-is-finite */ "./node_modules/core-js/internals/number-is-finite.js");
8673
8674// `Number.isFinite` method
8675// https://tc39.github.io/ecma262/#sec-number.isfinite
8676$({ target: 'Number', stat: true }, { isFinite: numberIsFinite });
8677
8678
8679/***/ }),
8680
vendor: 739 bytes, lines 8681-8699
8681/***/ "./node_modules/core-js/modules/es.number.is-integer.js":
8682/*!**************************************************************!*\
8683  !*** ./node_modules/core-js/modules/es.number.is-integer.js ***!
8684  \**************************************************************/
8685/*! no static exports found */
8686/***/ (function(module, exports, __webpack_require__) {
8687
8688var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8689var isInteger = __webpack_require__(/*! ../internals/is-integer */ "./node_modules/core-js/internals/is-integer.js");
8690
8691// `Number.isInteger` method
8692// https://tc39.github.io/ecma262/#sec-number.isinteger
8693$({ target: 'Number', stat: true }, {
8694  isInteger: isInteger
8695});
8696
8697
8698/***/ }),
8699
vendor: 689 bytes, lines 8700-8720
8700/***/ "./node_modules/core-js/modules/es.number.is-nan.js":
8701/*!**********************************************************!*\
8702  !*** ./node_modules/core-js/modules/es.number.is-nan.js ***!
8703  \**********************************************************/
8704/*! no static exports found */
8705/***/ (function(module, exports, __webpack_require__) {
8706
8707var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8708
8709// `Number.isNaN` method
8710// https://tc39.github.io/ecma262/#sec-number.isnan
8711$({ target: 'Number', stat: true }, {
8712  isNaN: function isNaN(number) {
8713    // eslint-disable-next-line no-self-compare
8714    return number != number;
8715  }
8716});
8717
8718
8719/***/ }),
8720
vendor: 884 bytes, lines 8721-8743
8721/***/ "./node_modules/core-js/modules/es.number.is-safe-integer.js":
8722/*!*******************************************************************!*\
8723  !*** ./node_modules/core-js/modules/es.number.is-safe-integer.js ***!
8724  \*******************************************************************/
8725/*! no static exports found */
8726/***/ (function(module, exports, __webpack_require__) {
8727
8728var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8729var isInteger = __webpack_require__(/*! ../internals/is-integer */ "./node_modules/core-js/internals/is-integer.js");
8730
8731var abs = Math.abs;
8732
8733// `Number.isSafeInteger` method
8734// https://tc39.github.io/ecma262/#sec-number.issafeinteger
8735$({ target: 'Number', stat: true }, {
8736  isSafeInteger: function isSafeInteger(number) {
8737    return isInteger(number) && abs(number) <= 0x1FFFFFFFFFFFFF;
8738  }
8739});
8740
8741
8742/***/ }),
8743
vendor: 675 bytes, lines 8744-8761
8744/***/ "./node_modules/core-js/modules/es.number.max-safe-integer.js":
8745/*!********************************************************************!*\
8746  !*** ./node_modules/core-js/modules/es.number.max-safe-integer.js ***!
8747  \********************************************************************/
8748/*! no static exports found */
8749/***/ (function(module, exports, __webpack_require__) {
8750
8751var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8752
8753// `Number.MAX_SAFE_INTEGER` constant
8754// https://tc39.github.io/ecma262/#sec-number.max_safe_integer
8755$({ target: 'Number', stat: true }, {
8756  MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF
8757});
8758
8759
8760/***/ }),
8761
vendor: 676 bytes, lines 8762-8779
8762/***/ "./node_modules/core-js/modules/es.number.min-safe-integer.js":
8763/*!********************************************************************!*\
8764  !*** ./node_modules/core-js/modules/es.number.min-safe-integer.js ***!
8765  \********************************************************************/
8766/*! no static exports found */
8767/***/ (function(module, exports, __webpack_require__) {
8768
8769var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8770
8771// `Number.MIN_SAFE_INTEGER` constant
8772// https://tc39.github.io/ecma262/#sec-number.min_safe_integer
8773$({ target: 'Number', stat: true }, {
8774  MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF
8775});
8776
8777
8778/***/ }),
8779
vendor: 805 bytes, lines 8780-8798
8780/***/ "./node_modules/core-js/modules/es.number.parse-float.js":
8781/*!***************************************************************!*\
8782  !*** ./node_modules/core-js/modules/es.number.parse-float.js ***!
8783  \***************************************************************/
8784/*! no static exports found */
8785/***/ (function(module, exports, __webpack_require__) {
8786
8787var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8788var parseFloat = __webpack_require__(/*! ../internals/number-parse-float */ "./node_modules/core-js/internals/number-parse-float.js");
8789
8790// `Number.parseFloat` method
8791// https://tc39.github.io/ecma262/#sec-number.parseFloat
8792$({ target: 'Number', stat: true, forced: Number.parseFloat != parseFloat }, {
8793  parseFloat: parseFloat
8794});
8795
8796
8797/***/ }),
8798
vendor: 779 bytes, lines 8799-8817
8799/***/ "./node_modules/core-js/modules/es.number.parse-int.js":
8800/*!*************************************************************!*\
8801  !*** ./node_modules/core-js/modules/es.number.parse-int.js ***!
8802  \*************************************************************/
8803/*! no static exports found */
8804/***/ (function(module, exports, __webpack_require__) {
8805
8806var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8807var parseInt = __webpack_require__(/*! ../internals/number-parse-int */ "./node_modules/core-js/internals/number-parse-int.js");
8808
8809// `Number.parseInt` method
8810// https://tc39.github.io/ecma262/#sec-number.parseint
8811$({ target: 'Number', stat: true, forced: Number.parseInt != parseInt }, {
8812  parseInt: parseInt
8813});
8814
8815
8816/***/ }),
8817
vendor: 4,083 bytes, lines 8818-8955
8818/***/ "./node_modules/core-js/modules/es.number.to-fixed.js":
8819/*!************************************************************!*\
8820  !*** ./node_modules/core-js/modules/es.number.to-fixed.js ***!
8821  \************************************************************/
8822/*! no static exports found */
8823/***/ (function(module, exports, __webpack_require__) {
8824
8825"use strict";
8826
8827var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8828var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
8829var thisNumberValue = __webpack_require__(/*! ../internals/this-number-value */ "./node_modules/core-js/internals/this-number-value.js");
8830var repeat = __webpack_require__(/*! ../internals/string-repeat */ "./node_modules/core-js/internals/string-repeat.js");
8831var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
8832
8833var nativeToFixed = 1.0.toFixed;
8834var floor = Math.floor;
8835
8836var pow = function (x, n, acc) {
8837  return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);
8838};
8839
8840var log = function (x) {
8841  var n = 0;
8842  var x2 = x;
8843  while (x2 >= 4096) {
8844    n += 12;
8845    x2 /= 4096;
8846  }
8847  while (x2 >= 2) {
8848    n += 1;
8849    x2 /= 2;
8850  } return n;
8851};
8852
8853var FORCED = nativeToFixed && (
8854  0.00008.toFixed(3) !== '0.000' ||
8855  0.9.toFixed(0) !== '1' ||
8856  1.255.toFixed(2) !== '1.25' ||
8857  1000000000000000128.0.toFixed(0) !== '1000000000000000128'
8858) || !fails(function () {
8859  // V8 ~ Android 4.3-
8860  nativeToFixed.call({});
8861});
8862
8863// `Number.prototype.toFixed` method
8864// https://tc39.github.io/ecma262/#sec-number.prototype.tofixed
8865$({ target: 'Number', proto: true, forced: FORCED }, {
8866  // eslint-disable-next-line max-statements
8867  toFixed: function toFixed(fractionDigits) {
8868    var number = thisNumberValue(this);
8869    var fractDigits = toInteger(fractionDigits);
8870    var data = [0, 0, 0, 0, 0, 0];
8871    var sign = '';
8872    var result = '0';
8873    var e, z, j, k;
8874
8875    var multiply = function (n, c) {
8876      var index = -1;
8877      var c2 = c;
8878      while (++index < 6) {
8879        c2 += n * data[index];
8880        data[index] = c2 % 1e7;
8881        c2 = floor(c2 / 1e7);
8882      }
8883    };
8884
8885    var divide = function (n) {
8886      var index = 6;
8887      var c = 0;
8888      while (--index >= 0) {
8889        c += data[index];
8890        data[index] = floor(c / n);
8891        c = (c % n) * 1e7;
8892      }
8893    };
8894
8895    var dataToString = function () {
8896      var index = 6;
8897      var s = '';
8898      while (--index >= 0) {
8899        if (s !== '' || index === 0 || data[index] !== 0) {
8900          var t = String(data[index]);
8901          s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t;
8902        }
8903      } return s;
8904    };
8905
8906    if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');
8907    // eslint-disable-next-line no-self-compare
8908    if (number != number) return 'NaN';
8909    if (number <= -1e21 || number >= 1e21) return String(number);
8910    if (number < 0) {
8911      sign = '-';
8912      number = -number;
8913    }
8914    if (number > 1e-21) {
8915      e = log(number * pow(2, 69, 1)) - 69;
8916      z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);
8917      z *= 0x10000000000000;
8918      e = 52 - e;
8919      if (e > 0) {
8920        multiply(0, z);
8921        j = fractDigits;
8922        while (j >= 7) {
8923          multiply(1e7, 0);
8924          j -= 7;
8925        }
8926        multiply(pow(10, j, 1), 0);
8927        j = e - 1;
8928        while (j >= 23) {
8929          divide(1 << 23);
8930          j -= 23;
8931        }
8932        divide(1 << j);
8933        multiply(1, 1);
8934        divide(2);
8935        result = dataToString();
8936      } else {
8937        multiply(0, z);
8938        multiply(1 << -e, 0);
8939        result = dataToString() + repeat.call('0', fractDigits);
8940      }
8941    }
8942    if (fractDigits > 0) {
8943      k = result.length;
8944      result = sign + (k <= fractDigits
8945        ? '0.' + repeat.call('0', fractDigits - k) + result
8946        : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));
8947    } else {
8948      result = sign + result;
8949    } return result;
8950  }
8951});
8952
8953
8954/***/ }),
8955
vendor: 1,337 bytes, lines 8956-8991
8956/***/ "./node_modules/core-js/modules/es.number.to-precision.js":
8957/*!****************************************************************!*\
8958  !*** ./node_modules/core-js/modules/es.number.to-precision.js ***!
8959  \****************************************************************/
8960/*! no static exports found */
8961/***/ (function(module, exports, __webpack_require__) {
8962
8963"use strict";
8964
8965var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
8966var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
8967var thisNumberValue = __webpack_require__(/*! ../internals/this-number-value */ "./node_modules/core-js/internals/this-number-value.js");
8968
8969var nativeToPrecision = 1.0.toPrecision;
8970
8971var FORCED = fails(function () {
8972  // IE7-
8973  return nativeToPrecision.call(1, undefined) !== '1';
8974}) || !fails(function () {
8975  // V8 ~ Android 4.3-
8976  nativeToPrecision.call({});
8977});
8978
8979// `Number.prototype.toPrecision` method
8980// https://tc39.github.io/ecma262/#sec-number.prototype.toprecision
8981$({ target: 'Number', proto: true, forced: FORCED }, {
8982  toPrecision: function toPrecision(precision) {
8983    return precision === undefined
8984      ? nativeToPrecision.call(thisNumberValue(this))
8985      : nativeToPrecision.call(thisNumberValue(this), precision);
8986  }
8987});
8988
8989
8990/***/ }),
8991
vendor: 748 bytes, lines 8992-9010
8992/***/ "./node_modules/core-js/modules/es.object.assign.js":
8993/*!**********************************************************!*\
8994  !*** ./node_modules/core-js/modules/es.object.assign.js ***!
8995  \**********************************************************/
8996/*! no static exports found */
8997/***/ (function(module, exports, __webpack_require__) {
8998
8999var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9000var assign = __webpack_require__(/*! ../internals/object-assign */ "./node_modules/core-js/internals/object-assign.js");
9001
9002// `Object.assign` method
9003// https://tc39.github.io/ecma262/#sec-object.assign
9004$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
9005  assign: assign
9006});
9007
9008
9009/***/ }),
9010
vendor: 856 bytes, lines 9011-9030
9011/***/ "./node_modules/core-js/modules/es.object.create.js":
9012/*!**********************************************************!*\
9013  !*** ./node_modules/core-js/modules/es.object.create.js ***!
9014  \**********************************************************/
9015/*! no static exports found */
9016/***/ (function(module, exports, __webpack_require__) {
9017
9018var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9019var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
9020var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");
9021
9022// `Object.create` method
9023// https://tc39.github.io/ecma262/#sec-object.create
9024$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {
9025  create: create
9026});
9027
9028
9029/***/ }),
9030
vendor: 1,552 bytes, lines 9031-9059
9031/***/ "./node_modules/core-js/modules/es.object.define-getter.js":
9032/*!*****************************************************************!*\
9033  !*** ./node_modules/core-js/modules/es.object.define-getter.js ***!
9034  \*****************************************************************/
9035/*! no static exports found */
9036/***/ (function(module, exports, __webpack_require__) {
9037
9038"use strict";
9039
9040var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9041var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
9042var FORCED = __webpack_require__(/*! ../internals/object-prototype-accessors-forced */ "./node_modules/core-js/internals/object-prototype-accessors-forced.js");
9043var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
9044var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
9045var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
9046
9047// `Object.prototype.__defineGetter__` method
9048// https://tc39.github.io/ecma262/#sec-object.prototype.__defineGetter__
9049if (DESCRIPTORS) {
9050  $({ target: 'Object', proto: true, forced: FORCED }, {
9051    __defineGetter__: function __defineGetter__(P, getter) {
9052      definePropertyModule.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });
9053    }
9054  });
9055}
9056
9057
9058/***/ }),
9059
vendor: 994 bytes, lines 9060-9079
9060/***/ "./node_modules/core-js/modules/es.object.define-properties.js":
9061/*!*********************************************************************!*\
9062  !*** ./node_modules/core-js/modules/es.object.define-properties.js ***!
9063  \*********************************************************************/
9064/*! no static exports found */
9065/***/ (function(module, exports, __webpack_require__) {
9066
9067var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9068var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
9069var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js");
9070
9071// `Object.defineProperties` method
9072// https://tc39.github.io/ecma262/#sec-object.defineproperties
9073$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {
9074  defineProperties: defineProperties
9075});
9076
9077
9078/***/ }),
9079
vendor: 998 bytes, lines 9080-9099
9080/***/ "./node_modules/core-js/modules/es.object.define-property.js":
9081/*!*******************************************************************!*\
9082  !*** ./node_modules/core-js/modules/es.object.define-property.js ***!
9083  \*******************************************************************/
9084/*! no static exports found */
9085/***/ (function(module, exports, __webpack_require__) {
9086
9087var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9088var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
9089var objectDefinePropertyModile = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
9090
9091// `Object.defineProperty` method
9092// https://tc39.github.io/ecma262/#sec-object.defineproperty
9093$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {
9094  defineProperty: objectDefinePropertyModile.f
9095});
9096
9097
9098/***/ }),
9099
vendor: 1,552 bytes, lines 9100-9128
9100/***/ "./node_modules/core-js/modules/es.object.define-setter.js":
9101/*!*****************************************************************!*\
9102  !*** ./node_modules/core-js/modules/es.object.define-setter.js ***!
9103  \*****************************************************************/
9104/*! no static exports found */
9105/***/ (function(module, exports, __webpack_require__) {
9106
9107"use strict";
9108
9109var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9110var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
9111var FORCED = __webpack_require__(/*! ../internals/object-prototype-accessors-forced */ "./node_modules/core-js/internals/object-prototype-accessors-forced.js");
9112var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
9113var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
9114var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
9115
9116// `Object.prototype.__defineSetter__` method
9117// https://tc39.github.io/ecma262/#sec-object.prototype.__defineSetter__
9118if (DESCRIPTORS) {
9119  $({ target: 'Object', proto: true, forced: FORCED }, {
9120    __defineSetter__: function __defineSetter__(P, setter) {
9121      definePropertyModule.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });
9122    }
9123  });
9124}
9125
9126
9127/***/ }),
9128
vendor: 778 bytes, lines 9129-9149
9129/***/ "./node_modules/core-js/modules/es.object.entries.js":
9130/*!***********************************************************!*\
9131  !*** ./node_modules/core-js/modules/es.object.entries.js ***!
9132  \***********************************************************/
9133/*! no static exports found */
9134/***/ (function(module, exports, __webpack_require__) {
9135
9136var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9137var $entries = __webpack_require__(/*! ../internals/object-to-array */ "./node_modules/core-js/internals/object-to-array.js").entries;
9138
9139// `Object.entries` method
9140// https://tc39.github.io/ecma262/#sec-object.entries
9141$({ target: 'Object', stat: true }, {
9142  entries: function entries(O) {
9143    return $entries(O);
9144  }
9145});
9146
9147
9148/***/ }),
9149
vendor: 1,307 bytes, lines 9150-9176
9150/***/ "./node_modules/core-js/modules/es.object.freeze.js":
9151/*!**********************************************************!*\
9152  !*** ./node_modules/core-js/modules/es.object.freeze.js ***!
9153  \**********************************************************/
9154/*! no static exports found */
9155/***/ (function(module, exports, __webpack_require__) {
9156
9157var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9158var FREEZING = __webpack_require__(/*! ../internals/freezing */ "./node_modules/core-js/internals/freezing.js");
9159var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
9160var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
9161var onFreeze = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js").onFreeze;
9162
9163var nativeFreeze = Object.freeze;
9164var FAILS_ON_PRIMITIVES = fails(function () { nativeFreeze(1); });
9165
9166// `Object.freeze` method
9167// https://tc39.github.io/ecma262/#sec-object.freeze
9168$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {
9169  freeze: function freeze(it) {
9170    return nativeFreeze && isObject(it) ? nativeFreeze(onFreeze(it)) : it;
9171  }
9172});
9173
9174
9175/***/ }),
9176
vendor: 1,040 bytes, lines 9177-9202
9177/***/ "./node_modules/core-js/modules/es.object.from-entries.js":
9178/*!****************************************************************!*\
9179  !*** ./node_modules/core-js/modules/es.object.from-entries.js ***!
9180  \****************************************************************/
9181/*! no static exports found */
9182/***/ (function(module, exports, __webpack_require__) {
9183
9184var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9185var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js");
9186var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js");
9187
9188// `Object.fromEntries` method
9189// https://github.com/tc39/proposal-object-from-entries
9190$({ target: 'Object', stat: true }, {
9191  fromEntries: function fromEntries(iterable) {
9192    var obj = {};
9193    iterate(iterable, function (k, v) {
9194      createProperty(obj, k, v);
9195    }, { AS_ENTRIES: true });
9196    return obj;
9197  }
9198});
9199
9200
9201/***/ }),
9202
vendor: 1,567 bytes, lines 9203-9229
9203/***/ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js":
9204/*!*******************************************************************************!*\
9205  !*** ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js ***!
9206  \*******************************************************************************/
9207/*! no static exports found */
9208/***/ (function(module, exports, __webpack_require__) {
9209
9210var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9211var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
9212var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
9213var nativeGetOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
9214var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
9215
9216var FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });
9217var FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;
9218
9219// `Object.getOwnPropertyDescriptor` method
9220// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
9221$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {
9222  getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {
9223    return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);
9224  }
9225});
9226
9227
9228/***/ }),
9229
vendor: 1,895 bytes, lines 9230-9264
9230/***/ "./node_modules/core-js/modules/es.object.get-own-property-descriptors.js":
9231/*!********************************************************************************!*\
9232  !*** ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js ***!
9233  \********************************************************************************/
9234/*! no static exports found */
9235/***/ (function(module, exports, __webpack_require__) {
9236
9237var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9238var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
9239var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/core-js/internals/own-keys.js");
9240var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
9241var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js");
9242var createProperty = __webpack_require__(/*! ../internals/create-property */ "./node_modules/core-js/internals/create-property.js");
9243
9244// `Object.getOwnPropertyDescriptors` method
9245// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
9246$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {
9247  getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
9248    var O = toIndexedObject(object);
9249    var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
9250    var keys = ownKeys(O);
9251    var result = {};
9252    var index = 0;
9253    var key, descriptor;
9254    while (keys.length > index) {
9255      descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);
9256      if (descriptor !== undefined) createProperty(result, key, descriptor);
9257    }
9258    return result;
9259  }
9260});
9261
9262
9263/***/ }),
9264
vendor: 1,130 bytes, lines 9265-9286
9265/***/ "./node_modules/core-js/modules/es.object.get-own-property-names.js":
9266/*!**************************************************************************!*\
9267  !*** ./node_modules/core-js/modules/es.object.get-own-property-names.js ***!
9268  \**************************************************************************/
9269/*! no static exports found */
9270/***/ (function(module, exports, __webpack_require__) {
9271
9272var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9273var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
9274var nativeGetOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names-external */ "./node_modules/core-js/internals/object-get-own-property-names-external.js").f;
9275
9276var FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); });
9277
9278// `Object.getOwnPropertyNames` method
9279// https://tc39.github.io/ecma262/#sec-object.getownpropertynames
9280$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
9281  getOwnPropertyNames: nativeGetOwnPropertyNames
9282});
9283
9284
9285/***/ }),
9286
vendor: 1,405 bytes, lines 9287-9313
9287/***/ "./node_modules/core-js/modules/es.object.get-prototype-of.js":
9288/*!********************************************************************!*\
9289  !*** ./node_modules/core-js/modules/es.object.get-prototype-of.js ***!
9290  \********************************************************************/
9291/*! no static exports found */
9292/***/ (function(module, exports, __webpack_require__) {
9293
9294var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9295var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
9296var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
9297var nativeGetPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");
9298var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/core-js/internals/correct-prototype-getter.js");
9299
9300var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });
9301
9302// `Object.getPrototypeOf` method
9303// https://tc39.github.io/ecma262/#sec-object.getprototypeof
9304$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {
9305  getPrototypeOf: function getPrototypeOf(it) {
9306    return nativeGetPrototypeOf(toObject(it));
9307  }
9308});
9309
9310
9311
9312/***/ }),
9313
vendor: 1,118 bytes, lines 9314-9338
9314/***/ "./node_modules/core-js/modules/es.object.is-extensible.js":
9315/*!*****************************************************************!*\
9316  !*** ./node_modules/core-js/modules/es.object.is-extensible.js ***!
9317  \*****************************************************************/
9318/*! no static exports found */
9319/***/ (function(module, exports, __webpack_require__) {
9320
9321var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9322var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
9323var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
9324
9325var nativeIsExtensible = Object.isExtensible;
9326var FAILS_ON_PRIMITIVES = fails(function () { nativeIsExtensible(1); });
9327
9328// `Object.isExtensible` method
9329// https://tc39.github.io/ecma262/#sec-object.isextensible
9330$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
9331  isExtensible: function isExtensible(it) {
9332    return isObject(it) ? nativeIsExtensible ? nativeIsExtensible(it) : true : false;
9333  }
9334});
9335
9336
9337/***/ }),
9338
vendor: 1,066 bytes, lines 9339-9363
9339/***/ "./node_modules/core-js/modules/es.object.is-frozen.js":
9340/*!*************************************************************!*\
9341  !*** ./node_modules/core-js/modules/es.object.is-frozen.js ***!
9342  \*************************************************************/
9343/*! no static exports found */
9344/***/ (function(module, exports, __webpack_require__) {
9345
9346var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9347var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
9348var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
9349
9350var nativeIsFrozen = Object.isFrozen;
9351var FAILS_ON_PRIMITIVES = fails(function () { nativeIsFrozen(1); });
9352
9353// `Object.isFrozen` method
9354// https://tc39.github.io/ecma262/#sec-object.isfrozen
9355$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
9356  isFrozen: function isFrozen(it) {
9357    return isObject(it) ? nativeIsFrozen ? nativeIsFrozen(it) : false : true;
9358  }
9359});
9360
9361
9362/***/ }),
9363
vendor: 1,066 bytes, lines 9364-9388
9364/***/ "./node_modules/core-js/modules/es.object.is-sealed.js":
9365/*!*************************************************************!*\
9366  !*** ./node_modules/core-js/modules/es.object.is-sealed.js ***!
9367  \*************************************************************/
9368/*! no static exports found */
9369/***/ (function(module, exports, __webpack_require__) {
9370
9371var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9372var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
9373var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
9374
9375var nativeIsSealed = Object.isSealed;
9376var FAILS_ON_PRIMITIVES = fails(function () { nativeIsSealed(1); });
9377
9378// `Object.isSealed` method
9379// https://tc39.github.io/ecma262/#sec-object.issealed
9380$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
9381  isSealed: function isSealed(it) {
9382    return isObject(it) ? nativeIsSealed ? nativeIsSealed(it) : false : true;
9383  }
9384});
9385
9386
9387/***/ }),
9388
vendor: 672 bytes, lines 9389-9407
9389/***/ "./node_modules/core-js/modules/es.object.is.js":
9390/*!******************************************************!*\
9391  !*** ./node_modules/core-js/modules/es.object.is.js ***!
9392  \******************************************************/
9393/*! no static exports found */
9394/***/ (function(module, exports, __webpack_require__) {
9395
9396var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9397var is = __webpack_require__(/*! ../internals/same-value */ "./node_modules/core-js/internals/same-value.js");
9398
9399// `Object.is` method
9400// https://tc39.github.io/ecma262/#sec-object.is
9401$({ target: 'Object', stat: true }, {
9402  is: is
9403});
9404
9405
9406/***/ }),
9407
vendor: 1,068 bytes, lines 9408-9432
9408/***/ "./node_modules/core-js/modules/es.object.keys.js":
9409/*!********************************************************!*\
9410  !*** ./node_modules/core-js/modules/es.object.keys.js ***!
9411  \********************************************************/
9412/*! no static exports found */
9413/***/ (function(module, exports, __webpack_require__) {
9414
9415var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9416var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
9417var nativeKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js");
9418var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
9419
9420var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });
9421
9422// `Object.keys` method
9423// https://tc39.github.io/ecma262/#sec-object.keys
9424$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
9425  keys: function keys(it) {
9426    return nativeKeys(toObject(it));
9427  }
9428});
9429
9430
9431/***/ }),
9432
vendor: 1,818 bytes, lines 9433-9467
9433/***/ "./node_modules/core-js/modules/es.object.lookup-getter.js":
9434/*!*****************************************************************!*\
9435  !*** ./node_modules/core-js/modules/es.object.lookup-getter.js ***!
9436  \*****************************************************************/
9437/*! no static exports found */
9438/***/ (function(module, exports, __webpack_require__) {
9439
9440"use strict";
9441
9442var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9443var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
9444var FORCED = __webpack_require__(/*! ../internals/object-prototype-accessors-forced */ "./node_modules/core-js/internals/object-prototype-accessors-forced.js");
9445var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
9446var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
9447var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");
9448var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
9449
9450// `Object.prototype.__lookupGetter__` method
9451// https://tc39.github.io/ecma262/#sec-object.prototype.__lookupGetter__
9452if (DESCRIPTORS) {
9453  $({ target: 'Object', proto: true, forced: FORCED }, {
9454    __lookupGetter__: function __lookupGetter__(P) {
9455      var O = toObject(this);
9456      var key = toPrimitive(P, true);
9457      var desc;
9458      do {
9459        if (desc = getOwnPropertyDescriptor(O, key)) return desc.get;
9460      } while (O = getPrototypeOf(O));
9461    }
9462  });
9463}
9464
9465
9466/***/ }),
9467
vendor: 1,818 bytes, lines 9468-9502
9468/***/ "./node_modules/core-js/modules/es.object.lookup-setter.js":
9469/*!*****************************************************************!*\
9470  !*** ./node_modules/core-js/modules/es.object.lookup-setter.js ***!
9471  \*****************************************************************/
9472/*! no static exports found */
9473/***/ (function(module, exports, __webpack_require__) {
9474
9475"use strict";
9476
9477var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9478var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
9479var FORCED = __webpack_require__(/*! ../internals/object-prototype-accessors-forced */ "./node_modules/core-js/internals/object-prototype-accessors-forced.js");
9480var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
9481var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
9482var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");
9483var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
9484
9485// `Object.prototype.__lookupSetter__` method
9486// https://tc39.github.io/ecma262/#sec-object.prototype.__lookupSetter__
9487if (DESCRIPTORS) {
9488  $({ target: 'Object', proto: true, forced: FORCED }, {
9489    __lookupSetter__: function __lookupSetter__(P) {
9490      var O = toObject(this);
9491      var key = toPrimitive(P, true);
9492      var desc;
9493      do {
9494        if (desc = getOwnPropertyDescriptor(O, key)) return desc.set;
9495      } while (O = getPrototypeOf(O));
9496    }
9497  });
9498}
9499
9500
9501/***/ }),
9502
vendor: 1,454 bytes, lines 9503-9529
9503/***/ "./node_modules/core-js/modules/es.object.prevent-extensions.js":
9504/*!**********************************************************************!*\
9505  !*** ./node_modules/core-js/modules/es.object.prevent-extensions.js ***!
9506  \**********************************************************************/
9507/*! no static exports found */
9508/***/ (function(module, exports, __webpack_require__) {
9509
9510var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9511var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
9512var onFreeze = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js").onFreeze;
9513var FREEZING = __webpack_require__(/*! ../internals/freezing */ "./node_modules/core-js/internals/freezing.js");
9514var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
9515
9516var nativePreventExtensions = Object.preventExtensions;
9517var FAILS_ON_PRIMITIVES = fails(function () { nativePreventExtensions(1); });
9518
9519// `Object.preventExtensions` method
9520// https://tc39.github.io/ecma262/#sec-object.preventextensions
9521$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {
9522  preventExtensions: function preventExtensions(it) {
9523    return nativePreventExtensions && isObject(it) ? nativePreventExtensions(onFreeze(it)) : it;
9524  }
9525});
9526
9527
9528/***/ }),
9529
vendor: 1,281 bytes, lines 9530-9556
9530/***/ "./node_modules/core-js/modules/es.object.seal.js":
9531/*!********************************************************!*\
9532  !*** ./node_modules/core-js/modules/es.object.seal.js ***!
9533  \********************************************************/
9534/*! no static exports found */
9535/***/ (function(module, exports, __webpack_require__) {
9536
9537var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9538var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
9539var onFreeze = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js").onFreeze;
9540var FREEZING = __webpack_require__(/*! ../internals/freezing */ "./node_modules/core-js/internals/freezing.js");
9541var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
9542
9543var nativeSeal = Object.seal;
9544var FAILS_ON_PRIMITIVES = fails(function () { nativeSeal(1); });
9545
9546// `Object.seal` method
9547// https://tc39.github.io/ecma262/#sec-object.seal
9548$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {
9549  seal: function seal(it) {
9550    return nativeSeal && isObject(it) ? nativeSeal(onFreeze(it)) : it;
9551  }
9552});
9553
9554
9555/***/ }),
9556
vendor: 814 bytes, lines 9557-9575
9557/***/ "./node_modules/core-js/modules/es.object.set-prototype-of.js":
9558/*!********************************************************************!*\
9559  !*** ./node_modules/core-js/modules/es.object.set-prototype-of.js ***!
9560  \********************************************************************/
9561/*! no static exports found */
9562/***/ (function(module, exports, __webpack_require__) {
9563
9564var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9565var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js");
9566
9567// `Object.setPrototypeOf` method
9568// https://tc39.github.io/ecma262/#sec-object.setprototypeof
9569$({ target: 'Object', stat: true }, {
9570  setPrototypeOf: setPrototypeOf
9571});
9572
9573
9574/***/ }),
9575
vendor: 964 bytes, lines 9576-9595
9576/***/ "./node_modules/core-js/modules/es.object.to-string.js":
9577/*!*************************************************************!*\
9578  !*** ./node_modules/core-js/modules/es.object.to-string.js ***!
9579  \*************************************************************/
9580/*! no static exports found */
9581/***/ (function(module, exports, __webpack_require__) {
9582
9583var TO_STRING_TAG_SUPPORT = __webpack_require__(/*! ../internals/to-string-tag-support */ "./node_modules/core-js/internals/to-string-tag-support.js");
9584var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
9585var toString = __webpack_require__(/*! ../internals/object-to-string */ "./node_modules/core-js/internals/object-to-string.js");
9586
9587// `Object.prototype.toString` method
9588// https://tc39.github.io/ecma262/#sec-object.prototype.tostring
9589if (!TO_STRING_TAG_SUPPORT) {
9590  redefine(Object.prototype, 'toString', toString, { unsafe: true });
9591}
9592
9593
9594/***/ }),
9595
vendor: 767 bytes, lines 9596-9616
9596/***/ "./node_modules/core-js/modules/es.object.values.js":
9597/*!**********************************************************!*\
9598  !*** ./node_modules/core-js/modules/es.object.values.js ***!
9599  \**********************************************************/
9600/*! no static exports found */
9601/***/ (function(module, exports, __webpack_require__) {
9602
9603var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9604var $values = __webpack_require__(/*! ../internals/object-to-array */ "./node_modules/core-js/internals/object-to-array.js").values;
9605
9606// `Object.values` method
9607// https://tc39.github.io/ecma262/#sec-object.values
9608$({ target: 'Object', stat: true }, {
9609  values: function values(O) {
9610    return $values(O);
9611  }
9612});
9613
9614
9615/***/ }),
9616
vendor: 789 bytes, lines 9617-9635
9617/***/ "./node_modules/core-js/modules/es.parse-float.js":
9618/*!********************************************************!*\
9619  !*** ./node_modules/core-js/modules/es.parse-float.js ***!
9620  \********************************************************/
9621/*! no static exports found */
9622/***/ (function(module, exports, __webpack_require__) {
9623
9624var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9625var parseFloatImplementation = __webpack_require__(/*! ../internals/number-parse-float */ "./node_modules/core-js/internals/number-parse-float.js");
9626
9627// `parseFloat` method
9628// https://tc39.github.io/ecma262/#sec-parsefloat-string
9629$({ global: true, forced: parseFloat != parseFloatImplementation }, {
9630  parseFloat: parseFloatImplementation
9631});
9632
9633
9634/***/ }),
9635
vendor: 769 bytes, lines 9636-9654
9636/***/ "./node_modules/core-js/modules/es.parse-int.js":
9637/*!******************************************************!*\
9638  !*** ./node_modules/core-js/modules/es.parse-int.js ***!
9639  \******************************************************/
9640/*! no static exports found */
9641/***/ (function(module, exports, __webpack_require__) {
9642
9643var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9644var parseIntImplementation = __webpack_require__(/*! ../internals/number-parse-int */ "./node_modules/core-js/internals/number-parse-int.js");
9645
9646// `parseInt` method
9647// https://tc39.github.io/ecma262/#sec-parseint-string-radix
9648$({ global: true, forced: parseInt != parseIntImplementation }, {
9649  parseInt: parseIntImplementation
9650});
9651
9652
9653/***/ }),
9654
vendor: 2,228 bytes, lines 9655-9709
9655/***/ "./node_modules/core-js/modules/es.promise.all-settled.js":
9656/*!****************************************************************!*\
9657  !*** ./node_modules/core-js/modules/es.promise.all-settled.js ***!
9658  \****************************************************************/
9659/*! no static exports found */
9660/***/ (function(module, exports, __webpack_require__) {
9661
9662"use strict";
9663
9664var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9665var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
9666var newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js/internals/new-promise-capability.js");
9667var perform = __webpack_require__(/*! ../internals/perform */ "./node_modules/core-js/internals/perform.js");
9668var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js");
9669
9670// `Promise.allSettled` method
9671// https://github.com/tc39/proposal-promise-allSettled
9672$({ target: 'Promise', stat: true }, {
9673  allSettled: function allSettled(iterable) {
9674    var C = this;
9675    var capability = newPromiseCapabilityModule.f(C);
9676    var resolve = capability.resolve;
9677    var reject = capability.reject;
9678    var result = perform(function () {
9679      var promiseResolve = aFunction(C.resolve);
9680      var values = [];
9681      var counter = 0;
9682      var remaining = 1;
9683      iterate(iterable, function (promise) {
9684        var index = counter++;
9685        var alreadyCalled = false;
9686        values.push(undefined);
9687        remaining++;
9688        promiseResolve.call(C, promise).then(function (value) {
9689          if (alreadyCalled) return;
9690          alreadyCalled = true;
9691          values[index] = { status: 'fulfilled', value: value };
9692          --remaining || resolve(values);
9693        }, function (error) {
9694          if (alreadyCalled) return;
9695          alreadyCalled = true;
9696          values[index] = { status: 'rejected', reason: error };
9697          --remaining || resolve(values);
9698        });
9699      });
9700      --remaining || resolve(values);
9701    });
9702    if (result.error) reject(result.value);
9703    return capability.promise;
9704  }
9705});
9706
9707
9708/***/ }),
9709
vendor: 2,421 bytes, lines 9710-9767
9710/***/ "./node_modules/core-js/modules/es.promise.any.js":
9711/*!********************************************************!*\
9712  !*** ./node_modules/core-js/modules/es.promise.any.js ***!
9713  \********************************************************/
9714/*! no static exports found */
9715/***/ (function(module, exports, __webpack_require__) {
9716
9717"use strict";
9718
9719var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9720var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
9721var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
9722var newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js/internals/new-promise-capability.js");
9723var perform = __webpack_require__(/*! ../internals/perform */ "./node_modules/core-js/internals/perform.js");
9724var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js");
9725
9726var PROMISE_ANY_ERROR = 'No one promise resolved';
9727
9728// `Promise.any` method
9729// https://github.com/tc39/proposal-promise-any
9730$({ target: 'Promise', stat: true }, {
9731  any: function any(iterable) {
9732    var C = this;
9733    var capability = newPromiseCapabilityModule.f(C);
9734    var resolve = capability.resolve;
9735    var reject = capability.reject;
9736    var result = perform(function () {
9737      var promiseResolve = aFunction(C.resolve);
9738      var errors = [];
9739      var counter = 0;
9740      var remaining = 1;
9741      var alreadyResolved = false;
9742      iterate(iterable, function (promise) {
9743        var index = counter++;
9744        var alreadyRejected = false;
9745        errors.push(undefined);
9746        remaining++;
9747        promiseResolve.call(C, promise).then(function (value) {
9748          if (alreadyRejected || alreadyResolved) return;
9749          alreadyResolved = true;
9750          resolve(value);
9751        }, function (error) {
9752          if (alreadyRejected || alreadyResolved) return;
9753          alreadyRejected = true;
9754          errors[index] = error;
9755          --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));
9756        });
9757      });
9758      --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));
9759    });
9760    if (result.error) reject(result.value);
9761    return capability.promise;
9762  }
9763});
9764
9765
9766/***/ }),
9767
vendor: 2,472 bytes, lines 9768-9815
9768/***/ "./node_modules/core-js/modules/es.promise.finally.js":
9769/*!************************************************************!*\
9770  !*** ./node_modules/core-js/modules/es.promise.finally.js ***!
9771  \************************************************************/
9772/*! no static exports found */
9773/***/ (function(module, exports, __webpack_require__) {
9774
9775"use strict";
9776
9777var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9778var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
9779var NativePromise = __webpack_require__(/*! ../internals/native-promise-constructor */ "./node_modules/core-js/internals/native-promise-constructor.js");
9780var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
9781var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
9782var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js");
9783var promiseResolve = __webpack_require__(/*! ../internals/promise-resolve */ "./node_modules/core-js/internals/promise-resolve.js");
9784var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
9785
9786// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829
9787var NON_GENERIC = !!NativePromise && fails(function () {
9788  NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });
9789});
9790
9791// `Promise.prototype.finally` method
9792// https://tc39.github.io/ecma262/#sec-promise.prototype.finally
9793$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {
9794  'finally': function (onFinally) {
9795    var C = speciesConstructor(this, getBuiltIn('Promise'));
9796    var isFunction = typeof onFinally == 'function';
9797    return this.then(
9798      isFunction ? function (x) {
9799        return promiseResolve(C, onFinally()).then(function () { return x; });
9800      } : onFinally,
9801      isFunction ? function (e) {
9802        return promiseResolve(C, onFinally()).then(function () { throw e; });
9803      } : onFinally
9804    );
9805  }
9806});
9807
9808// patch native Promise.prototype for native async functions
9809if (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {
9810  redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);
9811}
9812
9813
9814/***/ }),
9815
vendor: 15,722 bytes, lines 9816-10208
9816/***/ "./node_modules/core-js/modules/es.promise.js":
9817/*!****************************************************!*\
9818  !*** ./node_modules/core-js/modules/es.promise.js ***!
9819  \****************************************************/
9820/*! no static exports found */
9821/***/ (function(module, exports, __webpack_require__) {
9822
9823"use strict";
9824
9825var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
9826var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
9827var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
9828var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
9829var NativePromise = __webpack_require__(/*! ../internals/native-promise-constructor */ "./node_modules/core-js/internals/native-promise-constructor.js");
9830var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
9831var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js");
9832var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
9833var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js");
9834var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
9835var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
9836var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js");
9837var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "./node_modules/core-js/internals/inspect-source.js");
9838var iterate = __webpack_require__(/*! ../internals/iterate */ "./node_modules/core-js/internals/iterate.js");
9839var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ "./node_modules/core-js/internals/check-correctness-of-iteration.js");
9840var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js");
9841var task = __webpack_require__(/*! ../internals/task */ "./node_modules/core-js/internals/task.js").set;
9842var microtask = __webpack_require__(/*! ../internals/microtask */ "./node_modules/core-js/internals/microtask.js");
9843var promiseResolve = __webpack_require__(/*! ../internals/promise-resolve */ "./node_modules/core-js/internals/promise-resolve.js");
9844var hostReportErrors = __webpack_require__(/*! ../internals/host-report-errors */ "./node_modules/core-js/internals/host-report-errors.js");
9845var newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ "./node_modules/core-js/internals/new-promise-capability.js");
9846var perform = __webpack_require__(/*! ../internals/perform */ "./node_modules/core-js/internals/perform.js");
9847var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
9848var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js");
9849var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
9850var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js");
9851var V8_VERSION = __webpack_require__(/*! ../internals/engine-v8-version */ "./node_modules/core-js/internals/engine-v8-version.js");
9852
9853var SPECIES = wellKnownSymbol('species');
9854var PROMISE = 'Promise';
9855var getInternalState = InternalStateModule.get;
9856var setInternalState = InternalStateModule.set;
9857var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
9858var PromiseConstructor = NativePromise;
9859var TypeError = global.TypeError;
9860var document = global.document;
9861var process = global.process;
9862var $fetch = getBuiltIn('fetch');
9863var newPromiseCapability = newPromiseCapabilityModule.f;
9864var newGenericPromiseCapability = newPromiseCapability;
9865var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
9866var NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';
9867var UNHANDLED_REJECTION = 'unhandledrejection';
9868var REJECTION_HANDLED = 'rejectionhandled';
9869var PENDING = 0;
9870var FULFILLED = 1;
9871var REJECTED = 2;
9872var HANDLED = 1;
9873var UNHANDLED = 2;
9874var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
9875
9876var FORCED = isForced(PROMISE, function () {
9877  var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);
9878  if (!GLOBAL_CORE_JS_PROMISE) {
9879    // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
9880    // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
9881    // We can't detect it synchronously, so just check versions
9882    if (V8_VERSION === 66) return true;
9883    // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
9884    if (!IS_NODE && !NATIVE_REJECTION_EVENT) return true;
9885  }
9886  // We need Promise#finally in the pure version for preventing prototype pollution
9887  if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;
9888  // We can't use @@species feature detection in V8 since it causes
9889  // deoptimization and performance degradation
9890  // https://github.com/zloirock/core-js/issues/679
9891  if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;
9892  // Detect correctness of subclassing with @@species support
9893  var promise = PromiseConstructor.resolve(1);
9894  var FakePromise = function (exec) {
9895    exec(function () { /* empty */ }, function () { /* empty */ });
9896  };
9897  var constructor = promise.constructor = {};
9898  constructor[SPECIES] = FakePromise;
9899  return !(promise.then(function () { /* empty */ }) instanceof FakePromise);
9900});
9901
9902var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
9903  PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });
9904});
9905
9906// helpers
9907var isThenable = function (it) {
9908  var then;
9909  return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
9910};
9911
9912var notify = function (state, isReject) {
9913  if (state.notified) return;
9914  state.notified = true;
9915  var chain = state.reactions;
9916  microtask(function () {
9917    var value = state.value;
9918    var ok = state.state == FULFILLED;
9919    var index = 0;
9920    // variable length - can't use forEach
9921    while (chain.length > index) {
9922      var reaction = chain[index++];
9923      var handler = ok ? reaction.ok : reaction.fail;
9924      var resolve = reaction.resolve;
9925      var reject = reaction.reject;
9926      var domain = reaction.domain;
9927      var result, then, exited;
9928      try {
9929        if (handler) {
9930          if (!ok) {
9931            if (state.rejection === UNHANDLED) onHandleUnhandled(state);
9932            state.rejection = HANDLED;
9933          }
9934          if (handler === true) result = value;
9935          else {
9936            if (domain) domain.enter();
9937            result = handler(value); // can throw
9938            if (domain) {
9939              domain.exit();
9940              exited = true;
9941            }
9942          }
9943          if (result === reaction.promise) {
9944            reject(TypeError('Promise-chain cycle'));
9945          } else if (then = isThenable(result)) {
9946            then.call(result, resolve, reject);
9947          } else resolve(result);
9948        } else reject(value);
9949      } catch (error) {
9950        if (domain && !exited) domain.exit();
9951        reject(error);
9952      }
9953    }
9954    state.reactions = [];
9955    state.notified = false;
9956    if (isReject && !state.rejection) onUnhandled(state);
9957  });
9958};
9959
9960var dispatchEvent = function (name, promise, reason) {
9961  var event, handler;
9962  if (DISPATCH_EVENT) {
9963    event = document.createEvent('Event');
9964    event.promise = promise;
9965    event.reason = reason;
9966    event.initEvent(name, false, true);
9967    global.dispatchEvent(event);
9968  } else event = { promise: promise, reason: reason };
9969  if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);
9970  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
9971};
9972
9973var onUnhandled = function (state) {
9974  task.call(global, function () {
9975    var promise = state.facade;
9976    var value = state.value;
9977    var IS_UNHANDLED = isUnhandled(state);
9978    var result;
9979    if (IS_UNHANDLED) {
9980      result = perform(function () {
9981        if (IS_NODE) {
9982          process.emit('unhandledRejection', value, promise);
9983        } else dispatchEvent(UNHANDLED_REJECTION, promise, value);
9984      });
9985      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
9986      state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
9987      if (result.error) throw result.value;
9988    }
9989  });
9990};
9991
9992var isUnhandled = function (state) {
9993  return state.rejection !== HANDLED && !state.parent;
9994};
9995
9996var onHandleUnhandled = function (state) {
9997  task.call(global, function () {
9998    var promise = state.facade;
9999    if (IS_NODE) {
10000      process.emit('rejectionHandled', promise);
10001    } else dispatchEvent(REJECTION_HANDLED, promise, state.value);
10002  });
10003};
10004
10005var bind = function (fn, state, unwrap) {
10006  return function (value) {
10007    fn(state, value, unwrap);
10008  };
10009};
10010
10011var internalReject = function (state, value, unwrap) {
10012  if (state.done) return;
10013  state.done = true;
10014  if (unwrap) state = unwrap;
10015  state.value = value;
10016  state.state = REJECTED;
10017  notify(state, true);
10018};
10019
10020var internalResolve = function (state, value, unwrap) {
10021  if (state.done) return;
10022  state.done = true;
10023  if (unwrap) state = unwrap;
10024  try {
10025    if (state.facade === value) throw TypeError("Promise can't be resolved itself");
10026    var then = isThenable(value);
10027    if (then) {
10028      microtask(function () {
10029        var wrapper = { done: false };
10030        try {
10031          then.call(value,
10032            bind(internalResolve, wrapper, state),
10033            bind(internalReject, wrapper, state)
10034          );
10035        } catch (error) {
10036          internalReject(wrapper, error, state);
10037        }
10038      });
10039    } else {
10040      state.value = value;
10041      state.state = FULFILLED;
10042      notify(state, false);
10043    }
10044  } catch (error) {
10045    internalReject({ done: false }, error, state);
10046  }
10047};
10048
10049// constructor polyfill
10050if (FORCED) {
10051  // 25.4.3.1 Promise(executor)
10052  PromiseConstructor = function Promise(executor) {
10053    anInstance(this, PromiseConstructor, PROMISE);
10054    aFunction(executor);
10055    Internal.call(this);
10056    var state = getInternalState(this);
10057    try {
10058      executor(bind(internalResolve, state), bind(internalReject, state));
10059    } catch (error) {
10060      internalReject(state, error);
10061    }
10062  };
10063  // eslint-disable-next-line no-unused-vars
10064  Internal = function Promise(executor) {
10065    setInternalState(this, {
10066      type: PROMISE,
10067      done: false,
10068      notified: false,
10069      parent: false,
10070      reactions: [],
10071      rejection: false,
10072      state: PENDING,
10073      value: undefined
10074    });
10075  };
10076  Internal.prototype = redefineAll(PromiseConstructor.prototype, {
10077    // `Promise.prototype.then` method
10078    // https://tc39.github.io/ecma262/#sec-promise.prototype.then
10079    then: function then(onFulfilled, onRejected) {
10080      var state = getInternalPromiseState(this);
10081      var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
10082      reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
10083      reaction.fail = typeof onRejected == 'function' && onRejected;
10084      reaction.domain = IS_NODE ? process.domain : undefined;
10085      state.parent = true;
10086      state.reactions.push(reaction);
10087      if (state.state != PENDING) notify(state, false);
10088      return reaction.promise;
10089    },
10090    // `Promise.prototype.catch` method
10091    // https://tc39.github.io/ecma262/#sec-promise.prototype.catch
10092    'catch': function (onRejected) {
10093      return this.then(undefined, onRejected);
10094    }
10095  });
10096  OwnPromiseCapability = function () {
10097    var promise = new Internal();
10098    var state = getInternalState(promise);
10099    this.promise = promise;
10100    this.resolve = bind(internalResolve, state);
10101    this.reject = bind(internalReject, state);
10102  };
10103  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
10104    return C === PromiseConstructor || C === PromiseWrapper
10105      ? new OwnPromiseCapability(C)
10106      : newGenericPromiseCapability(C);
10107  };
10108
10109  if (!IS_PURE && typeof NativePromise == 'function') {
10110    nativeThen = NativePromise.prototype.then;
10111
10112    // wrap native Promise#then for native async functions
10113    redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {
10114      var that = this;
10115      return new PromiseConstructor(function (resolve, reject) {
10116        nativeThen.call(that, resolve, reject);
10117      }).then(onFulfilled, onRejected);
10118    // https://github.com/zloirock/core-js/issues/640
10119    }, { unsafe: true });
10120
10121    // wrap fetch result
10122    if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {
10123      // eslint-disable-next-line no-unused-vars
10124      fetch: function fetch(input /* , init */) {
10125        return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));
10126      }
10127    });
10128  }
10129}
10130
10131$({ global: true, wrap: true, forced: FORCED }, {
10132  Promise: PromiseConstructor
10133});
10134
10135setToStringTag(PromiseConstructor, PROMISE, false, true);
10136setSpecies(PROMISE);
10137
10138PromiseWrapper = getBuiltIn(PROMISE);
10139
10140// statics
10141$({ target: PROMISE, stat: true, forced: FORCED }, {
10142  // `Promise.reject` method
10143  // https://tc39.github.io/ecma262/#sec-promise.reject
10144  reject: function reject(r) {
10145    var capability = newPromiseCapability(this);
10146    capability.reject.call(undefined, r);
10147    return capability.promise;
10148  }
10149});
10150
10151$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {
10152  // `Promise.resolve` method
10153  // https://tc39.github.io/ecma262/#sec-promise.resolve
10154  resolve: function resolve(x) {
10155    return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
10156  }
10157});
10158
10159$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
10160  // `Promise.all` method
10161  // https://tc39.github.io/ecma262/#sec-promise.all
10162  all: function all(iterable) {
10163    var C = this;
10164    var capability = newPromiseCapability(C);
10165    var resolve = capability.resolve;
10166    var reject = capability.reject;
10167    var result = perform(function () {
10168      var $promiseResolve = aFunction(C.resolve);
10169      var values = [];
10170      var counter = 0;
10171      var remaining = 1;
10172      iterate(iterable, function (promise) {
10173        var index = counter++;
10174        var alreadyCalled = false;
10175        values.push(undefined);
10176        remaining++;
10177        $promiseResolve.call(C, promise).then(function (value) {
10178          if (alreadyCalled) return;
10179          alreadyCalled = true;
10180          values[index] = value;
10181          --remaining || resolve(values);
10182        }, reject);
10183      });
10184      --remaining || resolve(values);
10185    });
10186    if (result.error) reject(result.value);
10187    return capability.promise;
10188  },
10189  // `Promise.race` method
10190  // https://tc39.github.io/ecma262/#sec-promise.race
10191  race: function race(iterable) {
10192    var C = this;
10193    var capability = newPromiseCapability(C);
10194    var reject = capability.reject;
10195    var result = perform(function () {
10196      var $promiseResolve = aFunction(C.resolve);
10197      iterate(iterable, function (promise) {
10198        $promiseResolve.call(C, promise).then(capability.resolve, reject);
10199      });
10200    });
10201    if (result.error) reject(result.value);
10202    return capability.promise;
10203  }
10204});
10205
10206
10207/***/ }),
10208
vendor: 1,567 bytes, lines 10209-10244
10209/***/ "./node_modules/core-js/modules/es.reflect.apply.js":
10210/*!**********************************************************!*\
10211  !*** ./node_modules/core-js/modules/es.reflect.apply.js ***!
10212  \**********************************************************/
10213/*! no static exports found */
10214/***/ (function(module, exports, __webpack_require__) {
10215
10216var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10217var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
10218var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
10219var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
10220var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
10221
10222var nativeApply = getBuiltIn('Reflect', 'apply');
10223var functionApply = Function.apply;
10224
10225// MS Edge argumentsList argument is optional
10226var OPTIONAL_ARGUMENTS_LIST = !fails(function () {
10227  nativeApply(function () { /* empty */ });
10228});
10229
10230// `Reflect.apply` method
10231// https://tc39.github.io/ecma262/#sec-reflect.apply
10232$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, {
10233  apply: function apply(target, thisArgument, argumentsList) {
10234    aFunction(target);
10235    anObject(argumentsList);
10236    return nativeApply
10237      ? nativeApply(target, thisArgument, argumentsList)
10238      : functionApply.call(target, thisArgument, argumentsList);
10239  }
10240});
10241
10242
10243/***/ }),
10244
vendor: 3,080 bytes, lines 10245-10306
10245/***/ "./node_modules/core-js/modules/es.reflect.construct.js":
10246/*!**************************************************************!*\
10247  !*** ./node_modules/core-js/modules/es.reflect.construct.js ***!
10248  \**************************************************************/
10249/*! no static exports found */
10250/***/ (function(module, exports, __webpack_require__) {
10251
10252var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10253var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
10254var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
10255var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
10256var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
10257var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");
10258var bind = __webpack_require__(/*! ../internals/function-bind */ "./node_modules/core-js/internals/function-bind.js");
10259var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
10260
10261var nativeConstruct = getBuiltIn('Reflect', 'construct');
10262
10263// `Reflect.construct` method
10264// https://tc39.github.io/ecma262/#sec-reflect.construct
10265// MS Edge supports only 2 arguments and argumentsList argument is optional
10266// FF Nightly sets third argument as `new.target`, but does not create `this` from it
10267var NEW_TARGET_BUG = fails(function () {
10268  function F() { /* empty */ }
10269  return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);
10270});
10271var ARGS_BUG = !fails(function () {
10272  nativeConstruct(function () { /* empty */ });
10273});
10274var FORCED = NEW_TARGET_BUG || ARGS_BUG;
10275
10276$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {
10277  construct: function construct(Target, args /* , newTarget */) {
10278    aFunction(Target);
10279    anObject(args);
10280    var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
10281    if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);
10282    if (Target == newTarget) {
10283      // w/o altered newTarget, optimization for 0-4 arguments
10284      switch (args.length) {
10285        case 0: return new Target();
10286        case 1: return new Target(args[0]);
10287        case 2: return new Target(args[0], args[1]);
10288        case 3: return new Target(args[0], args[1], args[2]);
10289        case 4: return new Target(args[0], args[1], args[2], args[3]);
10290      }
10291      // w/o altered newTarget, lot of arguments case
10292      var $args = [null];
10293      $args.push.apply($args, args);
10294      return new (bind.apply(Target, $args))();
10295    }
10296    // with altered newTarget, not support built-in constructors
10297    var proto = newTarget.prototype;
10298    var instance = create(isObject(proto) ? proto : Object.prototype);
10299    var result = Function.apply.call(Target, instance, args);
10300    return isObject(result) ? result : instance;
10301  }
10302});
10303
10304
10305/***/ }),
10306
vendor: 1,876 bytes, lines 10307-10345
10307/***/ "./node_modules/core-js/modules/es.reflect.define-property.js":
10308/*!********************************************************************!*\
10309  !*** ./node_modules/core-js/modules/es.reflect.define-property.js ***!
10310  \********************************************************************/
10311/*! no static exports found */
10312/***/ (function(module, exports, __webpack_require__) {
10313
10314var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10315var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
10316var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
10317var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
10318var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
10319var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
10320
10321// MS Edge has broken Reflect.defineProperty - throwing instead of returning false
10322var ERROR_INSTEAD_OF_FALSE = fails(function () {
10323  // eslint-disable-next-line no-undef
10324  Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 });
10325});
10326
10327// `Reflect.defineProperty` method
10328// https://tc39.github.io/ecma262/#sec-reflect.defineproperty
10329$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, {
10330  defineProperty: function defineProperty(target, propertyKey, attributes) {
10331    anObject(target);
10332    var key = toPrimitive(propertyKey, true);
10333    anObject(attributes);
10334    try {
10335      definePropertyModule.f(target, key, attributes);
10336      return true;
10337    } catch (error) {
10338      return false;
10339    }
10340  }
10341});
10342
10343
10344/***/ }),
10345
vendor: 1,168 bytes, lines 10346-10368
10346/***/ "./node_modules/core-js/modules/es.reflect.delete-property.js":
10347/*!********************************************************************!*\
10348  !*** ./node_modules/core-js/modules/es.reflect.delete-property.js ***!
10349  \********************************************************************/
10350/*! no static exports found */
10351/***/ (function(module, exports, __webpack_require__) {
10352
10353var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10354var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
10355var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
10356
10357// `Reflect.deleteProperty` method
10358// https://tc39.github.io/ecma262/#sec-reflect.deleteproperty
10359$({ target: 'Reflect', stat: true }, {
10360  deleteProperty: function deleteProperty(target, propertyKey) {
10361    var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey);
10362    return descriptor && !descriptor.configurable ? false : delete target[propertyKey];
10363  }
10364});
10365
10366
10367/***/ }),
10368
vendor: 1,312 bytes, lines 10369-10391
10369/***/ "./node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js":
10370/*!********************************************************************************!*\
10371  !*** ./node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js ***!
10372  \********************************************************************************/
10373/*! no static exports found */
10374/***/ (function(module, exports, __webpack_require__) {
10375
10376var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10377var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
10378var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
10379var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js");
10380
10381// `Reflect.getOwnPropertyDescriptor` method
10382// https://tc39.github.io/ecma262/#sec-reflect.getownpropertydescriptor
10383$({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, {
10384  getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {
10385    return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey);
10386  }
10387});
10388
10389
10390/***/ }),
10391
vendor: 1,210 bytes, lines 10392-10414
10392/***/ "./node_modules/core-js/modules/es.reflect.get-prototype-of.js":
10393/*!*********************************************************************!*\
10394  !*** ./node_modules/core-js/modules/es.reflect.get-prototype-of.js ***!
10395  \*********************************************************************/
10396/*! no static exports found */
10397/***/ (function(module, exports, __webpack_require__) {
10398
10399var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10400var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
10401var objectGetPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");
10402var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ "./node_modules/core-js/internals/correct-prototype-getter.js");
10403
10404// `Reflect.getPrototypeOf` method
10405// https://tc39.github.io/ecma262/#sec-reflect.getprototypeof
10406$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, {
10407  getPrototypeOf: function getPrototypeOf(target) {
10408    return objectGetPrototypeOf(anObject(target));
10409  }
10410});
10411
10412
10413/***/ }),
10414
vendor: 1,772 bytes, lines 10415-10449
10415/***/ "./node_modules/core-js/modules/es.reflect.get.js":
10416/*!********************************************************!*\
10417  !*** ./node_modules/core-js/modules/es.reflect.get.js ***!
10418  \********************************************************/
10419/*! no static exports found */
10420/***/ (function(module, exports, __webpack_require__) {
10421
10422var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10423var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
10424var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
10425var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
10426var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js");
10427var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");
10428
10429// `Reflect.get` method
10430// https://tc39.github.io/ecma262/#sec-reflect.get
10431function get(target, propertyKey /* , receiver */) {
10432  var receiver = arguments.length < 3 ? target : arguments[2];
10433  var descriptor, prototype;
10434  if (anObject(target) === receiver) return target[propertyKey];
10435  if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')
10436    ? descriptor.value
10437    : descriptor.get === undefined
10438      ? undefined
10439      : descriptor.get.call(receiver);
10440  if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver);
10441}
10442
10443$({ target: 'Reflect', stat: true }, {
10444  get: get
10445});
10446
10447
10448/***/ }),
10449
vendor: 646 bytes, lines 10450-10469
10450/***/ "./node_modules/core-js/modules/es.reflect.has.js":
10451/*!********************************************************!*\
10452  !*** ./node_modules/core-js/modules/es.reflect.has.js ***!
10453  \********************************************************/
10454/*! no static exports found */
10455/***/ (function(module, exports, __webpack_require__) {
10456
10457var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10458
10459// `Reflect.has` method
10460// https://tc39.github.io/ecma262/#sec-reflect.has
10461$({ target: 'Reflect', stat: true }, {
10462  has: function has(target, propertyKey) {
10463    return propertyKey in target;
10464  }
10465});
10466
10467
10468/***/ }),
10469
vendor: 926 bytes, lines 10470-10493
10470/***/ "./node_modules/core-js/modules/es.reflect.is-extensible.js":
10471/*!******************************************************************!*\
10472  !*** ./node_modules/core-js/modules/es.reflect.is-extensible.js ***!
10473  \******************************************************************/
10474/*! no static exports found */
10475/***/ (function(module, exports, __webpack_require__) {
10476
10477var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10478var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
10479
10480var objectIsExtensible = Object.isExtensible;
10481
10482// `Reflect.isExtensible` method
10483// https://tc39.github.io/ecma262/#sec-reflect.isextensible
10484$({ target: 'Reflect', stat: true }, {
10485  isExtensible: function isExtensible(target) {
10486    anObject(target);
10487    return objectIsExtensible ? objectIsExtensible(target) : true;
10488  }
10489});
10490
10491
10492/***/ }),
10493
vendor: 724 bytes, lines 10494-10512
10494/***/ "./node_modules/core-js/modules/es.reflect.own-keys.js":
10495/*!*************************************************************!*\
10496  !*** ./node_modules/core-js/modules/es.reflect.own-keys.js ***!
10497  \*************************************************************/
10498/*! no static exports found */
10499/***/ (function(module, exports, __webpack_require__) {
10500
10501var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10502var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "./node_modules/core-js/internals/own-keys.js");
10503
10504// `Reflect.ownKeys` method
10505// https://tc39.github.io/ecma262/#sec-reflect.ownkeys
10506$({ target: 'Reflect', stat: true }, {
10507  ownKeys: ownKeys
10508});
10509
10510
10511/***/ }),
10512
vendor: 1,329 bytes, lines 10513-10542
10513/***/ "./node_modules/core-js/modules/es.reflect.prevent-extensions.js":
10514/*!***********************************************************************!*\
10515  !*** ./node_modules/core-js/modules/es.reflect.prevent-extensions.js ***!
10516  \***********************************************************************/
10517/*! no static exports found */
10518/***/ (function(module, exports, __webpack_require__) {
10519
10520var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10521var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
10522var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
10523var FREEZING = __webpack_require__(/*! ../internals/freezing */ "./node_modules/core-js/internals/freezing.js");
10524
10525// `Reflect.preventExtensions` method
10526// https://tc39.github.io/ecma262/#sec-reflect.preventextensions
10527$({ target: 'Reflect', stat: true, sham: !FREEZING }, {
10528  preventExtensions: function preventExtensions(target) {
10529    anObject(target);
10530    try {
10531      var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions');
10532      if (objectPreventExtensions) objectPreventExtensions(target);
10533      return true;
10534    } catch (error) {
10535      return false;
10536    }
10537  }
10538});
10539
10540
10541/***/ }),
10542
vendor: 1,318 bytes, lines 10543-10572
10543/***/ "./node_modules/core-js/modules/es.reflect.set-prototype-of.js":
10544/*!*********************************************************************!*\
10545  !*** ./node_modules/core-js/modules/es.reflect.set-prototype-of.js ***!
10546  \*********************************************************************/
10547/*! no static exports found */
10548/***/ (function(module, exports, __webpack_require__) {
10549
10550var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10551var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
10552var aPossiblePrototype = __webpack_require__(/*! ../internals/a-possible-prototype */ "./node_modules/core-js/internals/a-possible-prototype.js");
10553var objectSetPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ "./node_modules/core-js/internals/object-set-prototype-of.js");
10554
10555// `Reflect.setPrototypeOf` method
10556// https://tc39.github.io/ecma262/#sec-reflect.setprototypeof
10557if (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, {
10558  setPrototypeOf: function setPrototypeOf(target, proto) {
10559    anObject(target);
10560    aPossiblePrototype(proto);
10561    try {
10562      objectSetPrototypeOf(target, proto);
10563      return true;
10564    } catch (error) {
10565      return false;
10566    }
10567  }
10568});
10569
10570
10571/***/ }),
10572
vendor: 3,161 bytes, lines 10573-10629
10573/***/ "./node_modules/core-js/modules/es.reflect.set.js":
10574/*!********************************************************!*\
10575  !*** ./node_modules/core-js/modules/es.reflect.set.js ***!
10576  \********************************************************/
10577/*! no static exports found */
10578/***/ (function(module, exports, __webpack_require__) {
10579
10580var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10581var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
10582var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
10583var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
10584var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
10585var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
10586var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js");
10587var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ "./node_modules/core-js/internals/object-get-prototype-of.js");
10588var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
10589
10590// `Reflect.set` method
10591// https://tc39.github.io/ecma262/#sec-reflect.set
10592function set(target, propertyKey, V /* , receiver */) {
10593  var receiver = arguments.length < 4 ? target : arguments[3];
10594  var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey);
10595  var existingDescriptor, prototype;
10596  if (!ownDescriptor) {
10597    if (isObject(prototype = getPrototypeOf(target))) {
10598      return set(prototype, propertyKey, V, receiver);
10599    }
10600    ownDescriptor = createPropertyDescriptor(0);
10601  }
10602  if (has(ownDescriptor, 'value')) {
10603    if (ownDescriptor.writable === false || !isObject(receiver)) return false;
10604    if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) {
10605      if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;
10606      existingDescriptor.value = V;
10607      definePropertyModule.f(receiver, propertyKey, existingDescriptor);
10608    } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V));
10609    return true;
10610  }
10611  return ownDescriptor.set === undefined ? false : (ownDescriptor.set.call(receiver, V), true);
10612}
10613
10614// MS Edge 17-18 Reflect.set allows setting the property to object
10615// with non-writable property on the prototype
10616var MS_EDGE_BUG = fails(function () {
10617  var Constructor = function () { /* empty */ };
10618  var object = definePropertyModule.f(new Constructor(), 'a', { configurable: true });
10619  // eslint-disable-next-line no-undef
10620  return Reflect.set(Constructor.prototype, 'a', 1, object) !== false;
10621});
10622
10623$({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, {
10624  set: set
10625});
10626
10627
10628/***/ }),
10629
vendor: 908 bytes, lines 10630-10649
10630/***/ "./node_modules/core-js/modules/es.reflect.to-string-tag.js":
10631/*!******************************************************************!*\
10632  !*** ./node_modules/core-js/modules/es.reflect.to-string-tag.js ***!
10633  \******************************************************************/
10634/*! no static exports found */
10635/***/ (function(module, exports, __webpack_require__) {
10636
10637var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10638var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
10639var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
10640
10641$({ global: true }, { Reflect: {} });
10642
10643// Reflect[@@toStringTag] property
10644// https://tc39.es/ecma262/#sec-reflect-@@tostringtag
10645setToStringTag(global.Reflect, 'Reflect', true);
10646
10647
10648/***/ }),
10649
vendor: 4,497 bytes, lines 10650-10744
10650/***/ "./node_modules/core-js/modules/es.regexp.constructor.js":
10651/*!***************************************************************!*\
10652  !*** ./node_modules/core-js/modules/es.regexp.constructor.js ***!
10653  \***************************************************************/
10654/*! no static exports found */
10655/***/ (function(module, exports, __webpack_require__) {
10656
10657var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
10658var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
10659var isForced = __webpack_require__(/*! ../internals/is-forced */ "./node_modules/core-js/internals/is-forced.js");
10660var inheritIfRequired = __webpack_require__(/*! ../internals/inherit-if-required */ "./node_modules/core-js/internals/inherit-if-required.js");
10661var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
10662var getOwnPropertyNames = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js").f;
10663var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/core-js/internals/is-regexp.js");
10664var getFlags = __webpack_require__(/*! ../internals/regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js");
10665var stickyHelpers = __webpack_require__(/*! ../internals/regexp-sticky-helpers */ "./node_modules/core-js/internals/regexp-sticky-helpers.js");
10666var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
10667var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
10668var setInternalState = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js").set;
10669var setSpecies = __webpack_require__(/*! ../internals/set-species */ "./node_modules/core-js/internals/set-species.js");
10670var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
10671
10672var MATCH = wellKnownSymbol('match');
10673var NativeRegExp = global.RegExp;
10674var RegExpPrototype = NativeRegExp.prototype;
10675var re1 = /a/g;
10676var re2 = /a/g;
10677
10678// "new" should create a new object, old webkit bug
10679var CORRECT_NEW = new NativeRegExp(re1) !== re1;
10680
10681var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;
10682
10683var FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {
10684  re2[MATCH] = false;
10685  // RegExp constructor can alter flags and IsRegExp works correct with @@match
10686  return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';
10687})));
10688
10689// `RegExp` constructor
10690// https://tc39.github.io/ecma262/#sec-regexp-constructor
10691if (FORCED) {
10692  var RegExpWrapper = function RegExp(pattern, flags) {
10693    var thisIsRegExp = this instanceof RegExpWrapper;
10694    var patternIsRegExp = isRegExp(pattern);
10695    var flagsAreUndefined = flags === undefined;
10696    var sticky;
10697
10698    if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {
10699      return pattern;
10700    }
10701
10702    if (CORRECT_NEW) {
10703      if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;
10704    } else if (pattern instanceof RegExpWrapper) {
10705      if (flagsAreUndefined) flags = getFlags.call(pattern);
10706      pattern = pattern.source;
10707    }
10708
10709    if (UNSUPPORTED_Y) {
10710      sticky = !!flags && flags.indexOf('y') > -1;
10711      if (sticky) flags = flags.replace(/y/g, '');
10712    }
10713
10714    var result = inheritIfRequired(
10715      CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),
10716      thisIsRegExp ? this : RegExpPrototype,
10717      RegExpWrapper
10718    );
10719
10720    if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky });
10721
10722    return result;
10723  };
10724  var proxy = function (key) {
10725    key in RegExpWrapper || defineProperty(RegExpWrapper, key, {
10726      configurable: true,
10727      get: function () { return NativeRegExp[key]; },
10728      set: function (it) { NativeRegExp[key] = it; }
10729    });
10730  };
10731  var keys = getOwnPropertyNames(NativeRegExp);
10732  var index = 0;
10733  while (keys.length > index) proxy(keys[index++]);
10734  RegExpPrototype.constructor = RegExpWrapper;
10735  RegExpWrapper.prototype = RegExpPrototype;
10736  redefine(global, 'RegExp', RegExpWrapper);
10737}
10738
10739// https://tc39.github.io/ecma262/#sec-get-regexp-@@species
10740setSpecies('RegExp');
10741
10742
10743/***/ }),
10744
vendor: 660 bytes, lines 10745-10763
10745/***/ "./node_modules/core-js/modules/es.regexp.exec.js":
10746/*!********************************************************!*\
10747  !*** ./node_modules/core-js/modules/es.regexp.exec.js ***!
10748  \********************************************************/
10749/*! no static exports found */
10750/***/ (function(module, exports, __webpack_require__) {
10751
10752"use strict";
10753
10754var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10755var exec = __webpack_require__(/*! ../internals/regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js");
10756
10757$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {
10758  exec: exec
10759});
10760
10761
10762/***/ }),
10763
vendor: 1,185 bytes, lines 10764-10787
10764/***/ "./node_modules/core-js/modules/es.regexp.flags.js":
10765/*!*********************************************************!*\
10766  !*** ./node_modules/core-js/modules/es.regexp.flags.js ***!
10767  \*********************************************************/
10768/*! no static exports found */
10769/***/ (function(module, exports, __webpack_require__) {
10770
10771var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
10772var objectDefinePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
10773var regExpFlags = __webpack_require__(/*! ../internals/regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js");
10774var UNSUPPORTED_Y = __webpack_require__(/*! ../internals/regexp-sticky-helpers */ "./node_modules/core-js/internals/regexp-sticky-helpers.js").UNSUPPORTED_Y;
10775
10776// `RegExp.prototype.flags` getter
10777// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
10778if (DESCRIPTORS && (/./g.flags != 'g' || UNSUPPORTED_Y)) {
10779  objectDefinePropertyModule.f(RegExp.prototype, 'flags', {
10780    configurable: true,
10781    get: regExpFlags
10782  });
10783}
10784
10785
10786/***/ }),
10787
vendor: 1,475 bytes, lines 10788-10819
10788/***/ "./node_modules/core-js/modules/es.regexp.sticky.js":
10789/*!**********************************************************!*\
10790  !*** ./node_modules/core-js/modules/es.regexp.sticky.js ***!
10791  \**********************************************************/
10792/*! no static exports found */
10793/***/ (function(module, exports, __webpack_require__) {
10794
10795var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
10796var UNSUPPORTED_Y = __webpack_require__(/*! ../internals/regexp-sticky-helpers */ "./node_modules/core-js/internals/regexp-sticky-helpers.js").UNSUPPORTED_Y;
10797var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
10798var getInternalState = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js").get;
10799var RegExpPrototype = RegExp.prototype;
10800
10801// `RegExp.prototype.sticky` getter
10802if (DESCRIPTORS && UNSUPPORTED_Y) {
10803  defineProperty(RegExp.prototype, 'sticky', {
10804    configurable: true,
10805    get: function () {
10806      if (this === RegExpPrototype) return undefined;
10807      // We can't use InternalStateModule.getterFor because
10808      // we don't add metadata for regexps created by a literal.
10809      if (this instanceof RegExp) {
10810        return !!getInternalState(this).sticky;
10811      }
10812      throw TypeError('Incompatible receiver, RegExp required');
10813    }
10814  });
10815}
10816
10817
10818/***/ }),
10819
vendor: 1,403 bytes, lines 10820-10861
10820/***/ "./node_modules/core-js/modules/es.regexp.test.js":
10821/*!********************************************************!*\
10822  !*** ./node_modules/core-js/modules/es.regexp.test.js ***!
10823  \********************************************************/
10824/*! no static exports found */
10825/***/ (function(module, exports, __webpack_require__) {
10826
10827"use strict";
10828
10829// TODO: Remove from `core-js@4` since it's moved to entry points
10830__webpack_require__(/*! ../modules/es.regexp.exec */ "./node_modules/core-js/modules/es.regexp.exec.js");
10831var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10832var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
10833
10834var DELEGATES_TO_EXEC = function () {
10835  var execCalled = false;
10836  var re = /[ac]/;
10837  re.exec = function () {
10838    execCalled = true;
10839    return /./.exec.apply(this, arguments);
10840  };
10841  return re.test('abc') === true && execCalled;
10842}();
10843
10844var nativeTest = /./.test;
10845
10846$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {
10847  test: function (str) {
10848    if (typeof this.exec !== 'function') {
10849      return nativeTest.call(this, str);
10850    }
10851    var result = this.exec(str);
10852    if (result !== null && !isObject(result)) {
10853      throw new Error('RegExp exec method returned something other than an Object or null');
10854    }
10855    return !!result;
10856  }
10857});
10858
10859
10860/***/ }),
10861
vendor: 1,608 bytes, lines 10862-10898
10862/***/ "./node_modules/core-js/modules/es.regexp.to-string.js":
10863/*!*************************************************************!*\
10864  !*** ./node_modules/core-js/modules/es.regexp.to-string.js ***!
10865  \*************************************************************/
10866/*! no static exports found */
10867/***/ (function(module, exports, __webpack_require__) {
10868
10869"use strict";
10870
10871var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
10872var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
10873var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
10874var flags = __webpack_require__(/*! ../internals/regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js");
10875
10876var TO_STRING = 'toString';
10877var RegExpPrototype = RegExp.prototype;
10878var nativeToString = RegExpPrototype[TO_STRING];
10879
10880var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
10881// FF44- RegExp#toString has a wrong name
10882var INCORRECT_NAME = nativeToString.name != TO_STRING;
10883
10884// `RegExp.prototype.toString` method
10885// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring
10886if (NOT_GENERIC || INCORRECT_NAME) {
10887  redefine(RegExp.prototype, TO_STRING, function toString() {
10888    var R = anObject(this);
10889    var p = String(R.source);
10890    var rf = R.flags;
10891    var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);
10892    return '/' + p + '/' + f;
10893  }, { unsafe: true });
10894}
10895
10896
10897/***/ }),
10898
vendor: 826 bytes, lines 10899-10919
10899/***/ "./node_modules/core-js/modules/es.set.js":
10900/*!************************************************!*\
10901  !*** ./node_modules/core-js/modules/es.set.js ***!
10902  \************************************************/
10903/*! no static exports found */
10904/***/ (function(module, exports, __webpack_require__) {
10905
10906"use strict";
10907
10908var collection = __webpack_require__(/*! ../internals/collection */ "./node_modules/core-js/internals/collection.js");
10909var collectionStrong = __webpack_require__(/*! ../internals/collection-strong */ "./node_modules/core-js/internals/collection-strong.js");
10910
10911// `Set` constructor
10912// https://tc39.github.io/ecma262/#sec-set-objects
10913module.exports = collection('Set', function (init) {
10914  return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };
10915}, collectionStrong);
10916
10917
10918/***/ }),
10919
vendor: 1,008 bytes, lines 10920-10943
10920/***/ "./node_modules/core-js/modules/es.string.anchor.js":
10921/*!**********************************************************!*\
10922  !*** ./node_modules/core-js/modules/es.string.anchor.js ***!
10923  \**********************************************************/
10924/*! no static exports found */
10925/***/ (function(module, exports, __webpack_require__) {
10926
10927"use strict";
10928
10929var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10930var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js");
10931var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js");
10932
10933// `String.prototype.anchor` method
10934// https://tc39.github.io/ecma262/#sec-string.prototype.anchor
10935$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, {
10936  anchor: function anchor(name) {
10937    return createHTML(this, 'a', 'name', name);
10938  }
10939});
10940
10941
10942/***/ }),
10943
vendor: 973 bytes, lines 10944-10967
10944/***/ "./node_modules/core-js/modules/es.string.big.js":
10945/*!*******************************************************!*\
10946  !*** ./node_modules/core-js/modules/es.string.big.js ***!
10947  \*******************************************************/
10948/*! no static exports found */
10949/***/ (function(module, exports, __webpack_require__) {
10950
10951"use strict";
10952
10953var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10954var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js");
10955var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js");
10956
10957// `String.prototype.big` method
10958// https://tc39.github.io/ecma262/#sec-string.prototype.big
10959$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('big') }, {
10960  big: function big() {
10961    return createHTML(this, 'big', '', '');
10962  }
10963});
10964
10965
10966/***/ }),
10967
vendor: 993 bytes, lines 10968-10991
10968/***/ "./node_modules/core-js/modules/es.string.blink.js":
10969/*!*********************************************************!*\
10970  !*** ./node_modules/core-js/modules/es.string.blink.js ***!
10971  \*********************************************************/
10972/*! no static exports found */
10973/***/ (function(module, exports, __webpack_require__) {
10974
10975"use strict";
10976
10977var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
10978var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js");
10979var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js");
10980
10981// `String.prototype.blink` method
10982// https://tc39.github.io/ecma262/#sec-string.prototype.blink
10983$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('blink') }, {
10984  blink: function blink() {
10985    return createHTML(this, 'blink', '', '');
10986  }
10987});
10988
10989
10990/***/ }),
10991
vendor: 980 bytes, lines 10992-11015
10992/***/ "./node_modules/core-js/modules/es.string.bold.js":
10993/*!********************************************************!*\
10994  !*** ./node_modules/core-js/modules/es.string.bold.js ***!
10995  \********************************************************/
10996/*! no static exports found */
10997/***/ (function(module, exports, __webpack_require__) {
10998
10999"use strict";
11000
11001var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
11002var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js");
11003var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js");
11004
11005// `String.prototype.bold` method
11006// https://tc39.github.io/ecma262/#sec-string.prototype.bold
11007$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, {
11008  bold: function bold() {
11009    return createHTML(this, 'b', '', '');
11010  }
11011});
11012
11013
11014/***/ }),
11015
vendor: 861 bytes, lines 11016-11038
11016/***/ "./node_modules/core-js/modules/es.string.code-point-at.js":
11017/*!*****************************************************************!*\
11018  !*** ./node_modules/core-js/modules/es.string.code-point-at.js ***!
11019  \*****************************************************************/
11020/*! no static exports found */
11021/***/ (function(module, exports, __webpack_require__) {
11022
11023"use strict";
11024
11025var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
11026var codeAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js/internals/string-multibyte.js").codeAt;
11027
11028// `String.prototype.codePointAt` method
11029// https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
11030$({ target: 'String', proto: true }, {
11031  codePointAt: function codePointAt(pos) {
11032    return codeAt(this, pos);
11033  }
11034});
11035
11036
11037/***/ }),
11038
vendor: 2,421 bytes, lines 11039-11084
11039/***/ "./node_modules/core-js/modules/es.string.ends-with.js":
11040/*!*************************************************************!*\
11041  !*** ./node_modules/core-js/modules/es.string.ends-with.js ***!
11042  \*************************************************************/
11043/*! no static exports found */
11044/***/ (function(module, exports, __webpack_require__) {
11045
11046"use strict";
11047
11048var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
11049var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
11050var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
11051var notARegExp = __webpack_require__(/*! ../internals/not-a-regexp */ "./node_modules/core-js/internals/not-a-regexp.js");
11052var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
11053var correctIsRegExpLogic = __webpack_require__(/*! ../internals/correct-is-regexp-logic */ "./node_modules/core-js/internals/correct-is-regexp-logic.js");
11054var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
11055
11056var nativeEndsWith = ''.endsWith;
11057var min = Math.min;
11058
11059var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');
11060// https://github.com/zloirock/core-js/pull/702
11061var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {
11062  var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');
11063  return descriptor && !descriptor.writable;
11064}();
11065
11066// `String.prototype.endsWith` method
11067// https://tc39.github.io/ecma262/#sec-string.prototype.endswith
11068$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {
11069  endsWith: function endsWith(searchString /* , endPosition = @length */) {
11070    var that = String(requireObjectCoercible(this));
11071    notARegExp(searchString);
11072    var endPosition = arguments.length > 1 ? arguments[1] : undefined;
11073    var len = toLength(that.length);
11074    var end = endPosition === undefined ? len : min(toLength(endPosition), len);
11075    var search = String(searchString);
11076    return nativeEndsWith
11077      ? nativeEndsWith.call(that, search, end)
11078      : that.slice(end - search.length, end) === search;
11079  }
11080});
11081
11082
11083/***/ }),
11084
vendor: 990 bytes, lines 11085-11108
11085/***/ "./node_modules/core-js/modules/es.string.fixed.js":
11086/*!*********************************************************!*\
11087  !*** ./node_modules/core-js/modules/es.string.fixed.js ***!
11088  \*********************************************************/
11089/*! no static exports found */
11090/***/ (function(module, exports, __webpack_require__) {
11091
11092"use strict";
11093
11094var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
11095var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js");
11096var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js");
11097
11098// `String.prototype.fixed` method
11099// https://tc39.github.io/ecma262/#sec-string.prototype.fixed
11100$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, {
11101  fixed: function fixed() {
11102    return createHTML(this, 'tt', '', '');
11103  }
11104});
11105
11106
11107/***/ }),
11108
vendor: 1,041 bytes, lines 11109-11132
11109/***/ "./node_modules/core-js/modules/es.string.fontcolor.js":
11110/*!*************************************************************!*\
11111  !*** ./node_modules/core-js/modules/es.string.fontcolor.js ***!
11112  \*************************************************************/
11113/*! no static exports found */
11114/***/ (function(module, exports, __webpack_require__) {
11115
11116"use strict";
11117
11118var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
11119var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js");
11120var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js");
11121
11122// `String.prototype.fontcolor` method
11123// https://tc39.github.io/ecma262/#sec-string.prototype.fontcolor
11124$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontcolor') }, {
11125  fontcolor: function fontcolor(color) {
11126    return createHTML(this, 'font', 'color', color);
11127  }
11128});
11129
11130
11131/***/ }),
11132
vendor: 1,029 bytes, lines 11133-11156
11133/***/ "./node_modules/core-js/modules/es.string.fontsize.js":
11134/*!************************************************************!*\
11135  !*** ./node_modules/core-js/modules/es.string.fontsize.js ***!
11136  \************************************************************/
11137/*! no static exports found */
11138/***/ (function(module, exports, __webpack_require__) {
11139
11140"use strict";
11141
11142var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
11143var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js");
11144var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js");
11145
11146// `String.prototype.fontsize` method
11147// https://tc39.github.io/ecma262/#sec-string.prototype.fontsize
11148$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontsize') }, {
11149  fontsize: function fontsize(size) {
11150    return createHTML(this, 'font', 'size', size);
11151  }
11152});
11153
11154
11155/***/ }),
11156
vendor: 1,522 bytes, lines 11157-11194
11157/***/ "./node_modules/core-js/modules/es.string.from-code-point.js":
11158/*!*******************************************************************!*\
11159  !*** ./node_modules/core-js/modules/es.string.from-code-point.js ***!
11160  \*******************************************************************/
11161/*! no static exports found */
11162/***/ (function(module, exports, __webpack_require__) {
11163
11164var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
11165var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js");
11166
11167var fromCharCode = String.fromCharCode;
11168var nativeFromCodePoint = String.fromCodePoint;
11169
11170// length should be 1, old FF problem
11171var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;
11172
11173// `String.fromCodePoint` method
11174// https://tc39.github.io/ecma262/#sec-string.fromcodepoint
11175$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {
11176  fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars
11177    var elements = [];
11178    var length = arguments.length;
11179    var i = 0;
11180    var code;
11181    while (length > i) {
11182      code = +arguments[i++];
11183      if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point');
11184      elements.push(code < 0x10000
11185        ? fromCharCode(code)
11186        : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)
11187      );
11188    } return elements.join('');
11189  }
11190});
11191
11192
11193/***/ }),
11194
vendor: 1,317 bytes, lines 11195-11220
11195/***/ "./node_modules/core-js/modules/es.string.includes.js":
11196/*!************************************************************!*\
11197  !*** ./node_modules/core-js/modules/es.string.includes.js ***!
11198  \************************************************************/
11199/*! no static exports found */
11200/***/ (function(module, exports, __webpack_require__) {
11201
11202"use strict";
11203
11204var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
11205var notARegExp = __webpack_require__(/*! ../internals/not-a-regexp */ "./node_modules/core-js/internals/not-a-regexp.js");
11206var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
11207var correctIsRegExpLogic = __webpack_require__(/*! ../internals/correct-is-regexp-logic */ "./node_modules/core-js/internals/correct-is-regexp-logic.js");
11208
11209// `String.prototype.includes` method
11210// https://tc39.github.io/ecma262/#sec-string.prototype.includes
11211$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {
11212  includes: function includes(searchString /* , position = 0 */) {
11213    return !!~String(requireObjectCoercible(this))
11214      .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);
11215  }
11216});
11217
11218
11219/***/ }),
11220
vendor: 1,007 bytes, lines 11221-11244
11221/***/ "./node_modules/core-js/modules/es.string.italics.js":
11222/*!***********************************************************!*\
11223  !*** ./node_modules/core-js/modules/es.string.italics.js ***!
11224  \***********************************************************/
11225/*! no static exports found */
11226/***/ (function(module, exports, __webpack_require__) {
11227
11228"use strict";
11229
11230var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
11231var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js");
11232var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js");
11233
11234// `String.prototype.italics` method
11235// https://tc39.github.io/ecma262/#sec-string.prototype.italics
11236$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, {
11237  italics: function italics() {
11238    return createHTML(this, 'i', '', '');
11239  }
11240});
11241
11242
11243/***/ }),
11244
vendor: 1,626 bytes, lines 11245-11285
11245/***/ "./node_modules/core-js/modules/es.string.iterator.js":
11246/*!************************************************************!*\
11247  !*** ./node_modules/core-js/modules/es.string.iterator.js ***!
11248  \************************************************************/
11249/*! no static exports found */
11250/***/ (function(module, exports, __webpack_require__) {
11251
11252"use strict";
11253
11254var charAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js/internals/string-multibyte.js").charAt;
11255var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
11256var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ "./node_modules/core-js/internals/define-iterator.js");
11257
11258var STRING_ITERATOR = 'String Iterator';
11259var setInternalState = InternalStateModule.set;
11260var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
11261
11262// `String.prototype[@@iterator]` method
11263// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator
11264defineIterator(String, 'String', function (iterated) {
11265  setInternalState(this, {
11266    type: STRING_ITERATOR,
11267    string: String(iterated),
11268    index: 0
11269  });
11270// `%StringIteratorPrototype%.next` method
11271// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next
11272}, function next() {
11273  var state = getInternalState(this);
11274  var string = state.string;
11275  var index = state.index;
11276  var point;
11277  if (index >= string.length) return { value: undefined, done: true };
11278  point = charAt(string, index);
11279  state.index += point.length;
11280  return { value: point, done: false };
11281});
11282
11283
11284/***/ }),
11285
vendor: 988 bytes, lines 11286-11309
11286/***/ "./node_modules/core-js/modules/es.string.link.js":
11287/*!********************************************************!*\
11288  !*** ./node_modules/core-js/modules/es.string.link.js ***!
11289  \********************************************************/
11290/*! no static exports found */
11291/***/ (function(module, exports, __webpack_require__) {
11292
11293"use strict";
11294
11295var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
11296var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js");
11297var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js");
11298
11299// `String.prototype.link` method
11300// https://tc39.github.io/ecma262/#sec-string.prototype.link
11301$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {
11302  link: function link(url) {
11303    return createHTML(this, 'a', 'href', url);
11304  }
11305});
11306
11307
11308/***/ }),
11309
vendor: 5,944 bytes, lines 11310-11430
11310/***/ "./node_modules/core-js/modules/es.string.match-all.js":
11311/*!*************************************************************!*\
11312  !*** ./node_modules/core-js/modules/es.string.match-all.js ***!
11313  \*************************************************************/
11314/*! no static exports found */
11315/***/ (function(module, exports, __webpack_require__) {
11316
11317"use strict";
11318
11319var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
11320var createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ "./node_modules/core-js/internals/create-iterator-constructor.js");
11321var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
11322var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
11323var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
11324var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
11325var classof = __webpack_require__(/*! ../internals/classof-raw */ "./node_modules/core-js/internals/classof-raw.js");
11326var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/core-js/internals/is-regexp.js");
11327var getRegExpFlags = __webpack_require__(/*! ../internals/regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js");
11328var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
11329var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
11330var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
11331var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js");
11332var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js");
11333var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
11334var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
11335
11336var MATCH_ALL = wellKnownSymbol('matchAll');
11337var REGEXP_STRING = 'RegExp String';
11338var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator';
11339var setInternalState = InternalStateModule.set;
11340var getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR);
11341var RegExpPrototype = RegExp.prototype;
11342var regExpBuiltinExec = RegExpPrototype.exec;
11343var nativeMatchAll = ''.matchAll;
11344
11345var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails(function () {
11346  'a'.matchAll(/./);
11347});
11348
11349var regExpExec = function (R, S) {
11350  var exec = R.exec;
11351  var result;
11352  if (typeof exec == 'function') {
11353    result = exec.call(R, S);
11354    if (typeof result != 'object') throw TypeError('Incorrect exec result');
11355    return result;
11356  } return regExpBuiltinExec.call(R, S);
11357};
11358
11359// eslint-disable-next-line max-len
11360var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, global, fullUnicode) {
11361  setInternalState(this, {
11362    type: REGEXP_STRING_ITERATOR,
11363    regexp: regexp,
11364    string: string,
11365    global: global,
11366    unicode: fullUnicode,
11367    done: false
11368  });
11369}, REGEXP_STRING, function next() {
11370  var state = getInternalState(this);
11371  if (state.done) return { value: undefined, done: true };
11372  var R = state.regexp;
11373  var S = state.string;
11374  var match = regExpExec(R, S);
11375  if (match === null) return { value: undefined, done: state.done = true };
11376  if (state.global) {
11377    if (String(match[0]) == '') R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode);
11378    return { value: match, done: false };
11379  }
11380  state.done = true;
11381  return { value: match, done: false };
11382});
11383
11384var $matchAll = function (string) {
11385  var R = anObject(this);
11386  var S = String(string);
11387  var C, flagsValue, flags, matcher, global, fullUnicode;
11388  C = speciesConstructor(R, RegExp);
11389  flagsValue = R.flags;
11390  if (flagsValue === undefined && R instanceof RegExp && !('flags' in RegExpPrototype)) {
11391    flagsValue = getRegExpFlags.call(R);
11392  }
11393  flags = flagsValue === undefined ? '' : String(flagsValue);
11394  matcher = new C(C === RegExp ? R.source : R, flags);
11395  global = !!~flags.indexOf('g');
11396  fullUnicode = !!~flags.indexOf('u');
11397  matcher.lastIndex = toLength(R.lastIndex);
11398  return new $RegExpStringIterator(matcher, S, global, fullUnicode);
11399};
11400
11401// `String.prototype.matchAll` method
11402// https://github.com/tc39/proposal-string-matchall
11403$({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, {
11404  matchAll: function matchAll(regexp) {
11405    var O = requireObjectCoercible(this);
11406    var flags, S, matcher, rx;
11407    if (regexp != null) {
11408      if (isRegExp(regexp)) {
11409        flags = String(requireObjectCoercible('flags' in RegExpPrototype
11410          ? regexp.flags
11411          : getRegExpFlags.call(regexp)
11412        ));
11413        if (!~flags.indexOf('g')) throw TypeError('`.matchAll` does not allow non-global regexes');
11414      }
11415      if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll.apply(O, arguments);
11416      matcher = regexp[MATCH_ALL];
11417      if (matcher === undefined && IS_PURE && classof(regexp) == 'RegExp') matcher = $matchAll;
11418      if (matcher != null) return aFunction(matcher).call(regexp, O);
11419    } else if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll.apply(O, arguments);
11420    S = String(O);
11421    rx = new RegExp(regexp, 'g');
11422    return IS_PURE ? $matchAll.call(rx, S) : rx[MATCH_ALL](S);
11423  }
11424});
11425
11426IS_PURE || MATCH_ALL in RegExpPrototype || createNonEnumerableProperty(RegExpPrototype, MATCH_ALL, $matchAll);
11427
11428
11429/***/ }),
11430
vendor: 2,450 bytes, lines 11431-11486
11431/***/ "./node_modules/core-js/modules/es.string.match.js":
11432/*!*********************************************************!*\
11433  !*** ./node_modules/core-js/modules/es.string.match.js ***!
11434  \*********************************************************/
11435/*! no static exports found */
11436/***/ (function(module, exports, __webpack_require__) {
11437
11438"use strict";
11439
11440var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js");
11441var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
11442var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
11443var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
11444var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js");
11445var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js");
11446
11447// @@match logic
11448fixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
11449  return [
11450    // `String.prototype.match` method
11451    // https://tc39.github.io/ecma262/#sec-string.prototype.match
11452    function match(regexp) {
11453      var O = requireObjectCoercible(this);
11454      var matcher = regexp == undefined ? undefined : regexp[MATCH];
11455      return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
11456    },
11457    // `RegExp.prototype[@@match]` method
11458    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match
11459    function (regexp) {
11460      var res = maybeCallNative(nativeMatch, regexp, this);
11461      if (res.done) return res.value;
11462
11463      var rx = anObject(regexp);
11464      var S = String(this);
11465
11466      if (!rx.global) return regExpExec(rx, S);
11467
11468      var fullUnicode = rx.unicode;
11469      rx.lastIndex = 0;
11470      var A = [];
11471      var n = 0;
11472      var result;
11473      while ((result = regExpExec(rx, S)) !== null) {
11474        var matchStr = String(result[0]);
11475        A[n] = matchStr;
11476        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
11477        n++;
11478      }
11479      return n === 0 ? null : A;
11480    }
11481  ];
11482});
11483
11484
11485/***/ }),
11486
vendor: 1,051 bytes, lines 11487-11510
11487/***/ "./node_modules/core-js/modules/es.string.pad-end.js":
11488/*!***********************************************************!*\
11489  !*** ./node_modules/core-js/modules/es.string.pad-end.js ***!
11490  \***********************************************************/
11491/*! no static exports found */
11492/***/ (function(module, exports, __webpack_require__) {
11493
11494"use strict";
11495
11496var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
11497var $padEnd = __webpack_require__(/*! ../internals/string-pad */ "./node_modules/core-js/internals/string-pad.js").end;
11498var WEBKIT_BUG = __webpack_require__(/*! ../internals/string-pad-webkit-bug */ "./node_modules/core-js/internals/string-pad-webkit-bug.js");
11499
11500// `String.prototype.padEnd` method
11501// https://tc39.github.io/ecma262/#sec-string.prototype.padend
11502$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {
11503  padEnd: function padEnd(maxLength /* , fillString = ' ' */) {
11504    return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
11505  }
11506});
11507
11508
11509/***/ }),
11510
vendor: 1,073 bytes, lines 11511-11534
11511/***/ "./node_modules/core-js/modules/es.string.pad-start.js":
11512/*!*************************************************************!*\
11513  !*** ./node_modules/core-js/modules/es.string.pad-start.js ***!
11514  \*************************************************************/
11515/*! no static exports found */
11516/***/ (function(module, exports, __webpack_require__) {
11517
11518"use strict";
11519
11520var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
11521var $padStart = __webpack_require__(/*! ../internals/string-pad */ "./node_modules/core-js/internals/string-pad.js").start;
11522var WEBKIT_BUG = __webpack_require__(/*! ../internals/string-pad-webkit-bug */ "./node_modules/core-js/internals/string-pad-webkit-bug.js");
11523
11524// `String.prototype.padStart` method
11525// https://tc39.github.io/ecma262/#sec-string.prototype.padstart
11526$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {
11527  padStart: function padStart(maxLength /* , fillString = ' ' */) {
11528    return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
11529  }
11530});
11531
11532
11533/***/ }),
11534
vendor: 1,219 bytes, lines 11535-11564
11535/***/ "./node_modules/core-js/modules/es.string.raw.js":
11536/*!*******************************************************!*\
11537  !*** ./node_modules/core-js/modules/es.string.raw.js ***!
11538  \*******************************************************/
11539/*! no static exports found */
11540/***/ (function(module, exports, __webpack_require__) {
11541
11542var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
11543var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
11544var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
11545
11546// `String.raw` method
11547// https://tc39.github.io/ecma262/#sec-string.raw
11548$({ target: 'String', stat: true }, {
11549  raw: function raw(template) {
11550    var rawTemplate = toIndexedObject(template.raw);
11551    var literalSegments = toLength(rawTemplate.length);
11552    var argumentsLength = arguments.length;
11553    var elements = [];
11554    var i = 0;
11555    while (literalSegments > i) {
11556      elements.push(String(rawTemplate[i++]));
11557      if (i < argumentsLength) elements.push(String(arguments[i]));
11558    } return elements.join('');
11559  }
11560});
11561
11562
11563/***/ }),
11564
vendor: 735 bytes, lines 11565-11583
11565/***/ "./node_modules/core-js/modules/es.string.repeat.js":
11566/*!**********************************************************!*\
11567  !*** ./node_modules/core-js/modules/es.string.repeat.js ***!
11568  \**********************************************************/
11569/*! no static exports found */
11570/***/ (function(module, exports, __webpack_require__) {
11571
11572var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
11573var repeat = __webpack_require__(/*! ../internals/string-repeat */ "./node_modules/core-js/internals/string-repeat.js");
11574
11575// `String.prototype.repeat` method
11576// https://tc39.github.io/ecma262/#sec-string.prototype.repeat
11577$({ target: 'String', proto: true }, {
11578  repeat: repeat
11579});
11580
11581
11582/***/ }),
11583
vendor: 2,779 bytes, lines 11584-11645
11584/***/ "./node_modules/core-js/modules/es.string.replace-all.js":
11585/*!***************************************************************!*\
11586  !*** ./node_modules/core-js/modules/es.string.replace-all.js ***!
11587  \***************************************************************/
11588/*! no static exports found */
11589/***/ (function(module, exports, __webpack_require__) {
11590
11591"use strict";
11592
11593var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
11594var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
11595var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/core-js/internals/is-regexp.js");
11596var getRegExpFlags = __webpack_require__(/*! ../internals/regexp-flags */ "./node_modules/core-js/internals/regexp-flags.js");
11597var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
11598var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
11599
11600var REPLACE = wellKnownSymbol('replace');
11601var RegExpPrototype = RegExp.prototype;
11602
11603// `String.prototype.replaceAll` method
11604// https://github.com/tc39/proposal-string-replace-all
11605$({ target: 'String', proto: true }, {
11606  replaceAll: function replaceAll(searchValue, replaceValue) {
11607    var O = requireObjectCoercible(this);
11608    var IS_REG_EXP, flags, replacer, string, searchString, template, result, position, index;
11609    if (searchValue != null) {
11610      IS_REG_EXP = isRegExp(searchValue);
11611      if (IS_REG_EXP) {
11612        flags = String(requireObjectCoercible('flags' in RegExpPrototype
11613          ? searchValue.flags
11614          : getRegExpFlags.call(searchValue)
11615        ));
11616        if (!~flags.indexOf('g')) throw TypeError('`.replaceAll` does not allow non-global regexes');
11617      }
11618      replacer = searchValue[REPLACE];
11619      if (replacer !== undefined) {
11620        return replacer.call(searchValue, O, replaceValue);
11621      } else if (IS_PURE && IS_REG_EXP) {
11622        return String(O).replace(searchValue, replaceValue);
11623      }
11624    }
11625    string = String(O);
11626    searchString = String(searchValue);
11627    if (searchString === '') return replaceAll.call(string, /(?:)/g, replaceValue);
11628    template = string.split(searchString);
11629    if (typeof replaceValue !== 'function') {
11630      return template.join(String(replaceValue));
11631    }
11632    result = template[0];
11633    position = result.length;
11634    for (index = 1; index < template.length; index++) {
11635      result += String(replaceValue(searchString, position, string));
11636      position += searchString.length + template[index].length;
11637      result += template[index];
11638    }
11639    return result;
11640  }
11641});
11642
11643
11644/***/ }),
11645
vendor: 6,340 bytes, lines 11646-11792
11646/***/ "./node_modules/core-js/modules/es.string.replace.js":
11647/*!***********************************************************!*\
11648  !*** ./node_modules/core-js/modules/es.string.replace.js ***!
11649  \***********************************************************/
11650/*! no static exports found */
11651/***/ (function(module, exports, __webpack_require__) {
11652
11653"use strict";
11654
11655var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js");
11656var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
11657var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
11658var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
11659var toInteger = __webpack_require__(/*! ../internals/to-integer */ "./node_modules/core-js/internals/to-integer.js");
11660var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
11661var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js");
11662var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js");
11663
11664var max = Math.max;
11665var min = Math.min;
11666var floor = Math.floor;
11667var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
11668var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
11669
11670var maybeToString = function (it) {
11671  return it === undefined ? it : String(it);
11672};
11673
11674// @@replace logic
11675fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
11676  var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
11677  var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
11678  var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
11679
11680  return [
11681    // `String.prototype.replace` method
11682    // https://tc39.github.io/ecma262/#sec-string.prototype.replace
11683    function replace(searchValue, replaceValue) {
11684      var O = requireObjectCoercible(this);
11685      var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
11686      return replacer !== undefined
11687        ? replacer.call(searchValue, O, replaceValue)
11688        : nativeReplace.call(String(O), searchValue, replaceValue);
11689    },
11690    // `RegExp.prototype[@@replace]` method
11691    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
11692    function (regexp, replaceValue) {
11693      if (
11694        (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||
11695        (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)
11696      ) {
11697        var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
11698        if (res.done) return res.value;
11699      }
11700
11701      var rx = anObject(regexp);
11702      var S = String(this);
11703
11704      var functionalReplace = typeof replaceValue === 'function';
11705      if (!functionalReplace) replaceValue = String(replaceValue);
11706
11707      var global = rx.global;
11708      if (global) {
11709        var fullUnicode = rx.unicode;
11710        rx.lastIndex = 0;
11711      }
11712      var results = [];
11713      while (true) {
11714        var result = regExpExec(rx, S);
11715        if (result === null) break;
11716
11717        results.push(result);
11718        if (!global) break;
11719
11720        var matchStr = String(result[0]);
11721        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
11722      }
11723
11724      var accumulatedResult = '';
11725      var nextSourcePosition = 0;
11726      for (var i = 0; i < results.length; i++) {
11727        result = results[i];
11728
11729        var matched = String(result[0]);
11730        var position = max(min(toInteger(result.index), S.length), 0);
11731        var captures = [];
11732        // NOTE: This is equivalent to
11733        //   captures = result.slice(1).map(maybeToString)
11734        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
11735        // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
11736        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
11737        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));
11738        var namedCaptures = result.groups;
11739        if (functionalReplace) {
11740          var replacerArgs = [matched].concat(captures, position, S);
11741          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
11742          var replacement = String(replaceValue.apply(undefined, replacerArgs));
11743        } else {
11744          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
11745        }
11746        if (position >= nextSourcePosition) {
11747          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
11748          nextSourcePosition = position + matched.length;
11749        }
11750      }
11751      return accumulatedResult + S.slice(nextSourcePosition);
11752    }
11753  ];
11754
11755  // https://tc39.github.io/ecma262/#sec-getsubstitution
11756  function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
11757    var tailPos = position + matched.length;
11758    var m = captures.length;
11759    var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
11760    if (namedCaptures !== undefined) {
11761      namedCaptures = toObject(namedCaptures);
11762      symbols = SUBSTITUTION_SYMBOLS;
11763    }
11764    return nativeReplace.call(replacement, symbols, function (match, ch) {
11765      var capture;
11766      switch (ch.charAt(0)) {
11767        case '$': return '$';
11768        case '&': return matched;
11769        case '`': return str.slice(0, position);
11770        case "'": return str.slice(tailPos);
11771        case '<':
11772          capture = namedCaptures[ch.slice(1, -1)];
11773          break;
11774        default: // \d\d?
11775          var n = +ch;
11776          if (n === 0) return match;
11777          if (n > m) {
11778            var f = floor(n / 10);
11779            if (f === 0) return match;
11780            if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
11781            return match;
11782          }
11783          capture = captures[n - 1];
11784      }
11785      return capture === undefined ? '' : capture;
11786    });
11787  }
11788});
11789
11790
11791/***/ }),
11792
vendor: 2,167 bytes, lines 11793-11838
11793/***/ "./node_modules/core-js/modules/es.string.search.js":
11794/*!**********************************************************!*\
11795  !*** ./node_modules/core-js/modules/es.string.search.js ***!
11796  \**********************************************************/
11797/*! no static exports found */
11798/***/ (function(module, exports, __webpack_require__) {
11799
11800"use strict";
11801
11802var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js");
11803var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
11804var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
11805var sameValue = __webpack_require__(/*! ../internals/same-value */ "./node_modules/core-js/internals/same-value.js");
11806var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js");
11807
11808// @@search logic
11809fixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {
11810  return [
11811    // `String.prototype.search` method
11812    // https://tc39.github.io/ecma262/#sec-string.prototype.search
11813    function search(regexp) {
11814      var O = requireObjectCoercible(this);
11815      var searcher = regexp == undefined ? undefined : regexp[SEARCH];
11816      return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
11817    },
11818    // `RegExp.prototype[@@search]` method
11819    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search
11820    function (regexp) {
11821      var res = maybeCallNative(nativeSearch, regexp, this);
11822      if (res.done) return res.value;
11823
11824      var rx = anObject(regexp);
11825      var S = String(this);
11826
11827      var previousLastIndex = rx.lastIndex;
11828      if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
11829      var result = regExpExec(rx, S);
11830      if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
11831      return result === null ? -1 : result.index;
11832    }
11833  ];
11834});
11835
11836
11837/***/ }),
11838
vendor: 993 bytes, lines 11839-11862
11839/***/ "./node_modules/core-js/modules/es.string.small.js":
11840/*!*********************************************************!*\
11841  !*** ./node_modules/core-js/modules/es.string.small.js ***!
11842  \*********************************************************/
11843/*! no static exports found */
11844/***/ (function(module, exports, __webpack_require__) {
11845
11846"use strict";
11847
11848var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
11849var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js");
11850var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js");
11851
11852// `String.prototype.small` method
11853// https://tc39.github.io/ecma262/#sec-string.prototype.small
11854$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('small') }, {
11855  small: function small() {
11856    return createHTML(this, 'small', '', '');
11857  }
11858});
11859
11860
11861/***/ }),
11862
vendor: 6,532 bytes, lines 11863-12008
11863/***/ "./node_modules/core-js/modules/es.string.split.js":
11864/*!*********************************************************!*\
11865  !*** ./node_modules/core-js/modules/es.string.split.js ***!
11866  \*********************************************************/
11867/*! no static exports found */
11868/***/ (function(module, exports, __webpack_require__) {
11869
11870"use strict";
11871
11872var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js");
11873var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ "./node_modules/core-js/internals/is-regexp.js");
11874var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
11875var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
11876var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js");
11877var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js");
11878var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
11879var callRegExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js");
11880var regexpExec = __webpack_require__(/*! ../internals/regexp-exec */ "./node_modules/core-js/internals/regexp-exec.js");
11881var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
11882
11883var arrayPush = [].push;
11884var min = Math.min;
11885var MAX_UINT32 = 0xFFFFFFFF;
11886
11887// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
11888var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
11889
11890// @@split logic
11891fixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
11892  var internalSplit;
11893  if (
11894    'abbc'.split(/(b)*/)[1] == 'c' ||
11895    'test'.split(/(?:)/, -1).length != 4 ||
11896    'ab'.split(/(?:ab)*/).length != 2 ||
11897    '.'.split(/(.?)(.?)/).length != 4 ||
11898    '.'.split(/()()/).length > 1 ||
11899    ''.split(/.?/).length
11900  ) {
11901    // based on es5-shim implementation, need to rework it
11902    internalSplit = function (separator, limit) {
11903      var string = String(requireObjectCoercible(this));
11904      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
11905      if (lim === 0) return [];
11906      if (separator === undefined) return [string];
11907      // If `separator` is not a regex, use native split
11908      if (!isRegExp(separator)) {
11909        return nativeSplit.call(string, separator, lim);
11910      }
11911      var output = [];
11912      var flags = (separator.ignoreCase ? 'i' : '') +
11913                  (separator.multiline ? 'm' : '') +
11914                  (separator.unicode ? 'u' : '') +
11915                  (separator.sticky ? 'y' : '');
11916      var lastLastIndex = 0;
11917      // Make `global` and avoid `lastIndex` issues by working with a copy
11918      var separatorCopy = new RegExp(separator.source, flags + 'g');
11919      var match, lastIndex, lastLength;
11920      while (match = regexpExec.call(separatorCopy, string)) {
11921        lastIndex = separatorCopy.lastIndex;
11922        if (lastIndex > lastLastIndex) {
11923          output.push(string.slice(lastLastIndex, match.index));
11924          if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
11925          lastLength = match[0].length;
11926          lastLastIndex = lastIndex;
11927          if (output.length >= lim) break;
11928        }
11929        if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
11930      }
11931      if (lastLastIndex === string.length) {
11932        if (lastLength || !separatorCopy.test('')) output.push('');
11933      } else output.push(string.slice(lastLastIndex));
11934      return output.length > lim ? output.slice(0, lim) : output;
11935    };
11936  // Chakra, V8
11937  } else if ('0'.split(undefined, 0).length) {
11938    internalSplit = function (separator, limit) {
11939      return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
11940    };
11941  } else internalSplit = nativeSplit;
11942
11943  return [
11944    // `String.prototype.split` method
11945    // https://tc39.github.io/ecma262/#sec-string.prototype.split
11946    function split(separator, limit) {
11947      var O = requireObjectCoercible(this);
11948      var splitter = separator == undefined ? undefined : separator[SPLIT];
11949      return splitter !== undefined
11950        ? splitter.call(separator, O, limit)
11951        : internalSplit.call(String(O), separator, limit);
11952    },
11953    // `RegExp.prototype[@@split]` method
11954    // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split
11955    //
11956    // NOTE: This cannot be properly polyfilled in engines that don't support
11957    // the 'y' flag.
11958    function (regexp, limit) {
11959      var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
11960      if (res.done) return res.value;
11961
11962      var rx = anObject(regexp);
11963      var S = String(this);
11964      var C = speciesConstructor(rx, RegExp);
11965
11966      var unicodeMatching = rx.unicode;
11967      var flags = (rx.ignoreCase ? 'i' : '') +
11968                  (rx.multiline ? 'm' : '') +
11969                  (rx.unicode ? 'u' : '') +
11970                  (SUPPORTS_Y ? 'y' : 'g');
11971
11972      // ^(? + rx + ) is needed, in combination with some S slicing, to
11973      // simulate the 'y' flag.
11974      var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
11975      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
11976      if (lim === 0) return [];
11977      if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];
11978      var p = 0;
11979      var q = 0;
11980      var A = [];
11981      while (q < S.length) {
11982        splitter.lastIndex = SUPPORTS_Y ? q : 0;
11983        var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));
11984        var e;
11985        if (
11986          z === null ||
11987          (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p
11988        ) {
11989          q = advanceStringIndex(S, q, unicodeMatching);
11990        } else {
11991          A.push(S.slice(p, q));
11992          if (A.length === lim) return A;
11993          for (var i = 1; i <= z.length - 1; i++) {
11994            A.push(z[i]);
11995            if (A.length === lim) return A;
11996          }
11997          q = p = e;
11998        }
11999      }
12000      A.push(S.slice(p));
12001      return A;
12002    }
12003  ];
12004}, !SUPPORTS_Y);
12005
12006
12007/***/ }),
12008
vendor: 2,350 bytes, lines 12009-12052
12009/***/ "./node_modules/core-js/modules/es.string.starts-with.js":
12010/*!***************************************************************!*\
12011  !*** ./node_modules/core-js/modules/es.string.starts-with.js ***!
12012  \***************************************************************/
12013/*! no static exports found */
12014/***/ (function(module, exports, __webpack_require__) {
12015
12016"use strict";
12017
12018var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
12019var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js").f;
12020var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
12021var notARegExp = __webpack_require__(/*! ../internals/not-a-regexp */ "./node_modules/core-js/internals/not-a-regexp.js");
12022var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
12023var correctIsRegExpLogic = __webpack_require__(/*! ../internals/correct-is-regexp-logic */ "./node_modules/core-js/internals/correct-is-regexp-logic.js");
12024var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
12025
12026var nativeStartsWith = ''.startsWith;
12027var min = Math.min;
12028
12029var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');
12030// https://github.com/zloirock/core-js/pull/702
12031var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {
12032  var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');
12033  return descriptor && !descriptor.writable;
12034}();
12035
12036// `String.prototype.startsWith` method
12037// https://tc39.github.io/ecma262/#sec-string.prototype.startswith
12038$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {
12039  startsWith: function startsWith(searchString /* , position = 0 */) {
12040    var that = String(requireObjectCoercible(this));
12041    notARegExp(searchString);
12042    var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));
12043    var search = String(searchString);
12044    return nativeStartsWith
12045      ? nativeStartsWith.call(that, search, index)
12046      : that.slice(index, index + search.length) === search;
12047  }
12048});
12049
12050
12051/***/ }),
12052
vendor: 1,003 bytes, lines 12053-12076
12053/***/ "./node_modules/core-js/modules/es.string.strike.js":
12054/*!**********************************************************!*\
12055  !*** ./node_modules/core-js/modules/es.string.strike.js ***!
12056  \**********************************************************/
12057/*! no static exports found */
12058/***/ (function(module, exports, __webpack_require__) {
12059
12060"use strict";
12061
12062var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
12063var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js");
12064var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js");
12065
12066// `String.prototype.strike` method
12067// https://tc39.github.io/ecma262/#sec-string.prototype.strike
12068$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, {
12069  strike: function strike() {
12070    return createHTML(this, 'strike', '', '');
12071  }
12072});
12073
12074
12075/***/ }),
12076
vendor: 973 bytes, lines 12077-12100
12077/***/ "./node_modules/core-js/modules/es.string.sub.js":
12078/*!*******************************************************!*\
12079  !*** ./node_modules/core-js/modules/es.string.sub.js ***!
12080  \*******************************************************/
12081/*! no static exports found */
12082/***/ (function(module, exports, __webpack_require__) {
12083
12084"use strict";
12085
12086var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
12087var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js");
12088var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js");
12089
12090// `String.prototype.sub` method
12091// https://tc39.github.io/ecma262/#sec-string.prototype.sub
12092$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sub') }, {
12093  sub: function sub() {
12094    return createHTML(this, 'sub', '', '');
12095  }
12096});
12097
12098
12099/***/ }),
12100
vendor: 973 bytes, lines 12101-12124
12101/***/ "./node_modules/core-js/modules/es.string.sup.js":
12102/*!*******************************************************!*\
12103  !*** ./node_modules/core-js/modules/es.string.sup.js ***!
12104  \*******************************************************/
12105/*! no static exports found */
12106/***/ (function(module, exports, __webpack_require__) {
12107
12108"use strict";
12109
12110var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
12111var createHTML = __webpack_require__(/*! ../internals/create-html */ "./node_modules/core-js/internals/create-html.js");
12112var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/string-html-forced */ "./node_modules/core-js/internals/string-html-forced.js");
12113
12114// `String.prototype.sup` method
12115// https://tc39.github.io/ecma262/#sec-string.prototype.sup
12116$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sup') }, {
12117  sup: function sup() {
12118    return createHTML(this, 'sup', '', '');
12119  }
12120});
12121
12122
12123/***/ }),
12124
vendor: 1,097 bytes, lines 12125-12153
12125/***/ "./node_modules/core-js/modules/es.string.trim-end.js":
12126/*!************************************************************!*\
12127  !*** ./node_modules/core-js/modules/es.string.trim-end.js ***!
12128  \************************************************************/
12129/*! no static exports found */
12130/***/ (function(module, exports, __webpack_require__) {
12131
12132"use strict";
12133
12134var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
12135var $trimEnd = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").end;
12136var forcedStringTrimMethod = __webpack_require__(/*! ../internals/string-trim-forced */ "./node_modules/core-js/internals/string-trim-forced.js");
12137
12138var FORCED = forcedStringTrimMethod('trimEnd');
12139
12140var trimEnd = FORCED ? function trimEnd() {
12141  return $trimEnd(this);
12142} : ''.trimEnd;
12143
12144// `String.prototype.{ trimEnd, trimRight }` methods
12145// https://github.com/tc39/ecmascript-string-left-right-trim
12146$({ target: 'String', proto: true, forced: FORCED }, {
12147  trimEnd: trimEnd,
12148  trimRight: trimEnd
12149});
12150
12151
12152/***/ }),
12153
vendor: 1,125 bytes, lines 12154-12182
12154/***/ "./node_modules/core-js/modules/es.string.trim-start.js":
12155/*!**************************************************************!*\
12156  !*** ./node_modules/core-js/modules/es.string.trim-start.js ***!
12157  \**************************************************************/
12158/*! no static exports found */
12159/***/ (function(module, exports, __webpack_require__) {
12160
12161"use strict";
12162
12163var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
12164var $trimStart = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").start;
12165var forcedStringTrimMethod = __webpack_require__(/*! ../internals/string-trim-forced */ "./node_modules/core-js/internals/string-trim-forced.js");
12166
12167var FORCED = forcedStringTrimMethod('trimStart');
12168
12169var trimStart = FORCED ? function trimStart() {
12170  return $trimStart(this);
12171} : ''.trimStart;
12172
12173// `String.prototype.{ trimStart, trimLeft }` methods
12174// https://github.com/tc39/ecmascript-string-left-right-trim
12175$({ target: 'String', proto: true, forced: FORCED }, {
12176  trimStart: trimStart,
12177  trimLeft: trimStart
12178});
12179
12180
12181/***/ }),
12182
vendor: 962 bytes, lines 12183-12206
12183/***/ "./node_modules/core-js/modules/es.string.trim.js":
12184/*!********************************************************!*\
12185  !*** ./node_modules/core-js/modules/es.string.trim.js ***!
12186  \********************************************************/
12187/*! no static exports found */
12188/***/ (function(module, exports, __webpack_require__) {
12189
12190"use strict";
12191
12192var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
12193var $trim = __webpack_require__(/*! ../internals/string-trim */ "./node_modules/core-js/internals/string-trim.js").trim;
12194var forcedStringTrimMethod = __webpack_require__(/*! ../internals/string-trim-forced */ "./node_modules/core-js/internals/string-trim-forced.js");
12195
12196// `String.prototype.trim` method
12197// https://tc39.github.io/ecma262/#sec-string.prototype.trim
12198$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
12199  trim: function trim() {
12200    return $trim(this);
12201  }
12202});
12203
12204
12205/***/ }),
12206
vendor: 687 bytes, lines 12207-12222
12207/***/ "./node_modules/core-js/modules/es.symbol.async-iterator.js":
12208/*!******************************************************************!*\
12209  !*** ./node_modules/core-js/modules/es.symbol.async-iterator.js ***!
12210  \******************************************************************/
12211/*! no static exports found */
12212/***/ (function(module, exports, __webpack_require__) {
12213
12214var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js");
12215
12216// `Symbol.asyncIterator` well-known symbol
12217// https://tc39.github.io/ecma262/#sec-symbol.asynciterator
12218defineWellKnownSymbol('asyncIterator');
12219
12220
12221/***/ }),
12222
vendor: 2,978 bytes, lines 12223-12284
12223/***/ "./node_modules/core-js/modules/es.symbol.description.js":
12224/*!***************************************************************!*\
12225  !*** ./node_modules/core-js/modules/es.symbol.description.js ***!
12226  \***************************************************************/
12227/*! no static exports found */
12228/***/ (function(module, exports, __webpack_require__) {
12229
12230"use strict";
12231// `Symbol.prototype.description` getter
12232// https://tc39.github.io/ecma262/#sec-symbol.prototype.description
12233
12234var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
12235var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
12236var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
12237var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
12238var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
12239var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js").f;
12240var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "./node_modules/core-js/internals/copy-constructor-properties.js");
12241
12242var NativeSymbol = global.Symbol;
12243
12244if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||
12245  // Safari 12 bug
12246  NativeSymbol().description !== undefined
12247)) {
12248  var EmptyStringDescriptionStore = {};
12249  // wrap Symbol constructor for correct work with undefined description
12250  var SymbolWrapper = function Symbol() {
12251    var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
12252    var result = this instanceof SymbolWrapper
12253      ? new NativeSymbol(description)
12254      // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
12255      : description === undefined ? NativeSymbol() : NativeSymbol(description);
12256    if (description === '') EmptyStringDescriptionStore[result] = true;
12257    return result;
12258  };
12259  copyConstructorProperties(SymbolWrapper, NativeSymbol);
12260  var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
12261  symbolPrototype.constructor = SymbolWrapper;
12262
12263  var symbolToString = symbolPrototype.toString;
12264  var native = String(NativeSymbol('test')) == 'Symbol(test)';
12265  var regexp = /^Symbol\((.*)\)[^)]+$/;
12266  defineProperty(symbolPrototype, 'description', {
12267    configurable: true,
12268    get: function description() {
12269      var symbol = isObject(this) ? this.valueOf() : this;
12270      var string = symbolToString.call(symbol);
12271      if (has(EmptyStringDescriptionStore, symbol)) return '';
12272      var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
12273      return desc === '' ? undefined : desc;
12274    }
12275  });
12276
12277  $({ global: true, forced: true }, {
12278    Symbol: SymbolWrapper
12279  });
12280}
12281
12282
12283/***/ }),
12284
vendor: 673 bytes, lines 12285-12300
12285/***/ "./node_modules/core-js/modules/es.symbol.has-instance.js":
12286/*!****************************************************************!*\
12287  !*** ./node_modules/core-js/modules/es.symbol.has-instance.js ***!
12288  \****************************************************************/
12289/*! no static exports found */
12290/***/ (function(module, exports, __webpack_require__) {
12291
12292var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js");
12293
12294// `Symbol.hasInstance` well-known symbol
12295// https://tc39.github.io/ecma262/#sec-symbol.hasinstance
12296defineWellKnownSymbol('hasInstance');
12297
12298
12299/***/ }),
12300
vendor: 726 bytes, lines 12301-12316
12301/***/ "./node_modules/core-js/modules/es.symbol.is-concat-spreadable.js":
12302/*!************************************************************************!*\
12303  !*** ./node_modules/core-js/modules/es.symbol.is-concat-spreadable.js ***!
12304  \************************************************************************/
12305/*! no static exports found */
12306/***/ (function(module, exports, __webpack_require__) {
12307
12308var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js");
12309
12310// `Symbol.isConcatSpreadable` well-known symbol
12311// https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable
12312defineWellKnownSymbol('isConcatSpreadable');
12313
12314
12315/***/ }),
12316
vendor: 648 bytes, lines 12317-12332
12317/***/ "./node_modules/core-js/modules/es.symbol.iterator.js":
12318/*!************************************************************!*\
12319  !*** ./node_modules/core-js/modules/es.symbol.iterator.js ***!
12320  \************************************************************/
12321/*! no static exports found */
12322/***/ (function(module, exports, __webpack_require__) {
12323
12324var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js");
12325
12326// `Symbol.iterator` well-known symbol
12327// https://tc39.github.io/ecma262/#sec-symbol.iterator
12328defineWellKnownSymbol('iterator');
12329
12330
12331/***/ }),
12332
vendor: 16,014 bytes, lines 12333-12655
12333/***/ "./node_modules/core-js/modules/es.symbol.js":
12334/*!***************************************************!*\
12335  !*** ./node_modules/core-js/modules/es.symbol.js ***!
12336  \***************************************************/
12337/*! no static exports found */
12338/***/ (function(module, exports, __webpack_require__) {
12339
12340"use strict";
12341
12342var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
12343var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
12344var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
12345var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "./node_modules/core-js/internals/is-pure.js");
12346var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
12347var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ "./node_modules/core-js/internals/native-symbol.js");
12348var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "./node_modules/core-js/internals/use-symbol-as-uid.js");
12349var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
12350var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
12351var isArray = __webpack_require__(/*! ../internals/is-array */ "./node_modules/core-js/internals/is-array.js");
12352var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
12353var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
12354var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
12355var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "./node_modules/core-js/internals/to-indexed-object.js");
12356var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
12357var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
12358var nativeObjectCreate = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");
12359var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "./node_modules/core-js/internals/object-keys.js");
12360var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "./node_modules/core-js/internals/object-get-own-property-names.js");
12361var getOwnPropertyNamesExternal = __webpack_require__(/*! ../internals/object-get-own-property-names-external */ "./node_modules/core-js/internals/object-get-own-property-names-external.js");
12362var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "./node_modules/core-js/internals/object-get-own-property-symbols.js");
12363var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "./node_modules/core-js/internals/object-get-own-property-descriptor.js");
12364var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "./node_modules/core-js/internals/object-define-property.js");
12365var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "./node_modules/core-js/internals/object-property-is-enumerable.js");
12366var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
12367var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
12368var shared = __webpack_require__(/*! ../internals/shared */ "./node_modules/core-js/internals/shared.js");
12369var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "./node_modules/core-js/internals/shared-key.js");
12370var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "./node_modules/core-js/internals/hidden-keys.js");
12371var uid = __webpack_require__(/*! ../internals/uid */ "./node_modules/core-js/internals/uid.js");
12372var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
12373var wrappedWellKnownSymbolModule = __webpack_require__(/*! ../internals/well-known-symbol-wrapped */ "./node_modules/core-js/internals/well-known-symbol-wrapped.js");
12374var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js");
12375var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
12376var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
12377var $forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").forEach;
12378
12379var HIDDEN = sharedKey('hidden');
12380var SYMBOL = 'Symbol';
12381var PROTOTYPE = 'prototype';
12382var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
12383var setInternalState = InternalStateModule.set;
12384var getInternalState = InternalStateModule.getterFor(SYMBOL);
12385var ObjectPrototype = Object[PROTOTYPE];
12386var $Symbol = global.Symbol;
12387var $stringify = getBuiltIn('JSON', 'stringify');
12388var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
12389var nativeDefineProperty = definePropertyModule.f;
12390var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
12391var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
12392var AllSymbols = shared('symbols');
12393var ObjectPrototypeSymbols = shared('op-symbols');
12394var StringToSymbolRegistry = shared('string-to-symbol-registry');
12395var SymbolToStringRegistry = shared('symbol-to-string-registry');
12396var WellKnownSymbolsStore = shared('wks');
12397var QObject = global.QObject;
12398// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
12399var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
12400
12401// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
12402var setSymbolDescriptor = DESCRIPTORS && fails(function () {
12403  return nativeObjectCreate(nativeDefineProperty({}, 'a', {
12404    get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }
12405  })).a != 7;
12406}) ? function (O, P, Attributes) {
12407  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
12408  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
12409  nativeDefineProperty(O, P, Attributes);
12410  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
12411    nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
12412  }
12413} : nativeDefineProperty;
12414
12415var wrap = function (tag, description) {
12416  var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);
12417  setInternalState(symbol, {
12418    type: SYMBOL,
12419    tag: tag,
12420    description: description
12421  });
12422  if (!DESCRIPTORS) symbol.description = description;
12423  return symbol;
12424};
12425
12426var isSymbol = USE_SYMBOL_AS_UID ? function (it) {
12427  return typeof it == 'symbol';
12428} : function (it) {
12429  return Object(it) instanceof $Symbol;
12430};
12431
12432var $defineProperty = function defineProperty(O, P, Attributes) {
12433  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
12434  anObject(O);
12435  var key = toPrimitive(P, true);
12436  anObject(Attributes);
12437  if (has(AllSymbols, key)) {
12438    if (!Attributes.enumerable) {
12439      if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
12440      O[HIDDEN][key] = true;
12441    } else {
12442      if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
12443      Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
12444    } return setSymbolDescriptor(O, key, Attributes);
12445  } return nativeDefineProperty(O, key, Attributes);
12446};
12447
12448var $defineProperties = function defineProperties(O, Properties) {
12449  anObject(O);
12450  var properties = toIndexedObject(Properties);
12451  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
12452  $forEach(keys, function (key) {
12453    if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
12454  });
12455  return O;
12456};
12457
12458var $create = function create(O, Properties) {
12459  return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
12460};
12461
12462var $propertyIsEnumerable = function propertyIsEnumerable(V) {
12463  var P = toPrimitive(V, true);
12464  var enumerable = nativePropertyIsEnumerable.call(this, P);
12465  if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
12466  return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
12467};
12468
12469var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
12470  var it = toIndexedObject(O);
12471  var key = toPrimitive(P, true);
12472  if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
12473  var descriptor = nativeGetOwnPropertyDescriptor(it, key);
12474  if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
12475    descriptor.enumerable = true;
12476  }
12477  return descriptor;
12478};
12479
12480var $getOwnPropertyNames = function getOwnPropertyNames(O) {
12481  var names = nativeGetOwnPropertyNames(toIndexedObject(O));
12482  var result = [];
12483  $forEach(names, function (key) {
12484    if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
12485  });
12486  return result;
12487};
12488
12489var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
12490  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
12491  var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
12492  var result = [];
12493  $forEach(names, function (key) {
12494    if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
12495      result.push(AllSymbols[key]);
12496    }
12497  });
12498  return result;
12499};
12500
12501// `Symbol` constructor
12502// https://tc39.github.io/ecma262/#sec-symbol-constructor
12503if (!NATIVE_SYMBOL) {
12504  $Symbol = function Symbol() {
12505    if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
12506    var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
12507    var tag = uid(description);
12508    var setter = function (value) {
12509      if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
12510      if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
12511      setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
12512    };
12513    if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
12514    return wrap(tag, description);
12515  };
12516
12517  redefine($Symbol[PROTOTYPE], 'toString', function toString() {
12518    return getInternalState(this).tag;
12519  });
12520
12521  redefine($Symbol, 'withoutSetter', function (description) {
12522    return wrap(uid(description), description);
12523  });
12524
12525  propertyIsEnumerableModule.f = $propertyIsEnumerable;
12526  definePropertyModule.f = $defineProperty;
12527  getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
12528  getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
12529  getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
12530
12531  wrappedWellKnownSymbolModule.f = function (name) {
12532    return wrap(wellKnownSymbol(name), name);
12533  };
12534
12535  if (DESCRIPTORS) {
12536    // https://github.com/tc39/proposal-Symbol-description
12537    nativeDefineProperty($Symbol[PROTOTYPE], 'description', {
12538      configurable: true,
12539      get: function description() {
12540        return getInternalState(this).description;
12541      }
12542    });
12543    if (!IS_PURE) {
12544      redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
12545    }
12546  }
12547}
12548
12549$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {
12550  Symbol: $Symbol
12551});
12552
12553$forEach(objectKeys(WellKnownSymbolsStore), function (name) {
12554  defineWellKnownSymbol(name);
12555});
12556
12557$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {
12558  // `Symbol.for` method
12559  // https://tc39.github.io/ecma262/#sec-symbol.for
12560  'for': function (key) {
12561    var string = String(key);
12562    if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
12563    var symbol = $Symbol(string);
12564    StringToSymbolRegistry[string] = symbol;
12565    SymbolToStringRegistry[symbol] = string;
12566    return symbol;
12567  },
12568  // `Symbol.keyFor` method
12569  // https://tc39.github.io/ecma262/#sec-symbol.keyfor
12570  keyFor: function keyFor(sym) {
12571    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
12572    if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
12573  },
12574  useSetter: function () { USE_SETTER = true; },
12575  useSimple: function () { USE_SETTER = false; }
12576});
12577
12578$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {
12579  // `Object.create` method
12580  // https://tc39.github.io/ecma262/#sec-object.create
12581  create: $create,
12582  // `Object.defineProperty` method
12583  // https://tc39.github.io/ecma262/#sec-object.defineproperty
12584  defineProperty: $defineProperty,
12585  // `Object.defineProperties` method
12586  // https://tc39.github.io/ecma262/#sec-object.defineproperties
12587  defineProperties: $defineProperties,
12588  // `Object.getOwnPropertyDescriptor` method
12589  // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
12590  getOwnPropertyDescriptor: $getOwnPropertyDescriptor
12591});
12592
12593$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {
12594  // `Object.getOwnPropertyNames` method
12595  // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
12596  getOwnPropertyNames: $getOwnPropertyNames,
12597  // `Object.getOwnPropertySymbols` method
12598  // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols
12599  getOwnPropertySymbols: $getOwnPropertySymbols
12600});
12601
12602// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
12603// https://bugs.chromium.org/p/v8/issues/detail?id=3443
12604$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {
12605  getOwnPropertySymbols: function getOwnPropertySymbols(it) {
12606    return getOwnPropertySymbolsModule.f(toObject(it));
12607  }
12608});
12609
12610// `JSON.stringify` method behavior with symbols
12611// https://tc39.github.io/ecma262/#sec-json.stringify
12612if ($stringify) {
12613  var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {
12614    var symbol = $Symbol();
12615    // MS Edge converts symbol values to JSON as {}
12616    return $stringify([symbol]) != '[null]'
12617      // WebKit converts symbol values to JSON as null
12618      || $stringify({ a: symbol }) != '{}'
12619      // V8 throws on boxed symbols
12620      || $stringify(Object(symbol)) != '{}';
12621  });
12622
12623  $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {
12624    // eslint-disable-next-line no-unused-vars
12625    stringify: function stringify(it, replacer, space) {
12626      var args = [it];
12627      var index = 1;
12628      var $replacer;
12629      while (arguments.length > index) args.push(arguments[index++]);
12630      $replacer = replacer;
12631      if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
12632      if (!isArray(replacer)) replacer = function (key, value) {
12633        if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
12634        if (!isSymbol(value)) return value;
12635      };
12636      args[1] = replacer;
12637      return $stringify.apply(null, args);
12638    }
12639  });
12640}
12641
12642// `Symbol.prototype[@@toPrimitive]` method
12643// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive
12644if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {
12645  createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
12646}
12647// `Symbol.prototype[@@toStringTag]` property
12648// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag
12649setToStringTag($Symbol, SYMBOL);
12650
12651hiddenKeys[HIDDEN] = true;
12652
12653
12654/***/ }),
12655
vendor: 597 bytes, lines 12656-12670
12656/***/ "./node_modules/core-js/modules/es.symbol.match-all.js":
12657/*!*************************************************************!*\
12658  !*** ./node_modules/core-js/modules/es.symbol.match-all.js ***!
12659  \*************************************************************/
12660/*! no static exports found */
12661/***/ (function(module, exports, __webpack_require__) {
12662
12663var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js");
12664
12665// `Symbol.matchAll` well-known symbol
12666defineWellKnownSymbol('matchAll');
12667
12668
12669/***/ }),
12670
vendor: 627 bytes, lines 12671-12686
12671/***/ "./node_modules/core-js/modules/es.symbol.match.js":
12672/*!*********************************************************!*\
12673  !*** ./node_modules/core-js/modules/es.symbol.match.js ***!
12674  \*********************************************************/
12675/*! no static exports found */
12676/***/ (function(module, exports, __webpack_require__) {
12677
12678var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js");
12679
12680// `Symbol.match` well-known symbol
12681// https://tc39.github.io/ecma262/#sec-symbol.match
12682defineWellKnownSymbol('match');
12683
12684
12685/***/ }),
12686
vendor: 641 bytes, lines 12687-12702
12687/***/ "./node_modules/core-js/modules/es.symbol.replace.js":
12688/*!***********************************************************!*\
12689  !*** ./node_modules/core-js/modules/es.symbol.replace.js ***!
12690  \***********************************************************/
12691/*! no static exports found */
12692/***/ (function(module, exports, __webpack_require__) {
12693
12694var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js");
12695
12696// `Symbol.replace` well-known symbol
12697// https://tc39.github.io/ecma262/#sec-symbol.replace
12698defineWellKnownSymbol('replace');
12699
12700
12701/***/ }),
12702
vendor: 634 bytes, lines 12703-12718
12703/***/ "./node_modules/core-js/modules/es.symbol.search.js":
12704/*!**********************************************************!*\
12705  !*** ./node_modules/core-js/modules/es.symbol.search.js ***!
12706  \**********************************************************/
12707/*! no static exports found */
12708/***/ (function(module, exports, __webpack_require__) {
12709
12710var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js");
12711
12712// `Symbol.search` well-known symbol
12713// https://tc39.github.io/ecma262/#sec-symbol.search
12714defineWellKnownSymbol('search');
12715
12716
12717/***/ }),
12718
vendor: 641 bytes, lines 12719-12734
12719/***/ "./node_modules/core-js/modules/es.symbol.species.js":
12720/*!***********************************************************!*\
12721  !*** ./node_modules/core-js/modules/es.symbol.species.js ***!
12722  \***********************************************************/
12723/*! no static exports found */
12724/***/ (function(module, exports, __webpack_require__) {
12725
12726var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js");
12727
12728// `Symbol.species` well-known symbol
12729// https://tc39.github.io/ecma262/#sec-symbol.species
12730defineWellKnownSymbol('species');
12731
12732
12733/***/ }),
12734
vendor: 627 bytes, lines 12735-12750
12735/***/ "./node_modules/core-js/modules/es.symbol.split.js":
12736/*!*********************************************************!*\
12737  !*** ./node_modules/core-js/modules/es.symbol.split.js ***!
12738  \*********************************************************/
12739/*! no static exports found */
12740/***/ (function(module, exports, __webpack_require__) {
12741
12742var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js");
12743
12744// `Symbol.split` well-known symbol
12745// https://tc39.github.io/ecma262/#sec-symbol.split
12746defineWellKnownSymbol('split');
12747
12748
12749/***/ }),
12750
vendor: 673 bytes, lines 12751-12766
12751/***/ "./node_modules/core-js/modules/es.symbol.to-primitive.js":
12752/*!****************************************************************!*\
12753  !*** ./node_modules/core-js/modules/es.symbol.to-primitive.js ***!
12754  \****************************************************************/
12755/*! no static exports found */
12756/***/ (function(module, exports, __webpack_require__) {
12757
12758var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js");
12759
12760// `Symbol.toPrimitive` well-known symbol
12761// https://tc39.github.io/ecma262/#sec-symbol.toprimitive
12762defineWellKnownSymbol('toPrimitive');
12763
12764
12765/***/ }),
12766
vendor: 677 bytes, lines 12767-12782
12767/***/ "./node_modules/core-js/modules/es.symbol.to-string-tag.js":
12768/*!*****************************************************************!*\
12769  !*** ./node_modules/core-js/modules/es.symbol.to-string-tag.js ***!
12770  \*****************************************************************/
12771/*! no static exports found */
12772/***/ (function(module, exports, __webpack_require__) {
12773
12774var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js");
12775
12776// `Symbol.toStringTag` well-known symbol
12777// https://tc39.github.io/ecma262/#sec-symbol.tostringtag
12778defineWellKnownSymbol('toStringTag');
12779
12780
12781/***/ }),
12782
vendor: 669 bytes, lines 12783-12798
12783/***/ "./node_modules/core-js/modules/es.symbol.unscopables.js":
12784/*!***************************************************************!*\
12785  !*** ./node_modules/core-js/modules/es.symbol.unscopables.js ***!
12786  \***************************************************************/
12787/*! no static exports found */
12788/***/ (function(module, exports, __webpack_require__) {
12789
12790var defineWellKnownSymbol = __webpack_require__(/*! ../internals/define-well-known-symbol */ "./node_modules/core-js/internals/define-well-known-symbol.js");
12791
12792// `Symbol.unscopables` well-known symbol
12793// https://tc39.github.io/ecma262/#sec-symbol.unscopables
12794defineWellKnownSymbol('unscopables');
12795
12796
12797/***/ }),
12798
vendor: 1,138 bytes, lines 12799-12822
12799/***/ "./node_modules/core-js/modules/es.typed-array.copy-within.js":
12800/*!********************************************************************!*\
12801  !*** ./node_modules/core-js/modules/es.typed-array.copy-within.js ***!
12802  \********************************************************************/
12803/*! no static exports found */
12804/***/ (function(module, exports, __webpack_require__) {
12805
12806"use strict";
12807
12808var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
12809var $copyWithin = __webpack_require__(/*! ../internals/array-copy-within */ "./node_modules/core-js/internals/array-copy-within.js");
12810
12811var aTypedArray = ArrayBufferViewCore.aTypedArray;
12812var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
12813
12814// `%TypedArray%.prototype.copyWithin` method
12815// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.copywithin
12816exportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {
12817  return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
12818});
12819
12820
12821/***/ }),
12822
vendor: 1,079 bytes, lines 12823-12846
12823/***/ "./node_modules/core-js/modules/es.typed-array.every.js":
12824/*!**************************************************************!*\
12825  !*** ./node_modules/core-js/modules/es.typed-array.every.js ***!
12826  \**************************************************************/
12827/*! no static exports found */
12828/***/ (function(module, exports, __webpack_require__) {
12829
12830"use strict";
12831
12832var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
12833var $every = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").every;
12834
12835var aTypedArray = ArrayBufferViewCore.aTypedArray;
12836var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
12837
12838// `%TypedArray%.prototype.every` method
12839// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every
12840exportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {
12841  return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
12842});
12843
12844
12845/***/ }),
12846
vendor: 1,050 bytes, lines 12847-12871
12847/***/ "./node_modules/core-js/modules/es.typed-array.fill.js":
12848/*!*************************************************************!*\
12849  !*** ./node_modules/core-js/modules/es.typed-array.fill.js ***!
12850  \*************************************************************/
12851/*! no static exports found */
12852/***/ (function(module, exports, __webpack_require__) {
12853
12854"use strict";
12855
12856var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
12857var $fill = __webpack_require__(/*! ../internals/array-fill */ "./node_modules/core-js/internals/array-fill.js");
12858
12859var aTypedArray = ArrayBufferViewCore.aTypedArray;
12860var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
12861
12862// `%TypedArray%.prototype.fill` method
12863// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill
12864// eslint-disable-next-line no-unused-vars
12865exportTypedArrayMethod('fill', function fill(value /* , start, end */) {
12866  return $fill.apply(aTypedArray(this), arguments);
12867});
12868
12869
12870/***/ }),
12871
vendor: 1,540 bytes, lines 12872-12903
12872/***/ "./node_modules/core-js/modules/es.typed-array.filter.js":
12873/*!***************************************************************!*\
12874  !*** ./node_modules/core-js/modules/es.typed-array.filter.js ***!
12875  \***************************************************************/
12876/*! no static exports found */
12877/***/ (function(module, exports, __webpack_require__) {
12878
12879"use strict";
12880
12881var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
12882var $filter = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").filter;
12883var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js");
12884
12885var aTypedArray = ArrayBufferViewCore.aTypedArray;
12886var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
12887var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
12888
12889// `%TypedArray%.prototype.filter` method
12890// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.filter
12891exportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {
12892  var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
12893  var C = speciesConstructor(this, this.constructor);
12894  var index = 0;
12895  var length = list.length;
12896  var result = new (aTypedArrayConstructor(C))(length);
12897  while (length > index) result[index] = list[index++];
12898  return result;
12899});
12900
12901
12902/***/ }),
12903
vendor: 1,125 bytes, lines 12904-12927
12904/***/ "./node_modules/core-js/modules/es.typed-array.find-index.js":
12905/*!*******************************************************************!*\
12906  !*** ./node_modules/core-js/modules/es.typed-array.find-index.js ***!
12907  \*******************************************************************/
12908/*! no static exports found */
12909/***/ (function(module, exports, __webpack_require__) {
12910
12911"use strict";
12912
12913var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
12914var $findIndex = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").findIndex;
12915
12916var aTypedArray = ArrayBufferViewCore.aTypedArray;
12917var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
12918
12919// `%TypedArray%.prototype.findIndex` method
12920// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.findindex
12921exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {
12922  return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
12923});
12924
12925
12926/***/ }),
12927
vendor: 1,066 bytes, lines 12928-12951
12928/***/ "./node_modules/core-js/modules/es.typed-array.find.js":
12929/*!*************************************************************!*\
12930  !*** ./node_modules/core-js/modules/es.typed-array.find.js ***!
12931  \*************************************************************/
12932/*! no static exports found */
12933/***/ (function(module, exports, __webpack_require__) {
12934
12935"use strict";
12936
12937var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
12938var $find = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").find;
12939
12940var aTypedArray = ArrayBufferViewCore.aTypedArray;
12941var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
12942
12943// `%TypedArray%.prototype.find` method
12944// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.find
12945exportTypedArrayMethod('find', function find(predicate /* , thisArg */) {
12946  return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
12947});
12948
12949
12950/***/ }),
12951
vendor: 825 bytes, lines 12952-12971
12952/***/ "./node_modules/core-js/modules/es.typed-array.float32-array.js":
12953/*!**********************************************************************!*\
12954  !*** ./node_modules/core-js/modules/es.typed-array.float32-array.js ***!
12955  \**********************************************************************/
12956/*! no static exports found */
12957/***/ (function(module, exports, __webpack_require__) {
12958
12959var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js");
12960
12961// `Float32Array` constructor
12962// https://tc39.github.io/ecma262/#sec-typedarray-objects
12963createTypedArrayConstructor('Float32', function (init) {
12964  return function Float32Array(data, byteOffset, length) {
12965    return init(this, data, byteOffset, length);
12966  };
12967});
12968
12969
12970/***/ }),
12971
vendor: 825 bytes, lines 12972-12991
12972/***/ "./node_modules/core-js/modules/es.typed-array.float64-array.js":
12973/*!**********************************************************************!*\
12974  !*** ./node_modules/core-js/modules/es.typed-array.float64-array.js ***!
12975  \**********************************************************************/
12976/*! no static exports found */
12977/***/ (function(module, exports, __webpack_require__) {
12978
12979var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js");
12980
12981// `Float64Array` constructor
12982// https://tc39.github.io/ecma262/#sec-typedarray-objects
12983createTypedArrayConstructor('Float64', function (init) {
12984  return function Float64Array(data, byteOffset, length) {
12985    return init(this, data, byteOffset, length);
12986  };
12987});
12988
12989
12990/***/ }),
12991
vendor: 1,098 bytes, lines 12992-13015
12992/***/ "./node_modules/core-js/modules/es.typed-array.for-each.js":
12993/*!*****************************************************************!*\
12994  !*** ./node_modules/core-js/modules/es.typed-array.for-each.js ***!
12995  \*****************************************************************/
12996/*! no static exports found */
12997/***/ (function(module, exports, __webpack_require__) {
12998
12999"use strict";
13000
13001var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
13002var $forEach = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").forEach;
13003
13004var aTypedArray = ArrayBufferViewCore.aTypedArray;
13005var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
13006
13007// `%TypedArray%.prototype.forEach` method
13008// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.foreach
13009exportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {
13010  $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
13011});
13012
13013
13014/***/ }),
13015
vendor: 1,105 bytes, lines 13016-13035
13016/***/ "./node_modules/core-js/modules/es.typed-array.from.js":
13017/*!*************************************************************!*\
13018  !*** ./node_modules/core-js/modules/es.typed-array.from.js ***!
13019  \*************************************************************/
13020/*! no static exports found */
13021/***/ (function(module, exports, __webpack_require__) {
13022
13023"use strict";
13024
13025var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(/*! ../internals/typed-array-constructors-require-wrappers */ "./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js");
13026var exportTypedArrayStaticMethod = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js").exportTypedArrayStaticMethod;
13027var typedArrayFrom = __webpack_require__(/*! ../internals/typed-array-from */ "./node_modules/core-js/internals/typed-array-from.js");
13028
13029// `%TypedArray%.from` method
13030// https://tc39.github.io/ecma262/#sec-%typedarray%.from
13031exportTypedArrayStaticMethod('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS);
13032
13033
13034/***/ }),
13035
vendor: 1,118 bytes, lines 13036-13059
13036/***/ "./node_modules/core-js/modules/es.typed-array.includes.js":
13037/*!*****************************************************************!*\
13038  !*** ./node_modules/core-js/modules/es.typed-array.includes.js ***!
13039  \*****************************************************************/
13040/*! no static exports found */
13041/***/ (function(module, exports, __webpack_require__) {
13042
13043"use strict";
13044
13045var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
13046var $includes = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").includes;
13047
13048var aTypedArray = ArrayBufferViewCore.aTypedArray;
13049var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
13050
13051// `%TypedArray%.prototype.includes` method
13052// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.includes
13053exportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {
13054  return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
13055});
13056
13057
13058/***/ }),
13059
vendor: 1,111 bytes, lines 13060-13083
13060/***/ "./node_modules/core-js/modules/es.typed-array.index-of.js":
13061/*!*****************************************************************!*\
13062  !*** ./node_modules/core-js/modules/es.typed-array.index-of.js ***!
13063  \*****************************************************************/
13064/*! no static exports found */
13065/***/ (function(module, exports, __webpack_require__) {
13066
13067"use strict";
13068
13069var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
13070var $indexOf = __webpack_require__(/*! ../internals/array-includes */ "./node_modules/core-js/internals/array-includes.js").indexOf;
13071
13072var aTypedArray = ArrayBufferViewCore.aTypedArray;
13073var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
13074
13075// `%TypedArray%.prototype.indexOf` method
13076// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.indexof
13077exportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {
13078  return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
13079});
13080
13081
13082/***/ }),
13083
vendor: 811 bytes, lines 13084-13103
13084/***/ "./node_modules/core-js/modules/es.typed-array.int16-array.js":
13085/*!********************************************************************!*\
13086  !*** ./node_modules/core-js/modules/es.typed-array.int16-array.js ***!
13087  \********************************************************************/
13088/*! no static exports found */
13089/***/ (function(module, exports, __webpack_require__) {
13090
13091var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js");
13092
13093// `Int16Array` constructor
13094// https://tc39.github.io/ecma262/#sec-typedarray-objects
13095createTypedArrayConstructor('Int16', function (init) {
13096  return function Int16Array(data, byteOffset, length) {
13097    return init(this, data, byteOffset, length);
13098  };
13099});
13100
13101
13102/***/ }),
13103
vendor: 811 bytes, lines 13104-13123
13104/***/ "./node_modules/core-js/modules/es.typed-array.int32-array.js":
13105/*!********************************************************************!*\
13106  !*** ./node_modules/core-js/modules/es.typed-array.int32-array.js ***!
13107  \********************************************************************/
13108/*! no static exports found */
13109/***/ (function(module, exports, __webpack_require__) {
13110
13111var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js");
13112
13113// `Int32Array` constructor
13114// https://tc39.github.io/ecma262/#sec-typedarray-objects
13115createTypedArrayConstructor('Int32', function (init) {
13116  return function Int32Array(data, byteOffset, length) {
13117    return init(this, data, byteOffset, length);
13118  };
13119});
13120
13121
13122/***/ }),
13123
vendor: 804 bytes, lines 13124-13143
13124/***/ "./node_modules/core-js/modules/es.typed-array.int8-array.js":
13125/*!*******************************************************************!*\
13126  !*** ./node_modules/core-js/modules/es.typed-array.int8-array.js ***!
13127  \*******************************************************************/
13128/*! no static exports found */
13129/***/ (function(module, exports, __webpack_require__) {
13130
13131var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js");
13132
13133// `Int8Array` constructor
13134// https://tc39.github.io/ecma262/#sec-typedarray-objects
13135createTypedArrayConstructor('Int8', function (init) {
13136  return function Int8Array(data, byteOffset, length) {
13137    return init(this, data, byteOffset, length);
13138  };
13139});
13140
13141
13142/***/ }),
13143
vendor: 2,368 bytes, lines 13144-13193
13144/***/ "./node_modules/core-js/modules/es.typed-array.iterator.js":
13145/*!*****************************************************************!*\
13146  !*** ./node_modules/core-js/modules/es.typed-array.iterator.js ***!
13147  \*****************************************************************/
13148/*! no static exports found */
13149/***/ (function(module, exports, __webpack_require__) {
13150
13151"use strict";
13152
13153var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
13154var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
13155var ArrayIterators = __webpack_require__(/*! ../modules/es.array.iterator */ "./node_modules/core-js/modules/es.array.iterator.js");
13156var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
13157
13158var ITERATOR = wellKnownSymbol('iterator');
13159var Uint8Array = global.Uint8Array;
13160var arrayValues = ArrayIterators.values;
13161var arrayKeys = ArrayIterators.keys;
13162var arrayEntries = ArrayIterators.entries;
13163var aTypedArray = ArrayBufferViewCore.aTypedArray;
13164var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
13165var nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];
13166
13167var CORRECT_ITER_NAME = !!nativeTypedArrayIterator
13168  && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);
13169
13170var typedArrayValues = function values() {
13171  return arrayValues.call(aTypedArray(this));
13172};
13173
13174// `%TypedArray%.prototype.entries` method
13175// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.entries
13176exportTypedArrayMethod('entries', function entries() {
13177  return arrayEntries.call(aTypedArray(this));
13178});
13179// `%TypedArray%.prototype.keys` method
13180// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.keys
13181exportTypedArrayMethod('keys', function keys() {
13182  return arrayKeys.call(aTypedArray(this));
13183});
13184// `%TypedArray%.prototype.values` method
13185// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.values
13186exportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME);
13187// `%TypedArray%.prototype[@@iterator]` method
13188// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype-@@iterator
13189exportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);
13190
13191
13192/***/ }),
13193
vendor: 942 bytes, lines 13194-13218
13194/***/ "./node_modules/core-js/modules/es.typed-array.join.js":
13195/*!*************************************************************!*\
13196  !*** ./node_modules/core-js/modules/es.typed-array.join.js ***!
13197  \*************************************************************/
13198/*! no static exports found */
13199/***/ (function(module, exports, __webpack_require__) {
13200
13201"use strict";
13202
13203var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
13204
13205var aTypedArray = ArrayBufferViewCore.aTypedArray;
13206var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
13207var $join = [].join;
13208
13209// `%TypedArray%.prototype.join` method
13210// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join
13211// eslint-disable-next-line no-unused-vars
13212exportTypedArrayMethod('join', function join(separator) {
13213  return $join.apply(aTypedArray(this), arguments);
13214});
13215
13216
13217/***/ }),
13218
vendor: 1,153 bytes, lines 13219-13243
13219/***/ "./node_modules/core-js/modules/es.typed-array.last-index-of.js":
13220/*!**********************************************************************!*\
13221  !*** ./node_modules/core-js/modules/es.typed-array.last-index-of.js ***!
13222  \**********************************************************************/
13223/*! no static exports found */
13224/***/ (function(module, exports, __webpack_require__) {
13225
13226"use strict";
13227
13228var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
13229var $lastIndexOf = __webpack_require__(/*! ../internals/array-last-index-of */ "./node_modules/core-js/internals/array-last-index-of.js");
13230
13231var aTypedArray = ArrayBufferViewCore.aTypedArray;
13232var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
13233
13234// `%TypedArray%.prototype.lastIndexOf` method
13235// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.lastindexof
13236// eslint-disable-next-line no-unused-vars
13237exportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {
13238  return $lastIndexOf.apply(aTypedArray(this), arguments);
13239});
13240
13241
13242/***/ }),
13243
vendor: 1,380 bytes, lines 13244-13271
13244/***/ "./node_modules/core-js/modules/es.typed-array.map.js":
13245/*!************************************************************!*\
13246  !*** ./node_modules/core-js/modules/es.typed-array.map.js ***!
13247  \************************************************************/
13248/*! no static exports found */
13249/***/ (function(module, exports, __webpack_require__) {
13250
13251"use strict";
13252
13253var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
13254var $map = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").map;
13255var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js");
13256
13257var aTypedArray = ArrayBufferViewCore.aTypedArray;
13258var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
13259var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
13260
13261// `%TypedArray%.prototype.map` method
13262// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.map
13263exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {
13264  return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {
13265    return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);
13266  });
13267});
13268
13269
13270/***/ }),
13271
vendor: 1,281 bytes, lines 13272-13299
13272/***/ "./node_modules/core-js/modules/es.typed-array.of.js":
13273/*!***********************************************************!*\
13274  !*** ./node_modules/core-js/modules/es.typed-array.of.js ***!
13275  \***********************************************************/
13276/*! no static exports found */
13277/***/ (function(module, exports, __webpack_require__) {
13278
13279"use strict";
13280
13281var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
13282var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(/*! ../internals/typed-array-constructors-require-wrappers */ "./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js");
13283
13284var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
13285var exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod;
13286
13287// `%TypedArray%.of` method
13288// https://tc39.github.io/ecma262/#sec-%typedarray%.of
13289exportTypedArrayStaticMethod('of', function of(/* ...items */) {
13290  var index = 0;
13291  var length = arguments.length;
13292  var result = new (aTypedArrayConstructor(this))(length);
13293  while (length > index) result[index] = arguments[index++];
13294  return result;
13295}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS);
13296
13297
13298/***/ }),
13299
vendor: 1,160 bytes, lines 13300-13323
13300/***/ "./node_modules/core-js/modules/es.typed-array.reduce-right.js":
13301/*!*********************************************************************!*\
13302  !*** ./node_modules/core-js/modules/es.typed-array.reduce-right.js ***!
13303  \*********************************************************************/
13304/*! no static exports found */
13305/***/ (function(module, exports, __webpack_require__) {
13306
13307"use strict";
13308
13309var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
13310var $reduceRight = __webpack_require__(/*! ../internals/array-reduce */ "./node_modules/core-js/internals/array-reduce.js").right;
13311
13312var aTypedArray = ArrayBufferViewCore.aTypedArray;
13313var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
13314
13315// `%TypedArray%.prototype.reduceRicht` method
13316// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduceright
13317exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {
13318  return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
13319});
13320
13321
13322/***/ }),
13323
vendor: 1,105 bytes, lines 13324-13347
13324/***/ "./node_modules/core-js/modules/es.typed-array.reduce.js":
13325/*!***************************************************************!*\
13326  !*** ./node_modules/core-js/modules/es.typed-array.reduce.js ***!
13327  \***************************************************************/
13328/*! no static exports found */
13329/***/ (function(module, exports, __webpack_require__) {
13330
13331"use strict";
13332
13333var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
13334var $reduce = __webpack_require__(/*! ../internals/array-reduce */ "./node_modules/core-js/internals/array-reduce.js").left;
13335
13336var aTypedArray = ArrayBufferViewCore.aTypedArray;
13337var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
13338
13339// `%TypedArray%.prototype.reduce` method
13340// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduce
13341exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {
13342  return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
13343});
13344
13345
13346/***/ }),
13347
vendor: 1,120 bytes, lines 13348-13380
13348/***/ "./node_modules/core-js/modules/es.typed-array.reverse.js":
13349/*!****************************************************************!*\
13350  !*** ./node_modules/core-js/modules/es.typed-array.reverse.js ***!
13351  \****************************************************************/
13352/*! no static exports found */
13353/***/ (function(module, exports, __webpack_require__) {
13354
13355"use strict";
13356
13357var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
13358
13359var aTypedArray = ArrayBufferViewCore.aTypedArray;
13360var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
13361var floor = Math.floor;
13362
13363// `%TypedArray%.prototype.reverse` method
13364// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reverse
13365exportTypedArrayMethod('reverse', function reverse() {
13366  var that = this;
13367  var length = aTypedArray(that).length;
13368  var middle = floor(length / 2);
13369  var index = 0;
13370  var value;
13371  while (index < middle) {
13372    value = that[index];
13373    that[index++] = that[--length];
13374    that[length] = value;
13375  } return that;
13376});
13377
13378
13379/***/ }),
13380
vendor: 1,727 bytes, lines 13381-13419
13381/***/ "./node_modules/core-js/modules/es.typed-array.set.js":
13382/*!************************************************************!*\
13383  !*** ./node_modules/core-js/modules/es.typed-array.set.js ***!
13384  \************************************************************/
13385/*! no static exports found */
13386/***/ (function(module, exports, __webpack_require__) {
13387
13388"use strict";
13389
13390var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
13391var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
13392var toOffset = __webpack_require__(/*! ../internals/to-offset */ "./node_modules/core-js/internals/to-offset.js");
13393var toObject = __webpack_require__(/*! ../internals/to-object */ "./node_modules/core-js/internals/to-object.js");
13394var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
13395
13396var aTypedArray = ArrayBufferViewCore.aTypedArray;
13397var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
13398
13399var FORCED = fails(function () {
13400  // eslint-disable-next-line no-undef
13401  new Int8Array(1).set({});
13402});
13403
13404// `%TypedArray%.prototype.set` method
13405// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.set
13406exportTypedArrayMethod('set', function set(arrayLike /* , offset */) {
13407  aTypedArray(this);
13408  var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);
13409  var length = this.length;
13410  var src = toObject(arrayLike);
13411  var len = toLength(src.length);
13412  var index = 0;
13413  if (len + offset > length) throw RangeError('Wrong length');
13414  while (index < len) this[offset + index] = src[index++];
13415}, FORCED);
13416
13417
13418/***/ }),
13419
vendor: 1,578 bytes, lines 13420-13457
13420/***/ "./node_modules/core-js/modules/es.typed-array.slice.js":
13421/*!**************************************************************!*\
13422  !*** ./node_modules/core-js/modules/es.typed-array.slice.js ***!
13423  \**************************************************************/
13424/*! no static exports found */
13425/***/ (function(module, exports, __webpack_require__) {
13426
13427"use strict";
13428
13429var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
13430var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js");
13431var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
13432
13433var aTypedArray = ArrayBufferViewCore.aTypedArray;
13434var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
13435var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
13436var $slice = [].slice;
13437
13438var FORCED = fails(function () {
13439  // eslint-disable-next-line no-undef
13440  new Int8Array(1).slice();
13441});
13442
13443// `%TypedArray%.prototype.slice` method
13444// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice
13445exportTypedArrayMethod('slice', function slice(start, end) {
13446  var list = $slice.call(aTypedArray(this), start, end);
13447  var C = speciesConstructor(this, this.constructor);
13448  var index = 0;
13449  var length = list.length;
13450  var result = new (aTypedArrayConstructor(C))(length);
13451  while (length > index) result[index] = list[index++];
13452  return result;
13453}, FORCED);
13454
13455
13456/***/ }),
13457
vendor: 1,068 bytes, lines 13458-13481
13458/***/ "./node_modules/core-js/modules/es.typed-array.some.js":
13459/*!*************************************************************!*\
13460  !*** ./node_modules/core-js/modules/es.typed-array.some.js ***!
13461  \*************************************************************/
13462/*! no static exports found */
13463/***/ (function(module, exports, __webpack_require__) {
13464
13465"use strict";
13466
13467var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
13468var $some = __webpack_require__(/*! ../internals/array-iteration */ "./node_modules/core-js/internals/array-iteration.js").some;
13469
13470var aTypedArray = ArrayBufferViewCore.aTypedArray;
13471var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
13472
13473// `%TypedArray%.prototype.some` method
13474// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.some
13475exportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {
13476  return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
13477});
13478
13479
13480/***/ }),
13481
vendor: 898 bytes, lines 13482-13505
13482/***/ "./node_modules/core-js/modules/es.typed-array.sort.js":
13483/*!*************************************************************!*\
13484  !*** ./node_modules/core-js/modules/es.typed-array.sort.js ***!
13485  \*************************************************************/
13486/*! no static exports found */
13487/***/ (function(module, exports, __webpack_require__) {
13488
13489"use strict";
13490
13491var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
13492
13493var aTypedArray = ArrayBufferViewCore.aTypedArray;
13494var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
13495var $sort = [].sort;
13496
13497// `%TypedArray%.prototype.sort` method
13498// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.sort
13499exportTypedArrayMethod('sort', function sort(comparefn) {
13500  return $sort.call(aTypedArray(this), comparefn);
13501});
13502
13503
13504/***/ }),
13505
vendor: 1,574 bytes, lines 13506-13538
13506/***/ "./node_modules/core-js/modules/es.typed-array.subarray.js":
13507/*!*****************************************************************!*\
13508  !*** ./node_modules/core-js/modules/es.typed-array.subarray.js ***!
13509  \*****************************************************************/
13510/*! no static exports found */
13511/***/ (function(module, exports, __webpack_require__) {
13512
13513"use strict";
13514
13515var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
13516var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
13517var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "./node_modules/core-js/internals/to-absolute-index.js");
13518var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ "./node_modules/core-js/internals/species-constructor.js");
13519
13520var aTypedArray = ArrayBufferViewCore.aTypedArray;
13521var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
13522
13523// `%TypedArray%.prototype.subarray` method
13524// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.subarray
13525exportTypedArrayMethod('subarray', function subarray(begin, end) {
13526  var O = aTypedArray(this);
13527  var length = O.length;
13528  var beginIndex = toAbsoluteIndex(begin, length);
13529  return new (speciesConstructor(O, O.constructor))(
13530    O.buffer,
13531    O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,
13532    toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)
13533  );
13534});
13535
13536
13537/***/ }),
13538
vendor: 1,670 bytes, lines 13539-13577
13539/***/ "./node_modules/core-js/modules/es.typed-array.to-locale-string.js":
13540/*!*************************************************************************!*\
13541  !*** ./node_modules/core-js/modules/es.typed-array.to-locale-string.js ***!
13542  \*************************************************************************/
13543/*! no static exports found */
13544/***/ (function(module, exports, __webpack_require__) {
13545
13546"use strict";
13547
13548var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
13549var ArrayBufferViewCore = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js");
13550var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
13551
13552var Int8Array = global.Int8Array;
13553var aTypedArray = ArrayBufferViewCore.aTypedArray;
13554var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
13555var $toLocaleString = [].toLocaleString;
13556var $slice = [].slice;
13557
13558// iOS Safari 6.x fails here
13559var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {
13560  $toLocaleString.call(new Int8Array(1));
13561});
13562
13563var FORCED = fails(function () {
13564  return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();
13565}) || !fails(function () {
13566  Int8Array.prototype.toLocaleString.call([1, 2]);
13567});
13568
13569// `%TypedArray%.prototype.toLocaleString` method
13570// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tolocalestring
13571exportTypedArrayMethod('toLocaleString', function toLocaleString() {
13572  return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);
13573}, FORCED);
13574
13575
13576/***/ }),
13577
vendor: 1,348 bytes, lines 13578-13610
13578/***/ "./node_modules/core-js/modules/es.typed-array.to-string.js":
13579/*!******************************************************************!*\
13580  !*** ./node_modules/core-js/modules/es.typed-array.to-string.js ***!
13581  \******************************************************************/
13582/*! no static exports found */
13583/***/ (function(module, exports, __webpack_require__) {
13584
13585"use strict";
13586
13587var exportTypedArrayMethod = __webpack_require__(/*! ../internals/array-buffer-view-core */ "./node_modules/core-js/internals/array-buffer-view-core.js").exportTypedArrayMethod;
13588var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
13589var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
13590
13591var Uint8Array = global.Uint8Array;
13592var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};
13593var arrayToString = [].toString;
13594var arrayJoin = [].join;
13595
13596if (fails(function () { arrayToString.call({}); })) {
13597  arrayToString = function toString() {
13598    return arrayJoin.call(this);
13599  };
13600}
13601
13602var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;
13603
13604// `%TypedArray%.prototype.toString` method
13605// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tostring
13606exportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);
13607
13608
13609/***/ }),
13610
vendor: 818 bytes, lines 13611-13630
13611/***/ "./node_modules/core-js/modules/es.typed-array.uint16-array.js":
13612/*!*********************************************************************!*\
13613  !*** ./node_modules/core-js/modules/es.typed-array.uint16-array.js ***!
13614  \*********************************************************************/
13615/*! no static exports found */
13616/***/ (function(module, exports, __webpack_require__) {
13617
13618var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js");
13619
13620// `Uint16Array` constructor
13621// https://tc39.github.io/ecma262/#sec-typedarray-objects
13622createTypedArrayConstructor('Uint16', function (init) {
13623  return function Uint16Array(data, byteOffset, length) {
13624    return init(this, data, byteOffset, length);
13625  };
13626});
13627
13628
13629/***/ }),
13630
vendor: 818 bytes, lines 13631-13650
13631/***/ "./node_modules/core-js/modules/es.typed-array.uint32-array.js":
13632/*!*********************************************************************!*\
13633  !*** ./node_modules/core-js/modules/es.typed-array.uint32-array.js ***!
13634  \*********************************************************************/
13635/*! no static exports found */
13636/***/ (function(module, exports, __webpack_require__) {
13637
13638var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js");
13639
13640// `Uint32Array` constructor
13641// https://tc39.github.io/ecma262/#sec-typedarray-objects
13642createTypedArrayConstructor('Uint32', function (init) {
13643  return function Uint32Array(data, byteOffset, length) {
13644    return init(this, data, byteOffset, length);
13645  };
13646});
13647
13648
13649/***/ }),
13650
vendor: 811 bytes, lines 13651-13670
13651/***/ "./node_modules/core-js/modules/es.typed-array.uint8-array.js":
13652/*!********************************************************************!*\
13653  !*** ./node_modules/core-js/modules/es.typed-array.uint8-array.js ***!
13654  \********************************************************************/
13655/*! no static exports found */
13656/***/ (function(module, exports, __webpack_require__) {
13657
13658var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js");
13659
13660// `Uint8Array` constructor
13661// https://tc39.github.io/ecma262/#sec-typedarray-objects
13662createTypedArrayConstructor('Uint8', function (init) {
13663  return function Uint8Array(data, byteOffset, length) {
13664    return init(this, data, byteOffset, length);
13665  };
13666});
13667
13668
13669/***/ }),
13670
vendor: 863 bytes, lines 13671-13690
13671/***/ "./node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js":
13672/*!****************************************************************************!*\
13673  !*** ./node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js ***!
13674  \****************************************************************************/
13675/*! no static exports found */
13676/***/ (function(module, exports, __webpack_require__) {
13677
13678var createTypedArrayConstructor = __webpack_require__(/*! ../internals/typed-array-constructor */ "./node_modules/core-js/internals/typed-array-constructor.js");
13679
13680// `Uint8ClampedArray` constructor
13681// https://tc39.github.io/ecma262/#sec-typedarray-objects
13682createTypedArrayConstructor('Uint8', function (init) {
13683  return function Uint8ClampedArray(data, byteOffset, length) {
13684    return init(this, data, byteOffset, length);
13685  };
13686}, true);
13687
13688
13689/***/ }),
13690
vendor: 3,691 bytes, lines 13691-13769
13691/***/ "./node_modules/core-js/modules/es.weak-map.js":
13692/*!*****************************************************!*\
13693  !*** ./node_modules/core-js/modules/es.weak-map.js ***!
13694  \*****************************************************/
13695/*! no static exports found */
13696/***/ (function(module, exports, __webpack_require__) {
13697
13698"use strict";
13699
13700var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
13701var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js");
13702var InternalMetadataModule = __webpack_require__(/*! ../internals/internal-metadata */ "./node_modules/core-js/internals/internal-metadata.js");
13703var collection = __webpack_require__(/*! ../internals/collection */ "./node_modules/core-js/internals/collection.js");
13704var collectionWeak = __webpack_require__(/*! ../internals/collection-weak */ "./node_modules/core-js/internals/collection-weak.js");
13705var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
13706var enforceIternalState = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js").enforce;
13707var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ "./node_modules/core-js/internals/native-weak-map.js");
13708
13709var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;
13710var isExtensible = Object.isExtensible;
13711var InternalWeakMap;
13712
13713var wrapper = function (init) {
13714  return function WeakMap() {
13715    return init(this, arguments.length ? arguments[0] : undefined);
13716  };
13717};
13718
13719// `WeakMap` constructor
13720// https://tc39.github.io/ecma262/#sec-weakmap-constructor
13721var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);
13722
13723// IE11 WeakMap frozen keys fix
13724// We can't use feature detection because it crash some old IE builds
13725// https://github.com/zloirock/core-js/issues/485
13726if (NATIVE_WEAK_MAP && IS_IE11) {
13727  InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);
13728  InternalMetadataModule.REQUIRED = true;
13729  var WeakMapPrototype = $WeakMap.prototype;
13730  var nativeDelete = WeakMapPrototype['delete'];
13731  var nativeHas = WeakMapPrototype.has;
13732  var nativeGet = WeakMapPrototype.get;
13733  var nativeSet = WeakMapPrototype.set;
13734  redefineAll(WeakMapPrototype, {
13735    'delete': function (key) {
13736      if (isObject(key) && !isExtensible(key)) {
13737        var state = enforceIternalState(this);
13738        if (!state.frozen) state.frozen = new InternalWeakMap();
13739        return nativeDelete.call(this, key) || state.frozen['delete'](key);
13740      } return nativeDelete.call(this, key);
13741    },
13742    has: function has(key) {
13743      if (isObject(key) && !isExtensible(key)) {
13744        var state = enforceIternalState(this);
13745        if (!state.frozen) state.frozen = new InternalWeakMap();
13746        return nativeHas.call(this, key) || state.frozen.has(key);
13747      } return nativeHas.call(this, key);
13748    },
13749    get: function get(key) {
13750      if (isObject(key) && !isExtensible(key)) {
13751        var state = enforceIternalState(this);
13752        if (!state.frozen) state.frozen = new InternalWeakMap();
13753        return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);
13754      } return nativeGet.call(this, key);
13755    },
13756    set: function set(key, value) {
13757      if (isObject(key) && !isExtensible(key)) {
13758        var state = enforceIternalState(this);
13759        if (!state.frozen) state.frozen = new InternalWeakMap();
13760        nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);
13761      } else nativeSet.call(this, key, value);
13762      return this;
13763    }
13764  });
13765}
13766
13767
13768/***/ }),
13769
vendor: 841 bytes, lines 13770-13790
13770/***/ "./node_modules/core-js/modules/es.weak-set.js":
13771/*!*****************************************************!*\
13772  !*** ./node_modules/core-js/modules/es.weak-set.js ***!
13773  \*****************************************************/
13774/*! no static exports found */
13775/***/ (function(module, exports, __webpack_require__) {
13776
13777"use strict";
13778
13779var collection = __webpack_require__(/*! ../internals/collection */ "./node_modules/core-js/internals/collection.js");
13780var collectionWeak = __webpack_require__(/*! ../internals/collection-weak */ "./node_modules/core-js/internals/collection-weak.js");
13781
13782// `WeakSet` constructor
13783// https://tc39.github.io/ecma262/#sec-weakset-constructor
13784collection('WeakSet', function (init) {
13785  return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };
13786}, collectionWeak);
13787
13788
13789/***/ }),
13790
vendor: 1,378 bytes, lines 13791-13816
13791/***/ "./node_modules/core-js/modules/web.dom-collections.for-each.js":
13792/*!**********************************************************************!*\
13793  !*** ./node_modules/core-js/modules/web.dom-collections.for-each.js ***!
13794  \**********************************************************************/
13795/*! no static exports found */
13796/***/ (function(module, exports, __webpack_require__) {
13797
13798var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
13799var DOMIterables = __webpack_require__(/*! ../internals/dom-iterables */ "./node_modules/core-js/internals/dom-iterables.js");
13800var forEach = __webpack_require__(/*! ../internals/array-for-each */ "./node_modules/core-js/internals/array-for-each.js");
13801var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
13802
13803for (var COLLECTION_NAME in DOMIterables) {
13804  var Collection = global[COLLECTION_NAME];
13805  var CollectionPrototype = Collection && Collection.prototype;
13806  // some Chrome versions have non-configurable methods on DOMTokenList
13807  if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {
13808    createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);
13809  } catch (error) {
13810    CollectionPrototype.forEach = forEach;
13811  }
13812}
13813
13814
13815/***/ }),
13816
vendor: 2,326 bytes, lines 13817-13860
13817/***/ "./node_modules/core-js/modules/web.dom-collections.iterator.js":
13818/*!**********************************************************************!*\
13819  !*** ./node_modules/core-js/modules/web.dom-collections.iterator.js ***!
13820  \**********************************************************************/
13821/*! no static exports found */
13822/***/ (function(module, exports, __webpack_require__) {
13823
13824var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
13825var DOMIterables = __webpack_require__(/*! ../internals/dom-iterables */ "./node_modules/core-js/internals/dom-iterables.js");
13826var ArrayIteratorMethods = __webpack_require__(/*! ../modules/es.array.iterator */ "./node_modules/core-js/modules/es.array.iterator.js");
13827var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "./node_modules/core-js/internals/create-non-enumerable-property.js");
13828var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
13829
13830var ITERATOR = wellKnownSymbol('iterator');
13831var TO_STRING_TAG = wellKnownSymbol('toStringTag');
13832var ArrayValues = ArrayIteratorMethods.values;
13833
13834for (var COLLECTION_NAME in DOMIterables) {
13835  var Collection = global[COLLECTION_NAME];
13836  var CollectionPrototype = Collection && Collection.prototype;
13837  if (CollectionPrototype) {
13838    // some Chrome versions have non-configurable methods on DOMTokenList
13839    if (CollectionPrototype[ITERATOR] !== ArrayValues) try {
13840      createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);
13841    } catch (error) {
13842      CollectionPrototype[ITERATOR] = ArrayValues;
13843    }
13844    if (!CollectionPrototype[TO_STRING_TAG]) {
13845      createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
13846    }
13847    if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {
13848      // some Chrome versions have non-configurable methods on DOMTokenList
13849      if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {
13850        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
13851      } catch (error) {
13852        CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
13853      }
13854    }
13855  }
13856}
13857
13858
13859/***/ }),
13860
vendor: 1,048 bytes, lines 13861-13886
13861/***/ "./node_modules/core-js/modules/web.immediate.js":
13862/*!*******************************************************!*\
13863  !*** ./node_modules/core-js/modules/web.immediate.js ***!
13864  \*******************************************************/
13865/*! no static exports found */
13866/***/ (function(module, exports, __webpack_require__) {
13867
13868var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
13869var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
13870var task = __webpack_require__(/*! ../internals/task */ "./node_modules/core-js/internals/task.js");
13871
13872var FORCED = !global.setImmediate || !global.clearImmediate;
13873
13874// http://w3c.github.io/setImmediate/
13875$({ global: true, bind: true, enumerable: true, forced: FORCED }, {
13876  // `setImmediate` method
13877  // http://w3c.github.io/setImmediate/#si-setImmediate
13878  setImmediate: task.set,
13879  // `clearImmediate` method
13880  // http://w3c.github.io/setImmediate/#si-clearImmediate
13881  clearImmediate: task.clear
13882});
13883
13884
13885/***/ }),
13886
vendor: 1,167 bytes, lines 13887-13912
13887/***/ "./node_modules/core-js/modules/web.queue-microtask.js":
13888/*!*************************************************************!*\
13889  !*** ./node_modules/core-js/modules/web.queue-microtask.js ***!
13890  \*************************************************************/
13891/*! no static exports found */
13892/***/ (function(module, exports, __webpack_require__) {
13893
13894var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
13895var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
13896var microtask = __webpack_require__(/*! ../internals/microtask */ "./node_modules/core-js/internals/microtask.js");
13897var IS_NODE = __webpack_require__(/*! ../internals/engine-is-node */ "./node_modules/core-js/internals/engine-is-node.js");
13898
13899var process = global.process;
13900
13901// `queueMicrotask` method
13902// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask
13903$({ global: true, enumerable: true, noTargetGet: true }, {
13904  queueMicrotask: function queueMicrotask(fn) {
13905    var domain = IS_NODE && process.domain;
13906    microtask(domain ? domain.bind(fn) : fn);
13907  }
13908});
13909
13910
13911/***/ }),
13912
vendor: 1,667 bytes, lines 13913-13951
13913/***/ "./node_modules/core-js/modules/web.timers.js":
13914/*!****************************************************!*\
13915  !*** ./node_modules/core-js/modules/web.timers.js ***!
13916  \****************************************************/
13917/*! no static exports found */
13918/***/ (function(module, exports, __webpack_require__) {
13919
13920var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
13921var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
13922var userAgent = __webpack_require__(/*! ../internals/engine-user-agent */ "./node_modules/core-js/internals/engine-user-agent.js");
13923
13924var slice = [].slice;
13925var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check
13926
13927var wrap = function (scheduler) {
13928  return function (handler, timeout /* , ...arguments */) {
13929    var boundArgs = arguments.length > 2;
13930    var args = boundArgs ? slice.call(arguments, 2) : undefined;
13931    return scheduler(boundArgs ? function () {
13932      // eslint-disable-next-line no-new-func
13933      (typeof handler == 'function' ? handler : Function(handler)).apply(this, args);
13934    } : handler, timeout);
13935  };
13936};
13937
13938// ie9- setTimeout & setInterval additional parameters fix
13939// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers
13940$({ global: true, bind: true, forced: MSIE }, {
13941  // `setTimeout` method
13942  // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout
13943  setTimeout: wrap(global.setTimeout),
13944  // `setInterval` method
13945  // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval
13946  setInterval: wrap(global.setInterval)
13947});
13948
13949
13950/***/ }),
13951
vendor: 13,638 bytes, lines 13952-14310
13952/***/ "./node_modules/core-js/modules/web.url-search-params.js":
13953/*!***************************************************************!*\
13954  !*** ./node_modules/core-js/modules/web.url-search-params.js ***!
13955  \***************************************************************/
13956/*! no static exports found */
13957/***/ (function(module, exports, __webpack_require__) {
13958
13959"use strict";
13960
13961// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
13962__webpack_require__(/*! ../modules/es.array.iterator */ "./node_modules/core-js/modules/es.array.iterator.js");
13963var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
13964var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "./node_modules/core-js/internals/get-built-in.js");
13965var USE_NATIVE_URL = __webpack_require__(/*! ../internals/native-url */ "./node_modules/core-js/internals/native-url.js");
13966var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
13967var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ "./node_modules/core-js/internals/redefine-all.js");
13968var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
13969var createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ "./node_modules/core-js/internals/create-iterator-constructor.js");
13970var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
13971var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js");
13972var hasOwn = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
13973var bind = __webpack_require__(/*! ../internals/function-bind-context */ "./node_modules/core-js/internals/function-bind-context.js");
13974var classof = __webpack_require__(/*! ../internals/classof */ "./node_modules/core-js/internals/classof.js");
13975var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
13976var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
13977var create = __webpack_require__(/*! ../internals/object-create */ "./node_modules/core-js/internals/object-create.js");
13978var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "./node_modules/core-js/internals/create-property-descriptor.js");
13979var getIterator = __webpack_require__(/*! ../internals/get-iterator */ "./node_modules/core-js/internals/get-iterator.js");
13980var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ "./node_modules/core-js/internals/get-iterator-method.js");
13981var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "./node_modules/core-js/internals/well-known-symbol.js");
13982
13983var $fetch = getBuiltIn('fetch');
13984var Headers = getBuiltIn('Headers');
13985var ITERATOR = wellKnownSymbol('iterator');
13986var URL_SEARCH_PARAMS = 'URLSearchParams';
13987var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
13988var setInternalState = InternalStateModule.set;
13989var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);
13990var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);
13991
13992var plus = /\+/g;
13993var sequences = Array(4);
13994
13995var percentSequence = function (bytes) {
13996  return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi'));
13997};
13998
13999var percentDecode = function (sequence) {
14000  try {
14001    return decodeURIComponent(sequence);
14002  } catch (error) {
14003    return sequence;
14004  }
14005};
14006
14007var deserialize = function (it) {
14008  var result = it.replace(plus, ' ');
14009  var bytes = 4;
14010  try {
14011    return decodeURIComponent(result);
14012  } catch (error) {
14013    while (bytes) {
14014      result = result.replace(percentSequence(bytes--), percentDecode);
14015    }
14016    return result;
14017  }
14018};
14019
14020var find = /[!'()~]|%20/g;
14021
14022var replace = {
14023  '!': '%21',
14024  "'": '%27',
14025  '(': '%28',
14026  ')': '%29',
14027  '~': '%7E',
14028  '%20': '+'
14029};
14030
14031var replacer = function (match) {
14032  return replace[match];
14033};
14034
14035var serialize = function (it) {
14036  return encodeURIComponent(it).replace(find, replacer);
14037};
14038
14039var parseSearchParams = function (result, query) {
14040  if (query) {
14041    var attributes = query.split('&');
14042    var index = 0;
14043    var attribute, entry;
14044    while (index < attributes.length) {
14045      attribute = attributes[index++];
14046      if (attribute.length) {
14047        entry = attribute.split('=');
14048        result.push({
14049          key: deserialize(entry.shift()),
14050          value: deserialize(entry.join('='))
14051        });
14052      }
14053    }
14054  }
14055};
14056
14057var updateSearchParams = function (query) {
14058  this.entries.length = 0;
14059  parseSearchParams(this.entries, query);
14060};
14061
14062var validateArgumentsLength = function (passed, required) {
14063  if (passed < required) throw TypeError('Not enough arguments');
14064};
14065
14066var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
14067  setInternalState(this, {
14068    type: URL_SEARCH_PARAMS_ITERATOR,
14069    iterator: getIterator(getInternalParamsState(params).entries),
14070    kind: kind
14071  });
14072}, 'Iterator', function next() {
14073  var state = getInternalIteratorState(this);
14074  var kind = state.kind;
14075  var step = state.iterator.next();
14076  var entry = step.value;
14077  if (!step.done) {
14078    step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];
14079  } return step;
14080});
14081
14082// `URLSearchParams` constructor
14083// https://url.spec.whatwg.org/#interface-urlsearchparams
14084var URLSearchParamsConstructor = function URLSearchParams(/* init */) {
14085  anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);
14086  var init = arguments.length > 0 ? arguments[0] : undefined;
14087  var that = this;
14088  var entries = [];
14089  var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;
14090
14091  setInternalState(that, {
14092    type: URL_SEARCH_PARAMS,
14093    entries: entries,
14094    updateURL: function () { /* empty */ },
14095    updateSearchParams: updateSearchParams
14096  });
14097
14098  if (init !== undefined) {
14099    if (isObject(init)) {
14100      iteratorMethod = getIteratorMethod(init);
14101      if (typeof iteratorMethod === 'function') {
14102        iterator = iteratorMethod.call(init);
14103        next = iterator.next;
14104        while (!(step = next.call(iterator)).done) {
14105          entryIterator = getIterator(anObject(step.value));
14106          entryNext = entryIterator.next;
14107          if (
14108            (first = entryNext.call(entryIterator)).done ||
14109            (second = entryNext.call(entryIterator)).done ||
14110            !entryNext.call(entryIterator).done
14111          ) throw TypeError('Expected sequence with length 2');
14112          entries.push({ key: first.value + '', value: second.value + '' });
14113        }
14114      } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });
14115    } else {
14116      parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');
14117    }
14118  }
14119};
14120
14121var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
14122
14123redefineAll(URLSearchParamsPrototype, {
14124  // `URLSearchParams.prototype.append` method
14125  // https://url.spec.whatwg.org/#dom-urlsearchparams-append
14126  append: function append(name, value) {
14127    validateArgumentsLength(arguments.length, 2);
14128    var state = getInternalParamsState(this);
14129    state.entries.push({ key: name + '', value: value + '' });
14130    state.updateURL();
14131  },
14132  // `URLSearchParams.prototype.delete` method
14133  // https://url.spec.whatwg.org/#dom-urlsearchparams-delete
14134  'delete': function (name) {
14135    validateArgumentsLength(arguments.length, 1);
14136    var state = getInternalParamsState(this);
14137    var entries = state.entries;
14138    var key = name + '';
14139    var index = 0;
14140    while (index < entries.length) {
14141      if (entries[index].key === key) entries.splice(index, 1);
14142      else index++;
14143    }
14144    state.updateURL();
14145  },
14146  // `URLSearchParams.prototype.get` method
14147  // https://url.spec.whatwg.org/#dom-urlsearchparams-get
14148  get: function get(name) {
14149    validateArgumentsLength(arguments.length, 1);
14150    var entries = getInternalParamsState(this).entries;
14151    var key = name + '';
14152    var index = 0;
14153    for (; index < entries.length; index++) {
14154      if (entries[index].key === key) return entries[index].value;
14155    }
14156    return null;
14157  },
14158  // `URLSearchParams.prototype.getAll` method
14159  // https://url.spec.whatwg.org/#dom-urlsearchparams-getall
14160  getAll: function getAll(name) {
14161    validateArgumentsLength(arguments.length, 1);
14162    var entries = getInternalParamsState(this).entries;
14163    var key = name + '';
14164    var result = [];
14165    var index = 0;
14166    for (; index < entries.length; index++) {
14167      if (entries[index].key === key) result.push(entries[index].value);
14168    }
14169    return result;
14170  },
14171  // `URLSearchParams.prototype.has` method
14172  // https://url.spec.whatwg.org/#dom-urlsearchparams-has
14173  has: function has(name) {
14174    validateArgumentsLength(arguments.length, 1);
14175    var entries = getInternalParamsState(this).entries;
14176    var key = name + '';
14177    var index = 0;
14178    while (index < entries.length) {
14179      if (entries[index++].key === key) return true;
14180    }
14181    return false;
14182  },
14183  // `URLSearchParams.prototype.set` method
14184  // https://url.spec.whatwg.org/#dom-urlsearchparams-set
14185  set: function set(name, value) {
14186    validateArgumentsLength(arguments.length, 1);
14187    var state = getInternalParamsState(this);
14188    var entries = state.entries;
14189    var found = false;
14190    var key = name + '';
14191    var val = value + '';
14192    var index = 0;
14193    var entry;
14194    for (; index < entries.length; index++) {
14195      entry = entries[index];
14196      if (entry.key === key) {
14197        if (found) entries.splice(index--, 1);
14198        else {
14199          found = true;
14200          entry.value = val;
14201        }
14202      }
14203    }
14204    if (!found) entries.push({ key: key, value: val });
14205    state.updateURL();
14206  },
14207  // `URLSearchParams.prototype.sort` method
14208  // https://url.spec.whatwg.org/#dom-urlsearchparams-sort
14209  sort: function sort() {
14210    var state = getInternalParamsState(this);
14211    var entries = state.entries;
14212    // Array#sort is not stable in some engines
14213    var slice = entries.slice();
14214    var entry, entriesIndex, sliceIndex;
14215    entries.length = 0;
14216    for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {
14217      entry = slice[sliceIndex];
14218      for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {
14219        if (entries[entriesIndex].key > entry.key) {
14220          entries.splice(entriesIndex, 0, entry);
14221          break;
14222        }
14223      }
14224      if (entriesIndex === sliceIndex) entries.push(entry);
14225    }
14226    state.updateURL();
14227  },
14228  // `URLSearchParams.prototype.forEach` method
14229  forEach: function forEach(callback /* , thisArg */) {
14230    var entries = getInternalParamsState(this).entries;
14231    var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);
14232    var index = 0;
14233    var entry;
14234    while (index < entries.length) {
14235      entry = entries[index++];
14236      boundFunction(entry.value, entry.key, this);
14237    }
14238  },
14239  // `URLSearchParams.prototype.keys` method
14240  keys: function keys() {
14241    return new URLSearchParamsIterator(this, 'keys');
14242  },
14243  // `URLSearchParams.prototype.values` method
14244  values: function values() {
14245    return new URLSearchParamsIterator(this, 'values');
14246  },
14247  // `URLSearchParams.prototype.entries` method
14248  entries: function entries() {
14249    return new URLSearchParamsIterator(this, 'entries');
14250  }
14251}, { enumerable: true });
14252
14253// `URLSearchParams.prototype[@@iterator]` method
14254redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);
14255
14256// `URLSearchParams.prototype.toString` method
14257// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior
14258redefine(URLSearchParamsPrototype, 'toString', function toString() {
14259  var entries = getInternalParamsState(this).entries;
14260  var result = [];
14261  var index = 0;
14262  var entry;
14263  while (index < entries.length) {
14264    entry = entries[index++];
14265    result.push(serialize(entry.key) + '=' + serialize(entry.value));
14266  } return result.join('&');
14267}, { enumerable: true });
14268
14269setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
14270
14271$({ global: true, forced: !USE_NATIVE_URL }, {
14272  URLSearchParams: URLSearchParamsConstructor
14273});
14274
14275// Wrap `fetch` for correct work with polyfilled `URLSearchParams`
14276// https://github.com/zloirock/core-js/issues/674
14277if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {
14278  $({ global: true, enumerable: true, forced: true }, {
14279    fetch: function fetch(input /* , init */) {
14280      var args = [input];
14281      var init, body, headers;
14282      if (arguments.length > 1) {
14283        init = arguments[1];
14284        if (isObject(init)) {
14285          body = init.body;
14286          if (classof(body) === URL_SEARCH_PARAMS) {
14287            headers = init.headers ? new Headers(init.headers) : new Headers();
14288            if (!headers.has('content-type')) {
14289              headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
14290            }
14291            init = create(init, {
14292              body: createPropertyDescriptor(0, String(body)),
14293              headers: createPropertyDescriptor(0, headers)
14294            });
14295          }
14296        }
14297        args.push(init);
14298      } return $fetch.apply(this, args);
14299    }
14300  });
14301}
14302
14303module.exports = {
14304  URLSearchParams: URLSearchParamsConstructor,
14305  getState: getInternalParamsState
14306};
14307
14308
14309/***/ }),
14310
vendor: 34,086 bytes, lines 14311-15329
14311/***/ "./node_modules/core-js/modules/web.url.js":
14312/*!*************************************************!*\
14313  !*** ./node_modules/core-js/modules/web.url.js ***!
14314  \*************************************************/
14315/*! no static exports found */
14316/***/ (function(module, exports, __webpack_require__) {
14317
14318"use strict";
14319
14320// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
14321__webpack_require__(/*! ../modules/es.string.iterator */ "./node_modules/core-js/modules/es.string.iterator.js");
14322var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
14323var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
14324var USE_NATIVE_URL = __webpack_require__(/*! ../internals/native-url */ "./node_modules/core-js/internals/native-url.js");
14325var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
14326var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ "./node_modules/core-js/internals/object-define-properties.js");
14327var redefine = __webpack_require__(/*! ../internals/redefine */ "./node_modules/core-js/internals/redefine.js");
14328var anInstance = __webpack_require__(/*! ../internals/an-instance */ "./node_modules/core-js/internals/an-instance.js");
14329var has = __webpack_require__(/*! ../internals/has */ "./node_modules/core-js/internals/has.js");
14330var assign = __webpack_require__(/*! ../internals/object-assign */ "./node_modules/core-js/internals/object-assign.js");
14331var arrayFrom = __webpack_require__(/*! ../internals/array-from */ "./node_modules/core-js/internals/array-from.js");
14332var codeAt = __webpack_require__(/*! ../internals/string-multibyte */ "./node_modules/core-js/internals/string-multibyte.js").codeAt;
14333var toASCII = __webpack_require__(/*! ../internals/string-punycode-to-ascii */ "./node_modules/core-js/internals/string-punycode-to-ascii.js");
14334var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ "./node_modules/core-js/internals/set-to-string-tag.js");
14335var URLSearchParamsModule = __webpack_require__(/*! ../modules/web.url-search-params */ "./node_modules/core-js/modules/web.url-search-params.js");
14336var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "./node_modules/core-js/internals/internal-state.js");
14337
14338var NativeURL = global.URL;
14339var URLSearchParams = URLSearchParamsModule.URLSearchParams;
14340var getInternalSearchParamsState = URLSearchParamsModule.getState;
14341var setInternalState = InternalStateModule.set;
14342var getInternalURLState = InternalStateModule.getterFor('URL');
14343var floor = Math.floor;
14344var pow = Math.pow;
14345
14346var INVALID_AUTHORITY = 'Invalid authority';
14347var INVALID_SCHEME = 'Invalid scheme';
14348var INVALID_HOST = 'Invalid host';
14349var INVALID_PORT = 'Invalid port';
14350
14351var ALPHA = /[A-Za-z]/;
14352var ALPHANUMERIC = /[\d+-.A-Za-z]/;
14353var DIGIT = /\d/;
14354var HEX_START = /^(0x|0X)/;
14355var OCT = /^[0-7]+$/;
14356var DEC = /^\d+$/;
14357var HEX = /^[\dA-Fa-f]+$/;
14358// eslint-disable-next-line no-control-regex
14359var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/;
14360// eslint-disable-next-line no-control-regex
14361var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/;
14362// eslint-disable-next-line no-control-regex
14363var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;
14364// eslint-disable-next-line no-control-regex
14365var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g;
14366var EOF;
14367
14368var parseHost = function (url, input) {
14369  var result, codePoints, index;
14370  if (input.charAt(0) == '[') {
14371    if (input.charAt(input.length - 1) != ']') return INVALID_HOST;
14372    result = parseIPv6(input.slice(1, -1));
14373    if (!result) return INVALID_HOST;
14374    url.host = result;
14375  // opaque host
14376  } else if (!isSpecial(url)) {
14377    if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;
14378    result = '';
14379    codePoints = arrayFrom(input);
14380    for (index = 0; index < codePoints.length; index++) {
14381      result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);
14382    }
14383    url.host = result;
14384  } else {
14385    input = toASCII(input);
14386    if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;
14387    result = parseIPv4(input);
14388    if (result === null) return INVALID_HOST;
14389    url.host = result;
14390  }
14391};
14392
14393var parseIPv4 = function (input) {
14394  var parts = input.split('.');
14395  var partsLength, numbers, index, part, radix, number, ipv4;
14396  if (parts.length && parts[parts.length - 1] == '') {
14397    parts.pop();
14398  }
14399  partsLength = parts.length;
14400  if (partsLength > 4) return input;
14401  numbers = [];
14402  for (index = 0; index < partsLength; index++) {
14403    part = parts[index];
14404    if (part == '') return input;
14405    radix = 10;
14406    if (part.length > 1 && part.charAt(0) == '0') {
14407      radix = HEX_START.test(part) ? 16 : 8;
14408      part = part.slice(radix == 8 ? 1 : 2);
14409    }
14410    if (part === '') {
14411      number = 0;
14412    } else {
14413      if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;
14414      number = parseInt(part, radix);
14415    }
14416    numbers.push(number);
14417  }
14418  for (index = 0; index < partsLength; index++) {
14419    number = numbers[index];
14420    if (index == partsLength - 1) {
14421      if (number >= pow(256, 5 - partsLength)) return null;
14422    } else if (number > 255) return null;
14423  }
14424  ipv4 = numbers.pop();
14425  for (index = 0; index < numbers.length; index++) {
14426    ipv4 += numbers[index] * pow(256, 3 - index);
14427  }
14428  return ipv4;
14429};
14430
14431// eslint-disable-next-line max-statements
14432var parseIPv6 = function (input) {
14433  var address = [0, 0, 0, 0, 0, 0, 0, 0];
14434  var pieceIndex = 0;
14435  var compress = null;
14436  var pointer = 0;
14437  var value, length, numbersSeen, ipv4Piece, number, swaps, swap;
14438
14439  var char = function () {
14440    return input.charAt(pointer);
14441  };
14442
14443  if (char() == ':') {
14444    if (input.charAt(1) != ':') return;
14445    pointer += 2;
14446    pieceIndex++;
14447    compress = pieceIndex;
14448  }
14449  while (char()) {
14450    if (pieceIndex == 8) return;
14451    if (char() == ':') {
14452      if (compress !== null) return;
14453      pointer++;
14454      pieceIndex++;
14455      compress = pieceIndex;
14456      continue;
14457    }
14458    value = length = 0;
14459    while (length < 4 && HEX.test(char())) {
14460      value = value * 16 + parseInt(char(), 16);
14461      pointer++;
14462      length++;
14463    }
14464    if (char() == '.') {
14465      if (length == 0) return;
14466      pointer -= length;
14467      if (pieceIndex > 6) return;
14468      numbersSeen = 0;
14469      while (char()) {
14470        ipv4Piece = null;
14471        if (numbersSeen > 0) {
14472          if (char() == '.' && numbersSeen < 4) pointer++;
14473          else return;
14474        }
14475        if (!DIGIT.test(char())) return;
14476        while (DIGIT.test(char())) {
14477          number = parseInt(char(), 10);
14478          if (ipv4Piece === null) ipv4Piece = number;
14479          else if (ipv4Piece == 0) return;
14480          else ipv4Piece = ipv4Piece * 10 + number;
14481          if (ipv4Piece > 255) return;
14482          pointer++;
14483        }
14484        address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
14485        numbersSeen++;
14486        if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;
14487      }
14488      if (numbersSeen != 4) return;
14489      break;
14490    } else if (char() == ':') {
14491      pointer++;
14492      if (!char()) return;
14493    } else if (char()) return;
14494    address[pieceIndex++] = value;
14495  }
14496  if (compress !== null) {
14497    swaps = pieceIndex - compress;
14498    pieceIndex = 7;
14499    while (pieceIndex != 0 && swaps > 0) {
14500      swap = address[pieceIndex];
14501      address[pieceIndex--] = address[compress + swaps - 1];
14502      address[compress + --swaps] = swap;
14503    }
14504  } else if (pieceIndex != 8) return;
14505  return address;
14506};
14507
14508var findLongestZeroSequence = function (ipv6) {
14509  var maxIndex = null;
14510  var maxLength = 1;
14511  var currStart = null;
14512  var currLength = 0;
14513  var index = 0;
14514  for (; index < 8; index++) {
14515    if (ipv6[index] !== 0) {
14516      if (currLength > maxLength) {
14517        maxIndex = currStart;
14518        maxLength = currLength;
14519      }
14520      currStart = null;
14521      currLength = 0;
14522    } else {
14523      if (currStart === null) currStart = index;
14524      ++currLength;
14525    }
14526  }
14527  if (currLength > maxLength) {
14528    maxIndex = currStart;
14529    maxLength = currLength;
14530  }
14531  return maxIndex;
14532};
14533
14534var serializeHost = function (host) {
14535  var result, index, compress, ignore0;
14536  // ipv4
14537  if (typeof host == 'number') {
14538    result = [];
14539    for (index = 0; index < 4; index++) {
14540      result.unshift(host % 256);
14541      host = floor(host / 256);
14542    } return result.join('.');
14543  // ipv6
14544  } else if (typeof host == 'object') {
14545    result = '';
14546    compress = findLongestZeroSequence(host);
14547    for (index = 0; index < 8; index++) {
14548      if (ignore0 && host[index] === 0) continue;
14549      if (ignore0) ignore0 = false;
14550      if (compress === index) {
14551        result += index ? ':' : '::';
14552        ignore0 = true;
14553      } else {
14554        result += host[index].toString(16);
14555        if (index < 7) result += ':';
14556      }
14557    }
14558    return '[' + result + ']';
14559  } return host;
14560};
14561
14562var C0ControlPercentEncodeSet = {};
14563var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {
14564  ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1
14565});
14566var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {
14567  '#': 1, '?': 1, '{': 1, '}': 1
14568});
14569var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {
14570  '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1
14571});
14572
14573var percentEncode = function (char, set) {
14574  var code = codeAt(char, 0);
14575  return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);
14576};
14577
14578var specialSchemes = {
14579  ftp: 21,
14580  file: null,
14581  http: 80,
14582  https: 443,
14583  ws: 80,
14584  wss: 443
14585};
14586
14587var isSpecial = function (url) {
14588  return has(specialSchemes, url.scheme);
14589};
14590
14591var includesCredentials = function (url) {
14592  return url.username != '' || url.password != '';
14593};
14594
14595var cannotHaveUsernamePasswordPort = function (url) {
14596  return !url.host || url.cannotBeABaseURL || url.scheme == 'file';
14597};
14598
14599var isWindowsDriveLetter = function (string, normalized) {
14600  var second;
14601  return string.length == 2 && ALPHA.test(string.charAt(0))
14602    && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));
14603};
14604
14605var startsWithWindowsDriveLetter = function (string) {
14606  var third;
14607  return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (
14608    string.length == 2 ||
14609    ((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#')
14610  );
14611};
14612
14613var shortenURLsPath = function (url) {
14614  var path = url.path;
14615  var pathSize = path.length;
14616  if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {
14617    path.pop();
14618  }
14619};
14620
14621var isSingleDot = function (segment) {
14622  return segment === '.' || segment.toLowerCase() === '%2e';
14623};
14624
14625var isDoubleDot = function (segment) {
14626  segment = segment.toLowerCase();
14627  return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';
14628};
14629
14630// States:
14631var SCHEME_START = {};
14632var SCHEME = {};
14633var NO_SCHEME = {};
14634var SPECIAL_RELATIVE_OR_AUTHORITY = {};
14635var PATH_OR_AUTHORITY = {};
14636var RELATIVE = {};
14637var RELATIVE_SLASH = {};
14638var SPECIAL_AUTHORITY_SLASHES = {};
14639var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
14640var AUTHORITY = {};
14641var HOST = {};
14642var HOSTNAME = {};
14643var PORT = {};
14644var FILE = {};
14645var FILE_SLASH = {};
14646var FILE_HOST = {};
14647var PATH_START = {};
14648var PATH = {};
14649var CANNOT_BE_A_BASE_URL_PATH = {};
14650var QUERY = {};
14651var FRAGMENT = {};
14652
14653// eslint-disable-next-line max-statements
14654var parseURL = function (url, input, stateOverride, base) {
14655  var state = stateOverride || SCHEME_START;
14656  var pointer = 0;
14657  var buffer = '';
14658  var seenAt = false;
14659  var seenBracket = false;
14660  var seenPasswordToken = false;
14661  var codePoints, char, bufferCodePoints, failure;
14662
14663  if (!stateOverride) {
14664    url.scheme = '';
14665    url.username = '';
14666    url.password = '';
14667    url.host = null;
14668    url.port = null;
14669    url.path = [];
14670    url.query = null;
14671    url.fragment = null;
14672    url.cannotBeABaseURL = false;
14673    input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');
14674  }
14675
14676  input = input.replace(TAB_AND_NEW_LINE, '');
14677
14678  codePoints = arrayFrom(input);
14679
14680  while (pointer <= codePoints.length) {
14681    char = codePoints[pointer];
14682    switch (state) {
14683      case SCHEME_START:
14684        if (char && ALPHA.test(char)) {
14685          buffer += char.toLowerCase();
14686          state = SCHEME;
14687        } else if (!stateOverride) {
14688          state = NO_SCHEME;
14689          continue;
14690        } else return INVALID_SCHEME;
14691        break;
14692
14693      case SCHEME:
14694        if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {
14695          buffer += char.toLowerCase();
14696        } else if (char == ':') {
14697          if (stateOverride && (
14698            (isSpecial(url) != has(specialSchemes, buffer)) ||
14699            (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||
14700            (url.scheme == 'file' && !url.host)
14701          )) return;
14702          url.scheme = buffer;
14703          if (stateOverride) {
14704            if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;
14705            return;
14706          }
14707          buffer = '';
14708          if (url.scheme == 'file') {
14709            state = FILE;
14710          } else if (isSpecial(url) && base && base.scheme == url.scheme) {
14711            state = SPECIAL_RELATIVE_OR_AUTHORITY;
14712          } else if (isSpecial(url)) {
14713            state = SPECIAL_AUTHORITY_SLASHES;
14714          } else if (codePoints[pointer + 1] == '/') {
14715            state = PATH_OR_AUTHORITY;
14716            pointer++;
14717          } else {
14718            url.cannotBeABaseURL = true;
14719            url.path.push('');
14720            state = CANNOT_BE_A_BASE_URL_PATH;
14721          }
14722        } else if (!stateOverride) {
14723          buffer = '';
14724          state = NO_SCHEME;
14725          pointer = 0;
14726          continue;
14727        } else return INVALID_SCHEME;
14728        break;
14729
14730      case NO_SCHEME:
14731        if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;
14732        if (base.cannotBeABaseURL && char == '#') {
14733          url.scheme = base.scheme;
14734          url.path = base.path.slice();
14735          url.query = base.query;
14736          url.fragment = '';
14737          url.cannotBeABaseURL = true;
14738          state = FRAGMENT;
14739          break;
14740        }
14741        state = base.scheme == 'file' ? FILE : RELATIVE;
14742        continue;
14743
14744      case SPECIAL_RELATIVE_OR_AUTHORITY:
14745        if (char == '/' && codePoints[pointer + 1] == '/') {
14746          state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
14747          pointer++;
14748        } else {
14749          state = RELATIVE;
14750          continue;
14751        } break;
14752
14753      case PATH_OR_AUTHORITY:
14754        if (char == '/') {
14755          state = AUTHORITY;
14756          break;
14757        } else {
14758          state = PATH;
14759          continue;
14760        }
14761
14762      case RELATIVE:
14763        url.scheme = base.scheme;
14764        if (char == EOF) {
14765          url.username = base.username;
14766          url.password = base.password;
14767          url.host = base.host;
14768          url.port = base.port;
14769          url.path = base.path.slice();
14770          url.query = base.query;
14771        } else if (char == '/' || (char == '\\' && isSpecial(url))) {
14772          state = RELATIVE_SLASH;
14773        } else if (char == '?') {
14774          url.username = base.username;
14775          url.password = base.password;
14776          url.host = base.host;
14777          url.port = base.port;
14778          url.path = base.path.slice();
14779          url.query = '';
14780          state = QUERY;
14781        } else if (char == '#') {
14782          url.username = base.username;
14783          url.password = base.password;
14784          url.host = base.host;
14785          url.port = base.port;
14786          url.path = base.path.slice();
14787          url.query = base.query;
14788          url.fragment = '';
14789          state = FRAGMENT;
14790        } else {
14791          url.username = base.username;
14792          url.password = base.password;
14793          url.host = base.host;
14794          url.port = base.port;
14795          url.path = base.path.slice();
14796          url.path.pop();
14797          state = PATH;
14798          continue;
14799        } break;
14800
14801      case RELATIVE_SLASH:
14802        if (isSpecial(url) && (char == '/' || char == '\\')) {
14803          state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
14804        } else if (char == '/') {
14805          state = AUTHORITY;
14806        } else {
14807          url.username = base.username;
14808          url.password = base.password;
14809          url.host = base.host;
14810          url.port = base.port;
14811          state = PATH;
14812          continue;
14813        } break;
14814
14815      case SPECIAL_AUTHORITY_SLASHES:
14816        state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
14817        if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;
14818        pointer++;
14819        break;
14820
14821      case SPECIAL_AUTHORITY_IGNORE_SLASHES:
14822        if (char != '/' && char != '\\') {
14823          state = AUTHORITY;
14824          continue;
14825        } break;
14826
14827      case AUTHORITY:
14828        if (char == '@') {
14829          if (seenAt) buffer = '%40' + buffer;
14830          seenAt = true;
14831          bufferCodePoints = arrayFrom(buffer);
14832          for (var i = 0; i < bufferCodePoints.length; i++) {
14833            var codePoint = bufferCodePoints[i];
14834            if (codePoint == ':' && !seenPasswordToken) {
14835              seenPasswordToken = true;
14836              continue;
14837            }
14838            var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);
14839            if (seenPasswordToken) url.password += encodedCodePoints;
14840            else url.username += encodedCodePoints;
14841          }
14842          buffer = '';
14843        } else if (
14844          char == EOF || char == '/' || char == '?' || char == '#' ||
14845          (char == '\\' && isSpecial(url))
14846        ) {
14847          if (seenAt && buffer == '') return INVALID_AUTHORITY;
14848          pointer -= arrayFrom(buffer).length + 1;
14849          buffer = '';
14850          state = HOST;
14851        } else buffer += char;
14852        break;
14853
14854      case HOST:
14855      case HOSTNAME:
14856        if (stateOverride && url.scheme == 'file') {
14857          state = FILE_HOST;
14858          continue;
14859        } else if (char == ':' && !seenBracket) {
14860          if (buffer == '') return INVALID_HOST;
14861          failure = parseHost(url, buffer);
14862          if (failure) return failure;
14863          buffer = '';
14864          state = PORT;
14865          if (stateOverride == HOSTNAME) return;
14866        } else if (
14867          char == EOF || char == '/' || char == '?' || char == '#' ||
14868          (char == '\\' && isSpecial(url))
14869        ) {
14870          if (isSpecial(url) && buffer == '') return INVALID_HOST;
14871          if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;
14872          failure = parseHost(url, buffer);
14873          if (failure) return failure;
14874          buffer = '';
14875          state = PATH_START;
14876          if (stateOverride) return;
14877          continue;
14878        } else {
14879          if (char == '[') seenBracket = true;
14880          else if (char == ']') seenBracket = false;
14881          buffer += char;
14882        } break;
14883
14884      case PORT:
14885        if (DIGIT.test(char)) {
14886          buffer += char;
14887        } else if (
14888          char == EOF || char == '/' || char == '?' || char == '#' ||
14889          (char == '\\' && isSpecial(url)) ||
14890          stateOverride
14891        ) {
14892          if (buffer != '') {
14893            var port = parseInt(buffer, 10);
14894            if (port > 0xFFFF) return INVALID_PORT;
14895            url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;
14896            buffer = '';
14897          }
14898          if (stateOverride) return;
14899          state = PATH_START;
14900          continue;
14901        } else return INVALID_PORT;
14902        break;
14903
14904      case FILE:
14905        url.scheme = 'file';
14906        if (char == '/' || char == '\\') state = FILE_SLASH;
14907        else if (base && base.scheme == 'file') {
14908          if (char == EOF) {
14909            url.host = base.host;
14910            url.path = base.path.slice();
14911            url.query = base.query;
14912          } else if (char == '?') {
14913            url.host = base.host;
14914            url.path = base.path.slice();
14915            url.query = '';
14916            state = QUERY;
14917          } else if (char == '#') {
14918            url.host = base.host;
14919            url.path = base.path.slice();
14920            url.query = base.query;
14921            url.fragment = '';
14922            state = FRAGMENT;
14923          } else {
14924            if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
14925              url.host = base.host;
14926              url.path = base.path.slice();
14927              shortenURLsPath(url);
14928            }
14929            state = PATH;
14930            continue;
14931          }
14932        } else {
14933          state = PATH;
14934          continue;
14935        } break;
14936
14937      case FILE_SLASH:
14938        if (char == '/' || char == '\\') {
14939          state = FILE_HOST;
14940          break;
14941        }
14942        if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
14943          if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);
14944          else url.host = base.host;
14945        }
14946        state = PATH;
14947        continue;
14948
14949      case FILE_HOST:
14950        if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') {
14951          if (!stateOverride && isWindowsDriveLetter(buffer)) {
14952            state = PATH;
14953          } else if (buffer == '') {
14954            url.host = '';
14955            if (stateOverride) return;
14956            state = PATH_START;
14957          } else {
14958            failure = parseHost(url, buffer);
14959            if (failure) return failure;
14960            if (url.host == 'localhost') url.host = '';
14961            if (stateOverride) return;
14962            buffer = '';
14963            state = PATH_START;
14964          } continue;
14965        } else buffer += char;
14966        break;
14967
14968      case PATH_START:
14969        if (isSpecial(url)) {
14970          state = PATH;
14971          if (char != '/' && char != '\\') continue;
14972        } else if (!stateOverride && char == '?') {
14973          url.query = '';
14974          state = QUERY;
14975        } else if (!stateOverride && char == '#') {
14976          url.fragment = '';
14977          state = FRAGMENT;
14978        } else if (char != EOF) {
14979          state = PATH;
14980          if (char != '/') continue;
14981        } break;
14982
14983      case PATH:
14984        if (
14985          char == EOF || char == '/' ||
14986          (char == '\\' && isSpecial(url)) ||
14987          (!stateOverride && (char == '?' || char == '#'))
14988        ) {
14989          if (isDoubleDot(buffer)) {
14990            shortenURLsPath(url);
14991            if (char != '/' && !(char == '\\' && isSpecial(url))) {
14992              url.path.push('');
14993            }
14994          } else if (isSingleDot(buffer)) {
14995            if (char != '/' && !(char == '\\' && isSpecial(url))) {
14996              url.path.push('');
14997            }
14998          } else {
14999            if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {
15000              if (url.host) url.host = '';
15001              buffer = buffer.charAt(0) + ':'; // normalize windows drive letter
15002            }
15003            url.path.push(buffer);
15004          }
15005          buffer = '';
15006          if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {
15007            while (url.path.length > 1 && url.path[0] === '') {
15008              url.path.shift();
15009            }
15010          }
15011          if (char == '?') {
15012            url.query = '';
15013            state = QUERY;
15014          } else if (char == '#') {
15015            url.fragment = '';
15016            state = FRAGMENT;
15017          }
15018        } else {
15019          buffer += percentEncode(char, pathPercentEncodeSet);
15020        } break;
15021
15022      case CANNOT_BE_A_BASE_URL_PATH:
15023        if (char == '?') {
15024          url.query = '';
15025          state = QUERY;
15026        } else if (char == '#') {
15027          url.fragment = '';
15028          state = FRAGMENT;
15029        } else if (char != EOF) {
15030          url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);
15031        } break;
15032
15033      case QUERY:
15034        if (!stateOverride && char == '#') {
15035          url.fragment = '';
15036          state = FRAGMENT;
15037        } else if (char != EOF) {
15038          if (char == "'" && isSpecial(url)) url.query += '%27';
15039          else if (char == '#') url.query += '%23';
15040          else url.query += percentEncode(char, C0ControlPercentEncodeSet);
15041        } break;
15042
15043      case FRAGMENT:
15044        if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);
15045        break;
15046    }
15047
15048    pointer++;
15049  }
15050};
15051
15052// `URL` constructor
15053// https://url.spec.whatwg.org/#url-class
15054var URLConstructor = function URL(url /* , base */) {
15055  var that = anInstance(this, URLConstructor, 'URL');
15056  var base = arguments.length > 1 ? arguments[1] : undefined;
15057  var urlString = String(url);
15058  var state = setInternalState(that, { type: 'URL' });
15059  var baseState, failure;
15060  if (base !== undefined) {
15061    if (base instanceof URLConstructor) baseState = getInternalURLState(base);
15062    else {
15063      failure = parseURL(baseState = {}, String(base));
15064      if (failure) throw TypeError(failure);
15065    }
15066  }
15067  failure = parseURL(state, urlString, null, baseState);
15068  if (failure) throw TypeError(failure);
15069  var searchParams = state.searchParams = new URLSearchParams();
15070  var searchParamsState = getInternalSearchParamsState(searchParams);
15071  searchParamsState.updateSearchParams(state.query);
15072  searchParamsState.updateURL = function () {
15073    state.query = String(searchParams) || null;
15074  };
15075  if (!DESCRIPTORS) {
15076    that.href = serializeURL.call(that);
15077    that.origin = getOrigin.call(that);
15078    that.protocol = getProtocol.call(that);
15079    that.username = getUsername.call(that);
15080    that.password = getPassword.call(that);
15081    that.host = getHost.call(that);
15082    that.hostname = getHostname.call(that);
15083    that.port = getPort.call(that);
15084    that.pathname = getPathname.call(that);
15085    that.search = getSearch.call(that);
15086    that.searchParams = getSearchParams.call(that);
15087    that.hash = getHash.call(that);
15088  }
15089};
15090
15091var URLPrototype = URLConstructor.prototype;
15092
15093var serializeURL = function () {
15094  var url = getInternalURLState(this);
15095  var scheme = url.scheme;
15096  var username = url.username;
15097  var password = url.password;
15098  var host = url.host;
15099  var port = url.port;
15100  var path = url.path;
15101  var query = url.query;
15102  var fragment = url.fragment;
15103  var output = scheme + ':';
15104  if (host !== null) {
15105    output += '//';
15106    if (includesCredentials(url)) {
15107      output += username + (password ? ':' + password : '') + '@';
15108    }
15109    output += serializeHost(host);
15110    if (port !== null) output += ':' + port;
15111  } else if (scheme == 'file') output += '//';
15112  output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
15113  if (query !== null) output += '?' + query;
15114  if (fragment !== null) output += '#' + fragment;
15115  return output;
15116};
15117
15118var getOrigin = function () {
15119  var url = getInternalURLState(this);
15120  var scheme = url.scheme;
15121  var port = url.port;
15122  if (scheme == 'blob') try {
15123    return new URL(scheme.path[0]).origin;
15124  } catch (error) {
15125    return 'null';
15126  }
15127  if (scheme == 'file' || !isSpecial(url)) return 'null';
15128  return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');
15129};
15130
15131var getProtocol = function () {
15132  return getInternalURLState(this).scheme + ':';
15133};
15134
15135var getUsername = function () {
15136  return getInternalURLState(this).username;
15137};
15138
15139var getPassword = function () {
15140  return getInternalURLState(this).password;
15141};
15142
15143var getHost = function () {
15144  var url = getInternalURLState(this);
15145  var host = url.host;
15146  var port = url.port;
15147  return host === null ? ''
15148    : port === null ? serializeHost(host)
15149    : serializeHost(host) + ':' + port;
15150};
15151
15152var getHostname = function () {
15153  var host = getInternalURLState(this).host;
15154  return host === null ? '' : serializeHost(host);
15155};
15156
15157var getPort = function () {
15158  var port = getInternalURLState(this).port;
15159  return port === null ? '' : String(port);
15160};
15161
15162var getPathname = function () {
15163  var url = getInternalURLState(this);
15164  var path = url.path;
15165  return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
15166};
15167
15168var getSearch = function () {
15169  var query = getInternalURLState(this).query;
15170  return query ? '?' + query : '';
15171};
15172
15173var getSearchParams = function () {
15174  return getInternalURLState(this).searchParams;
15175};
15176
15177var getHash = function () {
15178  var fragment = getInternalURLState(this).fragment;
15179  return fragment ? '#' + fragment : '';
15180};
15181
15182var accessorDescriptor = function (getter, setter) {
15183  return { get: getter, set: setter, configurable: true, enumerable: true };
15184};
15185
15186if (DESCRIPTORS) {
15187  defineProperties(URLPrototype, {
15188    // `URL.prototype.href` accessors pair
15189    // https://url.spec.whatwg.org/#dom-url-href
15190    href: accessorDescriptor(serializeURL, function (href) {
15191      var url = getInternalURLState(this);
15192      var urlString = String(href);
15193      var failure = parseURL(url, urlString);
15194      if (failure) throw TypeError(failure);
15195      getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
15196    }),
15197    // `URL.prototype.origin` getter
15198    // https://url.spec.whatwg.org/#dom-url-origin
15199    origin: accessorDescriptor(getOrigin),
15200    // `URL.prototype.protocol` accessors pair
15201    // https://url.spec.whatwg.org/#dom-url-protocol
15202    protocol: accessorDescriptor(getProtocol, function (protocol) {
15203      var url = getInternalURLState(this);
15204      parseURL(url, String(protocol) + ':', SCHEME_START);
15205    }),
15206    // `URL.prototype.username` accessors pair
15207    // https://url.spec.whatwg.org/#dom-url-username
15208    username: accessorDescriptor(getUsername, function (username) {
15209      var url = getInternalURLState(this);
15210      var codePoints = arrayFrom(String(username));
15211      if (cannotHaveUsernamePasswordPort(url)) return;
15212      url.username = '';
15213      for (var i = 0; i < codePoints.length; i++) {
15214        url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);
15215      }
15216    }),
15217    // `URL.prototype.password` accessors pair
15218    // https://url.spec.whatwg.org/#dom-url-password
15219    password: accessorDescriptor(getPassword, function (password) {
15220      var url = getInternalURLState(this);
15221      var codePoints = arrayFrom(String(password));
15222      if (cannotHaveUsernamePasswordPort(url)) return;
15223      url.password = '';
15224      for (var i = 0; i < codePoints.length; i++) {
15225        url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);
15226      }
15227    }),
15228    // `URL.prototype.host` accessors pair
15229    // https://url.spec.whatwg.org/#dom-url-host
15230    host: accessorDescriptor(getHost, function (host) {
15231      var url = getInternalURLState(this);
15232      if (url.cannotBeABaseURL) return;
15233      parseURL(url, String(host), HOST);
15234    }),
15235    // `URL.prototype.hostname` accessors pair
15236    // https://url.spec.whatwg.org/#dom-url-hostname
15237    hostname: accessorDescriptor(getHostname, function (hostname) {
15238      var url = getInternalURLState(this);
15239      if (url.cannotBeABaseURL) return;
15240      parseURL(url, String(hostname), HOSTNAME);
15241    }),
15242    // `URL.prototype.port` accessors pair
15243    // https://url.spec.whatwg.org/#dom-url-port
15244    port: accessorDescriptor(getPort, function (port) {
15245      var url = getInternalURLState(this);
15246      if (cannotHaveUsernamePasswordPort(url)) return;
15247      port = String(port);
15248      if (port == '') url.port = null;
15249      else parseURL(url, port, PORT);
15250    }),
15251    // `URL.prototype.pathname` accessors pair
15252    // https://url.spec.whatwg.org/#dom-url-pathname
15253    pathname: accessorDescriptor(getPathname, function (pathname) {
15254      var url = getInternalURLState(this);
15255      if (url.cannotBeABaseURL) return;
15256      url.path = [];
15257      parseURL(url, pathname + '', PATH_START);
15258    }),
15259    // `URL.prototype.search` accessors pair
15260    // https://url.spec.whatwg.org/#dom-url-search
15261    search: accessorDescriptor(getSearch, function (search) {
15262      var url = getInternalURLState(this);
15263      search = String(search);
15264      if (search == '') {
15265        url.query = null;
15266      } else {
15267        if ('?' == search.charAt(0)) search = search.slice(1);
15268        url.query = '';
15269        parseURL(url, search, QUERY);
15270      }
15271      getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
15272    }),
15273    // `URL.prototype.searchParams` getter
15274    // https://url.spec.whatwg.org/#dom-url-searchparams
15275    searchParams: accessorDescriptor(getSearchParams),
15276    // `URL.prototype.hash` accessors pair
15277    // https://url.spec.whatwg.org/#dom-url-hash
15278    hash: accessorDescriptor(getHash, function (hash) {
15279      var url = getInternalURLState(this);
15280      hash = String(hash);
15281      if (hash == '') {
15282        url.fragment = null;
15283        return;
15284      }
15285      if ('#' == hash.charAt(0)) hash = hash.slice(1);
15286      url.fragment = '';
15287      parseURL(url, hash, FRAGMENT);
15288    })
15289  });
15290}
15291
15292// `URL.prototype.toJSON` method
15293// https://url.spec.whatwg.org/#dom-url-tojson
15294redefine(URLPrototype, 'toJSON', function toJSON() {
15295  return serializeURL.call(this);
15296}, { enumerable: true });
15297
15298// `URL.prototype.toString` method
15299// https://url.spec.whatwg.org/#URL-stringification-behavior
15300redefine(URLPrototype, 'toString', function toString() {
15301  return serializeURL.call(this);
15302}, { enumerable: true });
15303
15304if (NativeURL) {
15305  var nativeCreateObjectURL = NativeURL.createObjectURL;
15306  var nativeRevokeObjectURL = NativeURL.revokeObjectURL;
15307  // `URL.createObjectURL` method
15308  // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
15309  // eslint-disable-next-line no-unused-vars
15310  if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {
15311    return nativeCreateObjectURL.apply(NativeURL, arguments);
15312  });
15313  // `URL.revokeObjectURL` method
15314  // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL
15315  // eslint-disable-next-line no-unused-vars
15316  if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {
15317    return nativeRevokeObjectURL.apply(NativeURL, arguments);
15318  });
15319}
15320
15321setToStringTag(URLConstructor, 'URL');
15322
15323$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {
15324  URL: URLConstructor
15325});
15326
15327
15328/***/ }),
15329
vendor: 684 bytes, lines 15330-15351
15330/***/ "./node_modules/core-js/modules/web.url.to-json.js":
15331/*!*********************************************************!*\
15332  !*** ./node_modules/core-js/modules/web.url.to-json.js ***!
15333  \*********************************************************/
15334/*! no static exports found */
15335/***/ (function(module, exports, __webpack_require__) {
15336
15337"use strict";
15338
15339var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
15340
15341// `URL.prototype.toJSON` method
15342// https://url.spec.whatwg.org/#dom-url-tojson
15343$({ target: 'URL', proto: true, enumerable: true }, {
15344  toJSON: function toJSON() {
15345    return URL.prototype.toString.call(this);
15346  }
15347});
15348
15349
15350/***/ }),
15351
vendor: 575 bytes, lines 15352-15367
15352/***/ "./node_modules/core-js/stable/index.js":
15353/*!**********************************************!*\
15354  !*** ./node_modules/core-js/stable/index.js ***!
15355  \**********************************************/
15356/*! no static exports found */
15357/***/ (function(module, exports, __webpack_require__) {
15358
15359__webpack_require__(/*! ../es */ "./node_modules/core-js/es/index.js");
15360__webpack_require__(/*! ../web */ "./node_modules/core-js/web/index.js");
15361var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js/internals/path.js");
15362
15363module.exports = path;
15364
15365
15366/***/ }),
15367
vendor: 1,323 bytes, lines 15368-15389
15368/***/ "./node_modules/core-js/web/index.js":
15369/*!*******************************************!*\
15370  !*** ./node_modules/core-js/web/index.js ***!
15371  \*******************************************/
15372/*! no static exports found */
15373/***/ (function(module, exports, __webpack_require__) {
15374
15375__webpack_require__(/*! ../modules/web.dom-collections.for-each */ "./node_modules/core-js/modules/web.dom-collections.for-each.js");
15376__webpack_require__(/*! ../modules/web.dom-collections.iterator */ "./node_modules/core-js/modules/web.dom-collections.iterator.js");
15377__webpack_require__(/*! ../modules/web.immediate */ "./node_modules/core-js/modules/web.immediate.js");
15378__webpack_require__(/*! ../modules/web.queue-microtask */ "./node_modules/core-js/modules/web.queue-microtask.js");
15379__webpack_require__(/*! ../modules/web.timers */ "./node_modules/core-js/modules/web.timers.js");
15380__webpack_require__(/*! ../modules/web.url */ "./node_modules/core-js/modules/web.url.js");
15381__webpack_require__(/*! ../modules/web.url.to-json */ "./node_modules/core-js/modules/web.url.to-json.js");
15382__webpack_require__(/*! ../modules/web.url-search-params */ "./node_modules/core-js/modules/web.url-search-params.js");
15383var path = __webpack_require__(/*! ../internals/path */ "./node_modules/core-js/internals/path.js");
15384
15385module.exports = path;
15386
15387
15388/***/ }),
15389
vendor: 3,046 bytes, lines 15390-15491
15390/***/ "./node_modules/deepmerge/dist/es.js":
15391/*!*******************************************!*\
15392  !*** ./node_modules/deepmerge/dist/es.js ***!
15393  \*******************************************/
15394/*! exports provided: default */
15395/***/ (function(module, __webpack_exports__, __webpack_require__) {
15396
15397"use strict";
15398__webpack_require__.r(__webpack_exports__);
15399var isMergeableObject = function isMergeableObject(value) {
15400	return isNonNullObject(value)
15401		&& !isSpecial(value)
15402};
15403
15404function isNonNullObject(value) {
15405	return !!value && typeof value === 'object'
15406}
15407
15408function isSpecial(value) {
15409	var stringValue = Object.prototype.toString.call(value);
15410
15411	return stringValue === '[object RegExp]'
15412		|| stringValue === '[object Date]'
15413		|| isReactElement(value)
15414}
15415
15416// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25
15417var canUseSymbol = typeof Symbol === 'function' && Symbol.for;
15418var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;
15419
15420function isReactElement(value) {
15421	return value.$$typeof === REACT_ELEMENT_TYPE
15422}
15423
15424function emptyTarget(val) {
15425	return Array.isArray(val) ? [] : {}
15426}
15427
15428function cloneUnlessOtherwiseSpecified(value, options) {
15429	return (options.clone !== false && options.isMergeableObject(value))
15430		? deepmerge(emptyTarget(value), value, options)
15431		: value
15432}
15433
15434function defaultArrayMerge(target, source, options) {
15435	return target.concat(source).map(function(element) {
15436		return cloneUnlessOtherwiseSpecified(element, options)
15437	})
15438}
15439
15440function mergeObject(target, source, options) {
15441	var destination = {};
15442	if (options.isMergeableObject(target)) {
15443		Object.keys(target).forEach(function(key) {
15444			destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
15445		});
15446	}
15447	Object.keys(source).forEach(function(key) {
15448		if (!options.isMergeableObject(source[key]) || !target[key]) {
15449			destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
15450		} else {
15451			destination[key] = deepmerge(target[key], source[key], options);
15452		}
15453	});
15454	return destination
15455}
15456
15457function deepmerge(target, source, options) {
15458	options = options || {};
15459	options.arrayMerge = options.arrayMerge || defaultArrayMerge;
15460	options.isMergeableObject = options.isMergeableObject || isMergeableObject;
15461
15462	var sourceIsArray = Array.isArray(source);
15463	var targetIsArray = Array.isArray(target);
15464	var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
15465
15466	if (!sourceAndTargetTypesMatch) {
15467		return cloneUnlessOtherwiseSpecified(source, options)
15468	} else if (sourceIsArray) {
15469		return options.arrayMerge(target, source, options)
15470	} else {
15471		return mergeObject(target, source, options)
15472	}
15473}
15474
15475deepmerge.all = function deepmergeAll(array, options) {
15476	if (!Array.isArray(array)) {
15477		throw new Error('first argument should be an array')
15478	}
15479
15480	return array.reduce(function(prev, next) {
15481		return deepmerge(prev, next, options)
15482	}, {})
15483};
15484
15485var deepmerge_1 = deepmerge;
15486
15487/* harmony default export */ __webpack_exports__["default"] = (deepmerge_1);
15488
15489
15490/***/ }),
15491
vendor: 78,421 bytes, lines 15492-17535
15492/***/ "./node_modules/formik/dist/formik.esm.js":
15493/*!************************************************!*\
15494  !*** ./node_modules/formik/dist/formik.esm.js ***!
15495  \************************************************/
15496/*! exports provided: ErrorMessage, FastField, Field, FieldArray, Form, Formik, FormikConsumer, FormikContext, FormikProvider, connect, getActiveElement, getIn, insert, isEmptyArray, isEmptyChildren, isFunction, isInputEvent, isInteger, isNaN, isObject, isPromise, isString, move, prepareDataForValidation, replace, setIn, setNestedObjectValues, swap, useField, useFormik, useFormikContext, validateYupSchema, withFormik, yupToFormErrors */
15497/***/ (function(module, __webpack_exports__, __webpack_require__) {
15498
15499"use strict";
15500__webpack_require__.r(__webpack_exports__);
15501/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ErrorMessage", function() { return ErrorMessage; });
15502/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FastField", function() { return FastField; });
15503/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Field", function() { return Field; });
15504/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FieldArray", function() { return FieldArray; });
15505/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Form", function() { return Form; });
15506/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Formik", function() { return Formik; });
15507/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormikConsumer", function() { return FormikConsumer; });
15508/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormikContext", function() { return FormikContext; });
15509/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormikProvider", function() { return FormikProvider; });
15510/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "connect", function() { return connect; });
15511/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getActiveElement", function() { return getActiveElement; });
15512/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getIn", function() { return getIn; });
15513/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "insert", function() { return insert; });
15514/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isEmptyArray", function() { return isEmptyArray; });
15515/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isEmptyChildren", function() { return isEmptyChildren; });
15516/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isFunction", function() { return isFunction; });
15517/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isInputEvent", function() { return isInputEvent; });
15518/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isInteger", function() { return isInteger; });
15519/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isNaN", function() { return isNaN$1; });
15520/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isObject", function() { return isObject; });
15521/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isPromise", function() { return isPromise; });
15522/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isString", function() { return isString; });
15523/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "move", function() { return move; });
15524/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "prepareDataForValidation", function() { return prepareDataForValidation; });
15525/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "replace", function() { return replace; });
15526/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setIn", function() { return setIn; });
15527/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setNestedObjectValues", function() { return setNestedObjectValues; });
15528/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "swap", function() { return swap; });
15529/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useField", function() { return useField; });
15530/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useFormik", function() { return useFormik; });
15531/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useFormikContext", function() { return useFormikContext; });
15532/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "validateYupSchema", function() { return validateYupSchema; });
15533/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withFormik", function() { return withFormik; });
15534/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "yupToFormErrors", function() { return yupToFormErrors; });
15535/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
15536/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
15537/* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-fast-compare */ "./node_modules/react-fast-compare/index.js");
15538/* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_fast_compare__WEBPACK_IMPORTED_MODULE_1__);
15539/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! deepmerge */ "./node_modules/deepmerge/dist/es.js");
15540/* harmony import */ var lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash-es/isPlainObject */ "./node_modules/lodash-es/isPlainObject.js");
15541/* harmony import */ var lodash_es_clone__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash-es/clone */ "./node_modules/lodash-es/clone.js");
15542/* harmony import */ var lodash_es_toPath__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash-es/toPath */ "./node_modules/lodash-es/toPath.js");
15543/* harmony import */ var tiny_warning__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! tiny-warning */ "./node_modules/tiny-warning/dist/tiny-warning.esm.js");
15544/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! hoist-non-react-statics */ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js");
15545/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_7__);
15546/* harmony import */ var lodash_es_cloneDeep__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash-es/cloneDeep */ "./node_modules/lodash-es/cloneDeep.js");
15547
15548
15549
15550
15551
15552
15553
15554
15555
15556
15557function _extends() {
15558  _extends = Object.assign || function (target) {
15559    for (var i = 1; i < arguments.length; i++) {
15560      var source = arguments[i];
15561
15562      for (var key in source) {
15563        if (Object.prototype.hasOwnProperty.call(source, key)) {
15564          target[key] = source[key];
15565        }
15566      }
15567    }
15568
15569    return target;
15570  };
15571
15572  return _extends.apply(this, arguments);
15573}
15574
15575function _inheritsLoose(subClass, superClass) {
15576  subClass.prototype = Object.create(superClass.prototype);
15577  subClass.prototype.constructor = subClass;
15578  subClass.__proto__ = superClass;
15579}
15580
15581function _objectWithoutPropertiesLoose(source, excluded) {
15582  if (source == null) return {};
15583  var target = {};
15584  var sourceKeys = Object.keys(source);
15585  var key, i;
15586
15587  for (i = 0; i < sourceKeys.length; i++) {
15588    key = sourceKeys[i];
15589    if (excluded.indexOf(key) >= 0) continue;
15590    target[key] = source[key];
15591  }
15592
15593  return target;
15594}
15595
15596function _assertThisInitialized(self) {
15597  if (self === void 0) {
15598    throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
15599  }
15600
15601  return self;
15602}
15603
15604/** @private is the value an empty array? */
15605
15606var isEmptyArray = function isEmptyArray(value) {
15607  return Array.isArray(value) && value.length === 0;
15608};
15609/** @private is the given object a Function? */
15610
15611var isFunction = function isFunction(obj) {
15612  return typeof obj === 'function';
15613};
15614/** @private is the given object an Object? */
15615
15616var isObject = function isObject(obj) {
15617  return obj !== null && typeof obj === 'object';
15618};
15619/** @private is the given object an integer? */
15620
15621var isInteger = function isInteger(obj) {
15622  return String(Math.floor(Number(obj))) === obj;
15623};
15624/** @private is the given object a string? */
15625
15626var isString = function isString(obj) {
15627  return Object.prototype.toString.call(obj) === '[object String]';
15628};
15629/** @private is the given object a NaN? */
15630// eslint-disable-next-line no-self-compare
15631
15632var isNaN$1 = function isNaN(obj) {
15633  return obj !== obj;
15634};
15635/** @private Does a React component have exactly 0 children? */
15636
15637var isEmptyChildren = function isEmptyChildren(children) {
15638  return react__WEBPACK_IMPORTED_MODULE_0__["Children"].count(children) === 0;
15639};
15640/** @private is the given object/value a promise? */
15641
15642var isPromise = function isPromise(value) {
15643  return isObject(value) && isFunction(value.then);
15644};
15645/** @private is the given object/value a type of synthetic event? */
15646
15647var isInputEvent = function isInputEvent(value) {
15648  return value && isObject(value) && isObject(value.target);
15649};
15650/**
15651 * Same as document.activeElement but wraps in a try-catch block. In IE it is
15652 * not safe to call document.activeElement if there is nothing focused.
15653 *
15654 * The activeElement will be null only if the document or document body is not
15655 * yet defined.
15656 *
15657 * @param {?Document} doc Defaults to current document.
15658 * @return {Element | null}
15659 * @see https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/dom/getActiveElement.js
15660 */
15661
15662function getActiveElement(doc) {
15663  doc = doc || (typeof document !== 'undefined' ? document : undefined);
15664
15665  if (typeof doc === 'undefined') {
15666    return null;
15667  }
15668
15669  try {
15670    return doc.activeElement || doc.body;
15671  } catch (e) {
15672    return doc.body;
15673  }
15674}
15675/**
15676 * Deeply get a value from an object via its path.
15677 */
15678
15679function getIn(obj, key, def, p) {
15680  if (p === void 0) {
15681    p = 0;
15682  }
15683
15684  var path = Object(lodash_es_toPath__WEBPACK_IMPORTED_MODULE_5__["default"])(key);
15685
15686  while (obj && p < path.length) {
15687    obj = obj[path[p++]];
15688  }
15689
15690  return obj === undefined ? def : obj;
15691}
15692/**
15693 * Deeply set a value from in object via it's path. If the value at `path`
15694 * has changed, return a shallow copy of obj with `value` set at `path`.
15695 * If `value` has not changed, return the original `obj`.
15696 *
15697 * Existing objects / arrays along `path` are also shallow copied. Sibling
15698 * objects along path retain the same internal js reference. Since new
15699 * objects / arrays are only created along `path`, we can test if anything
15700 * changed in a nested structure by comparing the object's reference in
15701 * the old and new object, similar to how russian doll cache invalidation
15702 * works.
15703 *
15704 * In earlier versions of this function, which used cloneDeep, there were
15705 * issues whereby settings a nested value would mutate the parent
15706 * instead of creating a new object. `clone` avoids that bug making a
15707 * shallow copy of the objects along the update path
15708 * so no object is mutated in place.
15709 *
15710 * Before changing this function, please read through the following
15711 * discussions.
15712 *
15713 * @see https://github.com/developit/linkstate
15714 * @see https://github.com/jaredpalmer/formik/pull/123
15715 */
15716
15717function setIn(obj, path, value) {
15718  var res = Object(lodash_es_clone__WEBPACK_IMPORTED_MODULE_4__["default"])(obj); // this keeps inheritance when obj is a class
15719
15720  var resVal = res;
15721  var i = 0;
15722  var pathArray = Object(lodash_es_toPath__WEBPACK_IMPORTED_MODULE_5__["default"])(path);
15723
15724  for (; i < pathArray.length - 1; i++) {
15725    var currentPath = pathArray[i];
15726    var currentObj = getIn(obj, pathArray.slice(0, i + 1));
15727
15728    if (currentObj && (isObject(currentObj) || Array.isArray(currentObj))) {
15729      resVal = resVal[currentPath] = Object(lodash_es_clone__WEBPACK_IMPORTED_MODULE_4__["default"])(currentObj);
15730    } else {
15731      var nextPath = pathArray[i + 1];
15732      resVal = resVal[currentPath] = isInteger(nextPath) && Number(nextPath) >= 0 ? [] : {};
15733    }
15734  } // Return original object if new value is the same as current
15735
15736
15737  if ((i === 0 ? obj : resVal)[pathArray[i]] === value) {
15738    return obj;
15739  }
15740
15741  if (value === undefined) {
15742    delete resVal[pathArray[i]];
15743  } else {
15744    resVal[pathArray[i]] = value;
15745  } // If the path array has a single element, the loop did not run.
15746  // Deleting on `resVal` had no effect in this scenario, so we delete on the result instead.
15747
15748
15749  if (i === 0 && value === undefined) {
15750    delete res[pathArray[i]];
15751  }
15752
15753  return res;
15754}
15755/**
15756 * Recursively a set the same value for all keys and arrays nested object, cloning
15757 * @param object
15758 * @param value
15759 * @param visited
15760 * @param response
15761 */
15762
15763function setNestedObjectValues(object, value, visited, response) {
15764  if (visited === void 0) {
15765    visited = new WeakMap();
15766  }
15767
15768  if (response === void 0) {
15769    response = {};
15770  }
15771
15772  for (var _i = 0, _Object$keys = Object.keys(object); _i < _Object$keys.length; _i++) {
15773    var k = _Object$keys[_i];
15774    var val = object[k];
15775
15776    if (isObject(val)) {
15777      if (!visited.get(val)) {
15778        visited.set(val, true); // In order to keep array values consistent for both dot path  and
15779        // bracket syntax, we need to check if this is an array so that
15780        // this will output  { friends: [true] } and not { friends: { "0": true } }
15781
15782        response[k] = Array.isArray(val) ? [] : {};
15783        setNestedObjectValues(val, value, visited, response[k]);
15784      }
15785    } else {
15786      response[k] = value;
15787    }
15788  }
15789
15790  return response;
15791}
15792
15793var FormikContext = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["createContext"])(undefined);
15794var FormikProvider = FormikContext.Provider;
15795var FormikConsumer = FormikContext.Consumer;
15796function useFormikContext() {
15797  var formik = Object(react__WEBPACK_IMPORTED_MODULE_0__["useContext"])(FormikContext);
15798  !!!formik ?  true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, "Formik context is undefined, please verify you are calling useFormikContext() as child of a <Formik> component.") : undefined : void 0;
15799  return formik;
15800}
15801
15802function formikReducer(state, msg) {
15803  switch (msg.type) {
15804    case 'SET_VALUES':
15805      return _extends({}, state, {
15806        values: msg.payload
15807      });
15808
15809    case 'SET_TOUCHED':
15810      return _extends({}, state, {
15811        touched: msg.payload
15812      });
15813
15814    case 'SET_ERRORS':
15815      if (react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(state.errors, msg.payload)) {
15816        return state;
15817      }
15818
15819      return _extends({}, state, {
15820        errors: msg.payload
15821      });
15822
15823    case 'SET_STATUS':
15824      return _extends({}, state, {
15825        status: msg.payload
15826      });
15827
15828    case 'SET_ISSUBMITTING':
15829      return _extends({}, state, {
15830        isSubmitting: msg.payload
15831      });
15832
15833    case 'SET_ISVALIDATING':
15834      return _extends({}, state, {
15835        isValidating: msg.payload
15836      });
15837
15838    case 'SET_FIELD_VALUE':
15839      return _extends({}, state, {
15840        values: setIn(state.values, msg.payload.field, msg.payload.value)
15841      });
15842
15843    case 'SET_FIELD_TOUCHED':
15844      return _extends({}, state, {
15845        touched: setIn(state.touched, msg.payload.field, msg.payload.value)
15846      });
15847
15848    case 'SET_FIELD_ERROR':
15849      return _extends({}, state, {
15850        errors: setIn(state.errors, msg.payload.field, msg.payload.value)
15851      });
15852
15853    case 'RESET_FORM':
15854      return _extends({}, state, msg.payload);
15855
15856    case 'SET_FORMIK_STATE':
15857      return msg.payload(state);
15858
15859    case 'SUBMIT_ATTEMPT':
15860      return _extends({}, state, {
15861        touched: setNestedObjectValues(state.values, true),
15862        isSubmitting: true,
15863        submitCount: state.submitCount + 1
15864      });
15865
15866    case 'SUBMIT_FAILURE':
15867      return _extends({}, state, {
15868        isSubmitting: false
15869      });
15870
15871    case 'SUBMIT_SUCCESS':
15872      return _extends({}, state, {
15873        isSubmitting: false
15874      });
15875
15876    default:
15877      return state;
15878  }
15879} // Initial empty states // objects
15880
15881
15882var emptyErrors = {};
15883var emptyTouched = {};
15884function useFormik(_ref) {
15885  var _ref$validateOnChange = _ref.validateOnChange,
15886      validateOnChange = _ref$validateOnChange === void 0 ? true : _ref$validateOnChange,
15887      _ref$validateOnBlur = _ref.validateOnBlur,
15888      validateOnBlur = _ref$validateOnBlur === void 0 ? true : _ref$validateOnBlur,
15889      _ref$validateOnMount = _ref.validateOnMount,
15890      validateOnMount = _ref$validateOnMount === void 0 ? false : _ref$validateOnMount,
15891      isInitialValid = _ref.isInitialValid,
15892      _ref$enableReinitiali = _ref.enableReinitialize,
15893      enableReinitialize = _ref$enableReinitiali === void 0 ? false : _ref$enableReinitiali,
15894      onSubmit = _ref.onSubmit,
15895      rest = _objectWithoutPropertiesLoose(_ref, ["validateOnChange", "validateOnBlur", "validateOnMount", "isInitialValid", "enableReinitialize", "onSubmit"]);
15896
15897  var props = _extends({
15898    validateOnChange: validateOnChange,
15899    validateOnBlur: validateOnBlur,
15900    validateOnMount: validateOnMount,
15901    onSubmit: onSubmit
15902  }, rest);
15903
15904  var initialValues = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(props.initialValues);
15905  var initialErrors = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(props.initialErrors || emptyErrors);
15906  var initialTouched = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(props.initialTouched || emptyTouched);
15907  var initialStatus = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(props.initialStatus);
15908  var isMounted = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(false);
15909  var fieldRegistry = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])({});
15910
15911  if (true) {
15912    // eslint-disable-next-line react-hooks/rules-of-hooks
15913    Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
15914      !(typeof isInitialValid === 'undefined') ?  true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'isInitialValid has been deprecated and will be removed in future versions of Formik. Please use initialErrors or validateOnMount instead.') : undefined : void 0; // eslint-disable-next-line
15915    }, []);
15916  }
15917
15918  Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
15919    isMounted.current = true;
15920    return function () {
15921      isMounted.current = false;
15922    };
15923  }, []);
15924
15925  var _React$useReducer = Object(react__WEBPACK_IMPORTED_MODULE_0__["useReducer"])(formikReducer, {
15926    values: props.initialValues,
15927    errors: props.initialErrors || emptyErrors,
15928    touched: props.initialTouched || emptyTouched,
15929    status: props.initialStatus,
15930    isSubmitting: false,
15931    isValidating: false,
15932    submitCount: 0
15933  }),
15934      state = _React$useReducer[0],
15935      dispatch = _React$useReducer[1];
15936
15937  var runValidateHandler = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (values, field) {
15938    return new Promise(function (resolve, reject) {
15939      var maybePromisedErrors = props.validate(values, field);
15940
15941      if (maybePromisedErrors == null) {
15942        // use loose null check here on purpose
15943        resolve(emptyErrors);
15944      } else if (isPromise(maybePromisedErrors)) {
15945        maybePromisedErrors.then(function (errors) {
15946          resolve(errors || emptyErrors);
15947        }, function (actualException) {
15948          if (true) {
15949            console.warn("Warning: An unhandled error was caught during validation in <Formik validate />", actualException);
15950          }
15951
15952          reject(actualException);
15953        });
15954      } else {
15955        resolve(maybePromisedErrors);
15956      }
15957    });
15958  }, [props.validate]);
15959  /**
15960   * Run validation against a Yup schema and optionally run a function if successful
15961   */
15962
15963  var runValidationSchema = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (values, field) {
15964    var validationSchema = props.validationSchema;
15965    var schema = isFunction(validationSchema) ? validationSchema(field) : validationSchema;
15966    var promise = field && schema.validateAt ? schema.validateAt(field, values) : validateYupSchema(values, schema);
15967    return new Promise(function (resolve, reject) {
15968      promise.then(function () {
15969        resolve(emptyErrors);
15970      }, function (err) {
15971        // Yup will throw a validation error if validation fails. We catch those and
15972        // resolve them into Formik errors. We can sniff if something is a Yup error
15973        // by checking error.name.
15974        // @see https://github.com/jquense/yup#validationerrorerrors-string--arraystring-value-any-path-string
15975        if (err.name === 'ValidationError') {
15976          resolve(yupToFormErrors(err));
15977        } else {
15978          // We throw any other errors
15979          if (true) {
15980            console.warn("Warning: An unhandled error was caught during validation in <Formik validationSchema />", err);
15981          }
15982
15983          reject(err);
15984        }
15985      });
15986    });
15987  }, [props.validationSchema]);
15988  var runSingleFieldLevelValidation = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (field, value) {
15989    return new Promise(function (resolve) {
15990      return resolve(fieldRegistry.current[field].validate(value));
15991    });
15992  }, []);
15993  var runFieldLevelValidations = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (values) {
15994    var fieldKeysWithValidation = Object.keys(fieldRegistry.current).filter(function (f) {
15995      return isFunction(fieldRegistry.current[f].validate);
15996    }); // Construct an array with all of the field validation functions
15997
15998    var fieldValidations = fieldKeysWithValidation.length > 0 ? fieldKeysWithValidation.map(function (f) {
15999      return runSingleFieldLevelValidation(f, getIn(values, f));
16000    }) : [Promise.resolve('DO_NOT_DELETE_YOU_WILL_BE_FIRED')]; // use special case ;)
16001
16002    return Promise.all(fieldValidations).then(function (fieldErrorsList) {
16003      return fieldErrorsList.reduce(function (prev, curr, index) {
16004        if (curr === 'DO_NOT_DELETE_YOU_WILL_BE_FIRED') {
16005          return prev;
16006        }
16007
16008        if (curr) {
16009          prev = setIn(prev, fieldKeysWithValidation[index], curr);
16010        }
16011
16012        return prev;
16013      }, {});
16014    });
16015  }, [runSingleFieldLevelValidation]); // Run all validations and return the result
16016
16017  var runAllValidations = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (values) {
16018    return Promise.all([runFieldLevelValidations(values), props.validationSchema ? runValidationSchema(values) : {}, props.validate ? runValidateHandler(values) : {}]).then(function (_ref2) {
16019      var fieldErrors = _ref2[0],
16020          schemaErrors = _ref2[1],
16021          validateErrors = _ref2[2];
16022      var combinedErrors = deepmerge__WEBPACK_IMPORTED_MODULE_2__["default"].all([fieldErrors, schemaErrors, validateErrors], {
16023        arrayMerge: arrayMerge
16024      });
16025      return combinedErrors;
16026    });
16027  }, [props.validate, props.validationSchema, runFieldLevelValidations, runValidateHandler, runValidationSchema]); // Run all validations methods and update state accordingly
16028
16029  var validateFormWithHighPriority = useEventCallback(function (values) {
16030    if (values === void 0) {
16031      values = state.values;
16032    }
16033
16034    dispatch({
16035      type: 'SET_ISVALIDATING',
16036      payload: true
16037    });
16038    return runAllValidations(values).then(function (combinedErrors) {
16039      if (!!isMounted.current) {
16040        dispatch({
16041          type: 'SET_ISVALIDATING',
16042          payload: false
16043        });
16044
16045        if (!react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(state.errors, combinedErrors)) {
16046          dispatch({
16047            type: 'SET_ERRORS',
16048            payload: combinedErrors
16049          });
16050        }
16051      }
16052
16053      return combinedErrors;
16054    });
16055  });
16056  Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
16057    if (validateOnMount && isMounted.current === true && react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(initialValues.current, props.initialValues)) {
16058      validateFormWithHighPriority(initialValues.current);
16059    }
16060  }, [validateOnMount, validateFormWithHighPriority]);
16061  var resetForm = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (nextState) {
16062    var values = nextState && nextState.values ? nextState.values : initialValues.current;
16063    var errors = nextState && nextState.errors ? nextState.errors : initialErrors.current ? initialErrors.current : props.initialErrors || {};
16064    var touched = nextState && nextState.touched ? nextState.touched : initialTouched.current ? initialTouched.current : props.initialTouched || {};
16065    var status = nextState && nextState.status ? nextState.status : initialStatus.current ? initialStatus.current : props.initialStatus;
16066    initialValues.current = values;
16067    initialErrors.current = errors;
16068    initialTouched.current = touched;
16069    initialStatus.current = status;
16070
16071    var dispatchFn = function dispatchFn() {
16072      dispatch({
16073        type: 'RESET_FORM',
16074        payload: {
16075          isSubmitting: !!nextState && !!nextState.isSubmitting,
16076          errors: errors,
16077          touched: touched,
16078          status: status,
16079          values: values,
16080          isValidating: !!nextState && !!nextState.isValidating,
16081          submitCount: !!nextState && !!nextState.submitCount && typeof nextState.submitCount === 'number' ? nextState.submitCount : 0
16082        }
16083      });
16084    };
16085
16086    if (props.onReset) {
16087      var maybePromisedOnReset = props.onReset(state.values, imperativeMethods);
16088
16089      if (isPromise(maybePromisedOnReset)) {
16090        maybePromisedOnReset.then(dispatchFn);
16091      } else {
16092        dispatchFn();
16093      }
16094    } else {
16095      dispatchFn();
16096    }
16097  }, [props.initialErrors, props.initialStatus, props.initialTouched]);
16098  Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
16099    if (isMounted.current === true && !react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(initialValues.current, props.initialValues)) {
16100      if (enableReinitialize) {
16101        initialValues.current = props.initialValues;
16102        resetForm();
16103      }
16104
16105      if (validateOnMount) {
16106        validateFormWithHighPriority(initialValues.current);
16107      }
16108    }
16109  }, [enableReinitialize, props.initialValues, resetForm, validateOnMount, validateFormWithHighPriority]);
16110  Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
16111    if (enableReinitialize && isMounted.current === true && !react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(initialErrors.current, props.initialErrors)) {
16112      initialErrors.current = props.initialErrors || emptyErrors;
16113      dispatch({
16114        type: 'SET_ERRORS',
16115        payload: props.initialErrors || emptyErrors
16116      });
16117    }
16118  }, [enableReinitialize, props.initialErrors]);
16119  Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
16120    if (enableReinitialize && isMounted.current === true && !react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(initialTouched.current, props.initialTouched)) {
16121      initialTouched.current = props.initialTouched || emptyTouched;
16122      dispatch({
16123        type: 'SET_TOUCHED',
16124        payload: props.initialTouched || emptyTouched
16125      });
16126    }
16127  }, [enableReinitialize, props.initialTouched]);
16128  Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
16129    if (enableReinitialize && isMounted.current === true && !react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(initialStatus.current, props.initialStatus)) {
16130      initialStatus.current = props.initialStatus;
16131      dispatch({
16132        type: 'SET_STATUS',
16133        payload: props.initialStatus
16134      });
16135    }
16136  }, [enableReinitialize, props.initialStatus, props.initialTouched]);
16137  var validateField = useEventCallback(function (name) {
16138    // This will efficiently validate a single field by avoiding state
16139    // changes if the validation function is synchronous. It's different from
16140    // what is called when using validateForm.
16141    if (fieldRegistry.current[name] && isFunction(fieldRegistry.current[name].validate)) {
16142      var value = getIn(state.values, name);
16143      var maybePromise = fieldRegistry.current[name].validate(value);
16144
16145      if (isPromise(maybePromise)) {
16146        // Only flip isValidating if the function is async.
16147        dispatch({
16148          type: 'SET_ISVALIDATING',
16149          payload: true
16150        });
16151        return maybePromise.then(function (x) {
16152          return x;
16153        }).then(function (error) {
16154          dispatch({
16155            type: 'SET_FIELD_ERROR',
16156            payload: {
16157              field: name,
16158              value: error
16159            }
16160          });
16161          dispatch({
16162            type: 'SET_ISVALIDATING',
16163            payload: false
16164          });
16165        });
16166      } else {
16167        dispatch({
16168          type: 'SET_FIELD_ERROR',
16169          payload: {
16170            field: name,
16171            value: maybePromise
16172          }
16173        });
16174        return Promise.resolve(maybePromise);
16175      }
16176    } else if (props.validationSchema) {
16177      dispatch({
16178        type: 'SET_ISVALIDATING',
16179        payload: true
16180      });
16181      return runValidationSchema(state.values, name).then(function (x) {
16182        return x;
16183      }).then(function (error) {
16184        dispatch({
16185          type: 'SET_FIELD_ERROR',
16186          payload: {
16187            field: name,
16188            value: error[name]
16189          }
16190        });
16191        dispatch({
16192          type: 'SET_ISVALIDATING',
16193          payload: false
16194        });
16195      });
16196    }
16197
16198    return Promise.resolve();
16199  });
16200  var registerField = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (name, _ref3) {
16201    var validate = _ref3.validate;
16202    fieldRegistry.current[name] = {
16203      validate: validate
16204    };
16205  }, []);
16206  var unregisterField = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (name) {
16207    delete fieldRegistry.current[name];
16208  }, []);
16209  var setTouched = useEventCallback(function (touched, shouldValidate) {
16210    dispatch({
16211      type: 'SET_TOUCHED',
16212      payload: touched
16213    });
16214    var willValidate = shouldValidate === undefined ? validateOnBlur : shouldValidate;
16215    return willValidate ? validateFormWithHighPriority(state.values) : Promise.resolve();
16216  });
16217  var setErrors = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (errors) {
16218    dispatch({
16219      type: 'SET_ERRORS',
16220      payload: errors
16221    });
16222  }, []);
16223  var setValues = useEventCallback(function (values, shouldValidate) {
16224    var resolvedValues = isFunction(values) ? values(state.values) : values;
16225    dispatch({
16226      type: 'SET_VALUES',
16227      payload: resolvedValues
16228    });
16229    var willValidate = shouldValidate === undefined ? validateOnChange : shouldValidate;
16230    return willValidate ? validateFormWithHighPriority(resolvedValues) : Promise.resolve();
16231  });
16232  var setFieldError = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (field, value) {
16233    dispatch({
16234      type: 'SET_FIELD_ERROR',
16235      payload: {
16236        field: field,
16237        value: value
16238      }
16239    });
16240  }, []);
16241  var setFieldValue = useEventCallback(function (field, value, shouldValidate) {
16242    dispatch({
16243      type: 'SET_FIELD_VALUE',
16244      payload: {
16245        field: field,
16246        value: value
16247      }
16248    });
16249    var willValidate = shouldValidate === undefined ? validateOnChange : shouldValidate;
16250    return willValidate ? validateFormWithHighPriority(setIn(state.values, field, value)) : Promise.resolve();
16251  });
16252  var executeChange = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (eventOrTextValue, maybePath) {
16253    // By default, assume that the first argument is a string. This allows us to use
16254    // handleChange with React Native and React Native Web's onChangeText prop which
16255    // provides just the value of the input.
16256    var field = maybePath;
16257    var val = eventOrTextValue;
16258    var parsed; // If the first argument is not a string though, it has to be a synthetic React Event (or a fake one),
16259    // so we handle like we would a normal HTML change event.
16260
16261    if (!isString(eventOrTextValue)) {
16262      // If we can, persist the event
16263      // @see https://reactjs.org/docs/events.html#event-pooling
16264      if (eventOrTextValue.persist) {
16265        eventOrTextValue.persist();
16266      }
16267
16268      var target = eventOrTextValue.target ? eventOrTextValue.target : eventOrTextValue.currentTarget;
16269      var type = target.type,
16270          name = target.name,
16271          id = target.id,
16272          value = target.value,
16273          checked = target.checked,
16274          outerHTML = target.outerHTML,
16275          options = target.options,
16276          multiple = target.multiple;
16277      field = maybePath ? maybePath : name ? name : id;
16278
16279      if (!field && "development" !== "production") {
16280        warnAboutMissingIdentifier({
16281          htmlContent: outerHTML,
16282          documentationAnchorLink: 'handlechange-e-reactchangeeventany--void',
16283          handlerName: 'handleChange'
16284        });
16285      }
16286
16287      val = /number|range/.test(type) ? (parsed = parseFloat(value), isNaN(parsed) ? '' : parsed) : /checkbox/.test(type) // checkboxes
16288      ? getValueForCheckbox(getIn(state.values, field), checked, value) : !!multiple // <select multiple>
16289      ? getSelectedValues(options) : value;
16290    }
16291
16292    if (field) {
16293      // Set form fields by name
16294      setFieldValue(field, val);
16295    }
16296  }, [setFieldValue, state.values]);
16297  var handleChange = useEventCallback(function (eventOrPath) {
16298    if (isString(eventOrPath)) {
16299      return function (event) {
16300        return executeChange(event, eventOrPath);
16301      };
16302    } else {
16303      executeChange(eventOrPath);
16304    }
16305  });
16306  var setFieldTouched = useEventCallback(function (field, touched, shouldValidate) {
16307    if (touched === void 0) {
16308      touched = true;
16309    }
16310
16311    dispatch({
16312      type: 'SET_FIELD_TOUCHED',
16313      payload: {
16314        field: field,
16315        value: touched
16316      }
16317    });
16318    var willValidate = shouldValidate === undefined ? validateOnBlur : shouldValidate;
16319    return willValidate ? validateFormWithHighPriority(state.values) : Promise.resolve();
16320  });
16321  var executeBlur = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (e, path) {
16322    if (e.persist) {
16323      e.persist();
16324    }
16325
16326    var _e$target = e.target,
16327        name = _e$target.name,
16328        id = _e$target.id,
16329        outerHTML = _e$target.outerHTML;
16330    var field = path ? path : name ? name : id;
16331
16332    if (!field && "development" !== "production") {
16333      warnAboutMissingIdentifier({
16334        htmlContent: outerHTML,
16335        documentationAnchorLink: 'handleblur-e-any--void',
16336        handlerName: 'handleBlur'
16337      });
16338    }
16339
16340    setFieldTouched(field, true);
16341  }, [setFieldTouched]);
16342  var handleBlur = useEventCallback(function (eventOrString) {
16343    if (isString(eventOrString)) {
16344      return function (event) {
16345        return executeBlur(event, eventOrString);
16346      };
16347    } else {
16348      executeBlur(eventOrString);
16349    }
16350  });
16351  var setFormikState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (stateOrCb) {
16352    if (isFunction(stateOrCb)) {
16353      dispatch({
16354        type: 'SET_FORMIK_STATE',
16355        payload: stateOrCb
16356      });
16357    } else {
16358      dispatch({
16359        type: 'SET_FORMIK_STATE',
16360        payload: function payload() {
16361          return stateOrCb;
16362        }
16363      });
16364    }
16365  }, []);
16366  var setStatus = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (status) {
16367    dispatch({
16368      type: 'SET_STATUS',
16369      payload: status
16370    });
16371  }, []);
16372  var setSubmitting = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (isSubmitting) {
16373    dispatch({
16374      type: 'SET_ISSUBMITTING',
16375      payload: isSubmitting
16376    });
16377  }, []);
16378  var submitForm = useEventCallback(function () {
16379    dispatch({
16380      type: 'SUBMIT_ATTEMPT'
16381    });
16382    return validateFormWithHighPriority().then(function (combinedErrors) {
16383      // In case an error was thrown and passed to the resolved Promise,
16384      // `combinedErrors` can be an instance of an Error. We need to check
16385      // that and abort the submit.
16386      // If we don't do that, calling `Object.keys(new Error())` yields an
16387      // empty array, which causes the validation to pass and the form
16388      // to be submitted.
16389      var isInstanceOfError = combinedErrors instanceof Error;
16390      var isActuallyValid = !isInstanceOfError && Object.keys(combinedErrors).length === 0;
16391
16392      if (isActuallyValid) {
16393        // Proceed with submit...
16394        //
16395        // To respect sync submit fns, we can't simply wrap executeSubmit in a promise and
16396        // _always_ dispatch SUBMIT_SUCCESS because isSubmitting would then always be false.
16397        // This would be fine in simple cases, but make it impossible to disable submit
16398        // buttons where people use callbacks or promises as side effects (which is basically
16399        // all of v1 Formik code). Instead, recall that we are inside of a promise chain already,
16400        //  so we can try/catch executeSubmit(), if it returns undefined, then just bail.
16401        // If there are errors, throw em. Otherwise, wrap executeSubmit in a promise and handle
16402        // cleanup of isSubmitting on behalf of the consumer.
16403        var promiseOrUndefined;
16404
16405        try {
16406          promiseOrUndefined = executeSubmit(); // Bail if it's sync, consumer is responsible for cleaning up
16407          // via setSubmitting(false)
16408
16409          if (promiseOrUndefined === undefined) {
16410            return;
16411          }
16412        } catch (error) {
16413          throw error;
16414        }
16415
16416        return Promise.resolve(promiseOrUndefined).then(function (result) {
16417          if (!!isMounted.current) {
16418            dispatch({
16419              type: 'SUBMIT_SUCCESS'
16420            });
16421          }
16422
16423          return result;
16424        })["catch"](function (_errors) {
16425          if (!!isMounted.current) {
16426            dispatch({
16427              type: 'SUBMIT_FAILURE'
16428            }); // This is a legit error rejected by the onSubmit fn
16429            // so we don't want to break the promise chain
16430
16431            throw _errors;
16432          }
16433        });
16434      } else if (!!isMounted.current) {
16435        // ^^^ Make sure Formik is still mounted before updating state
16436        dispatch({
16437          type: 'SUBMIT_FAILURE'
16438        }); // throw combinedErrors;
16439
16440        if (isInstanceOfError) {
16441          throw combinedErrors;
16442        }
16443      }
16444
16445      return;
16446    });
16447  });
16448  var handleSubmit = useEventCallback(function (e) {
16449    if (e && e.preventDefault && isFunction(e.preventDefault)) {
16450      e.preventDefault();
16451    }
16452
16453    if (e && e.stopPropagation && isFunction(e.stopPropagation)) {
16454      e.stopPropagation();
16455    } // Warn if form submission is triggered by a <button> without a
16456    // specified `type` attribute during development. This mitigates
16457    // a common gotcha in forms with both reset and submit buttons,
16458    // where the dev forgets to add type="button" to the reset button.
16459
16460
16461    if ( true && typeof document !== 'undefined') {
16462      // Safely get the active element (works with IE)
16463      var activeElement = getActiveElement();
16464
16465      if (activeElement !== null && activeElement instanceof HTMLButtonElement) {
16466        !(activeElement.attributes && activeElement.attributes.getNamedItem('type')) ?  true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'You submitted a Formik form using a button with an unspecified `type` attribute.  Most browsers default button elements to `type="submit"`. If this is not a submit button, please add `type="button"`.') : undefined : void 0;
16467      }
16468    }
16469
16470    submitForm()["catch"](function (reason) {
16471      console.warn("Warning: An unhandled error was caught from submitForm()", reason);
16472    });
16473  });
16474  var imperativeMethods = {
16475    resetForm: resetForm,
16476    validateForm: validateFormWithHighPriority,
16477    validateField: validateField,
16478    setErrors: setErrors,
16479    setFieldError: setFieldError,
16480    setFieldTouched: setFieldTouched,
16481    setFieldValue: setFieldValue,
16482    setStatus: setStatus,
16483    setSubmitting: setSubmitting,
16484    setTouched: setTouched,
16485    setValues: setValues,
16486    setFormikState: setFormikState,
16487    submitForm: submitForm
16488  };
16489  var executeSubmit = useEventCallback(function () {
16490    return onSubmit(state.values, imperativeMethods);
16491  });
16492  var handleReset = useEventCallback(function (e) {
16493    if (e && e.preventDefault && isFunction(e.preventDefault)) {
16494      e.preventDefault();
16495    }
16496
16497    if (e && e.stopPropagation && isFunction(e.stopPropagation)) {
16498      e.stopPropagation();
16499    }
16500
16501    resetForm();
16502  });
16503  var getFieldMeta = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (name) {
16504    return {
16505      value: getIn(state.values, name),
16506      error: getIn(state.errors, name),
16507      touched: !!getIn(state.touched, name),
16508      initialValue: getIn(initialValues.current, name),
16509      initialTouched: !!getIn(initialTouched.current, name),
16510      initialError: getIn(initialErrors.current, name)
16511    };
16512  }, [state.errors, state.touched, state.values]);
16513  var getFieldHelpers = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (name) {
16514    return {
16515      setValue: function setValue(value, shouldValidate) {
16516        return setFieldValue(name, value, shouldValidate);
16517      },
16518      setTouched: function setTouched(value, shouldValidate) {
16519        return setFieldTouched(name, value, shouldValidate);
16520      },
16521      setError: function setError(value) {
16522        return setFieldError(name, value);
16523      }
16524    };
16525  }, [setFieldValue, setFieldTouched, setFieldError]);
16526  var getFieldProps = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (nameOrOptions) {
16527    var isAnObject = isObject(nameOrOptions);
16528    var name = isAnObject ? nameOrOptions.name : nameOrOptions;
16529    var valueState = getIn(state.values, name);
16530    var field = {
16531      name: name,
16532      value: valueState,
16533      onChange: handleChange,
16534      onBlur: handleBlur
16535    };
16536
16537    if (isAnObject) {
16538      var type = nameOrOptions.type,
16539          valueProp = nameOrOptions.value,
16540          is = nameOrOptions.as,
16541          multiple = nameOrOptions.multiple;
16542
16543      if (type === 'checkbox') {
16544        if (valueProp === undefined) {
16545          field.checked = !!valueState;
16546        } else {
16547          field.checked = !!(Array.isArray(valueState) && ~valueState.indexOf(valueProp));
16548          field.value = valueProp;
16549        }
16550      } else if (type === 'radio') {
16551        field.checked = valueState === valueProp;
16552        field.value = valueProp;
16553      } else if (is === 'select' && multiple) {
16554        field.value = field.value || [];
16555        field.multiple = true;
16556      }
16557    }
16558
16559    return field;
16560  }, [handleBlur, handleChange, state.values]);
16561  var dirty = Object(react__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(function () {
16562    return !react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(initialValues.current, state.values);
16563  }, [initialValues.current, state.values]);
16564  var isValid = Object(react__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(function () {
16565    return typeof isInitialValid !== 'undefined' ? dirty ? state.errors && Object.keys(state.errors).length === 0 : isInitialValid !== false && isFunction(isInitialValid) ? isInitialValid(props) : isInitialValid : state.errors && Object.keys(state.errors).length === 0;
16566  }, [isInitialValid, dirty, state.errors, props]);
16567
16568  var ctx = _extends({}, state, {
16569    initialValues: initialValues.current,
16570    initialErrors: initialErrors.current,
16571    initialTouched: initialTouched.current,
16572    initialStatus: initialStatus.current,
16573    handleBlur: handleBlur,
16574    handleChange: handleChange,
16575    handleReset: handleReset,
16576    handleSubmit: handleSubmit,
16577    resetForm: resetForm,
16578    setErrors: setErrors,
16579    setFormikState: setFormikState,
16580    setFieldTouched: setFieldTouched,
16581    setFieldValue: setFieldValue,
16582    setFieldError: setFieldError,
16583    setStatus: setStatus,
16584    setSubmitting: setSubmitting,
16585    setTouched: setTouched,
16586    setValues: setValues,
16587    submitForm: submitForm,
16588    validateForm: validateFormWithHighPriority,
16589    validateField: validateField,
16590    isValid: isValid,
16591    dirty: dirty,
16592    unregisterField: unregisterField,
16593    registerField: registerField,
16594    getFieldProps: getFieldProps,
16595    getFieldMeta: getFieldMeta,
16596    getFieldHelpers: getFieldHelpers,
16597    validateOnBlur: validateOnBlur,
16598    validateOnChange: validateOnChange,
16599    validateOnMount: validateOnMount
16600  });
16601
16602  return ctx;
16603}
16604function Formik(props) {
16605  var formikbag = useFormik(props);
16606  var component = props.component,
16607      children = props.children,
16608      render = props.render,
16609      innerRef = props.innerRef; // This allows folks to pass a ref to <Formik />
16610
16611  Object(react__WEBPACK_IMPORTED_MODULE_0__["useImperativeHandle"])(innerRef, function () {
16612    return formikbag;
16613  });
16614
16615  if (true) {
16616    // eslint-disable-next-line react-hooks/rules-of-hooks
16617    Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
16618      !!props.render ?  true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, "<Formik render> has been deprecated and will be removed in future versions of Formik. Please use a child callback function instead. To get rid of this warning, replace <Formik render={(props) => ...} /> with <Formik>{(props) => ...}</Formik>") : undefined : void 0; // eslint-disable-next-line
16619    }, []);
16620  }
16621
16622  return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(FormikProvider, {
16623    value: formikbag
16624  }, component ? Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(component, formikbag) : render ? render(formikbag) : children // children come last, always called
16625  ? isFunction(children) ? children(formikbag) : !isEmptyChildren(children) ? react__WEBPACK_IMPORTED_MODULE_0__["Children"].only(children) : null : null);
16626}
16627
16628function warnAboutMissingIdentifier(_ref4) {
16629  var htmlContent = _ref4.htmlContent,
16630      documentationAnchorLink = _ref4.documentationAnchorLink,
16631      handlerName = _ref4.handlerName;
16632  console.warn("Warning: Formik called `" + handlerName + "`, but you forgot to pass an `id` or `name` attribute to your input:\n    " + htmlContent + "\n    Formik cannot determine which value to update. For more info see https://formik.org/docs/api/formik#" + documentationAnchorLink + "\n  ");
16633}
16634/**
16635 * Transform Yup ValidationError to a more usable object
16636 */
16637
16638
16639function yupToFormErrors(yupError) {
16640  var errors = {};
16641
16642  if (yupError.inner) {
16643    if (yupError.inner.length === 0) {
16644      return setIn(errors, yupError.path, yupError.message);
16645    }
16646
16647    for (var _iterator = yupError.inner, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
16648      var _ref5;
16649
16650      if (_isArray) {
16651        if (_i >= _iterator.length) break;
16652        _ref5 = _iterator[_i++];
16653      } else {
16654        _i = _iterator.next();
16655        if (_i.done) break;
16656        _ref5 = _i.value;
16657      }
16658
16659      var err = _ref5;
16660
16661      if (!getIn(errors, err.path)) {
16662        errors = setIn(errors, err.path, err.message);
16663      }
16664    }
16665  }
16666
16667  return errors;
16668}
16669/**
16670 * Validate a yup schema.
16671 */
16672
16673function validateYupSchema(values, schema, sync, context) {
16674  if (sync === void 0) {
16675    sync = false;
16676  }
16677
16678  if (context === void 0) {
16679    context = {};
16680  }
16681
16682  var validateData = prepareDataForValidation(values);
16683  return schema[sync ? 'validateSync' : 'validate'](validateData, {
16684    abortEarly: false,
16685    context: context
16686  });
16687}
16688/**
16689 * Recursively prepare values.
16690 */
16691
16692function prepareDataForValidation(values) {
16693  var data = Array.isArray(values) ? [] : {};
16694
16695  for (var k in values) {
16696    if (Object.prototype.hasOwnProperty.call(values, k)) {
16697      var key = String(k);
16698
16699      if (Array.isArray(values[key]) === true) {
16700        data[key] = values[key].map(function (value) {
16701          if (Array.isArray(value) === true || Object(lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_3__["default"])(value)) {
16702            return prepareDataForValidation(value);
16703          } else {
16704            return value !== '' ? value : undefined;
16705          }
16706        });
16707      } else if (Object(lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_3__["default"])(values[key])) {
16708        data[key] = prepareDataForValidation(values[key]);
16709      } else {
16710        data[key] = values[key] !== '' ? values[key] : undefined;
16711      }
16712    }
16713  }
16714
16715  return data;
16716}
16717/**
16718 * deepmerge array merging algorithm
16719 * https://github.com/KyleAMathews/deepmerge#combine-array
16720 */
16721
16722function arrayMerge(target, source, options) {
16723  var destination = target.slice();
16724  source.forEach(function merge(e, i) {
16725    if (typeof destination[i] === 'undefined') {
16726      var cloneRequested = options.clone !== false;
16727      var shouldClone = cloneRequested && options.isMergeableObject(e);
16728      destination[i] = shouldClone ? Object(deepmerge__WEBPACK_IMPORTED_MODULE_2__["default"])(Array.isArray(e) ? [] : {}, e, options) : e;
16729    } else if (options.isMergeableObject(e)) {
16730      destination[i] = Object(deepmerge__WEBPACK_IMPORTED_MODULE_2__["default"])(target[i], e, options);
16731    } else if (target.indexOf(e) === -1) {
16732      destination.push(e);
16733    }
16734  });
16735  return destination;
16736}
16737/** Return multi select values based on an array of options */
16738
16739
16740function getSelectedValues(options) {
16741  return Array.from(options).filter(function (el) {
16742    return el.selected;
16743  }).map(function (el) {
16744    return el.value;
16745  });
16746}
16747/** Return the next value for a checkbox */
16748
16749
16750function getValueForCheckbox(currentValue, checked, valueProp) {
16751  // If the current value was a boolean, return a boolean
16752  if (typeof currentValue === 'boolean') {
16753    return Boolean(checked);
16754  } // If the currentValue was not a boolean we want to return an array
16755
16756
16757  var currentArrayOfValues = [];
16758  var isValueInArray = false;
16759  var index = -1;
16760
16761  if (!Array.isArray(currentValue)) {
16762    // eslint-disable-next-line eqeqeq
16763    if (!valueProp || valueProp == 'true' || valueProp == 'false') {
16764      return Boolean(checked);
16765    }
16766  } else {
16767    // If the current value is already an array, use it
16768    currentArrayOfValues = currentValue;
16769    index = currentValue.indexOf(valueProp);
16770    isValueInArray = index >= 0;
16771  } // If the checkbox was checked and the value is not already present in the aray we want to add the new value to the array of values
16772
16773
16774  if (checked && valueProp && !isValueInArray) {
16775    return currentArrayOfValues.concat(valueProp);
16776  } // If the checkbox was unchecked and the value is not in the array, simply return the already existing array of values
16777
16778
16779  if (!isValueInArray) {
16780    return currentArrayOfValues;
16781  } // If the checkbox was unchecked and the value is in the array, remove the value and return the array
16782
16783
16784  return currentArrayOfValues.slice(0, index).concat(currentArrayOfValues.slice(index + 1));
16785} // React currently throws a warning when using useLayoutEffect on the server.
16786// To get around it, we can conditionally useEffect on the server (no-op) and
16787// useLayoutEffect in the browser.
16788// @see https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85
16789
16790
16791var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? react__WEBPACK_IMPORTED_MODULE_0__["useLayoutEffect"] : react__WEBPACK_IMPORTED_MODULE_0__["useEffect"];
16792
16793function useEventCallback(fn) {
16794  var ref = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(fn); // we copy a ref to the callback scoped to the current state/props on each render
16795
16796  useIsomorphicLayoutEffect(function () {
16797    ref.current = fn;
16798  });
16799  return Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function () {
16800    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
16801      args[_key] = arguments[_key];
16802    }
16803
16804    return ref.current.apply(void 0, args);
16805  }, []);
16806}
16807
16808function useField(propsOrFieldName) {
16809  var formik = useFormikContext();
16810  var getFieldProps = formik.getFieldProps,
16811      getFieldMeta = formik.getFieldMeta,
16812      getFieldHelpers = formik.getFieldHelpers,
16813      registerField = formik.registerField,
16814      unregisterField = formik.unregisterField;
16815  var isAnObject = isObject(propsOrFieldName); // Normalize propsOrFieldName to FieldHookConfig<Val>
16816
16817  var props = isAnObject ? propsOrFieldName : {
16818    name: propsOrFieldName
16819  };
16820  var fieldName = props.name,
16821      validateFn = props.validate;
16822  Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
16823    if (fieldName) {
16824      registerField(fieldName, {
16825        validate: validateFn
16826      });
16827    }
16828
16829    return function () {
16830      if (fieldName) {
16831        unregisterField(fieldName);
16832      }
16833    };
16834  }, [registerField, unregisterField, fieldName, validateFn]);
16835
16836  if (true) {
16837    !formik ?  true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'useField() / <Field /> must be used underneath a <Formik> component or withFormik() higher order component') : undefined : void 0;
16838  }
16839
16840  !fieldName ?  true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'Invalid field name. Either pass `useField` a string or an object containing a `name` key.') : undefined : void 0;
16841  return [getFieldProps(props), getFieldMeta(fieldName), getFieldHelpers(fieldName)];
16842}
16843function Field(_ref) {
16844  var validate = _ref.validate,
16845      name = _ref.name,
16846      render = _ref.render,
16847      children = _ref.children,
16848      is = _ref.as,
16849      component = _ref.component,
16850      props = _objectWithoutPropertiesLoose(_ref, ["validate", "name", "render", "children", "as", "component"]);
16851
16852  var _useFormikContext = useFormikContext(),
16853      formik = _objectWithoutPropertiesLoose(_useFormikContext, ["validate", "validationSchema"]);
16854
16855  if (true) {
16856    // eslint-disable-next-line react-hooks/rules-of-hooks
16857    Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
16858      !!render ?  true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, "<Field render> has been deprecated and will be removed in future versions of Formik. Please use a child callback function instead. To get rid of this warning, replace <Field name=\"" + name + "\" render={({field, form}) => ...} /> with <Field name=\"" + name + "\">{({field, form, meta}) => ...}</Field>") : undefined : void 0;
16859      !!(is && children && isFunction(children)) ?  true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'You should not use <Field as> and <Field children> as a function in the same <Field> component; <Field as> will be ignored.') : undefined : void 0;
16860      !!(component && children && isFunction(children)) ?  true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'You should not use <Field component> and <Field children> as a function in the same <Field> component; <Field component> will be ignored.') : undefined : void 0;
16861      !!(render && children && !isEmptyChildren(children)) ?  true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'You should not use <Field render> and <Field children> in the same <Field> component; <Field children> will be ignored') : undefined : void 0; // eslint-disable-next-line
16862    }, []);
16863  } // Register field and field-level validation with parent <Formik>
16864
16865
16866  var registerField = formik.registerField,
16867      unregisterField = formik.unregisterField;
16868  Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
16869    registerField(name, {
16870      validate: validate
16871    });
16872    return function () {
16873      unregisterField(name);
16874    };
16875  }, [registerField, unregisterField, name, validate]);
16876  var field = formik.getFieldProps(_extends({
16877    name: name
16878  }, props));
16879  var meta = formik.getFieldMeta(name);
16880  var legacyBag = {
16881    field: field,
16882    form: formik
16883  };
16884
16885  if (render) {
16886    return render(_extends({}, legacyBag, {
16887      meta: meta
16888    }));
16889  }
16890
16891  if (isFunction(children)) {
16892    return children(_extends({}, legacyBag, {
16893      meta: meta
16894    }));
16895  }
16896
16897  if (component) {
16898    // This behavior is backwards compat with earlier Formik 0.9 to 1.x
16899    if (typeof component === 'string') {
16900      var innerRef = props.innerRef,
16901          rest = _objectWithoutPropertiesLoose(props, ["innerRef"]);
16902
16903      return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(component, _extends({
16904        ref: innerRef
16905      }, field, rest), children);
16906    } // We don't pass `meta` for backwards compat
16907
16908
16909    return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(component, _extends({
16910      field: field,
16911      form: formik
16912    }, props), children);
16913  } // default to input here so we can check for both `as` and `children` above
16914
16915
16916  var asElement = is || 'input';
16917
16918  if (typeof asElement === 'string') {
16919    var _innerRef = props.innerRef,
16920        _rest = _objectWithoutPropertiesLoose(props, ["innerRef"]);
16921
16922    return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(asElement, _extends({
16923      ref: _innerRef
16924    }, field, _rest), children);
16925  }
16926
16927  return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(asElement, _extends({}, field, props), children);
16928}
16929
16930var Form = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["forwardRef"])(function (props, ref) {
16931  // iOS needs an "action" attribute for nice input: https://stackoverflow.com/a/39485162/406725
16932  // We default the action to "#" in case the preventDefault fails (just updates the URL hash)
16933  var action = props.action,
16934      rest = _objectWithoutPropertiesLoose(props, ["action"]);
16935
16936  var _action = action || '#';
16937
16938  var _useFormikContext = useFormikContext(),
16939      handleReset = _useFormikContext.handleReset,
16940      handleSubmit = _useFormikContext.handleSubmit;
16941
16942  return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])("form", Object.assign({
16943    onSubmit: handleSubmit,
16944    ref: ref,
16945    onReset: handleReset,
16946    action: _action
16947  }, rest));
16948});
16949Form.displayName = 'Form';
16950
16951/**
16952 * A public higher-order component to access the imperative API
16953 */
16954
16955function withFormik(_ref) {
16956  var _ref$mapPropsToValues = _ref.mapPropsToValues,
16957      mapPropsToValues = _ref$mapPropsToValues === void 0 ? function (vanillaProps) {
16958    var val = {};
16959
16960    for (var k in vanillaProps) {
16961      if (vanillaProps.hasOwnProperty(k) && typeof vanillaProps[k] !== 'function') {
16962        // @todo TypeScript fix
16963        val[k] = vanillaProps[k];
16964      }
16965    }
16966
16967    return val;
16968  } : _ref$mapPropsToValues,
16969      config = _objectWithoutPropertiesLoose(_ref, ["mapPropsToValues"]);
16970
16971  return function createFormik(Component$1) {
16972    var componentDisplayName = Component$1.displayName || Component$1.name || Component$1.constructor && Component$1.constructor.name || 'Component';
16973    /**
16974     * We need to use closures here for to provide the wrapped component's props to
16975     * the respective withFormik config methods.
16976     */
16977
16978    var C = /*#__PURE__*/function (_React$Component) {
16979      _inheritsLoose(C, _React$Component);
16980
16981      function C() {
16982        var _this;
16983
16984        _this = _React$Component.apply(this, arguments) || this;
16985
16986        _this.validate = function (values) {
16987          return config.validate(values, _this.props);
16988        };
16989
16990        _this.validationSchema = function () {
16991          return isFunction(config.validationSchema) ? config.validationSchema(_this.props) : config.validationSchema;
16992        };
16993
16994        _this.handleSubmit = function (values, actions) {
16995          return config.handleSubmit(values, _extends({}, actions, {
16996            props: _this.props
16997          }));
16998        };
16999        /**
17000         * Just avoiding a render callback for perf here
17001         */
17002
17003
17004        _this.renderFormComponent = function (formikProps) {
17005          return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(Component$1, Object.assign({}, _this.props, formikProps));
17006        };
17007
17008        return _this;
17009      }
17010
17011      var _proto = C.prototype;
17012
17013      _proto.render = function render() {
17014        var _this$props = this.props,
17015            props = _objectWithoutPropertiesLoose(_this$props, ["children"]);
17016
17017        return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(Formik, Object.assign({}, props, config, {
17018          validate: config.validate && this.validate,
17019          validationSchema: config.validationSchema && this.validationSchema,
17020          initialValues: mapPropsToValues(this.props),
17021          initialStatus: config.mapPropsToStatus && config.mapPropsToStatus(this.props),
17022          initialErrors: config.mapPropsToErrors && config.mapPropsToErrors(this.props),
17023          initialTouched: config.mapPropsToTouched && config.mapPropsToTouched(this.props),
17024          onSubmit: this.handleSubmit,
17025          children: this.renderFormComponent
17026        }));
17027      };
17028
17029      return C;
17030    }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]);
17031
17032    C.displayName = "WithFormik(" + componentDisplayName + ")";
17033    return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_7___default()(C, Component$1 // cast type to ComponentClass (even if SFC)
17034    );
17035  };
17036}
17037
17038/**
17039 * Connect any component to Formik context, and inject as a prop called `formik`;
17040 * @param Comp React Component
17041 */
17042
17043function connect(Comp) {
17044  var C = function C(props) {
17045    return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(FormikConsumer, null, function (formik) {
17046      !!!formik ?  true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, "Formik context is undefined, please verify you are rendering <Form>, <Field>, <FastField>, <FieldArray>, or your custom context-using component as a child of a <Formik> component. Component name: " + Comp.name) : undefined : void 0;
17047      return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(Comp, Object.assign({}, props, {
17048        formik: formik
17049      }));
17050    });
17051  };
17052
17053  var componentDisplayName = Comp.displayName || Comp.name || Comp.constructor && Comp.constructor.name || 'Component'; // Assign Comp to C.WrappedComponent so we can access the inner component in tests
17054  // For example, <Field.WrappedComponent /> gets us <FieldInner/>
17055
17056  C.WrappedComponent = Comp;
17057  C.displayName = "FormikConnect(" + componentDisplayName + ")";
17058  return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_7___default()(C, Comp // cast type to ComponentClass (even if SFC)
17059  );
17060}
17061
17062/**
17063 * Some array helpers!
17064 */
17065
17066var move = function move(array, from, to) {
17067  var copy = copyArrayLike(array);
17068  var value = copy[from];
17069  copy.splice(from, 1);
17070  copy.splice(to, 0, value);
17071  return copy;
17072};
17073var swap = function swap(arrayLike, indexA, indexB) {
17074  var copy = copyArrayLike(arrayLike);
17075  var a = copy[indexA];
17076  copy[indexA] = copy[indexB];
17077  copy[indexB] = a;
17078  return copy;
17079};
17080var insert = function insert(arrayLike, index, value) {
17081  var copy = copyArrayLike(arrayLike);
17082  copy.splice(index, 0, value);
17083  return copy;
17084};
17085var replace = function replace(arrayLike, index, value) {
17086  var copy = copyArrayLike(arrayLike);
17087  copy[index] = value;
17088  return copy;
17089};
17090
17091var copyArrayLike = function copyArrayLike(arrayLike) {
17092  if (!arrayLike) {
17093    return [];
17094  } else if (Array.isArray(arrayLike)) {
17095    return [].concat(arrayLike);
17096  } else {
17097    var maxIndex = Object.keys(arrayLike).map(function (key) {
17098      return parseInt(key);
17099    }).reduce(function (max, el) {
17100      return el > max ? el : max;
17101    }, 0);
17102    return Array.from(_extends({}, arrayLike, {
17103      length: maxIndex + 1
17104    }));
17105  }
17106};
17107
17108var FieldArrayInner = /*#__PURE__*/function (_React$Component) {
17109  _inheritsLoose(FieldArrayInner, _React$Component);
17110
17111  function FieldArrayInner(props) {
17112    var _this;
17113
17114    _this = _React$Component.call(this, props) || this;
17115
17116    _this.updateArrayField = function (fn, alterTouched, alterErrors) {
17117      var _this$props = _this.props,
17118          name = _this$props.name,
17119          setFormikState = _this$props.formik.setFormikState;
17120      setFormikState(function (prevState) {
17121        var updateErrors = typeof alterErrors === 'function' ? alterErrors : fn;
17122        var updateTouched = typeof alterTouched === 'function' ? alterTouched : fn; // values fn should be executed before updateErrors and updateTouched,
17123        // otherwise it causes an error with unshift.
17124
17125        var values = setIn(prevState.values, name, fn(getIn(prevState.values, name)));
17126        var fieldError = alterErrors ? updateErrors(getIn(prevState.errors, name)) : undefined;
17127        var fieldTouched = alterTouched ? updateTouched(getIn(prevState.touched, name)) : undefined;
17128
17129        if (isEmptyArray(fieldError)) {
17130          fieldError = undefined;
17131        }
17132
17133        if (isEmptyArray(fieldTouched)) {
17134          fieldTouched = undefined;
17135        }
17136
17137        return _extends({}, prevState, {
17138          values: values,
17139          errors: alterErrors ? setIn(prevState.errors, name, fieldError) : prevState.errors,
17140          touched: alterTouched ? setIn(prevState.touched, name, fieldTouched) : prevState.touched
17141        });
17142      });
17143    };
17144
17145    _this.push = function (value) {
17146      return _this.updateArrayField(function (arrayLike) {
17147        return [].concat(copyArrayLike(arrayLike), [Object(lodash_es_cloneDeep__WEBPACK_IMPORTED_MODULE_8__["default"])(value)]);
17148      }, false, false);
17149    };
17150
17151    _this.handlePush = function (value) {
17152      return function () {
17153        return _this.push(value);
17154      };
17155    };
17156
17157    _this.swap = function (indexA, indexB) {
17158      return _this.updateArrayField(function (array) {
17159        return swap(array, indexA, indexB);
17160      }, true, true);
17161    };
17162
17163    _this.handleSwap = function (indexA, indexB) {
17164      return function () {
17165        return _this.swap(indexA, indexB);
17166      };
17167    };
17168
17169    _this.move = function (from, to) {
17170      return _this.updateArrayField(function (array) {
17171        return move(array, from, to);
17172      }, true, true);
17173    };
17174
17175    _this.handleMove = function (from, to) {
17176      return function () {
17177        return _this.move(from, to);
17178      };
17179    };
17180
17181    _this.insert = function (index, value) {
17182      return _this.updateArrayField(function (array) {
17183        return insert(array, index, value);
17184      }, function (array) {
17185        return insert(array, index, null);
17186      }, function (array) {
17187        return insert(array, index, null);
17188      });
17189    };
17190
17191    _this.handleInsert = function (index, value) {
17192      return function () {
17193        return _this.insert(index, value);
17194      };
17195    };
17196
17197    _this.replace = function (index, value) {
17198      return _this.updateArrayField(function (array) {
17199        return replace(array, index, value);
17200      }, false, false);
17201    };
17202
17203    _this.handleReplace = function (index, value) {
17204      return function () {
17205        return _this.replace(index, value);
17206      };
17207    };
17208
17209    _this.unshift = function (value) {
17210      var length = -1;
17211
17212      _this.updateArrayField(function (array) {
17213        var arr = array ? [value].concat(array) : [value];
17214
17215        if (length < 0) {
17216          length = arr.length;
17217        }
17218
17219        return arr;
17220      }, function (array) {
17221        var arr = array ? [null].concat(array) : [null];
17222
17223        if (length < 0) {
17224          length = arr.length;
17225        }
17226
17227        return arr;
17228      }, function (array) {
17229        var arr = array ? [null].concat(array) : [null];
17230
17231        if (length < 0) {
17232          length = arr.length;
17233        }
17234
17235        return arr;
17236      });
17237
17238      return length;
17239    };
17240
17241    _this.handleUnshift = function (value) {
17242      return function () {
17243        return _this.unshift(value);
17244      };
17245    };
17246
17247    _this.handleRemove = function (index) {
17248      return function () {
17249        return _this.remove(index);
17250      };
17251    };
17252
17253    _this.handlePop = function () {
17254      return function () {
17255        return _this.pop();
17256      };
17257    }; // We need TypeScript generics on these, so we'll bind them in the constructor
17258    // @todo Fix TS 3.2.1
17259
17260
17261    _this.remove = _this.remove.bind(_assertThisInitialized(_this));
17262    _this.pop = _this.pop.bind(_assertThisInitialized(_this));
17263    return _this;
17264  }
17265
17266  var _proto = FieldArrayInner.prototype;
17267
17268  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
17269    if (this.props.validateOnChange && this.props.formik.validateOnChange && !react_fast_compare__WEBPACK_IMPORTED_MODULE_1___default()(getIn(prevProps.formik.values, prevProps.name), getIn(this.props.formik.values, this.props.name))) {
17270      this.props.formik.validateForm(this.props.formik.values);
17271    }
17272  };
17273
17274  _proto.remove = function remove(index) {
17275    // We need to make sure we also remove relevant pieces of `touched` and `errors`
17276    var result;
17277    this.updateArrayField( // so this gets call 3 times
17278    function (array) {
17279      var copy = array ? copyArrayLike(array) : [];
17280
17281      if (!result) {
17282        result = copy[index];
17283      }
17284
17285      if (isFunction(copy.splice)) {
17286        copy.splice(index, 1);
17287      }
17288
17289      return copy;
17290    }, true, true);
17291    return result;
17292  };
17293
17294  _proto.pop = function pop() {
17295    // Remove relevant pieces of `touched` and `errors` too!
17296    var result;
17297    this.updateArrayField( // so this gets call 3 times
17298    function (array) {
17299      var tmp = array;
17300
17301      if (!result) {
17302        result = tmp && tmp.pop && tmp.pop();
17303      }
17304
17305      return tmp;
17306    }, true, true);
17307    return result;
17308  };
17309
17310  _proto.render = function render() {
17311    var arrayHelpers = {
17312      push: this.push,
17313      pop: this.pop,
17314      swap: this.swap,
17315      move: this.move,
17316      insert: this.insert,
17317      replace: this.replace,
17318      unshift: this.unshift,
17319      remove: this.remove,
17320      handlePush: this.handlePush,
17321      handlePop: this.handlePop,
17322      handleSwap: this.handleSwap,
17323      handleMove: this.handleMove,
17324      handleInsert: this.handleInsert,
17325      handleReplace: this.handleReplace,
17326      handleUnshift: this.handleUnshift,
17327      handleRemove: this.handleRemove
17328    };
17329
17330    var _this$props2 = this.props,
17331        component = _this$props2.component,
17332        render = _this$props2.render,
17333        children = _this$props2.children,
17334        name = _this$props2.name,
17335        _this$props2$formik = _this$props2.formik,
17336        restOfFormik = _objectWithoutPropertiesLoose(_this$props2$formik, ["validate", "validationSchema"]);
17337
17338    var props = _extends({}, arrayHelpers, {
17339      form: restOfFormik,
17340      name: name
17341    });
17342
17343    return component ? Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(component, props) : render ? render(props) : children // children come last, always called
17344    ? typeof children === 'function' ? children(props) : !isEmptyChildren(children) ? react__WEBPACK_IMPORTED_MODULE_0__["Children"].only(children) : null : null;
17345  };
17346
17347  return FieldArrayInner;
17348}(react__WEBPACK_IMPORTED_MODULE_0__["Component"]);
17349
17350FieldArrayInner.defaultProps = {
17351  validateOnChange: true
17352};
17353var FieldArray = /*#__PURE__*/connect(FieldArrayInner);
17354
17355var ErrorMessageImpl = /*#__PURE__*/function (_React$Component) {
17356  _inheritsLoose(ErrorMessageImpl, _React$Component);
17357
17358  function ErrorMessageImpl() {
17359    return _React$Component.apply(this, arguments) || this;
17360  }
17361
17362  var _proto = ErrorMessageImpl.prototype;
17363
17364  _proto.shouldComponentUpdate = function shouldComponentUpdate(props) {
17365    if (getIn(this.props.formik.errors, this.props.name) !== getIn(props.formik.errors, this.props.name) || getIn(this.props.formik.touched, this.props.name) !== getIn(props.formik.touched, this.props.name) || Object.keys(this.props).length !== Object.keys(props).length) {
17366      return true;
17367    } else {
17368      return false;
17369    }
17370  };
17371
17372  _proto.render = function render() {
17373    var _this$props = this.props,
17374        component = _this$props.component,
17375        formik = _this$props.formik,
17376        render = _this$props.render,
17377        children = _this$props.children,
17378        name = _this$props.name,
17379        rest = _objectWithoutPropertiesLoose(_this$props, ["component", "formik", "render", "children", "name"]);
17380
17381    var touch = getIn(formik.touched, name);
17382    var error = getIn(formik.errors, name);
17383    return !!touch && !!error ? render ? isFunction(render) ? render(error) : null : children ? isFunction(children) ? children(error) : null : component ? Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(component, rest, error) : error : null;
17384  };
17385
17386  return ErrorMessageImpl;
17387}(react__WEBPACK_IMPORTED_MODULE_0__["Component"]);
17388
17389var ErrorMessage = /*#__PURE__*/connect(ErrorMessageImpl);
17390
17391/**
17392 * Custom Field component for quickly hooking into Formik
17393 * context and wiring up forms.
17394 */
17395
17396var FastFieldInner = /*#__PURE__*/function (_React$Component) {
17397  _inheritsLoose(FastFieldInner, _React$Component);
17398
17399  function FastFieldInner(props) {
17400    var _this;
17401
17402    _this = _React$Component.call(this, props) || this;
17403    var render = props.render,
17404        children = props.children,
17405        component = props.component,
17406        is = props.as,
17407        name = props.name;
17408    !!render ?  true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, "<FastField render> has been deprecated. Please use a child callback function instead: <FastField name={" + name + "}>{props => ...}</FastField> instead.") : undefined : void 0;
17409    !!(component && render) ?  true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'You should not use <FastField component> and <FastField render> in the same <FastField> component; <FastField component> will be ignored') : undefined : void 0;
17410    !!(is && children && isFunction(children)) ?  true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'You should not use <FastField as> and <FastField children> as a function in the same <FastField> component; <FastField as> will be ignored.') : undefined : void 0;
17411    !!(component && children && isFunction(children)) ?  true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'You should not use <FastField component> and <FastField children> as a function in the same <FastField> component; <FastField component> will be ignored.') : undefined : void 0;
17412    !!(render && children && !isEmptyChildren(children)) ?  true ? Object(tiny_warning__WEBPACK_IMPORTED_MODULE_6__["default"])(false, 'You should not use <FastField render> and <FastField children> in the same <FastField> component; <FastField children> will be ignored') : undefined : void 0;
17413    return _this;
17414  }
17415
17416  var _proto = FastFieldInner.prototype;
17417
17418  _proto.shouldComponentUpdate = function shouldComponentUpdate(props) {
17419    if (this.props.shouldUpdate) {
17420      return this.props.shouldUpdate(props, this.props);
17421    } else if (props.name !== this.props.name || getIn(props.formik.values, this.props.name) !== getIn(this.props.formik.values, this.props.name) || getIn(props.formik.errors, this.props.name) !== getIn(this.props.formik.errors, this.props.name) || getIn(props.formik.touched, this.props.name) !== getIn(this.props.formik.touched, this.props.name) || Object.keys(this.props).length !== Object.keys(props).length || props.formik.isSubmitting !== this.props.formik.isSubmitting) {
17422      return true;
17423    } else {
17424      return false;
17425    }
17426  };
17427
17428  _proto.componentDidMount = function componentDidMount() {
17429    // Register the Field with the parent Formik. Parent will cycle through
17430    // registered Field's validate fns right prior to submit
17431    this.props.formik.registerField(this.props.name, {
17432      validate: this.props.validate
17433    });
17434  };
17435
17436  _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
17437    if (this.props.name !== prevProps.name) {
17438      this.props.formik.unregisterField(prevProps.name);
17439      this.props.formik.registerField(this.props.name, {
17440        validate: this.props.validate
17441      });
17442    }
17443
17444    if (this.props.validate !== prevProps.validate) {
17445      this.props.formik.registerField(this.props.name, {
17446        validate: this.props.validate
17447      });
17448    }
17449  };
17450
17451  _proto.componentWillUnmount = function componentWillUnmount() {
17452    this.props.formik.unregisterField(this.props.name);
17453  };
17454
17455  _proto.render = function render() {
17456    var _this$props = this.props,
17457        name = _this$props.name,
17458        render = _this$props.render,
17459        is = _this$props.as,
17460        children = _this$props.children,
17461        component = _this$props.component,
17462        formik = _this$props.formik,
17463        props = _objectWithoutPropertiesLoose(_this$props, ["validate", "name", "render", "as", "children", "component", "shouldUpdate", "formik"]);
17464
17465    var restOfFormik = _objectWithoutPropertiesLoose(formik, ["validate", "validationSchema"]);
17466
17467    var field = formik.getFieldProps(_extends({
17468      name: name
17469    }, props));
17470    var meta = {
17471      value: getIn(formik.values, name),
17472      error: getIn(formik.errors, name),
17473      touched: !!getIn(formik.touched, name),
17474      initialValue: getIn(formik.initialValues, name),
17475      initialTouched: !!getIn(formik.initialTouched, name),
17476      initialError: getIn(formik.initialErrors, name)
17477    };
17478    var bag = {
17479      field: field,
17480      meta: meta,
17481      form: restOfFormik
17482    };
17483
17484    if (render) {
17485      return render(bag);
17486    }
17487
17488    if (isFunction(children)) {
17489      return children(bag);
17490    }
17491
17492    if (component) {
17493      // This behavior is backwards compat with earlier Formik 0.9 to 1.x
17494      if (typeof component === 'string') {
17495        var innerRef = props.innerRef,
17496            rest = _objectWithoutPropertiesLoose(props, ["innerRef"]);
17497
17498        return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(component, _extends({
17499          ref: innerRef
17500        }, field, rest), children);
17501      } // We don't pass `meta` for backwards compat
17502
17503
17504      return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(component, _extends({
17505        field: field,
17506        form: formik
17507      }, props), children);
17508    } // default to input here so we can check for both `as` and `children` above
17509
17510
17511    var asElement = is || 'input';
17512
17513    if (typeof asElement === 'string') {
17514      var _innerRef = props.innerRef,
17515          _rest = _objectWithoutPropertiesLoose(props, ["innerRef"]);
17516
17517      return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(asElement, _extends({
17518        ref: _innerRef
17519      }, field, _rest), children);
17520    }
17521
17522    return Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(asElement, _extends({}, field, props), children);
17523  };
17524
17525  return FastFieldInner;
17526}(react__WEBPACK_IMPORTED_MODULE_0__["Component"]);
17527
17528var FastField = /*#__PURE__*/connect(FastFieldInner);
17529
17530
17531//# sourceMappingURL=formik.esm.js.map
17532
17533
17534/***/ }),
17535
vendor: 3,244 bytes, lines 17536-17650
17536/***/ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js":
17537/*!**********************************************************************************!*\
17538  !*** ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***!
17539  \**********************************************************************************/
17540/*! no static exports found */
17541/***/ (function(module, exports, __webpack_require__) {
17542
17543"use strict";
17544
17545
17546var reactIs = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js");
17547
17548/**
17549 * Copyright 2015, Yahoo! Inc.
17550 * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
17551 */
17552var REACT_STATICS = {
17553  childContextTypes: true,
17554  contextType: true,
17555  contextTypes: true,
17556  defaultProps: true,
17557  displayName: true,
17558  getDefaultProps: true,
17559  getDerivedStateFromError: true,
17560  getDerivedStateFromProps: true,
17561  mixins: true,
17562  propTypes: true,
17563  type: true
17564};
17565var KNOWN_STATICS = {
17566  name: true,
17567  length: true,
17568  prototype: true,
17569  caller: true,
17570  callee: true,
17571  arguments: true,
17572  arity: true
17573};
17574var FORWARD_REF_STATICS = {
17575  '$$typeof': true,
17576  render: true,
17577  defaultProps: true,
17578  displayName: true,
17579  propTypes: true
17580};
17581var MEMO_STATICS = {
17582  '$$typeof': true,
17583  compare: true,
17584  defaultProps: true,
17585  displayName: true,
17586  propTypes: true,
17587  type: true
17588};
17589var TYPE_STATICS = {};
17590TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
17591TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
17592
17593function getStatics(component) {
17594  // React v16.11 and below
17595  if (reactIs.isMemo(component)) {
17596    return MEMO_STATICS;
17597  } // React v16.12 and above
17598
17599
17600  return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
17601}
17602
17603var defineProperty = Object.defineProperty;
17604var getOwnPropertyNames = Object.getOwnPropertyNames;
17605var getOwnPropertySymbols = Object.getOwnPropertySymbols;
17606var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
17607var getPrototypeOf = Object.getPrototypeOf;
17608var objectPrototype = Object.prototype;
17609function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
17610  if (typeof sourceComponent !== 'string') {
17611    // don't hoist over string (html) components
17612    if (objectPrototype) {
17613      var inheritedComponent = getPrototypeOf(sourceComponent);
17614
17615      if (inheritedComponent && inheritedComponent !== objectPrototype) {
17616        hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
17617      }
17618    }
17619
17620    var keys = getOwnPropertyNames(sourceComponent);
17621
17622    if (getOwnPropertySymbols) {
17623      keys = keys.concat(getOwnPropertySymbols(sourceComponent));
17624    }
17625
17626    var targetStatics = getStatics(targetComponent);
17627    var sourceStatics = getStatics(sourceComponent);
17628
17629    for (var i = 0; i < keys.length; ++i) {
17630      var key = keys[i];
17631
17632      if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
17633        var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
17634
17635        try {
17636          // Avoid failures from read-only properties
17637          defineProperty(targetComponent, key, descriptor);
17638        } catch (e) {}
17639      }
17640    }
17641  }
17642
17643  return targetComponent;
17644}
17645
17646module.exports = hoistNonReactStatics;
17647
17648
17649/***/ }),
17650
vendor: 952 bytes, lines 17651-17672
17651/***/ "./node_modules/lodash-es/_DataView.js":
17652/*!*********************************************!*\
17653  !*** ./node_modules/lodash-es/_DataView.js ***!
17654  \*********************************************/
17655/*! exports provided: default */
17656/***/ (function(module, __webpack_exports__, __webpack_require__) {
17657
17658"use strict";
17659__webpack_require__.r(__webpack_exports__);
17660/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ "./node_modules/lodash-es/_getNative.js");
17661/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js");
17662
17663
17664
17665/* Built-in method references that are verified to be native. */
17666var DataView = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_root_js__WEBPACK_IMPORTED_MODULE_1__["default"], 'DataView');
17667
17668/* harmony default export */ __webpack_exports__["default"] = (DataView);
17669
17670
17671/***/ }),
17672
vendor: 1,945 bytes, lines 17673-17722
17673/***/ "./node_modules/lodash-es/_Hash.js":
17674/*!*****************************************!*\
17675  !*** ./node_modules/lodash-es/_Hash.js ***!
17676  \*****************************************/
17677/*! exports provided: default */
17678/***/ (function(module, __webpack_exports__, __webpack_require__) {
17679
17680"use strict";
17681__webpack_require__.r(__webpack_exports__);
17682/* harmony import */ var _hashClear_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_hashClear.js */ "./node_modules/lodash-es/_hashClear.js");
17683/* harmony import */ var _hashDelete_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_hashDelete.js */ "./node_modules/lodash-es/_hashDelete.js");
17684/* harmony import */ var _hashGet_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_hashGet.js */ "./node_modules/lodash-es/_hashGet.js");
17685/* harmony import */ var _hashHas_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_hashHas.js */ "./node_modules/lodash-es/_hashHas.js");
17686/* harmony import */ var _hashSet_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_hashSet.js */ "./node_modules/lodash-es/_hashSet.js");
17687
17688
17689
17690
17691
17692
17693/**
17694 * Creates a hash object.
17695 *
17696 * @private
17697 * @constructor
17698 * @param {Array} [entries] The key-value pairs to cache.
17699 */
17700function Hash(entries) {
17701  var index = -1,
17702      length = entries == null ? 0 : entries.length;
17703
17704  this.clear();
17705  while (++index < length) {
17706    var entry = entries[index];
17707    this.set(entry[0], entry[1]);
17708  }
17709}
17710
17711// Add methods to `Hash`.
17712Hash.prototype.clear = _hashClear_js__WEBPACK_IMPORTED_MODULE_0__["default"];
17713Hash.prototype['delete'] = _hashDelete_js__WEBPACK_IMPORTED_MODULE_1__["default"];
17714Hash.prototype.get = _hashGet_js__WEBPACK_IMPORTED_MODULE_2__["default"];
17715Hash.prototype.has = _hashHas_js__WEBPACK_IMPORTED_MODULE_3__["default"];
17716Hash.prototype.set = _hashSet_js__WEBPACK_IMPORTED_MODULE_4__["default"];
17717
17718/* harmony default export */ __webpack_exports__["default"] = (Hash);
17719
17720
17721/***/ }),
17722
vendor: 2,112 bytes, lines 17723-17772
17723/***/ "./node_modules/lodash-es/_ListCache.js":
17724/*!**********************************************!*\
17725  !*** ./node_modules/lodash-es/_ListCache.js ***!
17726  \**********************************************/
17727/*! exports provided: default */
17728/***/ (function(module, __webpack_exports__, __webpack_require__) {
17729
17730"use strict";
17731__webpack_require__.r(__webpack_exports__);
17732/* harmony import */ var _listCacheClear_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_listCacheClear.js */ "./node_modules/lodash-es/_listCacheClear.js");
17733/* harmony import */ var _listCacheDelete_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_listCacheDelete.js */ "./node_modules/lodash-es/_listCacheDelete.js");
17734/* harmony import */ var _listCacheGet_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_listCacheGet.js */ "./node_modules/lodash-es/_listCacheGet.js");
17735/* harmony import */ var _listCacheHas_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_listCacheHas.js */ "./node_modules/lodash-es/_listCacheHas.js");
17736/* harmony import */ var _listCacheSet_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_listCacheSet.js */ "./node_modules/lodash-es/_listCacheSet.js");
17737
17738
17739
17740
17741
17742
17743/**
17744 * Creates an list cache object.
17745 *
17746 * @private
17747 * @constructor
17748 * @param {Array} [entries] The key-value pairs to cache.
17749 */
17750function ListCache(entries) {
17751  var index = -1,
17752      length = entries == null ? 0 : entries.length;
17753
17754  this.clear();
17755  while (++index < length) {
17756    var entry = entries[index];
17757    this.set(entry[0], entry[1]);
17758  }
17759}
17760
17761// Add methods to `ListCache`.
17762ListCache.prototype.clear = _listCacheClear_js__WEBPACK_IMPORTED_MODULE_0__["default"];
17763ListCache.prototype['delete'] = _listCacheDelete_js__WEBPACK_IMPORTED_MODULE_1__["default"];
17764ListCache.prototype.get = _listCacheGet_js__WEBPACK_IMPORTED_MODULE_2__["default"];
17765ListCache.prototype.has = _listCacheHas_js__WEBPACK_IMPORTED_MODULE_3__["default"];
17766ListCache.prototype.set = _listCacheSet_js__WEBPACK_IMPORTED_MODULE_4__["default"];
17767
17768/* harmony default export */ __webpack_exports__["default"] = (ListCache);
17769
17770
17771/***/ }),
17772
vendor: 917 bytes, lines 17773-17794
17773/***/ "./node_modules/lodash-es/_Map.js":
17774/*!****************************************!*\
17775  !*** ./node_modules/lodash-es/_Map.js ***!
17776  \****************************************/
17777/*! exports provided: default */
17778/***/ (function(module, __webpack_exports__, __webpack_require__) {
17779
17780"use strict";
17781__webpack_require__.r(__webpack_exports__);
17782/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ "./node_modules/lodash-es/_getNative.js");
17783/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js");
17784
17785
17786
17787/* Built-in method references that are verified to be native. */
17788var Map = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_root_js__WEBPACK_IMPORTED_MODULE_1__["default"], 'Map');
17789
17790/* harmony default export */ __webpack_exports__["default"] = (Map);
17791
17792
17793/***/ }),
17794
vendor: 2,103 bytes, lines 17795-17844
17795/***/ "./node_modules/lodash-es/_MapCache.js":
17796/*!*********************************************!*\
17797  !*** ./node_modules/lodash-es/_MapCache.js ***!
17798  \*********************************************/
17799/*! exports provided: default */
17800/***/ (function(module, __webpack_exports__, __webpack_require__) {
17801
17802"use strict";
17803__webpack_require__.r(__webpack_exports__);
17804/* harmony import */ var _mapCacheClear_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_mapCacheClear.js */ "./node_modules/lodash-es/_mapCacheClear.js");
17805/* harmony import */ var _mapCacheDelete_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_mapCacheDelete.js */ "./node_modules/lodash-es/_mapCacheDelete.js");
17806/* harmony import */ var _mapCacheGet_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_mapCacheGet.js */ "./node_modules/lodash-es/_mapCacheGet.js");
17807/* harmony import */ var _mapCacheHas_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_mapCacheHas.js */ "./node_modules/lodash-es/_mapCacheHas.js");
17808/* harmony import */ var _mapCacheSet_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_mapCacheSet.js */ "./node_modules/lodash-es/_mapCacheSet.js");
17809
17810
17811
17812
17813
17814
17815/**
17816 * Creates a map cache object to store key-value pairs.
17817 *
17818 * @private
17819 * @constructor
17820 * @param {Array} [entries] The key-value pairs to cache.
17821 */
17822function MapCache(entries) {
17823  var index = -1,
17824      length = entries == null ? 0 : entries.length;
17825
17826  this.clear();
17827  while (++index < length) {
17828    var entry = entries[index];
17829    this.set(entry[0], entry[1]);
17830  }
17831}
17832
17833// Add methods to `MapCache`.
17834MapCache.prototype.clear = _mapCacheClear_js__WEBPACK_IMPORTED_MODULE_0__["default"];
17835MapCache.prototype['delete'] = _mapCacheDelete_js__WEBPACK_IMPORTED_MODULE_1__["default"];
17836MapCache.prototype.get = _mapCacheGet_js__WEBPACK_IMPORTED_MODULE_2__["default"];
17837MapCache.prototype.has = _mapCacheHas_js__WEBPACK_IMPORTED_MODULE_3__["default"];
17838MapCache.prototype.set = _mapCacheSet_js__WEBPACK_IMPORTED_MODULE_4__["default"];
17839
17840/* harmony default export */ __webpack_exports__["default"] = (MapCache);
17841
17842
17843/***/ }),
17844
vendor: 945 bytes, lines 17845-17866
17845/***/ "./node_modules/lodash-es/_Promise.js":
17846/*!********************************************!*\
17847  !*** ./node_modules/lodash-es/_Promise.js ***!
17848  \********************************************/
17849/*! exports provided: default */
17850/***/ (function(module, __webpack_exports__, __webpack_require__) {
17851
17852"use strict";
17853__webpack_require__.r(__webpack_exports__);
17854/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ "./node_modules/lodash-es/_getNative.js");
17855/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js");
17856
17857
17858
17859/* Built-in method references that are verified to be native. */
17860var Promise = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_root_js__WEBPACK_IMPORTED_MODULE_1__["default"], 'Promise');
17861
17862/* harmony default export */ __webpack_exports__["default"] = (Promise);
17863
17864
17865/***/ }),
17866
vendor: 917 bytes, lines 17867-17888
17867/***/ "./node_modules/lodash-es/_Set.js":
17868/*!****************************************!*\
17869  !*** ./node_modules/lodash-es/_Set.js ***!
17870  \****************************************/
17871/*! exports provided: default */
17872/***/ (function(module, __webpack_exports__, __webpack_require__) {
17873
17874"use strict";
17875__webpack_require__.r(__webpack_exports__);
17876/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ "./node_modules/lodash-es/_getNative.js");
17877/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js");
17878
17879
17880
17881/* Built-in method references that are verified to be native. */
17882var Set = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_root_js__WEBPACK_IMPORTED_MODULE_1__["default"], 'Set');
17883
17884/* harmony default export */ __webpack_exports__["default"] = (Set);
17885
17886
17887/***/ }),
17888
vendor: 2,101 bytes, lines 17889-17934
17889/***/ "./node_modules/lodash-es/_Stack.js":
17890/*!******************************************!*\
17891  !*** ./node_modules/lodash-es/_Stack.js ***!
17892  \******************************************/
17893/*! exports provided: default */
17894/***/ (function(module, __webpack_exports__, __webpack_require__) {
17895
17896"use strict";
17897__webpack_require__.r(__webpack_exports__);
17898/* harmony import */ var _ListCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_ListCache.js */ "./node_modules/lodash-es/_ListCache.js");
17899/* harmony import */ var _stackClear_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_stackClear.js */ "./node_modules/lodash-es/_stackClear.js");
17900/* harmony import */ var _stackDelete_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_stackDelete.js */ "./node_modules/lodash-es/_stackDelete.js");
17901/* harmony import */ var _stackGet_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_stackGet.js */ "./node_modules/lodash-es/_stackGet.js");
17902/* harmony import */ var _stackHas_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_stackHas.js */ "./node_modules/lodash-es/_stackHas.js");
17903/* harmony import */ var _stackSet_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_stackSet.js */ "./node_modules/lodash-es/_stackSet.js");
17904
17905
17906
17907
17908
17909
17910
17911/**
17912 * Creates a stack cache object to store key-value pairs.
17913 *
17914 * @private
17915 * @constructor
17916 * @param {Array} [entries] The key-value pairs to cache.
17917 */
17918function Stack(entries) {
17919  var data = this.__data__ = new _ListCache_js__WEBPACK_IMPORTED_MODULE_0__["default"](entries);
17920  this.size = data.size;
17921}
17922
17923// Add methods to `Stack`.
17924Stack.prototype.clear = _stackClear_js__WEBPACK_IMPORTED_MODULE_1__["default"];
17925Stack.prototype['delete'] = _stackDelete_js__WEBPACK_IMPORTED_MODULE_2__["default"];
17926Stack.prototype.get = _stackGet_js__WEBPACK_IMPORTED_MODULE_3__["default"];
17927Stack.prototype.has = _stackHas_js__WEBPACK_IMPORTED_MODULE_4__["default"];
17928Stack.prototype.set = _stackSet_js__WEBPACK_IMPORTED_MODULE_5__["default"];
17929
17930/* harmony default export */ __webpack_exports__["default"] = (Stack);
17931
17932
17933/***/ }),
17934
vendor: 684 bytes, lines 17935-17954
17935/***/ "./node_modules/lodash-es/_Symbol.js":
17936/*!*******************************************!*\
17937  !*** ./node_modules/lodash-es/_Symbol.js ***!
17938  \*******************************************/
17939/*! exports provided: default */
17940/***/ (function(module, __webpack_exports__, __webpack_require__) {
17941
17942"use strict";
17943__webpack_require__.r(__webpack_exports__);
17944/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js");
17945
17946
17947/** Built-in value references. */
17948var Symbol = _root_js__WEBPACK_IMPORTED_MODULE_0__["default"].Symbol;
17949
17950/* harmony default export */ __webpack_exports__["default"] = (Symbol);
17951
17952
17953/***/ }),
17954
vendor: 712 bytes, lines 17955-17974
17955/***/ "./node_modules/lodash-es/_Uint8Array.js":
17956/*!***********************************************!*\
17957  !*** ./node_modules/lodash-es/_Uint8Array.js ***!
17958  \***********************************************/
17959/*! exports provided: default */
17960/***/ (function(module, __webpack_exports__, __webpack_require__) {
17961
17962"use strict";
17963__webpack_require__.r(__webpack_exports__);
17964/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js");
17965
17966
17967/** Built-in value references. */
17968var Uint8Array = _root_js__WEBPACK_IMPORTED_MODULE_0__["default"].Uint8Array;
17969
17970/* harmony default export */ __webpack_exports__["default"] = (Uint8Array);
17971
17972
17973/***/ }),
17974
vendor: 945 bytes, lines 17975-17996
17975/***/ "./node_modules/lodash-es/_WeakMap.js":
17976/*!********************************************!*\
17977  !*** ./node_modules/lodash-es/_WeakMap.js ***!
17978  \********************************************/
17979/*! exports provided: default */
17980/***/ (function(module, __webpack_exports__, __webpack_require__) {
17981
17982"use strict";
17983__webpack_require__.r(__webpack_exports__);
17984/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ "./node_modules/lodash-es/_getNative.js");
17985/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js");
17986
17987
17988
17989/* Built-in method references that are verified to be native. */
17990var WeakMap = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_root_js__WEBPACK_IMPORTED_MODULE_1__["default"], 'WeakMap');
17991
17992/* harmony default export */ __webpack_exports__["default"] = (WeakMap);
17993
17994
17995/***/ }),
17996
vendor: 960 bytes, lines 17997-18031
17997/***/ "./node_modules/lodash-es/_arrayEach.js":
17998/*!**********************************************!*\
17999  !*** ./node_modules/lodash-es/_arrayEach.js ***!
18000  \**********************************************/
18001/*! exports provided: default */
18002/***/ (function(module, __webpack_exports__, __webpack_require__) {
18003
18004"use strict";
18005__webpack_require__.r(__webpack_exports__);
18006/**
18007 * A specialized version of `_.forEach` for arrays without support for
18008 * iteratee shorthands.
18009 *
18010 * @private
18011 * @param {Array} [array] The array to iterate over.
18012 * @param {Function} iteratee The function invoked per iteration.
18013 * @returns {Array} Returns `array`.
18014 */
18015function arrayEach(array, iteratee) {
18016  var index = -1,
18017      length = array == null ? 0 : array.length;
18018
18019  while (++index < length) {
18020    if (iteratee(array[index], index, array) === false) {
18021      break;
18022    }
18023  }
18024  return array;
18025}
18026
18027/* harmony default export */ __webpack_exports__["default"] = (arrayEach);
18028
18029
18030/***/ }),
18031
vendor: 1,063 bytes, lines 18032-18069
18032/***/ "./node_modules/lodash-es/_arrayFilter.js":
18033/*!************************************************!*\
18034  !*** ./node_modules/lodash-es/_arrayFilter.js ***!
18035  \************************************************/
18036/*! exports provided: default */
18037/***/ (function(module, __webpack_exports__, __webpack_require__) {
18038
18039"use strict";
18040__webpack_require__.r(__webpack_exports__);
18041/**
18042 * A specialized version of `_.filter` for arrays without support for
18043 * iteratee shorthands.
18044 *
18045 * @private
18046 * @param {Array} [array] The array to iterate over.
18047 * @param {Function} predicate The function invoked per iteration.
18048 * @returns {Array} Returns the new filtered array.
18049 */
18050function arrayFilter(array, predicate) {
18051  var index = -1,
18052      length = array == null ? 0 : array.length,
18053      resIndex = 0,
18054      result = [];
18055
18056  while (++index < length) {
18057    var value = array[index];
18058    if (predicate(value, index, array)) {
18059      result[resIndex++] = value;
18060    }
18061  }
18062  return result;
18063}
18064
18065/* harmony default export */ __webpack_exports__["default"] = (arrayFilter);
18066
18067
18068/***/ }),
18069
vendor: 3,221 bytes, lines 18070-18137
18070/***/ "./node_modules/lodash-es/_arrayLikeKeys.js":
18071/*!**************************************************!*\
18072  !*** ./node_modules/lodash-es/_arrayLikeKeys.js ***!
18073  \**************************************************/
18074/*! exports provided: default */
18075/***/ (function(module, __webpack_exports__, __webpack_require__) {
18076
18077"use strict";
18078__webpack_require__.r(__webpack_exports__);
18079/* harmony import */ var _baseTimes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseTimes.js */ "./node_modules/lodash-es/_baseTimes.js");
18080/* harmony import */ var _isArguments_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArguments.js */ "./node_modules/lodash-es/isArguments.js");
18081/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ "./node_modules/lodash-es/isArray.js");
18082/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isBuffer.js */ "./node_modules/lodash-es/isBuffer.js");
18083/* harmony import */ var _isIndex_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_isIndex.js */ "./node_modules/lodash-es/_isIndex.js");
18084/* harmony import */ var _isTypedArray_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isTypedArray.js */ "./node_modules/lodash-es/isTypedArray.js");
18085
18086
18087
18088
18089
18090
18091
18092/** Used for built-in method references. */
18093var objectProto = Object.prototype;
18094
18095/** Used to check objects for own properties. */
18096var hasOwnProperty = objectProto.hasOwnProperty;
18097
18098/**
18099 * Creates an array of the enumerable property names of the array-like `value`.
18100 *
18101 * @private
18102 * @param {*} value The value to query.
18103 * @param {boolean} inherited Specify returning inherited property names.
18104 * @returns {Array} Returns the array of property names.
18105 */
18106function arrayLikeKeys(value, inherited) {
18107  var isArr = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value),
18108      isArg = !isArr && Object(_isArguments_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value),
18109      isBuff = !isArr && !isArg && Object(_isBuffer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(value),
18110      isType = !isArr && !isArg && !isBuff && Object(_isTypedArray_js__WEBPACK_IMPORTED_MODULE_5__["default"])(value),
18111      skipIndexes = isArr || isArg || isBuff || isType,
18112      result = skipIndexes ? Object(_baseTimes_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value.length, String) : [],
18113      length = result.length;
18114
18115  for (var key in value) {
18116    if ((inherited || hasOwnProperty.call(value, key)) &&
18117        !(skipIndexes && (
18118           // Safari 9 has enumerable `arguments.length` in strict mode.
18119           key == 'length' ||
18120           // Node.js 0.10 has enumerable non-index properties on buffers.
18121           (isBuff && (key == 'offset' || key == 'parent')) ||
18122           // PhantomJS 2 has enumerable non-index properties on typed arrays.
18123           (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||
18124           // Skip index properties.
18125           Object(_isIndex_js__WEBPACK_IMPORTED_MODULE_4__["default"])(key, length)
18126        ))) {
18127      result.push(key);
18128    }
18129  }
18130  return result;
18131}
18132
18133/* harmony default export */ __webpack_exports__["default"] = (arrayLikeKeys);
18134
18135
18136/***/ }),
18137
vendor: 975 bytes, lines 18138-18171
18138/***/ "./node_modules/lodash-es/_arrayMap.js":
18139/*!*********************************************!*\
18140  !*** ./node_modules/lodash-es/_arrayMap.js ***!
18141  \*********************************************/
18142/*! exports provided: default */
18143/***/ (function(module, __webpack_exports__, __webpack_require__) {
18144
18145"use strict";
18146__webpack_require__.r(__webpack_exports__);
18147/**
18148 * A specialized version of `_.map` for arrays without support for iteratee
18149 * shorthands.
18150 *
18151 * @private
18152 * @param {Array} [array] The array to iterate over.
18153 * @param {Function} iteratee The function invoked per iteration.
18154 * @returns {Array} Returns the new mapped array.
18155 */
18156function arrayMap(array, iteratee) {
18157  var index = -1,
18158      length = array == null ? 0 : array.length,
18159      result = Array(length);
18160
18161  while (++index < length) {
18162    result[index] = iteratee(array[index], index, array);
18163  }
18164  return result;
18165}
18166
18167/* harmony default export */ __webpack_exports__["default"] = (arrayMap);
18168
18169
18170/***/ }),
18171
vendor: 860 bytes, lines 18172-18204
18172/***/ "./node_modules/lodash-es/_arrayPush.js":
18173/*!**********************************************!*\
18174  !*** ./node_modules/lodash-es/_arrayPush.js ***!
18175  \**********************************************/
18176/*! exports provided: default */
18177/***/ (function(module, __webpack_exports__, __webpack_require__) {
18178
18179"use strict";
18180__webpack_require__.r(__webpack_exports__);
18181/**
18182 * Appends the elements of `values` to `array`.
18183 *
18184 * @private
18185 * @param {Array} array The array to modify.
18186 * @param {Array} values The values to append.
18187 * @returns {Array} Returns `array`.
18188 */
18189function arrayPush(array, values) {
18190  var index = -1,
18191      length = values.length,
18192      offset = array.length;
18193
18194  while (++index < length) {
18195    array[offset + index] = values[index];
18196  }
18197  return array;
18198}
18199
18200/* harmony default export */ __webpack_exports__["default"] = (arrayPush);
18201
18202
18203/***/ }),
18204
vendor: 1,664 bytes, lines 18205-18247
18205/***/ "./node_modules/lodash-es/_assignValue.js":
18206/*!************************************************!*\
18207  !*** ./node_modules/lodash-es/_assignValue.js ***!
18208  \************************************************/
18209/*! exports provided: default */
18210/***/ (function(module, __webpack_exports__, __webpack_require__) {
18211
18212"use strict";
18213__webpack_require__.r(__webpack_exports__);
18214/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseAssignValue.js */ "./node_modules/lodash-es/_baseAssignValue.js");
18215/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./eq.js */ "./node_modules/lodash-es/eq.js");
18216
18217
18218
18219/** Used for built-in method references. */
18220var objectProto = Object.prototype;
18221
18222/** Used to check objects for own properties. */
18223var hasOwnProperty = objectProto.hasOwnProperty;
18224
18225/**
18226 * Assigns `value` to `key` of `object` if the existing value is not equivalent
18227 * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
18228 * for equality comparisons.
18229 *
18230 * @private
18231 * @param {Object} object The object to modify.
18232 * @param {string} key The key of the property to assign.
18233 * @param {*} value The value to assign.
18234 */
18235function assignValue(object, key, value) {
18236  var objValue = object[key];
18237  if (!(hasOwnProperty.call(object, key) && Object(_eq_js__WEBPACK_IMPORTED_MODULE_1__["default"])(objValue, value)) ||
18238      (value === undefined && !(key in object))) {
18239    Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object, key, value);
18240  }
18241}
18242
18243/* harmony default export */ __webpack_exports__["default"] = (assignValue);
18244
18245
18246/***/ }),
18247
vendor: 1,082 bytes, lines 18248-18282
18248/***/ "./node_modules/lodash-es/_assocIndexOf.js":
18249/*!*************************************************!*\
18250  !*** ./node_modules/lodash-es/_assocIndexOf.js ***!
18251  \*************************************************/
18252/*! exports provided: default */
18253/***/ (function(module, __webpack_exports__, __webpack_require__) {
18254
18255"use strict";
18256__webpack_require__.r(__webpack_exports__);
18257/* harmony import */ var _eq_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./eq.js */ "./node_modules/lodash-es/eq.js");
18258
18259
18260/**
18261 * Gets the index at which the `key` is found in `array` of key-value pairs.
18262 *
18263 * @private
18264 * @param {Array} array The array to inspect.
18265 * @param {*} key The key to search for.
18266 * @returns {number} Returns the index of the matched value, else `-1`.
18267 */
18268function assocIndexOf(array, key) {
18269  var length = array.length;
18270  while (length--) {
18271    if (Object(_eq_js__WEBPACK_IMPORTED_MODULE_0__["default"])(array[length][0], key)) {
18272      return length;
18273    }
18274  }
18275  return -1;
18276}
18277
18278/* harmony default export */ __webpack_exports__["default"] = (assocIndexOf);
18279
18280
18281/***/ }),
18282
vendor: 1,228 bytes, lines 18283-18314
18283/***/ "./node_modules/lodash-es/_baseAssign.js":
18284/*!***********************************************!*\
18285  !*** ./node_modules/lodash-es/_baseAssign.js ***!
18286  \***********************************************/
18287/*! exports provided: default */
18288/***/ (function(module, __webpack_exports__, __webpack_require__) {
18289
18290"use strict";
18291__webpack_require__.r(__webpack_exports__);
18292/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ "./node_modules/lodash-es/_copyObject.js");
18293/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ "./node_modules/lodash-es/keys.js");
18294
18295
18296
18297/**
18298 * The base implementation of `_.assign` without support for multiple sources
18299 * or `customizer` functions.
18300 *
18301 * @private
18302 * @param {Object} object The destination object.
18303 * @param {Object} source The source object.
18304 * @returns {Object} Returns `object`.
18305 */
18306function baseAssign(object, source) {
18307  return object && Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(source, Object(_keys_js__WEBPACK_IMPORTED_MODULE_1__["default"])(source), object);
18308}
18309
18310/* harmony default export */ __webpack_exports__["default"] = (baseAssign);
18311
18312
18313/***/ }),
18314
vendor: 1,250 bytes, lines 18315-18346
18315/***/ "./node_modules/lodash-es/_baseAssignIn.js":
18316/*!*************************************************!*\
18317  !*** ./node_modules/lodash-es/_baseAssignIn.js ***!
18318  \*************************************************/
18319/*! exports provided: default */
18320/***/ (function(module, __webpack_exports__, __webpack_require__) {
18321
18322"use strict";
18323__webpack_require__.r(__webpack_exports__);
18324/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ "./node_modules/lodash-es/_copyObject.js");
18325/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keysIn.js */ "./node_modules/lodash-es/keysIn.js");
18326
18327
18328
18329/**
18330 * The base implementation of `_.assignIn` without support for multiple sources
18331 * or `customizer` functions.
18332 *
18333 * @private
18334 * @param {Object} object The destination object.
18335 * @param {Object} source The source object.
18336 * @returns {Object} Returns `object`.
18337 */
18338function baseAssignIn(object, source) {
18339  return object && Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(source, Object(_keysIn_js__WEBPACK_IMPORTED_MODULE_1__["default"])(source), object);
18340}
18341
18342/* harmony default export */ __webpack_exports__["default"] = (baseAssignIn);
18343
18344
18345/***/ }),
18346
vendor: 1,289 bytes, lines 18347-18385
18347/***/ "./node_modules/lodash-es/_baseAssignValue.js":
18348/*!****************************************************!*\
18349  !*** ./node_modules/lodash-es/_baseAssignValue.js ***!
18350  \****************************************************/
18351/*! exports provided: default */
18352/***/ (function(module, __webpack_exports__, __webpack_require__) {
18353
18354"use strict";
18355__webpack_require__.r(__webpack_exports__);
18356/* harmony import */ var _defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_defineProperty.js */ "./node_modules/lodash-es/_defineProperty.js");
18357
18358
18359/**
18360 * The base implementation of `assignValue` and `assignMergeValue` without
18361 * value checks.
18362 *
18363 * @private
18364 * @param {Object} object The object to modify.
18365 * @param {string} key The key of the property to assign.
18366 * @param {*} value The value to assign.
18367 */
18368function baseAssignValue(object, key, value) {
18369  if (key == '__proto__' && _defineProperty_js__WEBPACK_IMPORTED_MODULE_0__["default"]) {
18370    Object(_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object, key, {
18371      'configurable': true,
18372      'enumerable': true,
18373      'value': value,
18374      'writable': true
18375    });
18376  } else {
18377    object[key] = value;
18378  }
18379}
18380
18381/* harmony default export */ __webpack_exports__["default"] = (baseAssignValue);
18382
18383
18384/***/ }),
18385
vendor: 9,520 bytes, lines 18386-18584
18386/***/ "./node_modules/lodash-es/_baseClone.js":
18387/*!**********************************************!*\
18388  !*** ./node_modules/lodash-es/_baseClone.js ***!
18389  \**********************************************/
18390/*! exports provided: default */
18391/***/ (function(module, __webpack_exports__, __webpack_require__) {
18392
18393"use strict";
18394__webpack_require__.r(__webpack_exports__);
18395/* harmony import */ var _Stack_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Stack.js */ "./node_modules/lodash-es/_Stack.js");
18396/* harmony import */ var _arrayEach_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayEach.js */ "./node_modules/lodash-es/_arrayEach.js");
18397/* harmony import */ var _assignValue_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_assignValue.js */ "./node_modules/lodash-es/_assignValue.js");
18398/* harmony import */ var _baseAssign_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_baseAssign.js */ "./node_modules/lodash-es/_baseAssign.js");
18399/* harmony import */ var _baseAssignIn_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_baseAssignIn.js */ "./node_modules/lodash-es/_baseAssignIn.js");
18400/* harmony import */ var _cloneBuffer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_cloneBuffer.js */ "./node_modules/lodash-es/_cloneBuffer.js");
18401/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_copyArray.js */ "./node_modules/lodash-es/_copyArray.js");
18402/* harmony import */ var _copySymbols_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./_copySymbols.js */ "./node_modules/lodash-es/_copySymbols.js");
18403/* harmony import */ var _copySymbolsIn_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./_copySymbolsIn.js */ "./node_modules/lodash-es/_copySymbolsIn.js");
18404/* harmony import */ var _getAllKeys_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./_getAllKeys.js */ "./node_modules/lodash-es/_getAllKeys.js");
18405/* harmony import */ var _getAllKeysIn_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./_getAllKeysIn.js */ "./node_modules/lodash-es/_getAllKeysIn.js");
18406/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./_getTag.js */ "./node_modules/lodash-es/_getTag.js");
18407/* harmony import */ var _initCloneArray_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./_initCloneArray.js */ "./node_modules/lodash-es/_initCloneArray.js");
18408/* harmony import */ var _initCloneByTag_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./_initCloneByTag.js */ "./node_modules/lodash-es/_initCloneByTag.js");
18409/* harmony import */ var _initCloneObject_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./_initCloneObject.js */ "./node_modules/lodash-es/_initCloneObject.js");
18410/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./isArray.js */ "./node_modules/lodash-es/isArray.js");
18411/* harmony import */ var _isBuffer_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./isBuffer.js */ "./node_modules/lodash-es/isBuffer.js");
18412/* harmony import */ var _isMap_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./isMap.js */ "./node_modules/lodash-es/isMap.js");
18413/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./isObject.js */ "./node_modules/lodash-es/isObject.js");
18414/* harmony import */ var _isSet_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./isSet.js */ "./node_modules/lodash-es/isSet.js");
18415/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./keys.js */ "./node_modules/lodash-es/keys.js");
18416
18417
18418
18419
18420
18421
18422
18423
18424
18425
18426
18427
18428
18429
18430
18431
18432
18433
18434
18435
18436
18437
18438/** Used to compose bitmasks for cloning. */
18439var CLONE_DEEP_FLAG = 1,
18440    CLONE_FLAT_FLAG = 2,
18441    CLONE_SYMBOLS_FLAG = 4;
18442
18443/** `Object#toString` result references. */
18444var argsTag = '[object Arguments]',
18445    arrayTag = '[object Array]',
18446    boolTag = '[object Boolean]',
18447    dateTag = '[object Date]',
18448    errorTag = '[object Error]',
18449    funcTag = '[object Function]',
18450    genTag = '[object GeneratorFunction]',
18451    mapTag = '[object Map]',
18452    numberTag = '[object Number]',
18453    objectTag = '[object Object]',
18454    regexpTag = '[object RegExp]',
18455    setTag = '[object Set]',
18456    stringTag = '[object String]',
18457    symbolTag = '[object Symbol]',
18458    weakMapTag = '[object WeakMap]';
18459
18460var arrayBufferTag = '[object ArrayBuffer]',
18461    dataViewTag = '[object DataView]',
18462    float32Tag = '[object Float32Array]',
18463    float64Tag = '[object Float64Array]',
18464    int8Tag = '[object Int8Array]',
18465    int16Tag = '[object Int16Array]',
18466    int32Tag = '[object Int32Array]',
18467    uint8Tag = '[object Uint8Array]',
18468    uint8ClampedTag = '[object Uint8ClampedArray]',
18469    uint16Tag = '[object Uint16Array]',
18470    uint32Tag = '[object Uint32Array]';
18471
18472/** Used to identify `toStringTag` values supported by `_.clone`. */
18473var cloneableTags = {};
18474cloneableTags[argsTag] = cloneableTags[arrayTag] =
18475cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =
18476cloneableTags[boolTag] = cloneableTags[dateTag] =
18477cloneableTags[float32Tag] = cloneableTags[float64Tag] =
18478cloneableTags[int8Tag] = cloneableTags[int16Tag] =
18479cloneableTags[int32Tag] = cloneableTags[mapTag] =
18480cloneableTags[numberTag] = cloneableTags[objectTag] =
18481cloneableTags[regexpTag] = cloneableTags[setTag] =
18482cloneableTags[stringTag] = cloneableTags[symbolTag] =
18483cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =
18484cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
18485cloneableTags[errorTag] = cloneableTags[funcTag] =
18486cloneableTags[weakMapTag] = false;
18487
18488/**
18489 * The base implementation of `_.clone` and `_.cloneDeep` which tracks
18490 * traversed objects.
18491 *
18492 * @private
18493 * @param {*} value The value to clone.
18494 * @param {boolean} bitmask The bitmask flags.
18495 *  1 - Deep clone
18496 *  2 - Flatten inherited properties
18497 *  4 - Clone symbols
18498 * @param {Function} [customizer] The function to customize cloning.
18499 * @param {string} [key] The key of `value`.
18500 * @param {Object} [object] The parent object of `value`.
18501 * @param {Object} [stack] Tracks traversed objects and their clone counterparts.
18502 * @returns {*} Returns the cloned value.
18503 */
18504function baseClone(value, bitmask, customizer, key, object, stack) {
18505  var result,
18506      isDeep = bitmask & CLONE_DEEP_FLAG,
18507      isFlat = bitmask & CLONE_FLAT_FLAG,
18508      isFull = bitmask & CLONE_SYMBOLS_FLAG;
18509
18510  if (customizer) {
18511    result = object ? customizer(value, key, object, stack) : customizer(value);
18512  }
18513  if (result !== undefined) {
18514    return result;
18515  }
18516  if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_18__["default"])(value)) {
18517    return value;
18518  }
18519  var isArr = Object(_isArray_js__WEBPACK_IMPORTED_MODULE_15__["default"])(value);
18520  if (isArr) {
18521    result = Object(_initCloneArray_js__WEBPACK_IMPORTED_MODULE_12__["default"])(value);
18522    if (!isDeep) {
18523      return Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_6__["default"])(value, result);
18524    }
18525  } else {
18526    var tag = Object(_getTag_js__WEBPACK_IMPORTED_MODULE_11__["default"])(value),
18527        isFunc = tag == funcTag || tag == genTag;
18528
18529    if (Object(_isBuffer_js__WEBPACK_IMPORTED_MODULE_16__["default"])(value)) {
18530      return Object(_cloneBuffer_js__WEBPACK_IMPORTED_MODULE_5__["default"])(value, isDeep);
18531    }
18532    if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
18533      result = (isFlat || isFunc) ? {} : Object(_initCloneObject_js__WEBPACK_IMPORTED_MODULE_14__["default"])(value);
18534      if (!isDeep) {
18535        return isFlat
18536          ? Object(_copySymbolsIn_js__WEBPACK_IMPORTED_MODULE_8__["default"])(value, Object(_baseAssignIn_js__WEBPACK_IMPORTED_MODULE_4__["default"])(result, value))
18537          : Object(_copySymbols_js__WEBPACK_IMPORTED_MODULE_7__["default"])(value, Object(_baseAssign_js__WEBPACK_IMPORTED_MODULE_3__["default"])(result, value));
18538      }
18539    } else {
18540      if (!cloneableTags[tag]) {
18541        return object ? value : {};
18542      }
18543      result = Object(_initCloneByTag_js__WEBPACK_IMPORTED_MODULE_13__["default"])(value, tag, isDeep);
18544    }
18545  }
18546  // Check for circular references and return its corresponding clone.
18547  stack || (stack = new _Stack_js__WEBPACK_IMPORTED_MODULE_0__["default"]);
18548  var stacked = stack.get(value);
18549  if (stacked) {
18550    return stacked;
18551  }
18552  stack.set(value, result);
18553
18554  if (Object(_isSet_js__WEBPACK_IMPORTED_MODULE_19__["default"])(value)) {
18555    value.forEach(function(subValue) {
18556      result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
18557    });
18558  } else if (Object(_isMap_js__WEBPACK_IMPORTED_MODULE_17__["default"])(value)) {
18559    value.forEach(function(subValue, key) {
18560      result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));
18561    });
18562  }
18563
18564  var keysFunc = isFull
18565    ? (isFlat ? _getAllKeysIn_js__WEBPACK_IMPORTED_MODULE_10__["default"] : _getAllKeys_js__WEBPACK_IMPORTED_MODULE_9__["default"])
18566    : (isFlat ? keysIn : _keys_js__WEBPACK_IMPORTED_MODULE_20__["default"]);
18567
18568  var props = isArr ? undefined : keysFunc(value);
18569  Object(_arrayEach_js__WEBPACK_IMPORTED_MODULE_1__["default"])(props || value, function(subValue, key) {
18570    if (props) {
18571      key = subValue;
18572      subValue = value[key];
18573    }
18574    // Recursively populate clone (susceptible to call stack limits).
18575    Object(_assignValue_js__WEBPACK_IMPORTED_MODULE_2__["default"])(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));
18576  });
18577  return result;
18578}
18579
18580/* harmony default export */ __webpack_exports__["default"] = (baseClone);
18581
18582
18583/***/ }),
18584
vendor: 1,279 bytes, lines 18585-18628
18585/***/ "./node_modules/lodash-es/_baseCreate.js":
18586/*!***********************************************!*\
18587  !*** ./node_modules/lodash-es/_baseCreate.js ***!
18588  \***********************************************/
18589/*! exports provided: default */
18590/***/ (function(module, __webpack_exports__, __webpack_require__) {
18591
18592"use strict";
18593__webpack_require__.r(__webpack_exports__);
18594/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isObject.js */ "./node_modules/lodash-es/isObject.js");
18595
18596
18597/** Built-in value references. */
18598var objectCreate = Object.create;
18599
18600/**
18601 * The base implementation of `_.create` without support for assigning
18602 * properties to the created object.
18603 *
18604 * @private
18605 * @param {Object} proto The object to inherit from.
18606 * @returns {Object} Returns the new object.
18607 */
18608var baseCreate = (function() {
18609  function object() {}
18610  return function(proto) {
18611    if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(proto)) {
18612      return {};
18613    }
18614    if (objectCreate) {
18615      return objectCreate(proto);
18616    }
18617    object.prototype = proto;
18618    var result = new object;
18619    object.prototype = undefined;
18620    return result;
18621  };
18622}());
18623
18624/* harmony default export */ __webpack_exports__["default"] = (baseCreate);
18625
18626
18627/***/ }),
18628
vendor: 1,515 bytes, lines 18629-18663
18629/***/ "./node_modules/lodash-es/_baseGetAllKeys.js":
18630/*!***************************************************!*\
18631  !*** ./node_modules/lodash-es/_baseGetAllKeys.js ***!
18632  \***************************************************/
18633/*! exports provided: default */
18634/***/ (function(module, __webpack_exports__, __webpack_require__) {
18635
18636"use strict";
18637__webpack_require__.r(__webpack_exports__);
18638/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayPush.js */ "./node_modules/lodash-es/_arrayPush.js");
18639/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isArray.js */ "./node_modules/lodash-es/isArray.js");
18640
18641
18642
18643/**
18644 * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
18645 * `keysFunc` and `symbolsFunc` to get the enumerable property names and
18646 * symbols of `object`.
18647 *
18648 * @private
18649 * @param {Object} object The object to query.
18650 * @param {Function} keysFunc The function to get the keys of `object`.
18651 * @param {Function} symbolsFunc The function to get the symbols of `object`.
18652 * @returns {Array} Returns the array of property names and symbols.
18653 */
18654function baseGetAllKeys(object, keysFunc, symbolsFunc) {
18655  var result = keysFunc(object);
18656  return Object(_isArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object) ? result : Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_0__["default"])(result, symbolsFunc(object));
18657}
18658
18659/* harmony default export */ __webpack_exports__["default"] = (baseGetAllKeys);
18660
18661
18662/***/ }),
18663
vendor: 1,761 bytes, lines 18664-18707
18664/***/ "./node_modules/lodash-es/_baseGetTag.js":
18665/*!***********************************************!*\
18666  !*** ./node_modules/lodash-es/_baseGetTag.js ***!
18667  \***********************************************/
18668/*! exports provided: default */
18669/***/ (function(module, __webpack_exports__, __webpack_require__) {
18670
18671"use strict";
18672__webpack_require__.r(__webpack_exports__);
18673/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ "./node_modules/lodash-es/_Symbol.js");
18674/* harmony import */ var _getRawTag_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getRawTag.js */ "./node_modules/lodash-es/_getRawTag.js");
18675/* harmony import */ var _objectToString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_objectToString.js */ "./node_modules/lodash-es/_objectToString.js");
18676
18677
18678
18679
18680/** `Object#toString` result references. */
18681var nullTag = '[object Null]',
18682    undefinedTag = '[object Undefined]';
18683
18684/** Built-in value references. */
18685var symToStringTag = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"].toStringTag : undefined;
18686
18687/**
18688 * The base implementation of `getTag` without fallbacks for buggy environments.
18689 *
18690 * @private
18691 * @param {*} value The value to query.
18692 * @returns {string} Returns the `toStringTag`.
18693 */
18694function baseGetTag(value) {
18695  if (value == null) {
18696    return value === undefined ? undefinedTag : nullTag;
18697  }
18698  return (symToStringTag && symToStringTag in Object(value))
18699    ? Object(_getRawTag_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value)
18700    : Object(_objectToString_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value);
18701}
18702
18703/* harmony default export */ __webpack_exports__["default"] = (baseGetTag);
18704
18705
18706/***/ }),
18707
vendor: 1,274 bytes, lines 18708-18740
18708/***/ "./node_modules/lodash-es/_baseIsArguments.js":
18709/*!****************************************************!*\
18710  !*** ./node_modules/lodash-es/_baseIsArguments.js ***!
18711  \****************************************************/
18712/*! exports provided: default */
18713/***/ (function(module, __webpack_exports__, __webpack_require__) {
18714
18715"use strict";
18716__webpack_require__.r(__webpack_exports__);
18717/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ "./node_modules/lodash-es/_baseGetTag.js");
18718/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ "./node_modules/lodash-es/isObjectLike.js");
18719
18720
18721
18722/** `Object#toString` result references. */
18723var argsTag = '[object Arguments]';
18724
18725/**
18726 * The base implementation of `_.isArguments`.
18727 *
18728 * @private
18729 * @param {*} value The value to check.
18730 * @returns {boolean} Returns `true` if `value` is an `arguments` object,
18731 */
18732function baseIsArguments(value) {
18733  return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value) == argsTag;
18734}
18735
18736/* harmony default export */ __webpack_exports__["default"] = (baseIsArguments);
18737
18738
18739/***/ }),
18740
vendor: 1,236 bytes, lines 18741-18773
18741/***/ "./node_modules/lodash-es/_baseIsMap.js":
18742/*!**********************************************!*\
18743  !*** ./node_modules/lodash-es/_baseIsMap.js ***!
18744  \**********************************************/
18745/*! exports provided: default */
18746/***/ (function(module, __webpack_exports__, __webpack_require__) {
18747
18748"use strict";
18749__webpack_require__.r(__webpack_exports__);
18750/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getTag.js */ "./node_modules/lodash-es/_getTag.js");
18751/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ "./node_modules/lodash-es/isObjectLike.js");
18752
18753
18754
18755/** `Object#toString` result references. */
18756var mapTag = '[object Map]';
18757
18758/**
18759 * The base implementation of `_.isMap` without Node.js optimizations.
18760 *
18761 * @private
18762 * @param {*} value The value to check.
18763 * @returns {boolean} Returns `true` if `value` is a map, else `false`.
18764 */
18765function baseIsMap(value) {
18766  return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value) && Object(_getTag_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value) == mapTag;
18767}
18768
18769/* harmony default export */ __webpack_exports__["default"] = (baseIsMap);
18770
18771
18772/***/ }),
18773
vendor: 2,520 bytes, lines 18774-18837
18774/***/ "./node_modules/lodash-es/_baseIsNative.js":
18775/*!*************************************************!*\
18776  !*** ./node_modules/lodash-es/_baseIsNative.js ***!
18777  \*************************************************/
18778/*! exports provided: default */
18779/***/ (function(module, __webpack_exports__, __webpack_require__) {
18780
18781"use strict";
18782__webpack_require__.r(__webpack_exports__);
18783/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isFunction.js */ "./node_modules/lodash-es/isFunction.js");
18784/* harmony import */ var _isMasked_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isMasked.js */ "./node_modules/lodash-es/_isMasked.js");
18785/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isObject.js */ "./node_modules/lodash-es/isObject.js");
18786/* harmony import */ var _toSource_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_toSource.js */ "./node_modules/lodash-es/_toSource.js");
18787
18788
18789
18790
18791
18792/**
18793 * Used to match `RegExp`
18794 * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
18795 */
18796var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
18797
18798/** Used to detect host constructors (Safari). */
18799var reIsHostCtor = /^\[object .+?Constructor\]$/;
18800
18801/** Used for built-in method references. */
18802var funcProto = Function.prototype,
18803    objectProto = Object.prototype;
18804
18805/** Used to resolve the decompiled source of functions. */
18806var funcToString = funcProto.toString;
18807
18808/** Used to check objects for own properties. */
18809var hasOwnProperty = objectProto.hasOwnProperty;
18810
18811/** Used to detect if a method is native. */
18812var reIsNative = RegExp('^' +
18813  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
18814  .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
18815);
18816
18817/**
18818 * The base implementation of `_.isNative` without bad shim checks.
18819 *
18820 * @private
18821 * @param {*} value The value to check.
18822 * @returns {boolean} Returns `true` if `value` is a native function,
18823 *  else `false`.
18824 */
18825function baseIsNative(value) {
18826  if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value) || Object(_isMasked_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value)) {
18827    return false;
18828  }
18829  var pattern = Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value) ? reIsNative : reIsHostCtor;
18830  return pattern.test(Object(_toSource_js__WEBPACK_IMPORTED_MODULE_3__["default"])(value));
18831}
18832
18833/* harmony default export */ __webpack_exports__["default"] = (baseIsNative);
18834
18835
18836/***/ }),
18837
vendor: 1,236 bytes, lines 18838-18870
18838/***/ "./node_modules/lodash-es/_baseIsSet.js":
18839/*!**********************************************!*\
18840  !*** ./node_modules/lodash-es/_baseIsSet.js ***!
18841  \**********************************************/
18842/*! exports provided: default */
18843/***/ (function(module, __webpack_exports__, __webpack_require__) {
18844
18845"use strict";
18846__webpack_require__.r(__webpack_exports__);
18847/* harmony import */ var _getTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getTag.js */ "./node_modules/lodash-es/_getTag.js");
18848/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ "./node_modules/lodash-es/isObjectLike.js");
18849
18850
18851
18852/** `Object#toString` result references. */
18853var setTag = '[object Set]';
18854
18855/**
18856 * The base implementation of `_.isSet` without Node.js optimizations.
18857 *
18858 * @private
18859 * @param {*} value The value to check.
18860 * @returns {boolean} Returns `true` if `value` is a set, else `false`.
18861 */
18862function baseIsSet(value) {
18863  return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value) && Object(_getTag_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value) == setTag;
18864}
18865
18866/* harmony default export */ __webpack_exports__["default"] = (baseIsSet);
18867
18868
18869/***/ }),
18870
vendor: 3,178 bytes, lines 18871-18946
18871/***/ "./node_modules/lodash-es/_baseIsTypedArray.js":
18872/*!*****************************************************!*\
18873  !*** ./node_modules/lodash-es/_baseIsTypedArray.js ***!
18874  \*****************************************************/
18875/*! exports provided: default */
18876/***/ (function(module, __webpack_exports__, __webpack_require__) {
18877
18878"use strict";
18879__webpack_require__.r(__webpack_exports__);
18880/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ "./node_modules/lodash-es/_baseGetTag.js");
18881/* harmony import */ var _isLength_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isLength.js */ "./node_modules/lodash-es/isLength.js");
18882/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isObjectLike.js */ "./node_modules/lodash-es/isObjectLike.js");
18883
18884
18885
18886
18887/** `Object#toString` result references. */
18888var argsTag = '[object Arguments]',
18889    arrayTag = '[object Array]',
18890    boolTag = '[object Boolean]',
18891    dateTag = '[object Date]',
18892    errorTag = '[object Error]',
18893    funcTag = '[object Function]',
18894    mapTag = '[object Map]',
18895    numberTag = '[object Number]',
18896    objectTag = '[object Object]',
18897    regexpTag = '[object RegExp]',
18898    setTag = '[object Set]',
18899    stringTag = '[object String]',
18900    weakMapTag = '[object WeakMap]';
18901
18902var arrayBufferTag = '[object ArrayBuffer]',
18903    dataViewTag = '[object DataView]',
18904    float32Tag = '[object Float32Array]',
18905    float64Tag = '[object Float64Array]',
18906    int8Tag = '[object Int8Array]',
18907    int16Tag = '[object Int16Array]',
18908    int32Tag = '[object Int32Array]',
18909    uint8Tag = '[object Uint8Array]',
18910    uint8ClampedTag = '[object Uint8ClampedArray]',
18911    uint16Tag = '[object Uint16Array]',
18912    uint32Tag = '[object Uint32Array]';
18913
18914/** Used to identify `toStringTag` values of typed arrays. */
18915var typedArrayTags = {};
18916typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
18917typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
18918typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
18919typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
18920typedArrayTags[uint32Tag] = true;
18921typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
18922typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
18923typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =
18924typedArrayTags[errorTag] = typedArrayTags[funcTag] =
18925typedArrayTags[mapTag] = typedArrayTags[numberTag] =
18926typedArrayTags[objectTag] = typedArrayTags[regexpTag] =
18927typedArrayTags[setTag] = typedArrayTags[stringTag] =
18928typedArrayTags[weakMapTag] = false;
18929
18930/**
18931 * The base implementation of `_.isTypedArray` without Node.js optimizations.
18932 *
18933 * @private
18934 * @param {*} value The value to check.
18935 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
18936 */
18937function baseIsTypedArray(value) {
18938  return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value) &&
18939    Object(_isLength_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value.length) && !!typedArrayTags[Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value)];
18940}
18941
18942/* harmony default export */ __webpack_exports__["default"] = (baseIsTypedArray);
18943
18944
18945/***/ }),
18946
vendor: 1,534 bytes, lines 18947-18991
18947/***/ "./node_modules/lodash-es/_baseKeys.js":
18948/*!*********************************************!*\
18949  !*** ./node_modules/lodash-es/_baseKeys.js ***!
18950  \*********************************************/
18951/*! exports provided: default */
18952/***/ (function(module, __webpack_exports__, __webpack_require__) {
18953
18954"use strict";
18955__webpack_require__.r(__webpack_exports__);
18956/* harmony import */ var _isPrototype_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isPrototype.js */ "./node_modules/lodash-es/_isPrototype.js");
18957/* harmony import */ var _nativeKeys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_nativeKeys.js */ "./node_modules/lodash-es/_nativeKeys.js");
18958
18959
18960
18961/** Used for built-in method references. */
18962var objectProto = Object.prototype;
18963
18964/** Used to check objects for own properties. */
18965var hasOwnProperty = objectProto.hasOwnProperty;
18966
18967/**
18968 * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
18969 *
18970 * @private
18971 * @param {Object} object The object to query.
18972 * @returns {Array} Returns the array of property names.
18973 */
18974function baseKeys(object) {
18975  if (!Object(_isPrototype_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object)) {
18976    return Object(_nativeKeys_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object);
18977  }
18978  var result = [];
18979  for (var key in Object(object)) {
18980    if (hasOwnProperty.call(object, key) && key != 'constructor') {
18981      result.push(key);
18982    }
18983  }
18984  return result;
18985}
18986
18987/* harmony default export */ __webpack_exports__["default"] = (baseKeys);
18988
18989
18990/***/ }),
18991
vendor: 1,804 bytes, lines 18992-19040
18992/***/ "./node_modules/lodash-es/_baseKeysIn.js":
18993/*!***********************************************!*\
18994  !*** ./node_modules/lodash-es/_baseKeysIn.js ***!
18995  \***********************************************/
18996/*! exports provided: default */
18997/***/ (function(module, __webpack_exports__, __webpack_require__) {
18998
18999"use strict";
19000__webpack_require__.r(__webpack_exports__);
19001/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isObject.js */ "./node_modules/lodash-es/isObject.js");
19002/* harmony import */ var _isPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isPrototype.js */ "./node_modules/lodash-es/_isPrototype.js");
19003/* harmony import */ var _nativeKeysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nativeKeysIn.js */ "./node_modules/lodash-es/_nativeKeysIn.js");
19004
19005
19006
19007
19008/** Used for built-in method references. */
19009var objectProto = Object.prototype;
19010
19011/** Used to check objects for own properties. */
19012var hasOwnProperty = objectProto.hasOwnProperty;
19013
19014/**
19015 * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
19016 *
19017 * @private
19018 * @param {Object} object The object to query.
19019 * @returns {Array} Returns the array of property names.
19020 */
19021function baseKeysIn(object) {
19022  if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object)) {
19023    return Object(_nativeKeysIn_js__WEBPACK_IMPORTED_MODULE_2__["default"])(object);
19024  }
19025  var isProto = Object(_isPrototype_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object),
19026      result = [];
19027
19028  for (var key in object) {
19029    if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
19030      result.push(key);
19031    }
19032  }
19033  return result;
19034}
19035
19036/* harmony default export */ __webpack_exports__["default"] = (baseKeysIn);
19037
19038
19039/***/ }),
19040
vendor: 927 bytes, lines 19041-19073
19041/***/ "./node_modules/lodash-es/_baseTimes.js":
19042/*!**********************************************!*\
19043  !*** ./node_modules/lodash-es/_baseTimes.js ***!
19044  \**********************************************/
19045/*! exports provided: default */
19046/***/ (function(module, __webpack_exports__, __webpack_require__) {
19047
19048"use strict";
19049__webpack_require__.r(__webpack_exports__);
19050/**
19051 * The base implementation of `_.times` without support for iteratee shorthands
19052 * or max array length checks.
19053 *
19054 * @private
19055 * @param {number} n The number of times to invoke `iteratee`.
19056 * @param {Function} iteratee The function invoked per iteration.
19057 * @returns {Array} Returns the array of results.
19058 */
19059function baseTimes(n, iteratee) {
19060  var index = -1,
19061      result = Array(n);
19062
19063  while (++index < n) {
19064    result[index] = iteratee(index);
19065  }
19066  return result;
19067}
19068
19069/* harmony default export */ __webpack_exports__["default"] = (baseTimes);
19070
19071
19072/***/ }),
19073
vendor: 2,288 bytes, lines 19074-19127
19074/***/ "./node_modules/lodash-es/_baseToString.js":
19075/*!*************************************************!*\
19076  !*** ./node_modules/lodash-es/_baseToString.js ***!
19077  \*************************************************/
19078/*! exports provided: default */
19079/***/ (function(module, __webpack_exports__, __webpack_require__) {
19080
19081"use strict";
19082__webpack_require__.r(__webpack_exports__);
19083/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ "./node_modules/lodash-es/_Symbol.js");
19084/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_arrayMap.js */ "./node_modules/lodash-es/_arrayMap.js");
19085/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ "./node_modules/lodash-es/isArray.js");
19086/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isSymbol.js */ "./node_modules/lodash-es/isSymbol.js");
19087
19088
19089
19090
19091
19092/** Used as references for various `Number` constants. */
19093var INFINITY = 1 / 0;
19094
19095/** Used to convert symbols to primitives and strings. */
19096var symbolProto = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"].prototype : undefined,
19097    symbolToString = symbolProto ? symbolProto.toString : undefined;
19098
19099/**
19100 * The base implementation of `_.toString` which doesn't convert nullish
19101 * values to empty strings.
19102 *
19103 * @private
19104 * @param {*} value The value to process.
19105 * @returns {string} Returns the string.
19106 */
19107function baseToString(value) {
19108  // Exit early for strings to avoid a performance hit in some environments.
19109  if (typeof value == 'string') {
19110    return value;
19111  }
19112  if (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value)) {
19113    // Recursively convert values (susceptible to call stack limits).
19114    return Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value, baseToString) + '';
19115  }
19116  if (Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_3__["default"])(value)) {
19117    return symbolToString ? symbolToString.call(value) : '';
19118  }
19119  var result = (value + '');
19120  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
19121}
19122
19123/* harmony default export */ __webpack_exports__["default"] = (baseToString);
19124
19125
19126/***/ }),
19127
vendor: 755 bytes, lines 19128-19154
19128/***/ "./node_modules/lodash-es/_baseUnary.js":
19129/*!**********************************************!*\
19130  !*** ./node_modules/lodash-es/_baseUnary.js ***!
19131  \**********************************************/
19132/*! exports provided: default */
19133/***/ (function(module, __webpack_exports__, __webpack_require__) {
19134
19135"use strict";
19136__webpack_require__.r(__webpack_exports__);
19137/**
19138 * The base implementation of `_.unary` without support for storing metadata.
19139 *
19140 * @private
19141 * @param {Function} func The function to cap arguments for.
19142 * @returns {Function} Returns the new capped function.
19143 */
19144function baseUnary(func) {
19145  return function(value) {
19146    return func(value);
19147  };
19148}
19149
19150/* harmony default export */ __webpack_exports__["default"] = (baseUnary);
19151
19152
19153/***/ }),
19154
vendor: 1,105 bytes, lines 19155-19184
19155/***/ "./node_modules/lodash-es/_cloneArrayBuffer.js":
19156/*!*****************************************************!*\
19157  !*** ./node_modules/lodash-es/_cloneArrayBuffer.js ***!
19158  \*****************************************************/
19159/*! exports provided: default */
19160/***/ (function(module, __webpack_exports__, __webpack_require__) {
19161
19162"use strict";
19163__webpack_require__.r(__webpack_exports__);
19164/* harmony import */ var _Uint8Array_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Uint8Array.js */ "./node_modules/lodash-es/_Uint8Array.js");
19165
19166
19167/**
19168 * Creates a clone of `arrayBuffer`.
19169 *
19170 * @private
19171 * @param {ArrayBuffer} arrayBuffer The array buffer to clone.
19172 * @returns {ArrayBuffer} Returns the cloned array buffer.
19173 */
19174function cloneArrayBuffer(arrayBuffer) {
19175  var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
19176  new _Uint8Array_js__WEBPACK_IMPORTED_MODULE_0__["default"](result).set(new _Uint8Array_js__WEBPACK_IMPORTED_MODULE_0__["default"](arrayBuffer));
19177  return result;
19178}
19179
19180/* harmony default export */ __webpack_exports__["default"] = (cloneArrayBuffer);
19181
19182
19183/***/ }),
19184
vendor: 1,856 bytes, lines 19185-19234
19185/***/ "./node_modules/lodash-es/_cloneBuffer.js":
19186/*!************************************************!*\
19187  !*** ./node_modules/lodash-es/_cloneBuffer.js ***!
19188  \************************************************/
19189/*! exports provided: default */
19190/***/ (function(module, __webpack_exports__, __webpack_require__) {
19191
19192"use strict";
19193__webpack_require__.r(__webpack_exports__);
19194/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js");
19195
19196
19197/** Detect free variable `exports`. */
19198var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
19199
19200/** Detect free variable `module`. */
19201var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
19202
19203/** Detect the popular CommonJS extension `module.exports`. */
19204var moduleExports = freeModule && freeModule.exports === freeExports;
19205
19206/** Built-in value references. */
19207var Buffer = moduleExports ? _root_js__WEBPACK_IMPORTED_MODULE_0__["default"].Buffer : undefined,
19208    allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;
19209
19210/**
19211 * Creates a clone of  `buffer`.
19212 *
19213 * @private
19214 * @param {Buffer} buffer The buffer to clone.
19215 * @param {boolean} [isDeep] Specify a deep clone.
19216 * @returns {Buffer} Returns the cloned buffer.
19217 */
19218function cloneBuffer(buffer, isDeep) {
19219  if (isDeep) {
19220    return buffer.slice();
19221  }
19222  var length = buffer.length,
19223      result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
19224
19225  buffer.copy(result);
19226  return result;
19227}
19228
19229/* harmony default export */ __webpack_exports__["default"] = (cloneBuffer);
19230
19231/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/harmony-module.js */ "./node_modules/webpack/buildin/harmony-module.js")(module)))
19232
19233/***/ }),
19234
vendor: 1,121 bytes, lines 19235-19264
19235/***/ "./node_modules/lodash-es/_cloneDataView.js":
19236/*!**************************************************!*\
19237  !*** ./node_modules/lodash-es/_cloneDataView.js ***!
19238  \**************************************************/
19239/*! exports provided: default */
19240/***/ (function(module, __webpack_exports__, __webpack_require__) {
19241
19242"use strict";
19243__webpack_require__.r(__webpack_exports__);
19244/* harmony import */ var _cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_cloneArrayBuffer.js */ "./node_modules/lodash-es/_cloneArrayBuffer.js");
19245
19246
19247/**
19248 * Creates a clone of `dataView`.
19249 *
19250 * @private
19251 * @param {Object} dataView The data view to clone.
19252 * @param {boolean} [isDeep] Specify a deep clone.
19253 * @returns {Object} Returns the cloned data view.
19254 */
19255function cloneDataView(dataView, isDeep) {
19256  var buffer = isDeep ? Object(_cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__["default"])(dataView.buffer) : dataView.buffer;
19257  return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
19258}
19259
19260/* harmony default export */ __webpack_exports__["default"] = (cloneDataView);
19261
19262
19263/***/ }),
19264
vendor: 870 bytes, lines 19265-19294
19265/***/ "./node_modules/lodash-es/_cloneRegExp.js":
19266/*!************************************************!*\
19267  !*** ./node_modules/lodash-es/_cloneRegExp.js ***!
19268  \************************************************/
19269/*! exports provided: default */
19270/***/ (function(module, __webpack_exports__, __webpack_require__) {
19271
19272"use strict";
19273__webpack_require__.r(__webpack_exports__);
19274/** Used to match `RegExp` flags from their coerced string values. */
19275var reFlags = /\w*$/;
19276
19277/**
19278 * Creates a clone of `regexp`.
19279 *
19280 * @private
19281 * @param {Object} regexp The regexp to clone.
19282 * @returns {Object} Returns the cloned regexp.
19283 */
19284function cloneRegExp(regexp) {
19285  var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
19286  result.lastIndex = regexp.lastIndex;
19287  return result;
19288}
19289
19290/* harmony default export */ __webpack_exports__["default"] = (cloneRegExp);
19291
19292
19293/***/ }),
19294
vendor: 1,156 bytes, lines 19295-19326
19295/***/ "./node_modules/lodash-es/_cloneSymbol.js":
19296/*!************************************************!*\
19297  !*** ./node_modules/lodash-es/_cloneSymbol.js ***!
19298  \************************************************/
19299/*! exports provided: default */
19300/***/ (function(module, __webpack_exports__, __webpack_require__) {
19301
19302"use strict";
19303__webpack_require__.r(__webpack_exports__);
19304/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ "./node_modules/lodash-es/_Symbol.js");
19305
19306
19307/** Used to convert symbols to primitives and strings. */
19308var symbolProto = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"].prototype : undefined,
19309    symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;
19310
19311/**
19312 * Creates a clone of the `symbol` object.
19313 *
19314 * @private
19315 * @param {Object} symbol The symbol object to clone.
19316 * @returns {Object} Returns the cloned symbol object.
19317 */
19318function cloneSymbol(symbol) {
19319  return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
19320}
19321
19322/* harmony default export */ __webpack_exports__["default"] = (cloneSymbol);
19323
19324
19325/***/ }),
19326
vendor: 1,149 bytes, lines 19327-19356
19327/***/ "./node_modules/lodash-es/_cloneTypedArray.js":
19328/*!****************************************************!*\
19329  !*** ./node_modules/lodash-es/_cloneTypedArray.js ***!
19330  \****************************************************/
19331/*! exports provided: default */
19332/***/ (function(module, __webpack_exports__, __webpack_require__) {
19333
19334"use strict";
19335__webpack_require__.r(__webpack_exports__);
19336/* harmony import */ var _cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_cloneArrayBuffer.js */ "./node_modules/lodash-es/_cloneArrayBuffer.js");
19337
19338
19339/**
19340 * Creates a clone of `typedArray`.
19341 *
19342 * @private
19343 * @param {Object} typedArray The typed array to clone.
19344 * @param {boolean} [isDeep] Specify a deep clone.
19345 * @returns {Object} Returns the cloned typed array.
19346 */
19347function cloneTypedArray(typedArray, isDeep) {
19348  var buffer = isDeep ? Object(_cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__["default"])(typedArray.buffer) : typedArray.buffer;
19349  return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
19350}
19351
19352/* harmony default export */ __webpack_exports__["default"] = (cloneTypedArray);
19353
19354
19355/***/ }),
19356
vendor: 877 bytes, lines 19357-19389
19357/***/ "./node_modules/lodash-es/_copyArray.js":
19358/*!**********************************************!*\
19359  !*** ./node_modules/lodash-es/_copyArray.js ***!
19360  \**********************************************/
19361/*! exports provided: default */
19362/***/ (function(module, __webpack_exports__, __webpack_require__) {
19363
19364"use strict";
19365__webpack_require__.r(__webpack_exports__);
19366/**
19367 * Copies the values of `source` to `array`.
19368 *
19369 * @private
19370 * @param {Array} source The array to copy values from.
19371 * @param {Array} [array=[]] The array to copy values to.
19372 * @returns {Array} Returns `array`.
19373 */
19374function copyArray(source, array) {
19375  var index = -1,
19376      length = source.length;
19377
19378  array || (array = Array(length));
19379  while (++index < length) {
19380    array[index] = source[index];
19381  }
19382  return array;
19383}
19384
19385/* harmony default export */ __webpack_exports__["default"] = (copyArray);
19386
19387
19388/***/ }),
19389
vendor: 1,815 bytes, lines 19390-19444
19390/***/ "./node_modules/lodash-es/_copyObject.js":
19391/*!***********************************************!*\
19392  !*** ./node_modules/lodash-es/_copyObject.js ***!
19393  \***********************************************/
19394/*! exports provided: default */
19395/***/ (function(module, __webpack_exports__, __webpack_require__) {
19396
19397"use strict";
19398__webpack_require__.r(__webpack_exports__);
19399/* harmony import */ var _assignValue_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assignValue.js */ "./node_modules/lodash-es/_assignValue.js");
19400/* harmony import */ var _baseAssignValue_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseAssignValue.js */ "./node_modules/lodash-es/_baseAssignValue.js");
19401
19402
19403
19404/**
19405 * Copies properties of `source` to `object`.
19406 *
19407 * @private
19408 * @param {Object} source The object to copy properties from.
19409 * @param {Array} props The property identifiers to copy.
19410 * @param {Object} [object={}] The object to copy properties to.
19411 * @param {Function} [customizer] The function to customize copied values.
19412 * @returns {Object} Returns `object`.
19413 */
19414function copyObject(source, props, object, customizer) {
19415  var isNew = !object;
19416  object || (object = {});
19417
19418  var index = -1,
19419      length = props.length;
19420
19421  while (++index < length) {
19422    var key = props[index];
19423
19424    var newValue = customizer
19425      ? customizer(object[key], source[key], key, object, source)
19426      : undefined;
19427
19428    if (newValue === undefined) {
19429      newValue = source[key];
19430    }
19431    if (isNew) {
19432      Object(_baseAssignValue_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object, key, newValue);
19433    } else {
19434      Object(_assignValue_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object, key, newValue);
19435    }
19436  }
19437  return object;
19438}
19439
19440/* harmony default export */ __webpack_exports__["default"] = (copyObject);
19441
19442
19443/***/ }),
19444
vendor: 1,215 bytes, lines 19445-19475
19445/***/ "./node_modules/lodash-es/_copySymbols.js":
19446/*!************************************************!*\
19447  !*** ./node_modules/lodash-es/_copySymbols.js ***!
19448  \************************************************/
19449/*! exports provided: default */
19450/***/ (function(module, __webpack_exports__, __webpack_require__) {
19451
19452"use strict";
19453__webpack_require__.r(__webpack_exports__);
19454/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ "./node_modules/lodash-es/_copyObject.js");
19455/* harmony import */ var _getSymbols_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getSymbols.js */ "./node_modules/lodash-es/_getSymbols.js");
19456
19457
19458
19459/**
19460 * Copies own symbols of `source` to `object`.
19461 *
19462 * @private
19463 * @param {Object} source The object to copy symbols from.
19464 * @param {Object} [object={}] The object to copy symbols to.
19465 * @returns {Object} Returns `object`.
19466 */
19467function copySymbols(source, object) {
19468  return Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(source, Object(_getSymbols_js__WEBPACK_IMPORTED_MODULE_1__["default"])(source), object);
19469}
19470
19471/* harmony default export */ __webpack_exports__["default"] = (copySymbols);
19472
19473
19474/***/ }),
19475
vendor: 1,249 bytes, lines 19476-19506
19476/***/ "./node_modules/lodash-es/_copySymbolsIn.js":
19477/*!**************************************************!*\
19478  !*** ./node_modules/lodash-es/_copySymbolsIn.js ***!
19479  \**************************************************/
19480/*! exports provided: default */
19481/***/ (function(module, __webpack_exports__, __webpack_require__) {
19482
19483"use strict";
19484__webpack_require__.r(__webpack_exports__);
19485/* harmony import */ var _copyObject_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_copyObject.js */ "./node_modules/lodash-es/_copyObject.js");
19486/* harmony import */ var _getSymbolsIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getSymbolsIn.js */ "./node_modules/lodash-es/_getSymbolsIn.js");
19487
19488
19489
19490/**
19491 * Copies own and inherited symbols of `source` to `object`.
19492 *
19493 * @private
19494 * @param {Object} source The object to copy symbols from.
19495 * @param {Object} [object={}] The object to copy symbols to.
19496 * @returns {Object} Returns `object`.
19497 */
19498function copySymbolsIn(source, object) {
19499  return Object(_copyObject_js__WEBPACK_IMPORTED_MODULE_0__["default"])(source, Object(_getSymbolsIn_js__WEBPACK_IMPORTED_MODULE_1__["default"])(source), object);
19500}
19501
19502/* harmony default export */ __webpack_exports__["default"] = (copySymbolsIn);
19503
19504
19505/***/ }),
19506
vendor: 739 bytes, lines 19507-19526
19507/***/ "./node_modules/lodash-es/_coreJsData.js":
19508/*!***********************************************!*\
19509  !*** ./node_modules/lodash-es/_coreJsData.js ***!
19510  \***********************************************/
19511/*! exports provided: default */
19512/***/ (function(module, __webpack_exports__, __webpack_require__) {
19513
19514"use strict";
19515__webpack_require__.r(__webpack_exports__);
19516/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js");
19517
19518
19519/** Used to detect overreaching core-js shims. */
19520var coreJsData = _root_js__WEBPACK_IMPORTED_MODULE_0__["default"]['__core-js_shared__'];
19521
19522/* harmony default export */ __webpack_exports__["default"] = (coreJsData);
19523
19524
19525/***/ }),
19526
vendor: 844 bytes, lines 19527-19551
19527/***/ "./node_modules/lodash-es/_defineProperty.js":
19528/*!***************************************************!*\
19529  !*** ./node_modules/lodash-es/_defineProperty.js ***!
19530  \***************************************************/
19531/*! exports provided: default */
19532/***/ (function(module, __webpack_exports__, __webpack_require__) {
19533
19534"use strict";
19535__webpack_require__.r(__webpack_exports__);
19536/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ "./node_modules/lodash-es/_getNative.js");
19537
19538
19539var defineProperty = (function() {
19540  try {
19541    var func = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Object, 'defineProperty');
19542    func({}, '', {});
19543    return func;
19544  } catch (e) {}
19545}());
19546
19547/* harmony default export */ __webpack_exports__["default"] = (defineProperty);
19548
19549
19550/***/ }),
19551
vendor: 790 bytes, lines 19552-19569
19552/***/ "./node_modules/lodash-es/_freeGlobal.js":
19553/*!***********************************************!*\
19554  !*** ./node_modules/lodash-es/_freeGlobal.js ***!
19555  \***********************************************/
19556/*! exports provided: default */
19557/***/ (function(module, __webpack_exports__, __webpack_require__) {
19558
19559"use strict";
19560__webpack_require__.r(__webpack_exports__);
19561/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */
19562var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
19563
19564/* harmony default export */ __webpack_exports__["default"] = (freeGlobal);
19565
19566/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js")))
19567
19568/***/ }),
19569
vendor: 1,370 bytes, lines 19570-19601
19570/***/ "./node_modules/lodash-es/_getAllKeys.js":
19571/*!***********************************************!*\
19572  !*** ./node_modules/lodash-es/_getAllKeys.js ***!
19573  \***********************************************/
19574/*! exports provided: default */
19575/***/ (function(module, __webpack_exports__, __webpack_require__) {
19576
19577"use strict";
19578__webpack_require__.r(__webpack_exports__);
19579/* harmony import */ var _baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetAllKeys.js */ "./node_modules/lodash-es/_baseGetAllKeys.js");
19580/* harmony import */ var _getSymbols_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getSymbols.js */ "./node_modules/lodash-es/_getSymbols.js");
19581/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keys.js */ "./node_modules/lodash-es/keys.js");
19582
19583
19584
19585
19586/**
19587 * Creates an array of own enumerable property names and symbols of `object`.
19588 *
19589 * @private
19590 * @param {Object} object The object to query.
19591 * @returns {Array} Returns the array of property names and symbols.
19592 */
19593function getAllKeys(object) {
19594  return Object(_baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object, _keys_js__WEBPACK_IMPORTED_MODULE_2__["default"], _getSymbols_js__WEBPACK_IMPORTED_MODULE_1__["default"]);
19595}
19596
19597/* harmony default export */ __webpack_exports__["default"] = (getAllKeys);
19598
19599
19600/***/ }),
19601
vendor: 1,415 bytes, lines 19602-19634
19602/***/ "./node_modules/lodash-es/_getAllKeysIn.js":
19603/*!*************************************************!*\
19604  !*** ./node_modules/lodash-es/_getAllKeysIn.js ***!
19605  \*************************************************/
19606/*! exports provided: default */
19607/***/ (function(module, __webpack_exports__, __webpack_require__) {
19608
19609"use strict";
19610__webpack_require__.r(__webpack_exports__);
19611/* harmony import */ var _baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetAllKeys.js */ "./node_modules/lodash-es/_baseGetAllKeys.js");
19612/* harmony import */ var _getSymbolsIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getSymbolsIn.js */ "./node_modules/lodash-es/_getSymbolsIn.js");
19613/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keysIn.js */ "./node_modules/lodash-es/keysIn.js");
19614
19615
19616
19617
19618/**
19619 * Creates an array of own and inherited enumerable property names and
19620 * symbols of `object`.
19621 *
19622 * @private
19623 * @param {Object} object The object to query.
19624 * @returns {Array} Returns the array of property names and symbols.
19625 */
19626function getAllKeysIn(object) {
19627  return Object(_baseGetAllKeys_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object, _keysIn_js__WEBPACK_IMPORTED_MODULE_2__["default"], _getSymbolsIn_js__WEBPACK_IMPORTED_MODULE_1__["default"]);
19628}
19629
19630/* harmony default export */ __webpack_exports__["default"] = (getAllKeysIn);
19631
19632
19633/***/ }),
19634
vendor: 995 bytes, lines 19635-19666
19635/***/ "./node_modules/lodash-es/_getMapData.js":
19636/*!***********************************************!*\
19637  !*** ./node_modules/lodash-es/_getMapData.js ***!
19638  \***********************************************/
19639/*! exports provided: default */
19640/***/ (function(module, __webpack_exports__, __webpack_require__) {
19641
19642"use strict";
19643__webpack_require__.r(__webpack_exports__);
19644/* harmony import */ var _isKeyable_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isKeyable.js */ "./node_modules/lodash-es/_isKeyable.js");
19645
19646
19647/**
19648 * Gets the data for `map`.
19649 *
19650 * @private
19651 * @param {Object} map The map to query.
19652 * @param {string} key The reference key.
19653 * @returns {*} Returns the map data.
19654 */
19655function getMapData(map, key) {
19656  var data = map.__data__;
19657  return Object(_isKeyable_js__WEBPACK_IMPORTED_MODULE_0__["default"])(key)
19658    ? data[typeof key == 'string' ? 'string' : 'hash']
19659    : data.map;
19660}
19661
19662/* harmony default export */ __webpack_exports__["default"] = (getMapData);
19663
19664
19665/***/ }),
19666
vendor: 1,244 bytes, lines 19667-19698
19667/***/ "./node_modules/lodash-es/_getNative.js":
19668/*!**********************************************!*\
19669  !*** ./node_modules/lodash-es/_getNative.js ***!
19670  \**********************************************/
19671/*! exports provided: default */
19672/***/ (function(module, __webpack_exports__, __webpack_require__) {
19673
19674"use strict";
19675__webpack_require__.r(__webpack_exports__);
19676/* harmony import */ var _baseIsNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsNative.js */ "./node_modules/lodash-es/_baseIsNative.js");
19677/* harmony import */ var _getValue_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getValue.js */ "./node_modules/lodash-es/_getValue.js");
19678
19679
19680
19681/**
19682 * Gets the native function at `key` of `object`.
19683 *
19684 * @private
19685 * @param {Object} object The object to query.
19686 * @param {string} key The key of the method to get.
19687 * @returns {*} Returns the function if it's native, else `undefined`.
19688 */
19689function getNative(object, key) {
19690  var value = Object(_getValue_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object, key);
19691  return Object(_baseIsNative_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value) ? value : undefined;
19692}
19693
19694/* harmony default export */ __webpack_exports__["default"] = (getNative);
19695
19696
19697/***/ }),
19698
vendor: 764 bytes, lines 19699-19718
19699/***/ "./node_modules/lodash-es/_getPrototype.js":
19700/*!*************************************************!*\
19701  !*** ./node_modules/lodash-es/_getPrototype.js ***!
19702  \*************************************************/
19703/*! exports provided: default */
19704/***/ (function(module, __webpack_exports__, __webpack_require__) {
19705
19706"use strict";
19707__webpack_require__.r(__webpack_exports__);
19708/* harmony import */ var _overArg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_overArg.js */ "./node_modules/lodash-es/_overArg.js");
19709
19710
19711/** Built-in value references. */
19712var getPrototype = Object(_overArg_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Object.getPrototypeOf, Object);
19713
19714/* harmony default export */ __webpack_exports__["default"] = (getPrototype);
19715
19716
19717/***/ }),
19718
vendor: 1,763 bytes, lines 19719-19778
19719/***/ "./node_modules/lodash-es/_getRawTag.js":
19720/*!**********************************************!*\
19721  !*** ./node_modules/lodash-es/_getRawTag.js ***!
19722  \**********************************************/
19723/*! exports provided: default */
19724/***/ (function(module, __webpack_exports__, __webpack_require__) {
19725
19726"use strict";
19727__webpack_require__.r(__webpack_exports__);
19728/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ "./node_modules/lodash-es/_Symbol.js");
19729
19730
19731/** Used for built-in method references. */
19732var objectProto = Object.prototype;
19733
19734/** Used to check objects for own properties. */
19735var hasOwnProperty = objectProto.hasOwnProperty;
19736
19737/**
19738 * Used to resolve the
19739 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
19740 * of values.
19741 */
19742var nativeObjectToString = objectProto.toString;
19743
19744/** Built-in value references. */
19745var symToStringTag = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"].toStringTag : undefined;
19746
19747/**
19748 * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
19749 *
19750 * @private
19751 * @param {*} value The value to query.
19752 * @returns {string} Returns the raw `toStringTag`.
19753 */
19754function getRawTag(value) {
19755  var isOwn = hasOwnProperty.call(value, symToStringTag),
19756      tag = value[symToStringTag];
19757
19758  try {
19759    value[symToStringTag] = undefined;
19760    var unmasked = true;
19761  } catch (e) {}
19762
19763  var result = nativeObjectToString.call(value);
19764  if (unmasked) {
19765    if (isOwn) {
19766      value[symToStringTag] = tag;
19767    } else {
19768      delete value[symToStringTag];
19769    }
19770  }
19771  return result;
19772}
19773
19774/* harmony default export */ __webpack_exports__["default"] = (getRawTag);
19775
19776
19777/***/ }),
19778
vendor: 1,642 bytes, lines 19779-19823
19779/***/ "./node_modules/lodash-es/_getSymbols.js":
19780/*!***********************************************!*\
19781  !*** ./node_modules/lodash-es/_getSymbols.js ***!
19782  \***********************************************/
19783/*! exports provided: default */
19784/***/ (function(module, __webpack_exports__, __webpack_require__) {
19785
19786"use strict";
19787__webpack_require__.r(__webpack_exports__);
19788/* harmony import */ var _arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayFilter.js */ "./node_modules/lodash-es/_arrayFilter.js");
19789/* harmony import */ var _stubArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./stubArray.js */ "./node_modules/lodash-es/stubArray.js");
19790
19791
19792
19793/** Used for built-in method references. */
19794var objectProto = Object.prototype;
19795
19796/** Built-in value references. */
19797var propertyIsEnumerable = objectProto.propertyIsEnumerable;
19798
19799/* Built-in method references for those with the same name as other `lodash` methods. */
19800var nativeGetSymbols = Object.getOwnPropertySymbols;
19801
19802/**
19803 * Creates an array of the own enumerable symbols of `object`.
19804 *
19805 * @private
19806 * @param {Object} object The object to query.
19807 * @returns {Array} Returns the array of symbols.
19808 */
19809var getSymbols = !nativeGetSymbols ? _stubArray_js__WEBPACK_IMPORTED_MODULE_1__["default"] : function(object) {
19810  if (object == null) {
19811    return [];
19812  }
19813  object = Object(object);
19814  return Object(_arrayFilter_js__WEBPACK_IMPORTED_MODULE_0__["default"])(nativeGetSymbols(object), function(symbol) {
19815    return propertyIsEnumerable.call(object, symbol);
19816  });
19817};
19818
19819/* harmony default export */ __webpack_exports__["default"] = (getSymbols);
19820
19821
19822/***/ }),
19823
vendor: 1,856 bytes, lines 19824-19865
19824/***/ "./node_modules/lodash-es/_getSymbolsIn.js":
19825/*!*************************************************!*\
19826  !*** ./node_modules/lodash-es/_getSymbolsIn.js ***!
19827  \*************************************************/
19828/*! exports provided: default */
19829/***/ (function(module, __webpack_exports__, __webpack_require__) {
19830
19831"use strict";
19832__webpack_require__.r(__webpack_exports__);
19833/* harmony import */ var _arrayPush_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayPush.js */ "./node_modules/lodash-es/_arrayPush.js");
19834/* harmony import */ var _getPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getPrototype.js */ "./node_modules/lodash-es/_getPrototype.js");
19835/* harmony import */ var _getSymbols_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_getSymbols.js */ "./node_modules/lodash-es/_getSymbols.js");
19836/* harmony import */ var _stubArray_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./stubArray.js */ "./node_modules/lodash-es/stubArray.js");
19837
19838
19839
19840
19841
19842/* Built-in method references for those with the same name as other `lodash` methods. */
19843var nativeGetSymbols = Object.getOwnPropertySymbols;
19844
19845/**
19846 * Creates an array of the own and inherited enumerable symbols of `object`.
19847 *
19848 * @private
19849 * @param {Object} object The object to query.
19850 * @returns {Array} Returns the array of symbols.
19851 */
19852var getSymbolsIn = !nativeGetSymbols ? _stubArray_js__WEBPACK_IMPORTED_MODULE_3__["default"] : function(object) {
19853  var result = [];
19854  while (object) {
19855    Object(_arrayPush_js__WEBPACK_IMPORTED_MODULE_0__["default"])(result, Object(_getSymbols_js__WEBPACK_IMPORTED_MODULE_2__["default"])(object));
19856    object = Object(_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object);
19857  }
19858  return result;
19859};
19860
19861/* harmony default export */ __webpack_exports__["default"] = (getSymbolsIn);
19862
19863
19864/***/ }),
19865
vendor: 4,112 bytes, lines 19866-19943
19866/***/ "./node_modules/lodash-es/_getTag.js":
19867/*!*******************************************!*\
19868  !*** ./node_modules/lodash-es/_getTag.js ***!
19869  \*******************************************/
19870/*! exports provided: default */
19871/***/ (function(module, __webpack_exports__, __webpack_require__) {
19872
19873"use strict";
19874__webpack_require__.r(__webpack_exports__);
19875/* harmony import */ var _DataView_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_DataView.js */ "./node_modules/lodash-es/_DataView.js");
19876/* harmony import */ var _Map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_Map.js */ "./node_modules/lodash-es/_Map.js");
19877/* harmony import */ var _Promise_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_Promise.js */ "./node_modules/lodash-es/_Promise.js");
19878/* harmony import */ var _Set_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_Set.js */ "./node_modules/lodash-es/_Set.js");
19879/* harmony import */ var _WeakMap_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_WeakMap.js */ "./node_modules/lodash-es/_WeakMap.js");
19880/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_baseGetTag.js */ "./node_modules/lodash-es/_baseGetTag.js");
19881/* harmony import */ var _toSource_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./_toSource.js */ "./node_modules/lodash-es/_toSource.js");
19882
19883
19884
19885
19886
19887
19888
19889
19890/** `Object#toString` result references. */
19891var mapTag = '[object Map]',
19892    objectTag = '[object Object]',
19893    promiseTag = '[object Promise]',
19894    setTag = '[object Set]',
19895    weakMapTag = '[object WeakMap]';
19896
19897var dataViewTag = '[object DataView]';
19898
19899/** Used to detect maps, sets, and weakmaps. */
19900var dataViewCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_DataView_js__WEBPACK_IMPORTED_MODULE_0__["default"]),
19901    mapCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_Map_js__WEBPACK_IMPORTED_MODULE_1__["default"]),
19902    promiseCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_Promise_js__WEBPACK_IMPORTED_MODULE_2__["default"]),
19903    setCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_Set_js__WEBPACK_IMPORTED_MODULE_3__["default"]),
19904    weakMapCtorString = Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__["default"])(_WeakMap_js__WEBPACK_IMPORTED_MODULE_4__["default"]);
19905
19906/**
19907 * Gets the `toStringTag` of `value`.
19908 *
19909 * @private
19910 * @param {*} value The value to query.
19911 * @returns {string} Returns the `toStringTag`.
19912 */
19913var getTag = _baseGetTag_js__WEBPACK_IMPORTED_MODULE_5__["default"];
19914
19915// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
19916if ((_DataView_js__WEBPACK_IMPORTED_MODULE_0__["default"] && getTag(new _DataView_js__WEBPACK_IMPORTED_MODULE_0__["default"](new ArrayBuffer(1))) != dataViewTag) ||
19917    (_Map_js__WEBPACK_IMPORTED_MODULE_1__["default"] && getTag(new _Map_js__WEBPACK_IMPORTED_MODULE_1__["default"]) != mapTag) ||
19918    (_Promise_js__WEBPACK_IMPORTED_MODULE_2__["default"] && getTag(_Promise_js__WEBPACK_IMPORTED_MODULE_2__["default"].resolve()) != promiseTag) ||
19919    (_Set_js__WEBPACK_IMPORTED_MODULE_3__["default"] && getTag(new _Set_js__WEBPACK_IMPORTED_MODULE_3__["default"]) != setTag) ||
19920    (_WeakMap_js__WEBPACK_IMPORTED_MODULE_4__["default"] && getTag(new _WeakMap_js__WEBPACK_IMPORTED_MODULE_4__["default"]) != weakMapTag)) {
19921  getTag = function(value) {
19922    var result = Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_5__["default"])(value),
19923        Ctor = result == objectTag ? value.constructor : undefined,
19924        ctorString = Ctor ? Object(_toSource_js__WEBPACK_IMPORTED_MODULE_6__["default"])(Ctor) : '';
19925
19926    if (ctorString) {
19927      switch (ctorString) {
19928        case dataViewCtorString: return dataViewTag;
19929        case mapCtorString: return mapTag;
19930        case promiseCtorString: return promiseTag;
19931        case setCtorString: return setTag;
19932        case weakMapCtorString: return weakMapTag;
19933      }
19934    }
19935    return result;
19936  };
19937}
19938
19939/* harmony default export */ __webpack_exports__["default"] = (getTag);
19940
19941
19942/***/ }),
19943
vendor: 744 bytes, lines 19944-19969
19944/***/ "./node_modules/lodash-es/_getValue.js":
19945/*!*********************************************!*\
19946  !*** ./node_modules/lodash-es/_getValue.js ***!
19947  \*********************************************/
19948/*! exports provided: default */
19949/***/ (function(module, __webpack_exports__, __webpack_require__) {
19950
19951"use strict";
19952__webpack_require__.r(__webpack_exports__);
19953/**
19954 * Gets the value at `key` of `object`.
19955 *
19956 * @private
19957 * @param {Object} [object] The object to query.
19958 * @param {string} key The key of the property to get.
19959 * @returns {*} Returns the property value.
19960 */
19961function getValue(object, key) {
19962  return object == null ? undefined : object[key];
19963}
19964
19965/* harmony default export */ __webpack_exports__["default"] = (getValue);
19966
19967
19968/***/ }),
19969
vendor: 919 bytes, lines 19970-19998
19970/***/ "./node_modules/lodash-es/_hashClear.js":
19971/*!**********************************************!*\
19972  !*** ./node_modules/lodash-es/_hashClear.js ***!
19973  \**********************************************/
19974/*! exports provided: default */
19975/***/ (function(module, __webpack_exports__, __webpack_require__) {
19976
19977"use strict";
19978__webpack_require__.r(__webpack_exports__);
19979/* harmony import */ var _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_nativeCreate.js */ "./node_modules/lodash-es/_nativeCreate.js");
19980
19981
19982/**
19983 * Removes all key-value entries from the hash.
19984 *
19985 * @private
19986 * @name clear
19987 * @memberOf Hash
19988 */
19989function hashClear() {
19990  this.__data__ = _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? Object(_nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__["default"])(null) : {};
19991  this.size = 0;
19992}
19993
19994/* harmony default export */ __webpack_exports__["default"] = (hashClear);
19995
19996
19997/***/ }),
19998
vendor: 872 bytes, lines 19999-20028
19999/***/ "./node_modules/lodash-es/_hashDelete.js":
20000/*!***********************************************!*\
20001  !*** ./node_modules/lodash-es/_hashDelete.js ***!
20002  \***********************************************/
20003/*! exports provided: default */
20004/***/ (function(module, __webpack_exports__, __webpack_require__) {
20005
20006"use strict";
20007__webpack_require__.r(__webpack_exports__);
20008/**
20009 * Removes `key` and its value from the hash.
20010 *
20011 * @private
20012 * @name delete
20013 * @memberOf Hash
20014 * @param {Object} hash The hash to modify.
20015 * @param {string} key The key of the value to remove.
20016 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
20017 */
20018function hashDelete(key) {
20019  var result = this.has(key) && delete this.__data__[key];
20020  this.size -= result ? 1 : 0;
20021  return result;
20022}
20023
20024/* harmony default export */ __webpack_exports__["default"] = (hashDelete);
20025
20026
20027/***/ }),
20028
vendor: 1,350 bytes, lines 20029-20072
20029/***/ "./node_modules/lodash-es/_hashGet.js":
20030/*!********************************************!*\
20031  !*** ./node_modules/lodash-es/_hashGet.js ***!
20032  \********************************************/
20033/*! exports provided: default */
20034/***/ (function(module, __webpack_exports__, __webpack_require__) {
20035
20036"use strict";
20037__webpack_require__.r(__webpack_exports__);
20038/* harmony import */ var _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_nativeCreate.js */ "./node_modules/lodash-es/_nativeCreate.js");
20039
20040
20041/** Used to stand-in for `undefined` hash values. */
20042var HASH_UNDEFINED = '__lodash_hash_undefined__';
20043
20044/** Used for built-in method references. */
20045var objectProto = Object.prototype;
20046
20047/** Used to check objects for own properties. */
20048var hasOwnProperty = objectProto.hasOwnProperty;
20049
20050/**
20051 * Gets the hash value for `key`.
20052 *
20053 * @private
20054 * @name get
20055 * @memberOf Hash
20056 * @param {string} key The key of the value to get.
20057 * @returns {*} Returns the entry value.
20058 */
20059function hashGet(key) {
20060  var data = this.__data__;
20061  if (_nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__["default"]) {
20062    var result = data[key];
20063    return result === HASH_UNDEFINED ? undefined : result;
20064  }
20065  return hasOwnProperty.call(data, key) ? data[key] : undefined;
20066}
20067
20068/* harmony default export */ __webpack_exports__["default"] = (hashGet);
20069
20070
20071/***/ }),
20072
vendor: 1,204 bytes, lines 20073-20109
20073/***/ "./node_modules/lodash-es/_hashHas.js":
20074/*!********************************************!*\
20075  !*** ./node_modules/lodash-es/_hashHas.js ***!
20076  \********************************************/
20077/*! exports provided: default */
20078/***/ (function(module, __webpack_exports__, __webpack_require__) {
20079
20080"use strict";
20081__webpack_require__.r(__webpack_exports__);
20082/* harmony import */ var _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_nativeCreate.js */ "./node_modules/lodash-es/_nativeCreate.js");
20083
20084
20085/** Used for built-in method references. */
20086var objectProto = Object.prototype;
20087
20088/** Used to check objects for own properties. */
20089var hasOwnProperty = objectProto.hasOwnProperty;
20090
20091/**
20092 * Checks if a hash value for `key` exists.
20093 *
20094 * @private
20095 * @name has
20096 * @memberOf Hash
20097 * @param {string} key The key of the entry to check.
20098 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
20099 */
20100function hashHas(key) {
20101  var data = this.__data__;
20102  return _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? (data[key] !== undefined) : hasOwnProperty.call(data, key);
20103}
20104
20105/* harmony default export */ __webpack_exports__["default"] = (hashHas);
20106
20107
20108/***/ }),
20109
vendor: 1,176 bytes, lines 20110-20146
20110/***/ "./node_modules/lodash-es/_hashSet.js":
20111/*!********************************************!*\
20112  !*** ./node_modules/lodash-es/_hashSet.js ***!
20113  \********************************************/
20114/*! exports provided: default */
20115/***/ (function(module, __webpack_exports__, __webpack_require__) {
20116
20117"use strict";
20118__webpack_require__.r(__webpack_exports__);
20119/* harmony import */ var _nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_nativeCreate.js */ "./node_modules/lodash-es/_nativeCreate.js");
20120
20121
20122/** Used to stand-in for `undefined` hash values. */
20123var HASH_UNDEFINED = '__lodash_hash_undefined__';
20124
20125/**
20126 * Sets the hash `key` to `value`.
20127 *
20128 * @private
20129 * @name set
20130 * @memberOf Hash
20131 * @param {string} key The key of the value to set.
20132 * @param {*} value The value to set.
20133 * @returns {Object} Returns the hash instance.
20134 */
20135function hashSet(key, value) {
20136  var data = this.__data__;
20137  this.size += this.has(key) ? 0 : 1;
20138  data[key] = (_nativeCreate_js__WEBPACK_IMPORTED_MODULE_0__["default"] && value === undefined) ? HASH_UNDEFINED : value;
20139  return this;
20140}
20141
20142/* harmony default export */ __webpack_exports__["default"] = (hashSet);
20143
20144
20145/***/ }),
20146
vendor: 1,135 bytes, lines 20147-20185
20147/***/ "./node_modules/lodash-es/_initCloneArray.js":
20148/*!***************************************************!*\
20149  !*** ./node_modules/lodash-es/_initCloneArray.js ***!
20150  \***************************************************/
20151/*! exports provided: default */
20152/***/ (function(module, __webpack_exports__, __webpack_require__) {
20153
20154"use strict";
20155__webpack_require__.r(__webpack_exports__);
20156/** Used for built-in method references. */
20157var objectProto = Object.prototype;
20158
20159/** Used to check objects for own properties. */
20160var hasOwnProperty = objectProto.hasOwnProperty;
20161
20162/**
20163 * Initializes an array clone.
20164 *
20165 * @private
20166 * @param {Array} array The array to clone.
20167 * @returns {Array} Returns the initialized clone.
20168 */
20169function initCloneArray(array) {
20170  var length = array.length,
20171      result = new array.constructor(length);
20172
20173  // Add properties assigned by `RegExp#exec`.
20174  if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
20175    result.index = array.index;
20176    result.input = array.input;
20177  }
20178  return result;
20179}
20180
20181/* harmony default export */ __webpack_exports__["default"] = (initCloneArray);
20182
20183
20184/***/ }),
20185
vendor: 3,565 bytes, lines 20186-20280
20186/***/ "./node_modules/lodash-es/_initCloneByTag.js":
20187/*!***************************************************!*\
20188  !*** ./node_modules/lodash-es/_initCloneByTag.js ***!
20189  \***************************************************/
20190/*! exports provided: default */
20191/***/ (function(module, __webpack_exports__, __webpack_require__) {
20192
20193"use strict";
20194__webpack_require__.r(__webpack_exports__);
20195/* harmony import */ var _cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_cloneArrayBuffer.js */ "./node_modules/lodash-es/_cloneArrayBuffer.js");
20196/* harmony import */ var _cloneDataView_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_cloneDataView.js */ "./node_modules/lodash-es/_cloneDataView.js");
20197/* harmony import */ var _cloneRegExp_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_cloneRegExp.js */ "./node_modules/lodash-es/_cloneRegExp.js");
20198/* harmony import */ var _cloneSymbol_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_cloneSymbol.js */ "./node_modules/lodash-es/_cloneSymbol.js");
20199/* harmony import */ var _cloneTypedArray_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_cloneTypedArray.js */ "./node_modules/lodash-es/_cloneTypedArray.js");
20200
20201
20202
20203
20204
20205
20206/** `Object#toString` result references. */
20207var boolTag = '[object Boolean]',
20208    dateTag = '[object Date]',
20209    mapTag = '[object Map]',
20210    numberTag = '[object Number]',
20211    regexpTag = '[object RegExp]',
20212    setTag = '[object Set]',
20213    stringTag = '[object String]',
20214    symbolTag = '[object Symbol]';
20215
20216var arrayBufferTag = '[object ArrayBuffer]',
20217    dataViewTag = '[object DataView]',
20218    float32Tag = '[object Float32Array]',
20219    float64Tag = '[object Float64Array]',
20220    int8Tag = '[object Int8Array]',
20221    int16Tag = '[object Int16Array]',
20222    int32Tag = '[object Int32Array]',
20223    uint8Tag = '[object Uint8Array]',
20224    uint8ClampedTag = '[object Uint8ClampedArray]',
20225    uint16Tag = '[object Uint16Array]',
20226    uint32Tag = '[object Uint32Array]';
20227
20228/**
20229 * Initializes an object clone based on its `toStringTag`.
20230 *
20231 * **Note:** This function only supports cloning values with tags of
20232 * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.
20233 *
20234 * @private
20235 * @param {Object} object The object to clone.
20236 * @param {string} tag The `toStringTag` of the object to clone.
20237 * @param {boolean} [isDeep] Specify a deep clone.
20238 * @returns {Object} Returns the initialized clone.
20239 */
20240function initCloneByTag(object, tag, isDeep) {
20241  var Ctor = object.constructor;
20242  switch (tag) {
20243    case arrayBufferTag:
20244      return Object(_cloneArrayBuffer_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object);
20245
20246    case boolTag:
20247    case dateTag:
20248      return new Ctor(+object);
20249
20250    case dataViewTag:
20251      return Object(_cloneDataView_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object, isDeep);
20252
20253    case float32Tag: case float64Tag:
20254    case int8Tag: case int16Tag: case int32Tag:
20255    case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:
20256      return Object(_cloneTypedArray_js__WEBPACK_IMPORTED_MODULE_4__["default"])(object, isDeep);
20257
20258    case mapTag:
20259      return new Ctor;
20260
20261    case numberTag:
20262    case stringTag:
20263      return new Ctor(object);
20264
20265    case regexpTag:
20266      return Object(_cloneRegExp_js__WEBPACK_IMPORTED_MODULE_2__["default"])(object);
20267
20268    case setTag:
20269      return new Ctor;
20270
20271    case symbolTag:
20272      return Object(_cloneSymbol_js__WEBPACK_IMPORTED_MODULE_3__["default"])(object);
20273  }
20274}
20275
20276/* harmony default export */ __webpack_exports__["default"] = (initCloneByTag);
20277
20278
20279/***/ }),
20280
vendor: 1,443 bytes, lines 20281-20314
20281/***/ "./node_modules/lodash-es/_initCloneObject.js":
20282/*!****************************************************!*\
20283  !*** ./node_modules/lodash-es/_initCloneObject.js ***!
20284  \****************************************************/
20285/*! exports provided: default */
20286/***/ (function(module, __webpack_exports__, __webpack_require__) {
20287
20288"use strict";
20289__webpack_require__.r(__webpack_exports__);
20290/* harmony import */ var _baseCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseCreate.js */ "./node_modules/lodash-es/_baseCreate.js");
20291/* harmony import */ var _getPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getPrototype.js */ "./node_modules/lodash-es/_getPrototype.js");
20292/* harmony import */ var _isPrototype_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isPrototype.js */ "./node_modules/lodash-es/_isPrototype.js");
20293
20294
20295
20296
20297/**
20298 * Initializes an object clone.
20299 *
20300 * @private
20301 * @param {Object} object The object to clone.
20302 * @returns {Object} Returns the initialized clone.
20303 */
20304function initCloneObject(object) {
20305  return (typeof object.constructor == 'function' && !Object(_isPrototype_js__WEBPACK_IMPORTED_MODULE_2__["default"])(object))
20306    ? Object(_baseCreate_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Object(_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object))
20307    : {};
20308}
20309
20310/* harmony default export */ __webpack_exports__["default"] = (initCloneObject);
20311
20312
20313/***/ }),
20314
vendor: 1,174 bytes, lines 20315-20352
20315/***/ "./node_modules/lodash-es/_isIndex.js":
20316/*!********************************************!*\
20317  !*** ./node_modules/lodash-es/_isIndex.js ***!
20318  \********************************************/
20319/*! exports provided: default */
20320/***/ (function(module, __webpack_exports__, __webpack_require__) {
20321
20322"use strict";
20323__webpack_require__.r(__webpack_exports__);
20324/** Used as references for various `Number` constants. */
20325var MAX_SAFE_INTEGER = 9007199254740991;
20326
20327/** Used to detect unsigned integer values. */
20328var reIsUint = /^(?:0|[1-9]\d*)$/;
20329
20330/**
20331 * Checks if `value` is a valid array-like index.
20332 *
20333 * @private
20334 * @param {*} value The value to check.
20335 * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
20336 * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
20337 */
20338function isIndex(value, length) {
20339  var type = typeof value;
20340  length = length == null ? MAX_SAFE_INTEGER : length;
20341
20342  return !!length &&
20343    (type == 'number' ||
20344      (type != 'symbol' && reIsUint.test(value))) &&
20345        (value > -1 && value % 1 == 0 && value < length);
20346}
20347
20348/* harmony default export */ __webpack_exports__["default"] = (isIndex);
20349
20350
20351/***/ }),
20352
vendor: 853 bytes, lines 20353-20380
20353/***/ "./node_modules/lodash-es/_isKeyable.js":
20354/*!**********************************************!*\
20355  !*** ./node_modules/lodash-es/_isKeyable.js ***!
20356  \**********************************************/
20357/*! exports provided: default */
20358/***/ (function(module, __webpack_exports__, __webpack_require__) {
20359
20360"use strict";
20361__webpack_require__.r(__webpack_exports__);
20362/**
20363 * Checks if `value` is suitable for use as unique object key.
20364 *
20365 * @private
20366 * @param {*} value The value to check.
20367 * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
20368 */
20369function isKeyable(value) {
20370  var type = typeof value;
20371  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
20372    ? (value !== '__proto__')
20373    : (value === null);
20374}
20375
20376/* harmony default export */ __webpack_exports__["default"] = (isKeyable);
20377
20378
20379/***/ }),
20380
vendor: 1,232 bytes, lines 20381-20414
20381/***/ "./node_modules/lodash-es/_isMasked.js":
20382/*!*********************************************!*\
20383  !*** ./node_modules/lodash-es/_isMasked.js ***!
20384  \*********************************************/
20385/*! exports provided: default */
20386/***/ (function(module, __webpack_exports__, __webpack_require__) {
20387
20388"use strict";
20389__webpack_require__.r(__webpack_exports__);
20390/* harmony import */ var _coreJsData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_coreJsData.js */ "./node_modules/lodash-es/_coreJsData.js");
20391
20392
20393/** Used to detect methods masquerading as native. */
20394var maskSrcKey = (function() {
20395  var uid = /[^.]+$/.exec(_coreJsData_js__WEBPACK_IMPORTED_MODULE_0__["default"] && _coreJsData_js__WEBPACK_IMPORTED_MODULE_0__["default"].keys && _coreJsData_js__WEBPACK_IMPORTED_MODULE_0__["default"].keys.IE_PROTO || '');
20396  return uid ? ('Symbol(src)_1.' + uid) : '';
20397}());
20398
20399/**
20400 * Checks if `func` has its source masked.
20401 *
20402 * @private
20403 * @param {Function} func The function to check.
20404 * @returns {boolean} Returns `true` if `func` is masked, else `false`.
20405 */
20406function isMasked(func) {
20407  return !!maskSrcKey && (maskSrcKey in func);
20408}
20409
20410/* harmony default export */ __webpack_exports__["default"] = (isMasked);
20411
20412
20413/***/ }),
20414
vendor: 911 bytes, lines 20415-20445
20415/***/ "./node_modules/lodash-es/_isPrototype.js":
20416/*!************************************************!*\
20417  !*** ./node_modules/lodash-es/_isPrototype.js ***!
20418  \************************************************/
20419/*! exports provided: default */
20420/***/ (function(module, __webpack_exports__, __webpack_require__) {
20421
20422"use strict";
20423__webpack_require__.r(__webpack_exports__);
20424/** Used for built-in method references. */
20425var objectProto = Object.prototype;
20426
20427/**
20428 * Checks if `value` is likely a prototype object.
20429 *
20430 * @private
20431 * @param {*} value The value to check.
20432 * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
20433 */
20434function isPrototype(value) {
20435  var Ctor = value && value.constructor,
20436      proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;
20437
20438  return value === proto;
20439}
20440
20441/* harmony default export */ __webpack_exports__["default"] = (isPrototype);
20442
20443
20444/***/ }),
20445
vendor: 661 bytes, lines 20446-20471
20446/***/ "./node_modules/lodash-es/_listCacheClear.js":
20447/*!***************************************************!*\
20448  !*** ./node_modules/lodash-es/_listCacheClear.js ***!
20449  \***************************************************/
20450/*! exports provided: default */
20451/***/ (function(module, __webpack_exports__, __webpack_require__) {
20452
20453"use strict";
20454__webpack_require__.r(__webpack_exports__);
20455/**
20456 * Removes all key-value entries from the list cache.
20457 *
20458 * @private
20459 * @name clear
20460 * @memberOf ListCache
20461 */
20462function listCacheClear() {
20463  this.__data__ = [];
20464  this.size = 0;
20465}
20466
20467/* harmony default export */ __webpack_exports__["default"] = (listCacheClear);
20468
20469
20470/***/ }),
20471
vendor: 1,393 bytes, lines 20472-20520
20472/***/ "./node_modules/lodash-es/_listCacheDelete.js":
20473/*!****************************************************!*\
20474  !*** ./node_modules/lodash-es/_listCacheDelete.js ***!
20475  \****************************************************/
20476/*! exports provided: default */
20477/***/ (function(module, __webpack_exports__, __webpack_require__) {
20478
20479"use strict";
20480__webpack_require__.r(__webpack_exports__);
20481/* harmony import */ var _assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assocIndexOf.js */ "./node_modules/lodash-es/_assocIndexOf.js");
20482
20483
20484/** Used for built-in method references. */
20485var arrayProto = Array.prototype;
20486
20487/** Built-in value references. */
20488var splice = arrayProto.splice;
20489
20490/**
20491 * Removes `key` and its value from the list cache.
20492 *
20493 * @private
20494 * @name delete
20495 * @memberOf ListCache
20496 * @param {string} key The key of the value to remove.
20497 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
20498 */
20499function listCacheDelete(key) {
20500  var data = this.__data__,
20501      index = Object(_assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(data, key);
20502
20503  if (index < 0) {
20504    return false;
20505  }
20506  var lastIndex = data.length - 1;
20507  if (index == lastIndex) {
20508    data.pop();
20509  } else {
20510    splice.call(data, index, 1);
20511  }
20512  --this.size;
20513  return true;
20514}
20515
20516/* harmony default export */ __webpack_exports__["default"] = (listCacheDelete);
20517
20518
20519/***/ }),
20520
vendor: 1,026 bytes, lines 20521-20553
20521/***/ "./node_modules/lodash-es/_listCacheGet.js":
20522/*!*************************************************!*\
20523  !*** ./node_modules/lodash-es/_listCacheGet.js ***!
20524  \*************************************************/
20525/*! exports provided: default */
20526/***/ (function(module, __webpack_exports__, __webpack_require__) {
20527
20528"use strict";
20529__webpack_require__.r(__webpack_exports__);
20530/* harmony import */ var _assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assocIndexOf.js */ "./node_modules/lodash-es/_assocIndexOf.js");
20531
20532
20533/**
20534 * Gets the list cache value for `key`.
20535 *
20536 * @private
20537 * @name get
20538 * @memberOf ListCache
20539 * @param {string} key The key of the value to get.
20540 * @returns {*} Returns the entry value.
20541 */
20542function listCacheGet(key) {
20543  var data = this.__data__,
20544      index = Object(_assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(data, key);
20545
20546  return index < 0 ? undefined : data[index][1];
20547}
20548
20549/* harmony default export */ __webpack_exports__["default"] = (listCacheGet);
20550
20551
20552/***/ }),
20553
vendor: 1,009 bytes, lines 20554-20583
20554/***/ "./node_modules/lodash-es/_listCacheHas.js":
20555/*!*************************************************!*\
20556  !*** ./node_modules/lodash-es/_listCacheHas.js ***!
20557  \*************************************************/
20558/*! exports provided: default */
20559/***/ (function(module, __webpack_exports__, __webpack_require__) {
20560
20561"use strict";
20562__webpack_require__.r(__webpack_exports__);
20563/* harmony import */ var _assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assocIndexOf.js */ "./node_modules/lodash-es/_assocIndexOf.js");
20564
20565
20566/**
20567 * Checks if a list cache value for `key` exists.
20568 *
20569 * @private
20570 * @name has
20571 * @memberOf ListCache
20572 * @param {string} key The key of the entry to check.
20573 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
20574 */
20575function listCacheHas(key) {
20576  return Object(_assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this.__data__, key) > -1;
20577}
20578
20579/* harmony default export */ __webpack_exports__["default"] = (listCacheHas);
20580
20581
20582/***/ }),
20583
vendor: 1,159 bytes, lines 20584-20623
20584/***/ "./node_modules/lodash-es/_listCacheSet.js":
20585/*!*************************************************!*\
20586  !*** ./node_modules/lodash-es/_listCacheSet.js ***!
20587  \*************************************************/
20588/*! exports provided: default */
20589/***/ (function(module, __webpack_exports__, __webpack_require__) {
20590
20591"use strict";
20592__webpack_require__.r(__webpack_exports__);
20593/* harmony import */ var _assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_assocIndexOf.js */ "./node_modules/lodash-es/_assocIndexOf.js");
20594
20595
20596/**
20597 * Sets the list cache `key` to `value`.
20598 *
20599 * @private
20600 * @name set
20601 * @memberOf ListCache
20602 * @param {string} key The key of the value to set.
20603 * @param {*} value The value to set.
20604 * @returns {Object} Returns the list cache instance.
20605 */
20606function listCacheSet(key, value) {
20607  var data = this.__data__,
20608      index = Object(_assocIndexOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(data, key);
20609
20610  if (index < 0) {
20611    ++this.size;
20612    data.push([key, value]);
20613  } else {
20614    data[index][1] = value;
20615  }
20616  return this;
20617}
20618
20619/* harmony default export */ __webpack_exports__["default"] = (listCacheSet);
20620
20621
20622/***/ }),
20623
vendor: 1,345 bytes, lines 20624-20660
20624/***/ "./node_modules/lodash-es/_mapCacheClear.js":
20625/*!**************************************************!*\
20626  !*** ./node_modules/lodash-es/_mapCacheClear.js ***!
20627  \**************************************************/
20628/*! exports provided: default */
20629/***/ (function(module, __webpack_exports__, __webpack_require__) {
20630
20631"use strict";
20632__webpack_require__.r(__webpack_exports__);
20633/* harmony import */ var _Hash_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Hash.js */ "./node_modules/lodash-es/_Hash.js");
20634/* harmony import */ var _ListCache_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_ListCache.js */ "./node_modules/lodash-es/_ListCache.js");
20635/* harmony import */ var _Map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_Map.js */ "./node_modules/lodash-es/_Map.js");
20636
20637
20638
20639
20640/**
20641 * Removes all key-value entries from the map.
20642 *
20643 * @private
20644 * @name clear
20645 * @memberOf MapCache
20646 */
20647function mapCacheClear() {
20648  this.size = 0;
20649  this.__data__ = {
20650    'hash': new _Hash_js__WEBPACK_IMPORTED_MODULE_0__["default"],
20651    'map': new (_Map_js__WEBPACK_IMPORTED_MODULE_2__["default"] || _ListCache_js__WEBPACK_IMPORTED_MODULE_1__["default"]),
20652    'string': new _Hash_js__WEBPACK_IMPORTED_MODULE_0__["default"]
20653  };
20654}
20655
20656/* harmony default export */ __webpack_exports__["default"] = (mapCacheClear);
20657
20658
20659/***/ }),
20660
vendor: 1,062 bytes, lines 20661-20692
20661/***/ "./node_modules/lodash-es/_mapCacheDelete.js":
20662/*!***************************************************!*\
20663  !*** ./node_modules/lodash-es/_mapCacheDelete.js ***!
20664  \***************************************************/
20665/*! exports provided: default */
20666/***/ (function(module, __webpack_exports__, __webpack_require__) {
20667
20668"use strict";
20669__webpack_require__.r(__webpack_exports__);
20670/* harmony import */ var _getMapData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getMapData.js */ "./node_modules/lodash-es/_getMapData.js");
20671
20672
20673/**
20674 * Removes `key` and its value from the map.
20675 *
20676 * @private
20677 * @name delete
20678 * @memberOf MapCache
20679 * @param {string} key The key of the value to remove.
20680 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
20681 */
20682function mapCacheDelete(key) {
20683  var result = Object(_getMapData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this, key)['delete'](key);
20684  this.size -= result ? 1 : 0;
20685  return result;
20686}
20687
20688/* harmony default export */ __webpack_exports__["default"] = (mapCacheDelete);
20689
20690
20691/***/ }),
20692
vendor: 930 bytes, lines 20693-20722
20693/***/ "./node_modules/lodash-es/_mapCacheGet.js":
20694/*!************************************************!*\
20695  !*** ./node_modules/lodash-es/_mapCacheGet.js ***!
20696  \************************************************/
20697/*! exports provided: default */
20698/***/ (function(module, __webpack_exports__, __webpack_require__) {
20699
20700"use strict";
20701__webpack_require__.r(__webpack_exports__);
20702/* harmony import */ var _getMapData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getMapData.js */ "./node_modules/lodash-es/_getMapData.js");
20703
20704
20705/**
20706 * Gets the map value for `key`.
20707 *
20708 * @private
20709 * @name get
20710 * @memberOf MapCache
20711 * @param {string} key The key of the value to get.
20712 * @returns {*} Returns the entry value.
20713 */
20714function mapCacheGet(key) {
20715  return Object(_getMapData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this, key).get(key);
20716}
20717
20718/* harmony default export */ __webpack_exports__["default"] = (mapCacheGet);
20719
20720
20721/***/ }),
20722
vendor: 982 bytes, lines 20723-20752
20723/***/ "./node_modules/lodash-es/_mapCacheHas.js":
20724/*!************************************************!*\
20725  !*** ./node_modules/lodash-es/_mapCacheHas.js ***!
20726  \************************************************/
20727/*! exports provided: default */
20728/***/ (function(module, __webpack_exports__, __webpack_require__) {
20729
20730"use strict";
20731__webpack_require__.r(__webpack_exports__);
20732/* harmony import */ var _getMapData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getMapData.js */ "./node_modules/lodash-es/_getMapData.js");
20733
20734
20735/**
20736 * Checks if a map value for `key` exists.
20737 *
20738 * @private
20739 * @name has
20740 * @memberOf MapCache
20741 * @param {string} key The key of the entry to check.
20742 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
20743 */
20744function mapCacheHas(key) {
20745  return Object(_getMapData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this, key).has(key);
20746}
20747
20748/* harmony default export */ __webpack_exports__["default"] = (mapCacheHas);
20749
20750
20751/***/ }),
20752
vendor: 1,089 bytes, lines 20753-20788
20753/***/ "./node_modules/lodash-es/_mapCacheSet.js":
20754/*!************************************************!*\
20755  !*** ./node_modules/lodash-es/_mapCacheSet.js ***!
20756  \************************************************/
20757/*! exports provided: default */
20758/***/ (function(module, __webpack_exports__, __webpack_require__) {
20759
20760"use strict";
20761__webpack_require__.r(__webpack_exports__);
20762/* harmony import */ var _getMapData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getMapData.js */ "./node_modules/lodash-es/_getMapData.js");
20763
20764
20765/**
20766 * Sets the map `key` to `value`.
20767 *
20768 * @private
20769 * @name set
20770 * @memberOf MapCache
20771 * @param {string} key The key of the value to set.
20772 * @param {*} value The value to set.
20773 * @returns {Object} Returns the map cache instance.
20774 */
20775function mapCacheSet(key, value) {
20776  var data = Object(_getMapData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this, key),
20777      size = data.size;
20778
20779  data.set(key, value);
20780  this.size += data.size == size ? 0 : 1;
20781  return this;
20782}
20783
20784/* harmony default export */ __webpack_exports__["default"] = (mapCacheSet);
20785
20786
20787/***/ }),
20788
vendor: 1,237 bytes, lines 20789-20828
20789/***/ "./node_modules/lodash-es/_memoizeCapped.js":
20790/*!**************************************************!*\
20791  !*** ./node_modules/lodash-es/_memoizeCapped.js ***!
20792  \**************************************************/
20793/*! exports provided: default */
20794/***/ (function(module, __webpack_exports__, __webpack_require__) {
20795
20796"use strict";
20797__webpack_require__.r(__webpack_exports__);
20798/* harmony import */ var _memoize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./memoize.js */ "./node_modules/lodash-es/memoize.js");
20799
20800
20801/** Used as the maximum memoize cache size. */
20802var MAX_MEMOIZE_SIZE = 500;
20803
20804/**
20805 * A specialized version of `_.memoize` which clears the memoized function's
20806 * cache when it exceeds `MAX_MEMOIZE_SIZE`.
20807 *
20808 * @private
20809 * @param {Function} func The function to have its output memoized.
20810 * @returns {Function} Returns the new memoized function.
20811 */
20812function memoizeCapped(func) {
20813  var result = Object(_memoize_js__WEBPACK_IMPORTED_MODULE_0__["default"])(func, function(key) {
20814    if (cache.size === MAX_MEMOIZE_SIZE) {
20815      cache.clear();
20816    }
20817    return key;
20818  });
20819
20820  var cache = result.cache;
20821  return result;
20822}
20823
20824/* harmony default export */ __webpack_exports__["default"] = (memoizeCapped);
20825
20826
20827/***/ }),
20828
vendor: 790 bytes, lines 20829-20848
20829/***/ "./node_modules/lodash-es/_nativeCreate.js":
20830/*!*************************************************!*\
20831  !*** ./node_modules/lodash-es/_nativeCreate.js ***!
20832  \*************************************************/
20833/*! exports provided: default */
20834/***/ (function(module, __webpack_exports__, __webpack_require__) {
20835
20836"use strict";
20837__webpack_require__.r(__webpack_exports__);
20838/* harmony import */ var _getNative_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_getNative.js */ "./node_modules/lodash-es/_getNative.js");
20839
20840
20841/* Built-in method references that are verified to be native. */
20842var nativeCreate = Object(_getNative_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Object, 'create');
20843
20844/* harmony default export */ __webpack_exports__["default"] = (nativeCreate);
20845
20846
20847/***/ }),
20848
vendor: 797 bytes, lines 20849-20868
20849/***/ "./node_modules/lodash-es/_nativeKeys.js":
20850/*!***********************************************!*\
20851  !*** ./node_modules/lodash-es/_nativeKeys.js ***!
20852  \***********************************************/
20853/*! exports provided: default */
20854/***/ (function(module, __webpack_exports__, __webpack_require__) {
20855
20856"use strict";
20857__webpack_require__.r(__webpack_exports__);
20858/* harmony import */ var _overArg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_overArg.js */ "./node_modules/lodash-es/_overArg.js");
20859
20860
20861/* Built-in method references for those with the same name as other `lodash` methods. */
20862var nativeKeys = Object(_overArg_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Object.keys, Object);
20863
20864/* harmony default export */ __webpack_exports__["default"] = (nativeKeys);
20865
20866
20867/***/ }),
20868
vendor: 925 bytes, lines 20869-20901
20869/***/ "./node_modules/lodash-es/_nativeKeysIn.js":
20870/*!*************************************************!*\
20871  !*** ./node_modules/lodash-es/_nativeKeysIn.js ***!
20872  \*************************************************/
20873/*! exports provided: default */
20874/***/ (function(module, __webpack_exports__, __webpack_require__) {
20875
20876"use strict";
20877__webpack_require__.r(__webpack_exports__);
20878/**
20879 * This function is like
20880 * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
20881 * except that it includes inherited enumerable properties.
20882 *
20883 * @private
20884 * @param {Object} object The object to query.
20885 * @returns {Array} Returns the array of property names.
20886 */
20887function nativeKeysIn(object) {
20888  var result = [];
20889  if (object != null) {
20890    for (var key in Object(object)) {
20891      result.push(key);
20892    }
20893  }
20894  return result;
20895}
20896
20897/* harmony default export */ __webpack_exports__["default"] = (nativeKeysIn);
20898
20899
20900/***/ }),
20901
vendor: 1,789 bytes, lines 20902-20946
20902/***/ "./node_modules/lodash-es/_nodeUtil.js":
20903/*!*********************************************!*\
20904  !*** ./node_modules/lodash-es/_nodeUtil.js ***!
20905  \*********************************************/
20906/*! exports provided: default */
20907/***/ (function(module, __webpack_exports__, __webpack_require__) {
20908
20909"use strict";
20910__webpack_require__.r(__webpack_exports__);
20911/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_freeGlobal.js */ "./node_modules/lodash-es/_freeGlobal.js");
20912
20913
20914/** Detect free variable `exports`. */
20915var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
20916
20917/** Detect free variable `module`. */
20918var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
20919
20920/** Detect the popular CommonJS extension `module.exports`. */
20921var moduleExports = freeModule && freeModule.exports === freeExports;
20922
20923/** Detect free variable `process` from Node.js. */
20924var freeProcess = moduleExports && _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__["default"].process;
20925
20926/** Used to access faster Node.js helpers. */
20927var nodeUtil = (function() {
20928  try {
20929    // Use `util.types` for Node.js 10+.
20930    var types = freeModule && freeModule.require && freeModule.require('util').types;
20931
20932    if (types) {
20933      return types;
20934    }
20935
20936    // Legacy `process.binding('util')` for Node.js < 10.
20937    return freeProcess && freeProcess.binding && freeProcess.binding('util');
20938  } catch (e) {}
20939}());
20940
20941/* harmony default export */ __webpack_exports__["default"] = (nodeUtil);
20942
20943/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/harmony-module.js */ "./node_modules/webpack/buildin/harmony-module.js")(module)))
20944
20945/***/ }),
20946
vendor: 1,008 bytes, lines 20947-20981
20947/***/ "./node_modules/lodash-es/_objectToString.js":
20948/*!***************************************************!*\
20949  !*** ./node_modules/lodash-es/_objectToString.js ***!
20950  \***************************************************/
20951/*! exports provided: default */
20952/***/ (function(module, __webpack_exports__, __webpack_require__) {
20953
20954"use strict";
20955__webpack_require__.r(__webpack_exports__);
20956/** Used for built-in method references. */
20957var objectProto = Object.prototype;
20958
20959/**
20960 * Used to resolve the
20961 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
20962 * of values.
20963 */
20964var nativeObjectToString = objectProto.toString;
20965
20966/**
20967 * Converts `value` to a string using `Object.prototype.toString`.
20968 *
20969 * @private
20970 * @param {*} value The value to convert.
20971 * @returns {string} Returns the converted string.
20972 */
20973function objectToString(value) {
20974  return nativeObjectToString.call(value);
20975}
20976
20977/* harmony default export */ __webpack_exports__["default"] = (objectToString);
20978
20979
20980/***/ }),
20981
vendor: 797 bytes, lines 20982-21009
20982/***/ "./node_modules/lodash-es/_overArg.js":
20983/*!********************************************!*\
20984  !*** ./node_modules/lodash-es/_overArg.js ***!
20985  \********************************************/
20986/*! exports provided: default */
20987/***/ (function(module, __webpack_exports__, __webpack_require__) {
20988
20989"use strict";
20990__webpack_require__.r(__webpack_exports__);
20991/**
20992 * Creates a unary function that invokes `func` with its argument transformed.
20993 *
20994 * @private
20995 * @param {Function} func The function to wrap.
20996 * @param {Function} transform The argument transform.
20997 * @returns {Function} Returns the new function.
20998 */
20999function overArg(func, transform) {
21000  return function(arg) {
21001    return func(transform(arg));
21002  };
21003}
21004
21005/* harmony default export */ __webpack_exports__["default"] = (overArg);
21006
21007
21008/***/ }),
21009
vendor: 864 bytes, lines 21010-21032
21010/***/ "./node_modules/lodash-es/_root.js":
21011/*!*****************************************!*\
21012  !*** ./node_modules/lodash-es/_root.js ***!
21013  \*****************************************/
21014/*! exports provided: default */
21015/***/ (function(module, __webpack_exports__, __webpack_require__) {
21016
21017"use strict";
21018__webpack_require__.r(__webpack_exports__);
21019/* harmony import */ var _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_freeGlobal.js */ "./node_modules/lodash-es/_freeGlobal.js");
21020
21021
21022/** Detect free variable `self`. */
21023var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
21024
21025/** Used as a reference to the global object. */
21026var root = _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__["default"] || freeSelf || Function('return this')();
21027
21028/* harmony default export */ __webpack_exports__["default"] = (root);
21029
21030
21031/***/ }),
21032
vendor: 841 bytes, lines 21033-21061
21033/***/ "./node_modules/lodash-es/_stackClear.js":
21034/*!***********************************************!*\
21035  !*** ./node_modules/lodash-es/_stackClear.js ***!
21036  \***********************************************/
21037/*! exports provided: default */
21038/***/ (function(module, __webpack_exports__, __webpack_require__) {
21039
21040"use strict";
21041__webpack_require__.r(__webpack_exports__);
21042/* harmony import */ var _ListCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_ListCache.js */ "./node_modules/lodash-es/_ListCache.js");
21043
21044
21045/**
21046 * Removes all key-value entries from the stack.
21047 *
21048 * @private
21049 * @name clear
21050 * @memberOf Stack
21051 */
21052function stackClear() {
21053  this.__data__ = new _ListCache_js__WEBPACK_IMPORTED_MODULE_0__["default"];
21054  this.size = 0;
21055}
21056
21057/* harmony default export */ __webpack_exports__["default"] = (stackClear);
21058
21059
21060/***/ }),
21061
vendor: 836 bytes, lines 21062-21092
21062/***/ "./node_modules/lodash-es/_stackDelete.js":
21063/*!************************************************!*\
21064  !*** ./node_modules/lodash-es/_stackDelete.js ***!
21065  \************************************************/
21066/*! exports provided: default */
21067/***/ (function(module, __webpack_exports__, __webpack_require__) {
21068
21069"use strict";
21070__webpack_require__.r(__webpack_exports__);
21071/**
21072 * Removes `key` and its value from the stack.
21073 *
21074 * @private
21075 * @name delete
21076 * @memberOf Stack
21077 * @param {string} key The key of the value to remove.
21078 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
21079 */
21080function stackDelete(key) {
21081  var data = this.__data__,
21082      result = data['delete'](key);
21083
21084  this.size = data.size;
21085  return result;
21086}
21087
21088/* harmony default export */ __webpack_exports__["default"] = (stackDelete);
21089
21090
21091/***/ }),
21092
vendor: 690 bytes, lines 21093-21119
21093/***/ "./node_modules/lodash-es/_stackGet.js":
21094/*!*********************************************!*\
21095  !*** ./node_modules/lodash-es/_stackGet.js ***!
21096  \*********************************************/
21097/*! exports provided: default */
21098/***/ (function(module, __webpack_exports__, __webpack_require__) {
21099
21100"use strict";
21101__webpack_require__.r(__webpack_exports__);
21102/**
21103 * Gets the stack value for `key`.
21104 *
21105 * @private
21106 * @name get
21107 * @memberOf Stack
21108 * @param {string} key The key of the value to get.
21109 * @returns {*} Returns the entry value.
21110 */
21111function stackGet(key) {
21112  return this.__data__.get(key);
21113}
21114
21115/* harmony default export */ __webpack_exports__["default"] = (stackGet);
21116
21117
21118/***/ }),
21119
vendor: 742 bytes, lines 21120-21146
21120/***/ "./node_modules/lodash-es/_stackHas.js":
21121/*!*********************************************!*\
21122  !*** ./node_modules/lodash-es/_stackHas.js ***!
21123  \*********************************************/
21124/*! exports provided: default */
21125/***/ (function(module, __webpack_exports__, __webpack_require__) {
21126
21127"use strict";
21128__webpack_require__.r(__webpack_exports__);
21129/**
21130 * Checks if a stack value for `key` exists.
21131 *
21132 * @private
21133 * @name has
21134 * @memberOf Stack
21135 * @param {string} key The key of the entry to check.
21136 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
21137 */
21138function stackHas(key) {
21139  return this.__data__.has(key);
21140}
21141
21142/* harmony default export */ __webpack_exports__["default"] = (stackHas);
21143
21144
21145/***/ }),
21146
vendor: 1,745 bytes, lines 21147-21196
21147/***/ "./node_modules/lodash-es/_stackSet.js":
21148/*!*********************************************!*\
21149  !*** ./node_modules/lodash-es/_stackSet.js ***!
21150  \*********************************************/
21151/*! exports provided: default */
21152/***/ (function(module, __webpack_exports__, __webpack_require__) {
21153
21154"use strict";
21155__webpack_require__.r(__webpack_exports__);
21156/* harmony import */ var _ListCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_ListCache.js */ "./node_modules/lodash-es/_ListCache.js");
21157/* harmony import */ var _Map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_Map.js */ "./node_modules/lodash-es/_Map.js");
21158/* harmony import */ var _MapCache_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_MapCache.js */ "./node_modules/lodash-es/_MapCache.js");
21159
21160
21161
21162
21163/** Used as the size to enable large array optimizations. */
21164var LARGE_ARRAY_SIZE = 200;
21165
21166/**
21167 * Sets the stack `key` to `value`.
21168 *
21169 * @private
21170 * @name set
21171 * @memberOf Stack
21172 * @param {string} key The key of the value to set.
21173 * @param {*} value The value to set.
21174 * @returns {Object} Returns the stack cache instance.
21175 */
21176function stackSet(key, value) {
21177  var data = this.__data__;
21178  if (data instanceof _ListCache_js__WEBPACK_IMPORTED_MODULE_0__["default"]) {
21179    var pairs = data.__data__;
21180    if (!_Map_js__WEBPACK_IMPORTED_MODULE_1__["default"] || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
21181      pairs.push([key, value]);
21182      this.size = ++data.size;
21183      return this;
21184    }
21185    data = this.__data__ = new _MapCache_js__WEBPACK_IMPORTED_MODULE_2__["default"](pairs);
21186  }
21187  data.set(key, value);
21188  this.size = data.size;
21189  return this;
21190}
21191
21192/* harmony default export */ __webpack_exports__["default"] = (stackSet);
21193
21194
21195/***/ }),
21196
vendor: 1,447 bytes, lines 21197-21237
21197/***/ "./node_modules/lodash-es/_stringToPath.js":
21198/*!*************************************************!*\
21199  !*** ./node_modules/lodash-es/_stringToPath.js ***!
21200  \*************************************************/
21201/*! exports provided: default */
21202/***/ (function(module, __webpack_exports__, __webpack_require__) {
21203
21204"use strict";
21205__webpack_require__.r(__webpack_exports__);
21206/* harmony import */ var _memoizeCapped_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_memoizeCapped.js */ "./node_modules/lodash-es/_memoizeCapped.js");
21207
21208
21209/** Used to match property names within property paths. */
21210var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
21211
21212/** Used to match backslashes in property paths. */
21213var reEscapeChar = /\\(\\)?/g;
21214
21215/**
21216 * Converts `string` to a property path array.
21217 *
21218 * @private
21219 * @param {string} string The string to convert.
21220 * @returns {Array} Returns the property path array.
21221 */
21222var stringToPath = Object(_memoizeCapped_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function(string) {
21223  var result = [];
21224  if (string.charCodeAt(0) === 46 /* . */) {
21225    result.push('');
21226  }
21227  string.replace(rePropName, function(match, number, quote, subString) {
21228    result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));
21229  });
21230  return result;
21231});
21232
21233/* harmony default export */ __webpack_exports__["default"] = (stringToPath);
21234
21235
21236/***/ }),
21237
vendor: 1,096 bytes, lines 21238-21272
21238/***/ "./node_modules/lodash-es/_toKey.js":
21239/*!******************************************!*\
21240  !*** ./node_modules/lodash-es/_toKey.js ***!
21241  \******************************************/
21242/*! exports provided: default */
21243/***/ (function(module, __webpack_exports__, __webpack_require__) {
21244
21245"use strict";
21246__webpack_require__.r(__webpack_exports__);
21247/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isSymbol.js */ "./node_modules/lodash-es/isSymbol.js");
21248
21249
21250/** Used as references for various `Number` constants. */
21251var INFINITY = 1 / 0;
21252
21253/**
21254 * Converts `value` to a string key if it's not a string or symbol.
21255 *
21256 * @private
21257 * @param {*} value The value to inspect.
21258 * @returns {string|symbol} Returns the key.
21259 */
21260function toKey(value) {
21261  if (typeof value == 'string' || Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value)) {
21262    return value;
21263  }
21264  var result = (value + '');
21265  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
21266}
21267
21268/* harmony default export */ __webpack_exports__["default"] = (toKey);
21269
21270
21271/***/ }),
21272
vendor: 975 bytes, lines 21273-21311
21273/***/ "./node_modules/lodash-es/_toSource.js":
21274/*!*********************************************!*\
21275  !*** ./node_modules/lodash-es/_toSource.js ***!
21276  \*********************************************/
21277/*! exports provided: default */
21278/***/ (function(module, __webpack_exports__, __webpack_require__) {
21279
21280"use strict";
21281__webpack_require__.r(__webpack_exports__);
21282/** Used for built-in method references. */
21283var funcProto = Function.prototype;
21284
21285/** Used to resolve the decompiled source of functions. */
21286var funcToString = funcProto.toString;
21287
21288/**
21289 * Converts `func` to its source code.
21290 *
21291 * @private
21292 * @param {Function} func The function to convert.
21293 * @returns {string} Returns the source code.
21294 */
21295function toSource(func) {
21296  if (func != null) {
21297    try {
21298      return funcToString.call(func);
21299    } catch (e) {}
21300    try {
21301      return (func + '');
21302    } catch (e) {}
21303  }
21304  return '';
21305}
21306
21307/* harmony default export */ __webpack_exports__["default"] = (toSource);
21308
21309
21310/***/ }),
21311
vendor: 1,636 bytes, lines 21312-21361
21312/***/ "./node_modules/lodash-es/clone.js":
21313/*!*****************************************!*\
21314  !*** ./node_modules/lodash-es/clone.js ***!
21315  \*****************************************/
21316/*! exports provided: default */
21317/***/ (function(module, __webpack_exports__, __webpack_require__) {
21318
21319"use strict";
21320__webpack_require__.r(__webpack_exports__);
21321/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ "./node_modules/lodash-es/_baseClone.js");
21322
21323
21324/** Used to compose bitmasks for cloning. */
21325var CLONE_SYMBOLS_FLAG = 4;
21326
21327/**
21328 * Creates a shallow clone of `value`.
21329 *
21330 * **Note:** This method is loosely based on the
21331 * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)
21332 * and supports cloning arrays, array buffers, booleans, date objects, maps,
21333 * numbers, `Object` objects, regexes, sets, strings, symbols, and typed
21334 * arrays. The own enumerable properties of `arguments` objects are cloned
21335 * as plain objects. An empty object is returned for uncloneable values such
21336 * as error objects, functions, DOM nodes, and WeakMaps.
21337 *
21338 * @static
21339 * @memberOf _
21340 * @since 0.1.0
21341 * @category Lang
21342 * @param {*} value The value to clone.
21343 * @returns {*} Returns the cloned value.
21344 * @see _.cloneDeep
21345 * @example
21346 *
21347 * var objects = [{ 'a': 1 }, { 'b': 2 }];
21348 *
21349 * var shallow = _.clone(objects);
21350 * console.log(shallow[0] === objects[0]);
21351 * // => true
21352 */
21353function clone(value) {
21354  return Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value, CLONE_SYMBOLS_FLAG);
21355}
21356
21357/* harmony default export */ __webpack_exports__["default"] = (clone);
21358
21359
21360/***/ }),
21361
vendor: 1,266 bytes, lines 21362-21404
21362/***/ "./node_modules/lodash-es/cloneDeep.js":
21363/*!*********************************************!*\
21364  !*** ./node_modules/lodash-es/cloneDeep.js ***!
21365  \*********************************************/
21366/*! exports provided: default */
21367/***/ (function(module, __webpack_exports__, __webpack_require__) {
21368
21369"use strict";
21370__webpack_require__.r(__webpack_exports__);
21371/* harmony import */ var _baseClone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseClone.js */ "./node_modules/lodash-es/_baseClone.js");
21372
21373
21374/** Used to compose bitmasks for cloning. */
21375var CLONE_DEEP_FLAG = 1,
21376    CLONE_SYMBOLS_FLAG = 4;
21377
21378/**
21379 * This method is like `_.clone` except that it recursively clones `value`.
21380 *
21381 * @static
21382 * @memberOf _
21383 * @since 1.0.0
21384 * @category Lang
21385 * @param {*} value The value to recursively clone.
21386 * @returns {*} Returns the deep cloned value.
21387 * @see _.clone
21388 * @example
21389 *
21390 * var objects = [{ 'a': 1 }, { 'b': 2 }];
21391 *
21392 * var deep = _.cloneDeep(objects);
21393 * console.log(deep[0] === objects[0]);
21394 * // => false
21395 */
21396function cloneDeep(value) {
21397  return Object(_baseClone_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
21398}
21399
21400/* harmony default export */ __webpack_exports__["default"] = (cloneDeep);
21401
21402
21403/***/ }),
21404
vendor: 1,190 bytes, lines 21405-21454
21405/***/ "./node_modules/lodash-es/eq.js":
21406/*!**************************************!*\
21407  !*** ./node_modules/lodash-es/eq.js ***!
21408  \**************************************/
21409/*! exports provided: default */
21410/***/ (function(module, __webpack_exports__, __webpack_require__) {
21411
21412"use strict";
21413__webpack_require__.r(__webpack_exports__);
21414/**
21415 * Performs a
21416 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
21417 * comparison between two values to determine if they are equivalent.
21418 *
21419 * @static
21420 * @memberOf _
21421 * @since 4.0.0
21422 * @category Lang
21423 * @param {*} value The value to compare.
21424 * @param {*} other The other value to compare.
21425 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
21426 * @example
21427 *
21428 * var object = { 'a': 1 };
21429 * var other = { 'a': 1 };
21430 *
21431 * _.eq(object, object);
21432 * // => true
21433 *
21434 * _.eq(object, other);
21435 * // => false
21436 *
21437 * _.eq('a', 'a');
21438 * // => true
21439 *
21440 * _.eq('a', Object('a'));
21441 * // => false
21442 *
21443 * _.eq(NaN, NaN);
21444 * // => true
21445 */
21446function eq(value, other) {
21447  return value === other || (value !== value && other !== other);
21448}
21449
21450/* harmony default export */ __webpack_exports__["default"] = (eq);
21451
21452
21453/***/ }),
21454
vendor: 1,841 bytes, lines 21455-21505
21455/***/ "./node_modules/lodash-es/isArguments.js":
21456/*!***********************************************!*\
21457  !*** ./node_modules/lodash-es/isArguments.js ***!
21458  \***********************************************/
21459/*! exports provided: default */
21460/***/ (function(module, __webpack_exports__, __webpack_require__) {
21461
21462"use strict";
21463__webpack_require__.r(__webpack_exports__);
21464/* harmony import */ var _baseIsArguments_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsArguments.js */ "./node_modules/lodash-es/_baseIsArguments.js");
21465/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ "./node_modules/lodash-es/isObjectLike.js");
21466
21467
21468
21469/** Used for built-in method references. */
21470var objectProto = Object.prototype;
21471
21472/** Used to check objects for own properties. */
21473var hasOwnProperty = objectProto.hasOwnProperty;
21474
21475/** Built-in value references. */
21476var propertyIsEnumerable = objectProto.propertyIsEnumerable;
21477
21478/**
21479 * Checks if `value` is likely an `arguments` object.
21480 *
21481 * @static
21482 * @memberOf _
21483 * @since 0.1.0
21484 * @category Lang
21485 * @param {*} value The value to check.
21486 * @returns {boolean} Returns `true` if `value` is an `arguments` object,
21487 *  else `false`.
21488 * @example
21489 *
21490 * _.isArguments(function() { return arguments; }());
21491 * // => true
21492 *
21493 * _.isArguments([1, 2, 3]);
21494 * // => false
21495 */
21496var isArguments = Object(_baseIsArguments_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function() { return arguments; }()) ? _baseIsArguments_js__WEBPACK_IMPORTED_MODULE_0__["default"] : function(value) {
21497  return Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value) && hasOwnProperty.call(value, 'callee') &&
21498    !propertyIsEnumerable.call(value, 'callee');
21499};
21500
21501/* harmony default export */ __webpack_exports__["default"] = (isArguments);
21502
21503
21504/***/ }),
21505
vendor: 899 bytes, lines 21506-21544
21506/***/ "./node_modules/lodash-es/isArray.js":
21507/*!*******************************************!*\
21508  !*** ./node_modules/lodash-es/isArray.js ***!
21509  \*******************************************/
21510/*! exports provided: default */
21511/***/ (function(module, __webpack_exports__, __webpack_require__) {
21512
21513"use strict";
21514__webpack_require__.r(__webpack_exports__);
21515/**
21516 * Checks if `value` is classified as an `Array` object.
21517 *
21518 * @static
21519 * @memberOf _
21520 * @since 0.1.0
21521 * @category Lang
21522 * @param {*} value The value to check.
21523 * @returns {boolean} Returns `true` if `value` is an array, else `false`.
21524 * @example
21525 *
21526 * _.isArray([1, 2, 3]);
21527 * // => true
21528 *
21529 * _.isArray(document.body.children);
21530 * // => false
21531 *
21532 * _.isArray('abc');
21533 * // => false
21534 *
21535 * _.isArray(_.noop);
21536 * // => false
21537 */
21538var isArray = Array.isArray;
21539
21540/* harmony default export */ __webpack_exports__["default"] = (isArray);
21541
21542
21543/***/ }),
21544
vendor: 1,591 bytes, lines 21545-21592
21545/***/ "./node_modules/lodash-es/isArrayLike.js":
21546/*!***********************************************!*\
21547  !*** ./node_modules/lodash-es/isArrayLike.js ***!
21548  \***********************************************/
21549/*! exports provided: default */
21550/***/ (function(module, __webpack_exports__, __webpack_require__) {
21551
21552"use strict";
21553__webpack_require__.r(__webpack_exports__);
21554/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isFunction.js */ "./node_modules/lodash-es/isFunction.js");
21555/* harmony import */ var _isLength_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isLength.js */ "./node_modules/lodash-es/isLength.js");
21556
21557
21558
21559/**
21560 * Checks if `value` is array-like. A value is considered array-like if it's
21561 * not a function and has a `value.length` that's an integer greater than or
21562 * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
21563 *
21564 * @static
21565 * @memberOf _
21566 * @since 4.0.0
21567 * @category Lang
21568 * @param {*} value The value to check.
21569 * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
21570 * @example
21571 *
21572 * _.isArrayLike([1, 2, 3]);
21573 * // => true
21574 *
21575 * _.isArrayLike(document.body.children);
21576 * // => true
21577 *
21578 * _.isArrayLike('abc');
21579 * // => true
21580 *
21581 * _.isArrayLike(_.noop);
21582 * // => false
21583 */
21584function isArrayLike(value) {
21585  return value != null && Object(_isLength_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value.length) && !Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value);
21586}
21587
21588/* harmony default export */ __webpack_exports__["default"] = (isArrayLike);
21589
21590
21591/***/ }),
21592
vendor: 2,057 bytes, lines 21593-21646
21593/***/ "./node_modules/lodash-es/isBuffer.js":
21594/*!********************************************!*\
21595  !*** ./node_modules/lodash-es/isBuffer.js ***!
21596  \********************************************/
21597/*! exports provided: default */
21598/***/ (function(module, __webpack_exports__, __webpack_require__) {
21599
21600"use strict";
21601__webpack_require__.r(__webpack_exports__);
21602/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js");
21603/* harmony import */ var _stubFalse_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./stubFalse.js */ "./node_modules/lodash-es/stubFalse.js");
21604
21605
21606
21607/** Detect free variable `exports`. */
21608var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
21609
21610/** Detect free variable `module`. */
21611var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
21612
21613/** Detect the popular CommonJS extension `module.exports`. */
21614var moduleExports = freeModule && freeModule.exports === freeExports;
21615
21616/** Built-in value references. */
21617var Buffer = moduleExports ? _root_js__WEBPACK_IMPORTED_MODULE_0__["default"].Buffer : undefined;
21618
21619/* Built-in method references for those with the same name as other `lodash` methods. */
21620var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
21621
21622/**
21623 * Checks if `value` is a buffer.
21624 *
21625 * @static
21626 * @memberOf _
21627 * @since 4.3.0
21628 * @category Lang
21629 * @param {*} value The value to check.
21630 * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
21631 * @example
21632 *
21633 * _.isBuffer(new Buffer(2));
21634 * // => true
21635 *
21636 * _.isBuffer(new Uint8Array(2));
21637 * // => false
21638 */
21639var isBuffer = nativeIsBuffer || _stubFalse_js__WEBPACK_IMPORTED_MODULE_1__["default"];
21640
21641/* harmony default export */ __webpack_exports__["default"] = (isBuffer);
21642
21643/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/harmony-module.js */ "./node_modules/webpack/buildin/harmony-module.js")(module)))
21644
21645/***/ }),
21646
vendor: 1,751 bytes, lines 21647-21698
21647/***/ "./node_modules/lodash-es/isFunction.js":
21648/*!**********************************************!*\
21649  !*** ./node_modules/lodash-es/isFunction.js ***!
21650  \**********************************************/
21651/*! exports provided: default */
21652/***/ (function(module, __webpack_exports__, __webpack_require__) {
21653
21654"use strict";
21655__webpack_require__.r(__webpack_exports__);
21656/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ "./node_modules/lodash-es/_baseGetTag.js");
21657/* harmony import */ var _isObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObject.js */ "./node_modules/lodash-es/isObject.js");
21658
21659
21660
21661/** `Object#toString` result references. */
21662var asyncTag = '[object AsyncFunction]',
21663    funcTag = '[object Function]',
21664    genTag = '[object GeneratorFunction]',
21665    proxyTag = '[object Proxy]';
21666
21667/**
21668 * Checks if `value` is classified as a `Function` object.
21669 *
21670 * @static
21671 * @memberOf _
21672 * @since 0.1.0
21673 * @category Lang
21674 * @param {*} value The value to check.
21675 * @returns {boolean} Returns `true` if `value` is a function, else `false`.
21676 * @example
21677 *
21678 * _.isFunction(_);
21679 * // => true
21680 *
21681 * _.isFunction(/abc/);
21682 * // => false
21683 */
21684function isFunction(value) {
21685  if (!Object(_isObject_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value)) {
21686    return false;
21687  }
21688  // The use of `Object#toString` avoids issues with the `typeof` operator
21689  // in Safari 9 which returns 'object' for typed arrays and other constructors.
21690  var tag = Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value);
21691  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
21692}
21693
21694/* harmony default export */ __webpack_exports__["default"] = (isFunction);
21695
21696
21697/***/ }),
21698
vendor: 1,217 bytes, lines 21699-21746
21699/***/ "./node_modules/lodash-es/isLength.js":
21700/*!********************************************!*\
21701  !*** ./node_modules/lodash-es/isLength.js ***!
21702  \********************************************/
21703/*! exports provided: default */
21704/***/ (function(module, __webpack_exports__, __webpack_require__) {
21705
21706"use strict";
21707__webpack_require__.r(__webpack_exports__);
21708/** Used as references for various `Number` constants. */
21709var MAX_SAFE_INTEGER = 9007199254740991;
21710
21711/**
21712 * Checks if `value` is a valid array-like length.
21713 *
21714 * **Note:** This method is loosely based on
21715 * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
21716 *
21717 * @static
21718 * @memberOf _
21719 * @since 4.0.0
21720 * @category Lang
21721 * @param {*} value The value to check.
21722 * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
21723 * @example
21724 *
21725 * _.isLength(3);
21726 * // => true
21727 *
21728 * _.isLength(Number.MIN_VALUE);
21729 * // => false
21730 *
21731 * _.isLength(Infinity);
21732 * // => false
21733 *
21734 * _.isLength('3');
21735 * // => false
21736 */
21737function isLength(value) {
21738  return typeof value == 'number' &&
21739    value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
21740}
21741
21742/* harmony default export */ __webpack_exports__["default"] = (isLength);
21743
21744
21745/***/ }),
21746
vendor: 1,547 bytes, lines 21747-21789
21747/***/ "./node_modules/lodash-es/isMap.js":
21748/*!*****************************************!*\
21749  !*** ./node_modules/lodash-es/isMap.js ***!
21750  \*****************************************/
21751/*! exports provided: default */
21752/***/ (function(module, __webpack_exports__, __webpack_require__) {
21753
21754"use strict";
21755__webpack_require__.r(__webpack_exports__);
21756/* harmony import */ var _baseIsMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsMap.js */ "./node_modules/lodash-es/_baseIsMap.js");
21757/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseUnary.js */ "./node_modules/lodash-es/_baseUnary.js");
21758/* harmony import */ var _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nodeUtil.js */ "./node_modules/lodash-es/_nodeUtil.js");
21759
21760
21761
21762
21763/* Node.js helper references. */
21764var nodeIsMap = _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__["default"] && _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__["default"].isMap;
21765
21766/**
21767 * Checks if `value` is classified as a `Map` object.
21768 *
21769 * @static
21770 * @memberOf _
21771 * @since 4.3.0
21772 * @category Lang
21773 * @param {*} value The value to check.
21774 * @returns {boolean} Returns `true` if `value` is a map, else `false`.
21775 * @example
21776 *
21777 * _.isMap(new Map);
21778 * // => true
21779 *
21780 * _.isMap(new WeakMap);
21781 * // => false
21782 */
21783var isMap = nodeIsMap ? Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_1__["default"])(nodeIsMap) : _baseIsMap_js__WEBPACK_IMPORTED_MODULE_0__["default"];
21784
21785/* harmony default export */ __webpack_exports__["default"] = (isMap);
21786
21787
21788/***/ }),
21789
vendor: 1,148 bytes, lines 21790-21833
21790/***/ "./node_modules/lodash-es/isObject.js":
21791/*!********************************************!*\
21792  !*** ./node_modules/lodash-es/isObject.js ***!
21793  \********************************************/
21794/*! exports provided: default */
21795/***/ (function(module, __webpack_exports__, __webpack_require__) {
21796
21797"use strict";
21798__webpack_require__.r(__webpack_exports__);
21799/**
21800 * Checks if `value` is the
21801 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
21802 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
21803 *
21804 * @static
21805 * @memberOf _
21806 * @since 0.1.0
21807 * @category Lang
21808 * @param {*} value The value to check.
21809 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
21810 * @example
21811 *
21812 * _.isObject({});
21813 * // => true
21814 *
21815 * _.isObject([1, 2, 3]);
21816 * // => true
21817 *
21818 * _.isObject(_.noop);
21819 * // => true
21820 *
21821 * _.isObject(null);
21822 * // => false
21823 */
21824function isObject(value) {
21825  var type = typeof value;
21826  return value != null && (type == 'object' || type == 'function');
21827}
21828
21829/* harmony default export */ __webpack_exports__["default"] = (isObject);
21830
21831
21832/***/ }),
21833
vendor: 1,045 bytes, lines 21834-21875
21834/***/ "./node_modules/lodash-es/isObjectLike.js":
21835/*!************************************************!*\
21836  !*** ./node_modules/lodash-es/isObjectLike.js ***!
21837  \************************************************/
21838/*! exports provided: default */
21839/***/ (function(module, __webpack_exports__, __webpack_require__) {
21840
21841"use strict";
21842__webpack_require__.r(__webpack_exports__);
21843/**
21844 * Checks if `value` is object-like. A value is object-like if it's not `null`
21845 * and has a `typeof` result of "object".
21846 *
21847 * @static
21848 * @memberOf _
21849 * @since 4.0.0
21850 * @category Lang
21851 * @param {*} value The value to check.
21852 * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
21853 * @example
21854 *
21855 * _.isObjectLike({});
21856 * // => true
21857 *
21858 * _.isObjectLike([1, 2, 3]);
21859 * // => true
21860 *
21861 * _.isObjectLike(_.noop);
21862 * // => false
21863 *
21864 * _.isObjectLike(null);
21865 * // => false
21866 */
21867function isObjectLike(value) {
21868  return value != null && typeof value == 'object';
21869}
21870
21871/* harmony default export */ __webpack_exports__["default"] = (isObjectLike);
21872
21873
21874/***/ }),
21875
vendor: 2,595 bytes, lines 21876-21953
21876/***/ "./node_modules/lodash-es/isPlainObject.js":
21877/*!*************************************************!*\
21878  !*** ./node_modules/lodash-es/isPlainObject.js ***!
21879  \*************************************************/
21880/*! exports provided: default */
21881/***/ (function(module, __webpack_exports__, __webpack_require__) {
21882
21883"use strict";
21884__webpack_require__.r(__webpack_exports__);
21885/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ "./node_modules/lodash-es/_baseGetTag.js");
21886/* harmony import */ var _getPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getPrototype.js */ "./node_modules/lodash-es/_getPrototype.js");
21887/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isObjectLike.js */ "./node_modules/lodash-es/isObjectLike.js");
21888
21889
21890
21891
21892/** `Object#toString` result references. */
21893var objectTag = '[object Object]';
21894
21895/** Used for built-in method references. */
21896var funcProto = Function.prototype,
21897    objectProto = Object.prototype;
21898
21899/** Used to resolve the decompiled source of functions. */
21900var funcToString = funcProto.toString;
21901
21902/** Used to check objects for own properties. */
21903var hasOwnProperty = objectProto.hasOwnProperty;
21904
21905/** Used to infer the `Object` constructor. */
21906var objectCtorString = funcToString.call(Object);
21907
21908/**
21909 * Checks if `value` is a plain object, that is, an object created by the
21910 * `Object` constructor or one with a `[[Prototype]]` of `null`.
21911 *
21912 * @static
21913 * @memberOf _
21914 * @since 0.8.0
21915 * @category Lang
21916 * @param {*} value The value to check.
21917 * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
21918 * @example
21919 *
21920 * function Foo() {
21921 *   this.a = 1;
21922 * }
21923 *
21924 * _.isPlainObject(new Foo);
21925 * // => false
21926 *
21927 * _.isPlainObject([1, 2, 3]);
21928 * // => false
21929 *
21930 * _.isPlainObject({ 'x': 0, 'y': 0 });
21931 * // => true
21932 *
21933 * _.isPlainObject(Object.create(null));
21934 * // => true
21935 */
21936function isPlainObject(value) {
21937  if (!Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value) || Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value) != objectTag) {
21938    return false;
21939  }
21940  var proto = Object(_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value);
21941  if (proto === null) {
21942    return true;
21943  }
21944  var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
21945  return typeof Ctor == 'function' && Ctor instanceof Ctor &&
21946    funcToString.call(Ctor) == objectCtorString;
21947}
21948
21949/* harmony default export */ __webpack_exports__["default"] = (isPlainObject);
21950
21951
21952/***/ }),
21953
vendor: 1,547 bytes, lines 21954-21996
21954/***/ "./node_modules/lodash-es/isSet.js":
21955/*!*****************************************!*\
21956  !*** ./node_modules/lodash-es/isSet.js ***!
21957  \*****************************************/
21958/*! exports provided: default */
21959/***/ (function(module, __webpack_exports__, __webpack_require__) {
21960
21961"use strict";
21962__webpack_require__.r(__webpack_exports__);
21963/* harmony import */ var _baseIsSet_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsSet.js */ "./node_modules/lodash-es/_baseIsSet.js");
21964/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseUnary.js */ "./node_modules/lodash-es/_baseUnary.js");
21965/* harmony import */ var _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nodeUtil.js */ "./node_modules/lodash-es/_nodeUtil.js");
21966
21967
21968
21969
21970/* Node.js helper references. */
21971var nodeIsSet = _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__["default"] && _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__["default"].isSet;
21972
21973/**
21974 * Checks if `value` is classified as a `Set` object.
21975 *
21976 * @static
21977 * @memberOf _
21978 * @since 4.3.0
21979 * @category Lang
21980 * @param {*} value The value to check.
21981 * @returns {boolean} Returns `true` if `value` is a set, else `false`.
21982 * @example
21983 *
21984 * _.isSet(new Set);
21985 * // => true
21986 *
21987 * _.isSet(new WeakSet);
21988 * // => false
21989 */
21990var isSet = nodeIsSet ? Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_1__["default"])(nodeIsSet) : _baseIsSet_js__WEBPACK_IMPORTED_MODULE_0__["default"];
21991
21992/* harmony default export */ __webpack_exports__["default"] = (isSet);
21993
21994
21995/***/ }),
21996
vendor: 1,436 bytes, lines 21997-22040
21997/***/ "./node_modules/lodash-es/isSymbol.js":
21998/*!********************************************!*\
21999  !*** ./node_modules/lodash-es/isSymbol.js ***!
22000  \********************************************/
22001/*! exports provided: default */
22002/***/ (function(module, __webpack_exports__, __webpack_require__) {
22003
22004"use strict";
22005__webpack_require__.r(__webpack_exports__);
22006/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ "./node_modules/lodash-es/_baseGetTag.js");
22007/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isObjectLike.js */ "./node_modules/lodash-es/isObjectLike.js");
22008
22009
22010
22011/** `Object#toString` result references. */
22012var symbolTag = '[object Symbol]';
22013
22014/**
22015 * Checks if `value` is classified as a `Symbol` primitive or object.
22016 *
22017 * @static
22018 * @memberOf _
22019 * @since 4.0.0
22020 * @category Lang
22021 * @param {*} value The value to check.
22022 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
22023 * @example
22024 *
22025 * _.isSymbol(Symbol.iterator);
22026 * // => true
22027 *
22028 * _.isSymbol('abc');
22029 * // => false
22030 */
22031function isSymbol(value) {
22032  return typeof value == 'symbol' ||
22033    (Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value) && Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value) == symbolTag);
22034}
22035
22036/* harmony default export */ __webpack_exports__["default"] = (isSymbol);
22037
22038
22039/***/ }),
22040
vendor: 1,664 bytes, lines 22041-22083
22041/***/ "./node_modules/lodash-es/isTypedArray.js":
22042/*!************************************************!*\
22043  !*** ./node_modules/lodash-es/isTypedArray.js ***!
22044  \************************************************/
22045/*! exports provided: default */
22046/***/ (function(module, __webpack_exports__, __webpack_require__) {
22047
22048"use strict";
22049__webpack_require__.r(__webpack_exports__);
22050/* harmony import */ var _baseIsTypedArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseIsTypedArray.js */ "./node_modules/lodash-es/_baseIsTypedArray.js");
22051/* harmony import */ var _baseUnary_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseUnary.js */ "./node_modules/lodash-es/_baseUnary.js");
22052/* harmony import */ var _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_nodeUtil.js */ "./node_modules/lodash-es/_nodeUtil.js");
22053
22054
22055
22056
22057/* Node.js helper references. */
22058var nodeIsTypedArray = _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__["default"] && _nodeUtil_js__WEBPACK_IMPORTED_MODULE_2__["default"].isTypedArray;
22059
22060/**
22061 * Checks if `value` is classified as a typed array.
22062 *
22063 * @static
22064 * @memberOf _
22065 * @since 3.0.0
22066 * @category Lang
22067 * @param {*} value The value to check.
22068 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
22069 * @example
22070 *
22071 * _.isTypedArray(new Uint8Array);
22072 * // => true
22073 *
22074 * _.isTypedArray([]);
22075 * // => false
22076 */
22077var isTypedArray = nodeIsTypedArray ? Object(_baseUnary_js__WEBPACK_IMPORTED_MODULE_1__["default"])(nodeIsTypedArray) : _baseIsTypedArray_js__WEBPACK_IMPORTED_MODULE_0__["default"];
22078
22079/* harmony default export */ __webpack_exports__["default"] = (isTypedArray);
22080
22081
22082/***/ }),
22083
vendor: 1,791 bytes, lines 22084-22136
22084/***/ "./node_modules/lodash-es/keys.js":
22085/*!****************************************!*\
22086  !*** ./node_modules/lodash-es/keys.js ***!
22087  \****************************************/
22088/*! exports provided: default */
22089/***/ (function(module, __webpack_exports__, __webpack_require__) {
22090
22091"use strict";
22092__webpack_require__.r(__webpack_exports__);
22093/* harmony import */ var _arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayLikeKeys.js */ "./node_modules/lodash-es/_arrayLikeKeys.js");
22094/* harmony import */ var _baseKeys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseKeys.js */ "./node_modules/lodash-es/_baseKeys.js");
22095/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArrayLike.js */ "./node_modules/lodash-es/isArrayLike.js");
22096
22097
22098
22099
22100/**
22101 * Creates an array of the own enumerable property names of `object`.
22102 *
22103 * **Note:** Non-object values are coerced to objects. See the
22104 * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
22105 * for more details.
22106 *
22107 * @static
22108 * @since 0.1.0
22109 * @memberOf _
22110 * @category Object
22111 * @param {Object} object The object to query.
22112 * @returns {Array} Returns the array of property names.
22113 * @example
22114 *
22115 * function Foo() {
22116 *   this.a = 1;
22117 *   this.b = 2;
22118 * }
22119 *
22120 * Foo.prototype.c = 3;
22121 *
22122 * _.keys(new Foo);
22123 * // => ['a', 'b'] (iteration order is not guaranteed)
22124 *
22125 * _.keys('hi');
22126 * // => ['0', '1']
22127 */
22128function keys(object) {
22129  return Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__["default"])(object) ? Object(_arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object) : Object(_baseKeys_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object);
22130}
22131
22132/* harmony default export */ __webpack_exports__["default"] = (keys);
22133
22134
22135/***/ }),
22136
vendor: 1,695 bytes, lines 22137-22184
22137/***/ "./node_modules/lodash-es/keysIn.js":
22138/*!******************************************!*\
22139  !*** ./node_modules/lodash-es/keysIn.js ***!
22140  \******************************************/
22141/*! exports provided: default */
22142/***/ (function(module, __webpack_exports__, __webpack_require__) {
22143
22144"use strict";
22145__webpack_require__.r(__webpack_exports__);
22146/* harmony import */ var _arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayLikeKeys.js */ "./node_modules/lodash-es/_arrayLikeKeys.js");
22147/* harmony import */ var _baseKeysIn_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_baseKeysIn.js */ "./node_modules/lodash-es/_baseKeysIn.js");
22148/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArrayLike.js */ "./node_modules/lodash-es/isArrayLike.js");
22149
22150
22151
22152
22153/**
22154 * Creates an array of the own and inherited enumerable property names of `object`.
22155 *
22156 * **Note:** Non-object values are coerced to objects.
22157 *
22158 * @static
22159 * @memberOf _
22160 * @since 3.0.0
22161 * @category Object
22162 * @param {Object} object The object to query.
22163 * @returns {Array} Returns the array of property names.
22164 * @example
22165 *
22166 * function Foo() {
22167 *   this.a = 1;
22168 *   this.b = 2;
22169 * }
22170 *
22171 * Foo.prototype.c = 3;
22172 *
22173 * _.keysIn(new Foo);
22174 * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
22175 */
22176function keysIn(object) {
22177  return Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__["default"])(object) ? Object(_arrayLikeKeys_js__WEBPACK_IMPORTED_MODULE_0__["default"])(object, true) : Object(_baseKeysIn_js__WEBPACK_IMPORTED_MODULE_1__["default"])(object);
22178}
22179
22180/* harmony default export */ __webpack_exports__["default"] = (keysIn);
22181
22182
22183/***/ }),
22184
vendor: 2,838 bytes, lines 22185-22271
22185/***/ "./node_modules/lodash-es/memoize.js":
22186/*!*******************************************!*\
22187  !*** ./node_modules/lodash-es/memoize.js ***!
22188  \*******************************************/
22189/*! exports provided: default */
22190/***/ (function(module, __webpack_exports__, __webpack_require__) {
22191
22192"use strict";
22193__webpack_require__.r(__webpack_exports__);
22194/* harmony import */ var _MapCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_MapCache.js */ "./node_modules/lodash-es/_MapCache.js");
22195
22196
22197/** Error message constants. */
22198var FUNC_ERROR_TEXT = 'Expected a function';
22199
22200/**
22201 * Creates a function that memoizes the result of `func`. If `resolver` is
22202 * provided, it determines the cache key for storing the result based on the
22203 * arguments provided to the memoized function. By default, the first argument
22204 * provided to the memoized function is used as the map cache key. The `func`
22205 * is invoked with the `this` binding of the memoized function.
22206 *
22207 * **Note:** The cache is exposed as the `cache` property on the memoized
22208 * function. Its creation may be customized by replacing the `_.memoize.Cache`
22209 * constructor with one whose instances implement the
22210 * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
22211 * method interface of `clear`, `delete`, `get`, `has`, and `set`.
22212 *
22213 * @static
22214 * @memberOf _
22215 * @since 0.1.0
22216 * @category Function
22217 * @param {Function} func The function to have its output memoized.
22218 * @param {Function} [resolver] The function to resolve the cache key.
22219 * @returns {Function} Returns the new memoized function.
22220 * @example
22221 *
22222 * var object = { 'a': 1, 'b': 2 };
22223 * var other = { 'c': 3, 'd': 4 };
22224 *
22225 * var values = _.memoize(_.values);
22226 * values(object);
22227 * // => [1, 2]
22228 *
22229 * values(other);
22230 * // => [3, 4]
22231 *
22232 * object.a = 2;
22233 * values(object);
22234 * // => [1, 2]
22235 *
22236 * // Modify the result cache.
22237 * values.cache.set(object, ['a', 'b']);
22238 * values(object);
22239 * // => ['a', 'b']
22240 *
22241 * // Replace `_.memoize.Cache`.
22242 * _.memoize.Cache = WeakMap;
22243 */
22244function memoize(func, resolver) {
22245  if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {
22246    throw new TypeError(FUNC_ERROR_TEXT);
22247  }
22248  var memoized = function() {
22249    var args = arguments,
22250        key = resolver ? resolver.apply(this, args) : args[0],
22251        cache = memoized.cache;
22252
22253    if (cache.has(key)) {
22254      return cache.get(key);
22255    }
22256    var result = func.apply(this, args);
22257    memoized.cache = cache.set(key, result) || cache;
22258    return result;
22259  };
22260  memoized.cache = new (memoize.Cache || _MapCache_js__WEBPACK_IMPORTED_MODULE_0__["default"]);
22261  return memoized;
22262}
22263
22264// Expose `MapCache`.
22265memoize.Cache = _MapCache_js__WEBPACK_IMPORTED_MODULE_0__["default"];
22266
22267/* harmony default export */ __webpack_exports__["default"] = (memoize);
22268
22269
22270/***/ }),
22271
vendor: 809 bytes, lines 22272-22307
22272/***/ "./node_modules/lodash-es/stubArray.js":
22273/*!*********************************************!*\
22274  !*** ./node_modules/lodash-es/stubArray.js ***!
22275  \*********************************************/
22276/*! exports provided: default */
22277/***/ (function(module, __webpack_exports__, __webpack_require__) {
22278
22279"use strict";
22280__webpack_require__.r(__webpack_exports__);
22281/**
22282 * This method returns a new empty array.
22283 *
22284 * @static
22285 * @memberOf _
22286 * @since 4.13.0
22287 * @category Util
22288 * @returns {Array} Returns the new empty array.
22289 * @example
22290 *
22291 * var arrays = _.times(2, _.stubArray);
22292 *
22293 * console.log(arrays);
22294 * // => [[], []]
22295 *
22296 * console.log(arrays[0] === arrays[1]);
22297 * // => false
22298 */
22299function stubArray() {
22300  return [];
22301}
22302
22303/* harmony default export */ __webpack_exports__["default"] = (stubArray);
22304
22305
22306/***/ }),
22307
vendor: 699 bytes, lines 22308-22338
22308/***/ "./node_modules/lodash-es/stubFalse.js":
22309/*!*********************************************!*\
22310  !*** ./node_modules/lodash-es/stubFalse.js ***!
22311  \*********************************************/
22312/*! exports provided: default */
22313/***/ (function(module, __webpack_exports__, __webpack_require__) {
22314
22315"use strict";
22316__webpack_require__.r(__webpack_exports__);
22317/**
22318 * This method returns `false`.
22319 *
22320 * @static
22321 * @memberOf _
22322 * @since 4.13.0
22323 * @category Util
22324 * @returns {boolean} Returns `false`.
22325 * @example
22326 *
22327 * _.times(2, _.stubFalse);
22328 * // => [false, false]
22329 */
22330function stubFalse() {
22331  return false;
22332}
22333
22334/* harmony default export */ __webpack_exports__["default"] = (stubFalse);
22335
22336
22337/***/ }),
22338
vendor: 2,370 bytes, lines 22339-22391
22339/***/ "./node_modules/lodash-es/toPath.js":
22340/*!******************************************!*\
22341  !*** ./node_modules/lodash-es/toPath.js ***!
22342  \******************************************/
22343/*! exports provided: default */
22344/***/ (function(module, __webpack_exports__, __webpack_require__) {
22345
22346"use strict";
22347__webpack_require__.r(__webpack_exports__);
22348/* harmony import */ var _arrayMap_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayMap.js */ "./node_modules/lodash-es/_arrayMap.js");
22349/* harmony import */ var _copyArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_copyArray.js */ "./node_modules/lodash-es/_copyArray.js");
22350/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isArray.js */ "./node_modules/lodash-es/isArray.js");
22351/* harmony import */ var _isSymbol_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isSymbol.js */ "./node_modules/lodash-es/isSymbol.js");
22352/* harmony import */ var _stringToPath_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_stringToPath.js */ "./node_modules/lodash-es/_stringToPath.js");
22353/* harmony import */ var _toKey_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_toKey.js */ "./node_modules/lodash-es/_toKey.js");
22354/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./toString.js */ "./node_modules/lodash-es/toString.js");
22355
22356
22357
22358
22359
22360
22361
22362
22363/**
22364 * Converts `value` to a property path array.
22365 *
22366 * @static
22367 * @memberOf _
22368 * @since 4.0.0
22369 * @category Util
22370 * @param {*} value The value to convert.
22371 * @returns {Array} Returns the new property path array.
22372 * @example
22373 *
22374 * _.toPath('a.b.c');
22375 * // => ['a', 'b', 'c']
22376 *
22377 * _.toPath('a[0].b.c');
22378 * // => ['a', '0', 'b', 'c']
22379 */
22380function toPath(value) {
22381  if (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value)) {
22382    return Object(_arrayMap_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value, _toKey_js__WEBPACK_IMPORTED_MODULE_5__["default"]);
22383  }
22384  return Object(_isSymbol_js__WEBPACK_IMPORTED_MODULE_3__["default"])(value) ? [value] : Object(_copyArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_stringToPath_js__WEBPACK_IMPORTED_MODULE_4__["default"])(Object(_toString_js__WEBPACK_IMPORTED_MODULE_6__["default"])(value)));
22385}
22386
22387/* harmony default export */ __webpack_exports__["default"] = (toPath);
22388
22389
22390/***/ }),
22391
vendor: 1,166 bytes, lines 22392-22433
22392/***/ "./node_modules/lodash-es/toString.js":
22393/*!********************************************!*\
22394  !*** ./node_modules/lodash-es/toString.js ***!
22395  \********************************************/
22396/*! exports provided: default */
22397/***/ (function(module, __webpack_exports__, __webpack_require__) {
22398
22399"use strict";
22400__webpack_require__.r(__webpack_exports__);
22401/* harmony import */ var _baseToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseToString.js */ "./node_modules/lodash-es/_baseToString.js");
22402
22403
22404/**
22405 * Converts `value` to a string. An empty string is returned for `null`
22406 * and `undefined` values. The sign of `-0` is preserved.
22407 *
22408 * @static
22409 * @memberOf _
22410 * @since 4.0.0
22411 * @category Lang
22412 * @param {*} value The value to convert.
22413 * @returns {string} Returns the converted string.
22414 * @example
22415 *
22416 * _.toString(null);
22417 * // => ''
22418 *
22419 * _.toString(-0);
22420 * // => '-0'
22421 *
22422 * _.toString([1, 2, 3]);
22423 * // => '1,2,3'
22424 */
22425function toString(value) {
22426  return value == null ? '' : Object(_baseToString_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value);
22427}
22428
22429/* harmony default export */ __webpack_exports__["default"] = (toString);
22430
22431
22432/***/ }),
22433
vendor: 603 bytes, lines 22434-22451
22434/***/ "./node_modules/lodash/_DataView.js":
22435/*!******************************************!*\
22436  !*** ./node_modules/lodash/_DataView.js ***!
22437  \******************************************/
22438/*! no static exports found */
22439/***/ (function(module, exports, __webpack_require__) {
22440
22441var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"),
22442    root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
22443
22444/* Built-in method references that are verified to be native. */
22445var DataView = getNative(root, 'DataView');
22446
22447module.exports = DataView;
22448
22449
22450/***/ }),
22451
vendor: 1,289 bytes, lines 22452-22494
22452/***/ "./node_modules/lodash/_Hash.js":
22453/*!**************************************!*\
22454  !*** ./node_modules/lodash/_Hash.js ***!
22455  \**************************************/
22456/*! no static exports found */
22457/***/ (function(module, exports, __webpack_require__) {
22458
22459var hashClear = __webpack_require__(/*! ./_hashClear */ "./node_modules/lodash/_hashClear.js"),
22460    hashDelete = __webpack_require__(/*! ./_hashDelete */ "./node_modules/lodash/_hashDelete.js"),
22461    hashGet = __webpack_require__(/*! ./_hashGet */ "./node_modules/lodash/_hashGet.js"),
22462    hashHas = __webpack_require__(/*! ./_hashHas */ "./node_modules/lodash/_hashHas.js"),
22463    hashSet = __webpack_require__(/*! ./_hashSet */ "./node_modules/lodash/_hashSet.js");
22464
22465/**
22466 * Creates a hash object.
22467 *
22468 * @private
22469 * @constructor
22470 * @param {Array} [entries] The key-value pairs to cache.
22471 */
22472function Hash(entries) {
22473  var index = -1,
22474      length = entries == null ? 0 : entries.length;
22475
22476  this.clear();
22477  while (++index < length) {
22478    var entry = entries[index];
22479    this.set(entry[0], entry[1]);
22480  }
22481}
22482
22483// Add methods to `Hash`.
22484Hash.prototype.clear = hashClear;
22485Hash.prototype['delete'] = hashDelete;
22486Hash.prototype.get = hashGet;
22487Hash.prototype.has = hashHas;
22488Hash.prototype.set = hashSet;
22489
22490module.exports = Hash;
22491
22492
22493/***/ }),
22494
vendor: 1,185 bytes, lines 22495-22533
22495/***/ "./node_modules/lodash/_LazyWrapper.js":
22496/*!*********************************************!*\
22497  !*** ./node_modules/lodash/_LazyWrapper.js ***!
22498  \*********************************************/
22499/*! no static exports found */
22500/***/ (function(module, exports, __webpack_require__) {
22501
22502var baseCreate = __webpack_require__(/*! ./_baseCreate */ "./node_modules/lodash/_baseCreate.js"),
22503    baseLodash = __webpack_require__(/*! ./_baseLodash */ "./node_modules/lodash/_baseLodash.js");
22504
22505/** Used as references for the maximum length and index of an array. */
22506var MAX_ARRAY_LENGTH = 4294967295;
22507
22508/**
22509 * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.
22510 *
22511 * @private
22512 * @constructor
22513 * @param {*} value The value to wrap.
22514 */
22515function LazyWrapper(value) {
22516  this.__wrapped__ = value;
22517  this.__actions__ = [];
22518  this.__dir__ = 1;
22519  this.__filtered__ = false;
22520  this.__iteratees__ = [];
22521  this.__takeCount__ = MAX_ARRAY_LENGTH;
22522  this.__views__ = [];
22523}
22524
22525// Ensure `LazyWrapper` is an instance of `baseLodash`.
22526LazyWrapper.prototype = baseCreate(baseLodash.prototype);
22527LazyWrapper.prototype.constructor = LazyWrapper;
22528
22529module.exports = LazyWrapper;
22530
22531
22532/***/ }),
22533
vendor: 1,456 bytes, lines 22534-22576
22534/***/ "./node_modules/lodash/_ListCache.js":
22535/*!*******************************************!*\
22536  !*** ./node_modules/lodash/_ListCache.js ***!
22537  \*******************************************/
22538/*! no static exports found */
22539/***/ (function(module, exports, __webpack_require__) {
22540
22541var listCacheClear = __webpack_require__(/*! ./_listCacheClear */ "./node_modules/lodash/_listCacheClear.js"),
22542    listCacheDelete = __webpack_require__(/*! ./_listCacheDelete */ "./node_modules/lodash/_listCacheDelete.js"),
22543    listCacheGet = __webpack_require__(/*! ./_listCacheGet */ "./node_modules/lodash/_listCacheGet.js"),
22544    listCacheHas = __webpack_require__(/*! ./_listCacheHas */ "./node_modules/lodash/_listCacheHas.js"),
22545    listCacheSet = __webpack_require__(/*! ./_listCacheSet */ "./node_modules/lodash/_listCacheSet.js");
22546
22547/**
22548 * Creates an list cache object.
22549 *
22550 * @private
22551 * @constructor
22552 * @param {Array} [entries] The key-value pairs to cache.
22553 */
22554function ListCache(entries) {
22555  var index = -1,
22556      length = entries == null ? 0 : entries.length;
22557
22558  this.clear();
22559  while (++index < length) {
22560    var entry = entries[index];
22561    this.set(entry[0], entry[1]);
22562  }
22563}
22564
22565// Add methods to `ListCache`.
22566ListCache.prototype.clear = listCacheClear;
22567ListCache.prototype['delete'] = listCacheDelete;
22568ListCache.prototype.get = listCacheGet;
22569ListCache.prototype.has = listCacheHas;
22570ListCache.prototype.set = listCacheSet;
22571
22572module.exports = ListCache;
22573
22574
22575/***/ }),
22576
vendor: 1,031 bytes, lines 22577-22609
22577/***/ "./node_modules/lodash/_LodashWrapper.js":
22578/*!***********************************************!*\
22579  !*** ./node_modules/lodash/_LodashWrapper.js ***!
22580  \***********************************************/
22581/*! no static exports found */
22582/***/ (function(module, exports, __webpack_require__) {
22583
22584var baseCreate = __webpack_require__(/*! ./_baseCreate */ "./node_modules/lodash/_baseCreate.js"),
22585    baseLodash = __webpack_require__(/*! ./_baseLodash */ "./node_modules/lodash/_baseLodash.js");
22586
22587/**
22588 * The base constructor for creating `lodash` wrapper objects.
22589 *
22590 * @private
22591 * @param {*} value The value to wrap.
22592 * @param {boolean} [chainAll] Enable explicit method chain sequences.
22593 */
22594function LodashWrapper(value, chainAll) {
22595  this.__wrapped__ = value;
22596  this.__actions__ = [];
22597  this.__chain__ = !!chainAll;
22598  this.__index__ = 0;
22599  this.__values__ = undefined;
22600}
22601
22602LodashWrapper.prototype = baseCreate(baseLodash.prototype);
22603LodashWrapper.prototype.constructor = LodashWrapper;
22604
22605module.exports = LodashWrapper;
22606
22607
22608/***/ }),
22609
vendor: 568 bytes, lines 22610-22627
22610/***/ "./node_modules/lodash/_Map.js":
22611/*!*************************************!*\
22612  !*** ./node_modules/lodash/_Map.js ***!
22613  \*************************************/
22614/*! no static exports found */
22615/***/ (function(module, exports, __webpack_require__) {
22616
22617var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"),
22618    root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
22619
22620/* Built-in method references that are verified to be native. */
22621var Map = getNative(root, 'Map');
22622
22623module.exports = Map;
22624
22625
22626/***/ }),
22627
vendor: 1,447 bytes, lines 22628-22670
22628/***/ "./node_modules/lodash/_MapCache.js":
22629/*!******************************************!*\
22630  !*** ./node_modules/lodash/_MapCache.js ***!
22631  \******************************************/
22632/*! no static exports found */
22633/***/ (function(module, exports, __webpack_require__) {
22634
22635var mapCacheClear = __webpack_require__(/*! ./_mapCacheClear */ "./node_modules/lodash/_mapCacheClear.js"),
22636    mapCacheDelete = __webpack_require__(/*! ./_mapCacheDelete */ "./node_modules/lodash/_mapCacheDelete.js"),
22637    mapCacheGet = __webpack_require__(/*! ./_mapCacheGet */ "./node_modules/lodash/_mapCacheGet.js"),
22638    mapCacheHas = __webpack_require__(/*! ./_mapCacheHas */ "./node_modules/lodash/_mapCacheHas.js"),
22639    mapCacheSet = __webpack_require__(/*! ./_mapCacheSet */ "./node_modules/lodash/_mapCacheSet.js");
22640
22641/**
22642 * Creates a map cache object to store key-value pairs.
22643 *
22644 * @private
22645 * @constructor
22646 * @param {Array} [entries] The key-value pairs to cache.
22647 */
22648function MapCache(entries) {
22649  var index = -1,
22650      length = entries == null ? 0 : entries.length;
22651
22652  this.clear();
22653  while (++index < length) {
22654    var entry = entries[index];
22655    this.set(entry[0], entry[1]);
22656  }
22657}
22658
22659// Add methods to `MapCache`.
22660MapCache.prototype.clear = mapCacheClear;
22661MapCache.prototype['delete'] = mapCacheDelete;
22662MapCache.prototype.get = mapCacheGet;
22663MapCache.prototype.has = mapCacheHas;
22664MapCache.prototype.set = mapCacheSet;
22665
22666module.exports = MapCache;
22667
22668
22669/***/ }),
22670
vendor: 596 bytes, lines 22671-22688
22671/***/ "./node_modules/lodash/_Promise.js":
22672/*!*****************************************!*\
22673  !*** ./node_modules/lodash/_Promise.js ***!
22674  \*****************************************/
22675/*! no static exports found */
22676/***/ (function(module, exports, __webpack_require__) {
22677
22678var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"),
22679    root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
22680
22681/* Built-in method references that are verified to be native. */
22682var Promise = getNative(root, 'Promise');
22683
22684module.exports = Promise;
22685
22686
22687/***/ }),
22688
vendor: 568 bytes, lines 22689-22706
22689/***/ "./node_modules/lodash/_Set.js":
22690/*!*************************************!*\
22691  !*** ./node_modules/lodash/_Set.js ***!
22692  \*************************************/
22693/*! no static exports found */
22694/***/ (function(module, exports, __webpack_require__) {
22695
22696var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"),
22697    root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
22698
22699/* Built-in method references that are verified to be native. */
22700var Set = getNative(root, 'Set');
22701
22702module.exports = Set;
22703
22704
22705/***/ }),
22706
vendor: 1,088 bytes, lines 22707-22744
22707/***/ "./node_modules/lodash/_SetCache.js":
22708/*!******************************************!*\
22709  !*** ./node_modules/lodash/_SetCache.js ***!
22710  \******************************************/
22711/*! no static exports found */
22712/***/ (function(module, exports, __webpack_require__) {
22713
22714var MapCache = __webpack_require__(/*! ./_MapCache */ "./node_modules/lodash/_MapCache.js"),
22715    setCacheAdd = __webpack_require__(/*! ./_setCacheAdd */ "./node_modules/lodash/_setCacheAdd.js"),
22716    setCacheHas = __webpack_require__(/*! ./_setCacheHas */ "./node_modules/lodash/_setCacheHas.js");
22717
22718/**
22719 *
22720 * Creates an array cache object to store unique values.
22721 *
22722 * @private
22723 * @constructor
22724 * @param {Array} [values] The values to cache.
22725 */
22726function SetCache(values) {
22727  var index = -1,
22728      length = values == null ? 0 : values.length;
22729
22730  this.__data__ = new MapCache;
22731  while (++index < length) {
22732    this.add(values[index]);
22733  }
22734}
22735
22736// Add methods to `SetCache`.
22737SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
22738SetCache.prototype.has = setCacheHas;
22739
22740module.exports = SetCache;
22741
22742
22743/***/ }),
22744
vendor: 1,340 bytes, lines 22745-22782
22745/***/ "./node_modules/lodash/_Stack.js":
22746/*!***************************************!*\
22747  !*** ./node_modules/lodash/_Stack.js ***!
22748  \***************************************/
22749/*! no static exports found */
22750/***/ (function(module, exports, __webpack_require__) {
22751
22752var ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js"),
22753    stackClear = __webpack_require__(/*! ./_stackClear */ "./node_modules/lodash/_stackClear.js"),
22754    stackDelete = __webpack_require__(/*! ./_stackDelete */ "./node_modules/lodash/_stackDelete.js"),
22755    stackGet = __webpack_require__(/*! ./_stackGet */ "./node_modules/lodash/_stackGet.js"),
22756    stackHas = __webpack_require__(/*! ./_stackHas */ "./node_modules/lodash/_stackHas.js"),
22757    stackSet = __webpack_require__(/*! ./_stackSet */ "./node_modules/lodash/_stackSet.js");
22758
22759/**
22760 * Creates a stack cache object to store key-value pairs.
22761 *
22762 * @private
22763 * @constructor
22764 * @param {Array} [entries] The key-value pairs to cache.
22765 */
22766function Stack(entries) {
22767  var data = this.__data__ = new ListCache(entries);
22768  this.size = data.size;
22769}
22770
22771// Add methods to `Stack`.
22772Stack.prototype.clear = stackClear;
22773Stack.prototype['delete'] = stackDelete;
22774Stack.prototype.get = stackGet;
22775Stack.prototype.has = stackHas;
22776Stack.prototype.set = stackSet;
22777
22778module.exports = Stack;
22779
22780
22781/***/ }),
22782
vendor: 448 bytes, lines 22783-22799
22783/***/ "./node_modules/lodash/_Symbol.js":
22784/*!****************************************!*\
22785  !*** ./node_modules/lodash/_Symbol.js ***!
22786  \****************************************/
22787/*! no static exports found */
22788/***/ (function(module, exports, __webpack_require__) {
22789
22790var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
22791
22792/** Built-in value references. */
22793var Symbol = root.Symbol;
22794
22795module.exports = Symbol;
22796
22797
22798/***/ }),
22799
vendor: 476 bytes, lines 22800-22816
22800/***/ "./node_modules/lodash/_Uint8Array.js":
22801/*!********************************************!*\
22802  !*** ./node_modules/lodash/_Uint8Array.js ***!
22803  \********************************************/
22804/*! no static exports found */
22805/***/ (function(module, exports, __webpack_require__) {
22806
22807var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
22808
22809/** Built-in value references. */
22810var Uint8Array = root.Uint8Array;
22811
22812module.exports = Uint8Array;
22813
22814
22815/***/ }),
22816
vendor: 596 bytes, lines 22817-22834
22817/***/ "./node_modules/lodash/_WeakMap.js":
22818/*!*****************************************!*\
22819  !*** ./node_modules/lodash/_WeakMap.js ***!
22820  \*****************************************/
22821/*! no static exports found */
22822/***/ (function(module, exports, __webpack_require__) {
22823
22824var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js"),
22825    root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
22826
22827/* Built-in method references that are verified to be native. */
22828var WeakMap = getNative(root, 'WeakMap');
22829
22830module.exports = WeakMap;
22831
22832
22833/***/ }),
22834
vendor: 969 bytes, lines 22835-22866
22835/***/ "./node_modules/lodash/_apply.js":
22836/*!***************************************!*\
22837  !*** ./node_modules/lodash/_apply.js ***!
22838  \***************************************/
22839/*! no static exports found */
22840/***/ (function(module, exports) {
22841
22842/**
22843 * A faster alternative to `Function#apply`, this function invokes `func`
22844 * with the `this` binding of `thisArg` and the arguments of `args`.
22845 *
22846 * @private
22847 * @param {Function} func The function to invoke.
22848 * @param {*} thisArg The `this` binding of `func`.
22849 * @param {Array} args The arguments to invoke `func` with.
22850 * @returns {*} Returns the result of `func`.
22851 */
22852function apply(func, thisArg, args) {
22853  switch (args.length) {
22854    case 0: return func.call(thisArg);
22855    case 1: return func.call(thisArg, args[0]);
22856    case 2: return func.call(thisArg, args[0], args[1]);
22857    case 3: return func.call(thisArg, args[0], args[1], args[2]);
22858  }
22859  return func.apply(thisArg, args);
22860}
22861
22862module.exports = apply;
22863
22864
22865/***/ }),
22866
vendor: 808 bytes, lines 22867-22899
22867/***/ "./node_modules/lodash/_arrayEach.js":
22868/*!*******************************************!*\
22869  !*** ./node_modules/lodash/_arrayEach.js ***!
22870  \*******************************************/
22871/*! no static exports found */
22872/***/ (function(module, exports) {
22873
22874/**
22875 * A specialized version of `_.forEach` for arrays without support for
22876 * iteratee shorthands.
22877 *
22878 * @private
22879 * @param {Array} [array] The array to iterate over.
22880 * @param {Function} iteratee The function invoked per iteration.
22881 * @returns {Array} Returns `array`.
22882 */
22883function arrayEach(array, iteratee) {
22884  var index = -1,
22885      length = array == null ? 0 : array.length;
22886
22887  while (++index < length) {
22888    if (iteratee(array[index], index, array) === false) {
22889      break;
22890    }
22891  }
22892  return array;
22893}
22894
22895module.exports = arrayEach;
22896
22897
22898/***/ }),
22899
vendor: 911 bytes, lines 22900-22935
22900/***/ "./node_modules/lodash/_arrayFilter.js":
22901/*!*********************************************!*\
22902  !*** ./node_modules/lodash/_arrayFilter.js ***!
22903  \*********************************************/
22904/*! no static exports found */
22905/***/ (function(module, exports) {
22906
22907/**
22908 * A specialized version of `_.filter` for arrays without support for
22909 * iteratee shorthands.
22910 *
22911 * @private
22912 * @param {Array} [array] The array to iterate over.
22913 * @param {Function} predicate The function invoked per iteration.
22914 * @returns {Array} Returns the new filtered array.
22915 */
22916function arrayFilter(array, predicate) {
22917  var index = -1,
22918      length = array == null ? 0 : array.length,
22919      resIndex = 0,
22920      result = [];
22921
22922  while (++index < length) {
22923    var value = array[index];
22924    if (predicate(value, index, array)) {
22925      result[resIndex++] = value;
22926    }
22927  }
22928  return result;
22929}
22930
22931module.exports = arrayFilter;
22932
22933
22934/***/ }),
22935
vendor: 891 bytes, lines 22936-22963
22936/***/ "./node_modules/lodash/_arrayIncludes.js":
22937/*!***********************************************!*\
22938  !*** ./node_modules/lodash/_arrayIncludes.js ***!
22939  \***********************************************/
22940/*! no static exports found */
22941/***/ (function(module, exports, __webpack_require__) {
22942
22943var baseIndexOf = __webpack_require__(/*! ./_baseIndexOf */ "./node_modules/lodash/_baseIndexOf.js");
22944
22945/**
22946 * A specialized version of `_.includes` for arrays without support for
22947 * specifying an index to search from.
22948 *
22949 * @private
22950 * @param {Array} [array] The array to inspect.
22951 * @param {*} target The value to search for.
22952 * @returns {boolean} Returns `true` if `target` is found, else `false`.
22953 */
22954function arrayIncludes(array, value) {
22955  var length = array == null ? 0 : array.length;
22956  return !!length && baseIndexOf(array, value, 0) > -1;
22957}
22958
22959module.exports = arrayIncludes;
22960
22961
22962/***/ }),
22963
vendor: 2,412 bytes, lines 22964-23023
22964/***/ "./node_modules/lodash/_arrayLikeKeys.js":
22965/*!***********************************************!*\
22966  !*** ./node_modules/lodash/_arrayLikeKeys.js ***!
22967  \***********************************************/
22968/*! no static exports found */
22969/***/ (function(module, exports, __webpack_require__) {
22970
22971var baseTimes = __webpack_require__(/*! ./_baseTimes */ "./node_modules/lodash/_baseTimes.js"),
22972    isArguments = __webpack_require__(/*! ./isArguments */ "./node_modules/lodash/isArguments.js"),
22973    isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"),
22974    isBuffer = __webpack_require__(/*! ./isBuffer */ "./node_modules/lodash/isBuffer.js"),
22975    isIndex = __webpack_require__(/*! ./_isIndex */ "./node_modules/lodash/_isIndex.js"),
22976    isTypedArray = __webpack_require__(/*! ./isTypedArray */ "./node_modules/lodash/isTypedArray.js");
22977
22978/** Used for built-in method references. */
22979var objectProto = Object.prototype;
22980
22981/** Used to check objects for own properties. */
22982var hasOwnProperty = objectProto.hasOwnProperty;
22983
22984/**
22985 * Creates an array of the enumerable property names of the array-like `value`.
22986 *
22987 * @private
22988 * @param {*} value The value to query.
22989 * @param {boolean} inherited Specify returning inherited property names.
22990 * @returns {Array} Returns the array of property names.
22991 */
22992function arrayLikeKeys(value, inherited) {
22993  var isArr = isArray(value),
22994      isArg = !isArr && isArguments(value),
22995      isBuff = !isArr && !isArg && isBuffer(value),
22996      isType = !isArr && !isArg && !isBuff && isTypedArray(value),
22997      skipIndexes = isArr || isArg || isBuff || isType,
22998      result = skipIndexes ? baseTimes(value.length, String) : [],
22999      length = result.length;
23000
23001  for (var key in value) {
23002    if ((inherited || hasOwnProperty.call(value, key)) &&
23003        !(skipIndexes && (
23004           // Safari 9 has enumerable `arguments.length` in strict mode.
23005           key == 'length' ||
23006           // Node.js 0.10 has enumerable non-index properties on buffers.
23007           (isBuff && (key == 'offset' || key == 'parent')) ||
23008           // PhantomJS 2 has enumerable non-index properties on typed arrays.
23009           (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||
23010           // Skip index properties.
23011           isIndex(key, length)
23012        ))) {
23013      result.push(key);
23014    }
23015  }
23016  return result;
23017}
23018
23019module.exports = arrayLikeKeys;
23020
23021
23022/***/ }),
23023
vendor: 823 bytes, lines 23024-23055
23024/***/ "./node_modules/lodash/_arrayMap.js":
23025/*!******************************************!*\
23026  !*** ./node_modules/lodash/_arrayMap.js ***!
23027  \******************************************/
23028/*! no static exports found */
23029/***/ (function(module, exports) {
23030
23031/**
23032 * A specialized version of `_.map` for arrays without support for iteratee
23033 * shorthands.
23034 *
23035 * @private
23036 * @param {Array} [array] The array to iterate over.
23037 * @param {Function} iteratee The function invoked per iteration.
23038 * @returns {Array} Returns the new mapped array.
23039 */
23040function arrayMap(array, iteratee) {
23041  var index = -1,
23042      length = array == null ? 0 : array.length,
23043      result = Array(length);
23044
23045  while (++index < length) {
23046    result[index] = iteratee(array[index], index, array);
23047  }
23048  return result;
23049}
23050
23051module.exports = arrayMap;
23052
23053
23054/***/ }),
23055
vendor: 708 bytes, lines 23056-23086
23056/***/ "./node_modules/lodash/_arrayPush.js":
23057/*!*******************************************!*\
23058  !*** ./node_modules/lodash/_arrayPush.js ***!
23059  \*******************************************/
23060/*! no static exports found */
23061/***/ (function(module, exports) {
23062
23063/**
23064 * Appends the elements of `values` to `array`.
23065 *
23066 * @private
23067 * @param {Array} array The array to modify.
23068 * @param {Array} values The values to append.
23069 * @returns {Array} Returns `array`.
23070 */
23071function arrayPush(array, values) {
23072  var index = -1,
23073      length = values.length,
23074      offset = array.length;
23075
23076  while (++index < length) {
23077    array[offset + index] = values[index];
23078  }
23079  return array;
23080}
23081
23082module.exports = arrayPush;
23083
23084
23085/***/ }),
23086
vendor: 865 bytes, lines 23087-23120
23087/***/ "./node_modules/lodash/_arraySome.js":
23088/*!*******************************************!*\
23089  !*** ./node_modules/lodash/_arraySome.js ***!
23090  \*******************************************/
23091/*! no static exports found */
23092/***/ (function(module, exports) {
23093
23094/**
23095 * A specialized version of `_.some` for arrays without support for iteratee
23096 * shorthands.
23097 *
23098 * @private
23099 * @param {Array} [array] The array to iterate over.
23100 * @param {Function} predicate The function invoked per iteration.
23101 * @returns {boolean} Returns `true` if any element passes the predicate check,
23102 *  else `false`.
23103 */
23104function arraySome(array, predicate) {
23105  var index = -1,
23106      length = array == null ? 0 : array.length;
23107
23108  while (++index < length) {
23109    if (predicate(array[index], index, array)) {
23110      return true;
23111    }
23112  }
23113  return false;
23114}
23115
23116module.exports = arraySome;
23117
23118
23119/***/ }),
23120
vendor: 1,307 bytes, lines 23121-23159
23121/***/ "./node_modules/lodash/_assignValue.js":
23122/*!*********************************************!*\
23123  !*** ./node_modules/lodash/_assignValue.js ***!
23124  \*********************************************/
23125/*! no static exports found */
23126/***/ (function(module, exports, __webpack_require__) {
23127
23128var baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ "./node_modules/lodash/_baseAssignValue.js"),
23129    eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js");
23130
23131/** Used for built-in method references. */
23132var objectProto = Object.prototype;
23133
23134/** Used to check objects for own properties. */
23135var hasOwnProperty = objectProto.hasOwnProperty;
23136
23137/**
23138 * Assigns `value` to `key` of `object` if the existing value is not equivalent
23139 * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
23140 * for equality comparisons.
23141 *
23142 * @private
23143 * @param {Object} object The object to modify.
23144 * @param {string} key The key of the property to assign.
23145 * @param {*} value The value to assign.
23146 */
23147function assignValue(object, key, value) {
23148  var objValue = object[key];
23149  if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||
23150      (value === undefined && !(key in object))) {
23151    baseAssignValue(object, key, value);
23152  }
23153}
23154
23155module.exports = assignValue;
23156
23157
23158/***/ }),
23159
vendor: 838 bytes, lines 23160-23191
23160/***/ "./node_modules/lodash/_assocIndexOf.js":
23161/*!**********************************************!*\
23162  !*** ./node_modules/lodash/_assocIndexOf.js ***!
23163  \**********************************************/
23164/*! no static exports found */
23165/***/ (function(module, exports, __webpack_require__) {
23166
23167var eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js");
23168
23169/**
23170 * Gets the index at which the `key` is found in `array` of key-value pairs.
23171 *
23172 * @private
23173 * @param {Array} array The array to inspect.
23174 * @param {*} key The key to search for.
23175 * @returns {number} Returns the index of the matched value, else `-1`.
23176 */
23177function assocIndexOf(array, key) {
23178  var length = array.length;
23179  while (length--) {
23180    if (eq(array[length][0], key)) {
23181      return length;
23182    }
23183  }
23184  return -1;
23185}
23186
23187module.exports = assocIndexOf;
23188
23189
23190/***/ }),
23191
vendor: 871 bytes, lines 23192-23219
23192/***/ "./node_modules/lodash/_baseAssign.js":
23193/*!********************************************!*\
23194  !*** ./node_modules/lodash/_baseAssign.js ***!
23195  \********************************************/
23196/*! no static exports found */
23197/***/ (function(module, exports, __webpack_require__) {
23198
23199var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"),
23200    keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js");
23201
23202/**
23203 * The base implementation of `_.assign` without support for multiple sources
23204 * or `customizer` functions.
23205 *
23206 * @private
23207 * @param {Object} object The destination object.
23208 * @param {Object} source The source object.
23209 * @returns {Object} Returns `object`.
23210 */
23211function baseAssign(object, source) {
23212  return object && copyObject(source, keys(source), object);
23213}
23214
23215module.exports = baseAssign;
23216
23217
23218/***/ }),
23219
vendor: 893 bytes, lines 23220-23247
23220/***/ "./node_modules/lodash/_baseAssignIn.js":
23221/*!**********************************************!*\
23222  !*** ./node_modules/lodash/_baseAssignIn.js ***!
23223  \**********************************************/
23224/*! no static exports found */
23225/***/ (function(module, exports, __webpack_require__) {
23226
23227var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"),
23228    keysIn = __webpack_require__(/*! ./keysIn */ "./node_modules/lodash/keysIn.js");
23229
23230/**
23231 * The base implementation of `_.assignIn` without support for multiple sources
23232 * or `customizer` functions.
23233 *
23234 * @private
23235 * @param {Object} object The destination object.
23236 * @param {Object} source The source object.
23237 * @returns {Object} Returns `object`.
23238 */
23239function baseAssignIn(object, source) {
23240  return object && copyObject(source, keysIn(source), object);
23241}
23242
23243module.exports = baseAssignIn;
23244
23245
23246/***/ }),
23247
vendor: 1,001 bytes, lines 23248-23283
23248/***/ "./node_modules/lodash/_baseAssignValue.js":
23249/*!*************************************************!*\
23250  !*** ./node_modules/lodash/_baseAssignValue.js ***!
23251  \*************************************************/
23252/*! no static exports found */
23253/***/ (function(module, exports, __webpack_require__) {
23254
23255var defineProperty = __webpack_require__(/*! ./_defineProperty */ "./node_modules/lodash/_defineProperty.js");
23256
23257/**
23258 * The base implementation of `assignValue` and `assignMergeValue` without
23259 * value checks.
23260 *
23261 * @private
23262 * @param {Object} object The object to modify.
23263 * @param {string} key The key of the property to assign.
23264 * @param {*} value The value to assign.
23265 */
23266function baseAssignValue(object, key, value) {
23267  if (key == '__proto__' && defineProperty) {
23268    defineProperty(object, key, {
23269      'configurable': true,
23270      'enumerable': true,
23271      'value': value,
23272      'writable': true
23273    });
23274  } else {
23275    object[key] = value;
23276  }
23277}
23278
23279module.exports = baseAssignValue;
23280
23281
23282/***/ }),
23283
vendor: 7,111 bytes, lines 23284-23460
23284/***/ "./node_modules/lodash/_baseClone.js":
23285/*!*******************************************!*\
23286  !*** ./node_modules/lodash/_baseClone.js ***!
23287  \*******************************************/
23288/*! no static exports found */
23289/***/ (function(module, exports, __webpack_require__) {
23290
23291var Stack = __webpack_require__(/*! ./_Stack */ "./node_modules/lodash/_Stack.js"),
23292    arrayEach = __webpack_require__(/*! ./_arrayEach */ "./node_modules/lodash/_arrayEach.js"),
23293    assignValue = __webpack_require__(/*! ./_assignValue */ "./node_modules/lodash/_assignValue.js"),
23294    baseAssign = __webpack_require__(/*! ./_baseAssign */ "./node_modules/lodash/_baseAssign.js"),
23295    baseAssignIn = __webpack_require__(/*! ./_baseAssignIn */ "./node_modules/lodash/_baseAssignIn.js"),
23296    cloneBuffer = __webpack_require__(/*! ./_cloneBuffer */ "./node_modules/lodash/_cloneBuffer.js"),
23297    copyArray = __webpack_require__(/*! ./_copyArray */ "./node_modules/lodash/_copyArray.js"),
23298    copySymbols = __webpack_require__(/*! ./_copySymbols */ "./node_modules/lodash/_copySymbols.js"),
23299    copySymbolsIn = __webpack_require__(/*! ./_copySymbolsIn */ "./node_modules/lodash/_copySymbolsIn.js"),
23300    getAllKeys = __webpack_require__(/*! ./_getAllKeys */ "./node_modules/lodash/_getAllKeys.js"),
23301    getAllKeysIn = __webpack_require__(/*! ./_getAllKeysIn */ "./node_modules/lodash/_getAllKeysIn.js"),
23302    getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"),
23303    initCloneArray = __webpack_require__(/*! ./_initCloneArray */ "./node_modules/lodash/_initCloneArray.js"),
23304    initCloneByTag = __webpack_require__(/*! ./_initCloneByTag */ "./node_modules/lodash/_initCloneByTag.js"),
23305    initCloneObject = __webpack_require__(/*! ./_initCloneObject */ "./node_modules/lodash/_initCloneObject.js"),
23306    isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"),
23307    isBuffer = __webpack_require__(/*! ./isBuffer */ "./node_modules/lodash/isBuffer.js"),
23308    isMap = __webpack_require__(/*! ./isMap */ "./node_modules/lodash/isMap.js"),
23309    isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"),
23310    isSet = __webpack_require__(/*! ./isSet */ "./node_modules/lodash/isSet.js"),
23311    keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js"),
23312    keysIn = __webpack_require__(/*! ./keysIn */ "./node_modules/lodash/keysIn.js");
23313
23314/** Used to compose bitmasks for cloning. */
23315var CLONE_DEEP_FLAG = 1,
23316    CLONE_FLAT_FLAG = 2,
23317    CLONE_SYMBOLS_FLAG = 4;
23318
23319/** `Object#toString` result references. */
23320var argsTag = '[object Arguments]',
23321    arrayTag = '[object Array]',
23322    boolTag = '[object Boolean]',
23323    dateTag = '[object Date]',
23324    errorTag = '[object Error]',
23325    funcTag = '[object Function]',
23326    genTag = '[object GeneratorFunction]',
23327    mapTag = '[object Map]',
23328    numberTag = '[object Number]',
23329    objectTag = '[object Object]',
23330    regexpTag = '[object RegExp]',
23331    setTag = '[object Set]',
23332    stringTag = '[object String]',
23333    symbolTag = '[object Symbol]',
23334    weakMapTag = '[object WeakMap]';
23335
23336var arrayBufferTag = '[object ArrayBuffer]',
23337    dataViewTag = '[object DataView]',
23338    float32Tag = '[object Float32Array]',
23339    float64Tag = '[object Float64Array]',
23340    int8Tag = '[object Int8Array]',
23341    int16Tag = '[object Int16Array]',
23342    int32Tag = '[object Int32Array]',
23343    uint8Tag = '[object Uint8Array]',
23344    uint8ClampedTag = '[object Uint8ClampedArray]',
23345    uint16Tag = '[object Uint16Array]',
23346    uint32Tag = '[object Uint32Array]';
23347
23348/** Used to identify `toStringTag` values supported by `_.clone`. */
23349var cloneableTags = {};
23350cloneableTags[argsTag] = cloneableTags[arrayTag] =
23351cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =
23352cloneableTags[boolTag] = cloneableTags[dateTag] =
23353cloneableTags[float32Tag] = cloneableTags[float64Tag] =
23354cloneableTags[int8Tag] = cloneableTags[int16Tag] =
23355cloneableTags[int32Tag] = cloneableTags[mapTag] =
23356cloneableTags[numberTag] = cloneableTags[objectTag] =
23357cloneableTags[regexpTag] = cloneableTags[setTag] =
23358cloneableTags[stringTag] = cloneableTags[symbolTag] =
23359cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =
23360cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
23361cloneableTags[errorTag] = cloneableTags[funcTag] =
23362cloneableTags[weakMapTag] = false;
23363
23364/**
23365 * The base implementation of `_.clone` and `_.cloneDeep` which tracks
23366 * traversed objects.
23367 *
23368 * @private
23369 * @param {*} value The value to clone.
23370 * @param {boolean} bitmask The bitmask flags.
23371 *  1 - Deep clone
23372 *  2 - Flatten inherited properties
23373 *  4 - Clone symbols
23374 * @param {Function} [customizer] The function to customize cloning.
23375 * @param {string} [key] The key of `value`.
23376 * @param {Object} [object] The parent object of `value`.
23377 * @param {Object} [stack] Tracks traversed objects and their clone counterparts.
23378 * @returns {*} Returns the cloned value.
23379 */
23380function baseClone(value, bitmask, customizer, key, object, stack) {
23381  var result,
23382      isDeep = bitmask & CLONE_DEEP_FLAG,
23383      isFlat = bitmask & CLONE_FLAT_FLAG,
23384      isFull = bitmask & CLONE_SYMBOLS_FLAG;
23385
23386  if (customizer) {
23387    result = object ? customizer(value, key, object, stack) : customizer(value);
23388  }
23389  if (result !== undefined) {
23390    return result;
23391  }
23392  if (!isObject(value)) {
23393    return value;
23394  }
23395  var isArr = isArray(value);
23396  if (isArr) {
23397    result = initCloneArray(value);
23398    if (!isDeep) {
23399      return copyArray(value, result);
23400    }
23401  } else {
23402    var tag = getTag(value),
23403        isFunc = tag == funcTag || tag == genTag;
23404
23405    if (isBuffer(value)) {
23406      return cloneBuffer(value, isDeep);
23407    }
23408    if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
23409      result = (isFlat || isFunc) ? {} : initCloneObject(value);
23410      if (!isDeep) {
23411        return isFlat
23412          ? copySymbolsIn(value, baseAssignIn(result, value))
23413          : copySymbols(value, baseAssign(result, value));
23414      }
23415    } else {
23416      if (!cloneableTags[tag]) {
23417        return object ? value : {};
23418      }
23419      result = initCloneByTag(value, tag, isDeep);
23420    }
23421  }
23422  // Check for circular references and return its corresponding clone.
23423  stack || (stack = new Stack);
23424  var stacked = stack.get(value);
23425  if (stacked) {
23426    return stacked;
23427  }
23428  stack.set(value, result);
23429
23430  if (isSet(value)) {
23431    value.forEach(function(subValue) {
23432      result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
23433    });
23434  } else if (isMap(value)) {
23435    value.forEach(function(subValue, key) {
23436      result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));
23437    });
23438  }
23439
23440  var keysFunc = isFull
23441    ? (isFlat ? getAllKeysIn : getAllKeys)
23442    : (isFlat ? keysIn : keys);
23443
23444  var props = isArr ? undefined : keysFunc(value);
23445  arrayEach(props || value, function(subValue, key) {
23446    if (props) {
23447      key = subValue;
23448      subValue = value[key];
23449    }
23450    // Recursively populate clone (susceptible to call stack limits).
23451    assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));
23452  });
23453  return result;
23454}
23455
23456module.exports = baseClone;
23457
23458
23459/***/ }),
23460
vendor: 1,035 bytes, lines 23461-23501
23461/***/ "./node_modules/lodash/_baseCreate.js":
23462/*!********************************************!*\
23463  !*** ./node_modules/lodash/_baseCreate.js ***!
23464  \********************************************/
23465/*! no static exports found */
23466/***/ (function(module, exports, __webpack_require__) {
23467
23468var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js");
23469
23470/** Built-in value references. */
23471var objectCreate = Object.create;
23472
23473/**
23474 * The base implementation of `_.create` without support for assigning
23475 * properties to the created object.
23476 *
23477 * @private
23478 * @param {Object} proto The object to inherit from.
23479 * @returns {Object} Returns the new object.
23480 */
23481var baseCreate = (function() {
23482  function object() {}
23483  return function(proto) {
23484    if (!isObject(proto)) {
23485      return {};
23486    }
23487    if (objectCreate) {
23488      return objectCreate(proto);
23489    }
23490    object.prototype = proto;
23491    var result = new object;
23492    object.prototype = undefined;
23493    return result;
23494  };
23495}());
23496
23497module.exports = baseCreate;
23498
23499
23500/***/ }),
23501
vendor: 859 bytes, lines 23502-23526
23502/***/ "./node_modules/lodash/_baseEach.js":
23503/*!******************************************!*\
23504  !*** ./node_modules/lodash/_baseEach.js ***!
23505  \******************************************/
23506/*! no static exports found */
23507/***/ (function(module, exports, __webpack_require__) {
23508
23509var baseForOwn = __webpack_require__(/*! ./_baseForOwn */ "./node_modules/lodash/_baseForOwn.js"),
23510    createBaseEach = __webpack_require__(/*! ./_createBaseEach */ "./node_modules/lodash/_createBaseEach.js");
23511
23512/**
23513 * The base implementation of `_.forEach` without support for iteratee shorthands.
23514 *
23515 * @private
23516 * @param {Array|Object} collection The collection to iterate over.
23517 * @param {Function} iteratee The function invoked per iteration.
23518 * @returns {Array|Object} Returns `collection`.
23519 */
23520var baseEach = createBaseEach(baseForOwn);
23521
23522module.exports = baseEach;
23523
23524
23525/***/ }),
23526
vendor: 1,053 bytes, lines 23527-23561
23527/***/ "./node_modules/lodash/_baseFindIndex.js":
23528/*!***********************************************!*\
23529  !*** ./node_modules/lodash/_baseFindIndex.js ***!
23530  \***********************************************/
23531/*! no static exports found */
23532/***/ (function(module, exports) {
23533
23534/**
23535 * The base implementation of `_.findIndex` and `_.findLastIndex` without
23536 * support for iteratee shorthands.
23537 *
23538 * @private
23539 * @param {Array} array The array to inspect.
23540 * @param {Function} predicate The function invoked per iteration.
23541 * @param {number} fromIndex The index to search from.
23542 * @param {boolean} [fromRight] Specify iterating from right to left.
23543 * @returns {number} Returns the index of the matched value, else `-1`.
23544 */
23545function baseFindIndex(array, predicate, fromIndex, fromRight) {
23546  var length = array.length,
23547      index = fromIndex + (fromRight ? 1 : -1);
23548
23549  while ((fromRight ? index-- : ++index < length)) {
23550    if (predicate(array[index], index, array)) {
23551      return index;
23552    }
23553  }
23554  return -1;
23555}
23556
23557module.exports = baseFindIndex;
23558
23559
23560/***/ }),
23561
vendor: 1,615 bytes, lines 23562-23610
23562/***/ "./node_modules/lodash/_baseFlatten.js":
23563/*!*********************************************!*\
23564  !*** ./node_modules/lodash/_baseFlatten.js ***!
23565  \*********************************************/
23566/*! no static exports found */
23567/***/ (function(module, exports, __webpack_require__) {
23568
23569var arrayPush = __webpack_require__(/*! ./_arrayPush */ "./node_modules/lodash/_arrayPush.js"),
23570    isFlattenable = __webpack_require__(/*! ./_isFlattenable */ "./node_modules/lodash/_isFlattenable.js");
23571
23572/**
23573 * The base implementation of `_.flatten` with support for restricting flattening.
23574 *
23575 * @private
23576 * @param {Array} array The array to flatten.
23577 * @param {number} depth The maximum recursion depth.
23578 * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.
23579 * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.
23580 * @param {Array} [result=[]] The initial result value.
23581 * @returns {Array} Returns the new flattened array.
23582 */
23583function baseFlatten(array, depth, predicate, isStrict, result) {
23584  var index = -1,
23585      length = array.length;
23586
23587  predicate || (predicate = isFlattenable);
23588  result || (result = []);
23589
23590  while (++index < length) {
23591    var value = array[index];
23592    if (depth > 0 && predicate(value)) {
23593      if (depth > 1) {
23594        // Recursively flatten arrays (susceptible to call stack limits).
23595        baseFlatten(value, depth - 1, predicate, isStrict, result);
23596      } else {
23597        arrayPush(result, value);
23598      }
23599    } else if (!isStrict) {
23600      result[result.length] = value;
23601    }
23602  }
23603  return result;
23604}
23605
23606module.exports = baseFlatten;
23607
23608
23609/***/ }),
23610
vendor: 936 bytes, lines 23611-23637
23611/***/ "./node_modules/lodash/_baseFor.js":
23612/*!*****************************************!*\
23613  !*** ./node_modules/lodash/_baseFor.js ***!
23614  \*****************************************/
23615/*! no static exports found */
23616/***/ (function(module, exports, __webpack_require__) {
23617
23618var createBaseFor = __webpack_require__(/*! ./_createBaseFor */ "./node_modules/lodash/_createBaseFor.js");
23619
23620/**
23621 * The base implementation of `baseForOwn` which iterates over `object`
23622 * properties returned by `keysFunc` and invokes `iteratee` for each property.
23623 * Iteratee functions may exit iteration early by explicitly returning `false`.
23624 *
23625 * @private
23626 * @param {Object} object The object to iterate over.
23627 * @param {Function} iteratee The function invoked per iteration.
23628 * @param {Function} keysFunc The function to get the keys of `object`.
23629 * @returns {Object} Returns `object`.
23630 */
23631var baseFor = createBaseFor();
23632
23633module.exports = baseFor;
23634
23635
23636/***/ }),
23637
vendor: 854 bytes, lines 23638-23664
23638/***/ "./node_modules/lodash/_baseForOwn.js":
23639/*!********************************************!*\
23640  !*** ./node_modules/lodash/_baseForOwn.js ***!
23641  \********************************************/
23642/*! no static exports found */
23643/***/ (function(module, exports, __webpack_require__) {
23644
23645var baseFor = __webpack_require__(/*! ./_baseFor */ "./node_modules/lodash/_baseFor.js"),
23646    keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js");
23647
23648/**
23649 * The base implementation of `_.forOwn` without support for iteratee shorthands.
23650 *
23651 * @private
23652 * @param {Object} object The object to iterate over.
23653 * @param {Function} iteratee The function invoked per iteration.
23654 * @returns {Object} Returns `object`.
23655 */
23656function baseForOwn(object, iteratee) {
23657  return object && baseFor(object, iteratee, keys);
23658}
23659
23660module.exports = baseForOwn;
23661
23662
23663/***/ }),
23664
vendor: 1,005 bytes, lines 23665-23699
23665/***/ "./node_modules/lodash/_baseGet.js":
23666/*!*****************************************!*\
23667  !*** ./node_modules/lodash/_baseGet.js ***!
23668  \*****************************************/
23669/*! no static exports found */
23670/***/ (function(module, exports, __webpack_require__) {
23671
23672var castPath = __webpack_require__(/*! ./_castPath */ "./node_modules/lodash/_castPath.js"),
23673    toKey = __webpack_require__(/*! ./_toKey */ "./node_modules/lodash/_toKey.js");
23674
23675/**
23676 * The base implementation of `_.get` without support for default values.
23677 *
23678 * @private
23679 * @param {Object} object The object to query.
23680 * @param {Array|string} path The path of the property to get.
23681 * @returns {*} Returns the resolved value.
23682 */
23683function baseGet(object, path) {
23684  path = castPath(path, object);
23685
23686  var index = 0,
23687      length = path.length;
23688
23689  while (object != null && index < length) {
23690    object = object[toKey(path[index++])];
23691  }
23692  return (index && index == length) ? object : undefined;
23693}
23694
23695module.exports = baseGet;
23696
23697
23698/***/ }),
23699
vendor: 1,158 bytes, lines 23700-23730
23700/***/ "./node_modules/lodash/_baseGetAllKeys.js":
23701/*!************************************************!*\
23702  !*** ./node_modules/lodash/_baseGetAllKeys.js ***!
23703  \************************************************/
23704/*! no static exports found */
23705/***/ (function(module, exports, __webpack_require__) {
23706
23707var arrayPush = __webpack_require__(/*! ./_arrayPush */ "./node_modules/lodash/_arrayPush.js"),
23708    isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js");
23709
23710/**
23711 * The base implementation of `getAllKeys` and `getAllKeysIn` which uses
23712 * `keysFunc` and `symbolsFunc` to get the enumerable property names and
23713 * symbols of `object`.
23714 *
23715 * @private
23716 * @param {Object} object The object to query.
23717 * @param {Function} keysFunc The function to get the keys of `object`.
23718 * @param {Function} symbolsFunc The function to get the symbols of `object`.
23719 * @returns {Array} Returns the array of property names and symbols.
23720 */
23721function baseGetAllKeys(object, keysFunc, symbolsFunc) {
23722  var result = keysFunc(object);
23723  return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
23724}
23725
23726module.exports = baseGetAllKeys;
23727
23728
23729/***/ }),
23730
vendor: 1,255 bytes, lines 23731-23769
23731/***/ "./node_modules/lodash/_baseGetTag.js":
23732/*!********************************************!*\
23733  !*** ./node_modules/lodash/_baseGetTag.js ***!
23734  \********************************************/
23735/*! no static exports found */
23736/***/ (function(module, exports, __webpack_require__) {
23737
23738var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"),
23739    getRawTag = __webpack_require__(/*! ./_getRawTag */ "./node_modules/lodash/_getRawTag.js"),
23740    objectToString = __webpack_require__(/*! ./_objectToString */ "./node_modules/lodash/_objectToString.js");
23741
23742/** `Object#toString` result references. */
23743var nullTag = '[object Null]',
23744    undefinedTag = '[object Undefined]';
23745
23746/** Built-in value references. */
23747var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
23748
23749/**
23750 * The base implementation of `getTag` without fallbacks for buggy environments.
23751 *
23752 * @private
23753 * @param {*} value The value to query.
23754 * @returns {string} Returns the `toStringTag`.
23755 */
23756function baseGetTag(value) {
23757  if (value == null) {
23758    return value === undefined ? undefinedTag : nullTag;
23759  }
23760  return (symToStringTag && symToStringTag in Object(value))
23761    ? getRawTag(value)
23762    : objectToString(value);
23763}
23764
23765module.exports = baseGetTag;
23766
23767
23768/***/ }),
23769
vendor: 645 bytes, lines 23770-23793
23770/***/ "./node_modules/lodash/_baseHasIn.js":
23771/*!*******************************************!*\
23772  !*** ./node_modules/lodash/_baseHasIn.js ***!
23773  \*******************************************/
23774/*! no static exports found */
23775/***/ (function(module, exports) {
23776
23777/**
23778 * The base implementation of `_.hasIn` without support for deep paths.
23779 *
23780 * @private
23781 * @param {Object} [object] The object to query.
23782 * @param {Array|string} key The key to check.
23783 * @returns {boolean} Returns `true` if `key` exists, else `false`.
23784 */
23785function baseHasIn(object, key) {
23786  return object != null && key in Object(object);
23787}
23788
23789module.exports = baseHasIn;
23790
23791
23792/***/ }),
23793
vendor: 1,132 bytes, lines 23794-23824
23794/***/ "./node_modules/lodash/_baseIndexOf.js":
23795/*!*********************************************!*\
23796  !*** ./node_modules/lodash/_baseIndexOf.js ***!
23797  \*********************************************/
23798/*! no static exports found */
23799/***/ (function(module, exports, __webpack_require__) {
23800
23801var baseFindIndex = __webpack_require__(/*! ./_baseFindIndex */ "./node_modules/lodash/_baseFindIndex.js"),
23802    baseIsNaN = __webpack_require__(/*! ./_baseIsNaN */ "./node_modules/lodash/_baseIsNaN.js"),
23803    strictIndexOf = __webpack_require__(/*! ./_strictIndexOf */ "./node_modules/lodash/_strictIndexOf.js");
23804
23805/**
23806 * The base implementation of `_.indexOf` without `fromIndex` bounds checks.
23807 *
23808 * @private
23809 * @param {Array} array The array to inspect.
23810 * @param {*} value The value to search for.
23811 * @param {number} fromIndex The index to search from.
23812 * @returns {number} Returns the index of the matched value, else `-1`.
23813 */
23814function baseIndexOf(array, value, fromIndex) {
23815  return value === value
23816    ? strictIndexOf(array, value, fromIndex)
23817    : baseFindIndex(array, baseIsNaN, fromIndex);
23818}
23819
23820module.exports = baseIndexOf;
23821
23822
23823/***/ }),
23824
vendor: 917 bytes, lines 23825-23853
23825/***/ "./node_modules/lodash/_baseIsArguments.js":
23826/*!*************************************************!*\
23827  !*** ./node_modules/lodash/_baseIsArguments.js ***!
23828  \*************************************************/
23829/*! no static exports found */
23830/***/ (function(module, exports, __webpack_require__) {
23831
23832var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"),
23833    isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js");
23834
23835/** `Object#toString` result references. */
23836var argsTag = '[object Arguments]';
23837
23838/**
23839 * The base implementation of `_.isArguments`.
23840 *
23841 * @private
23842 * @param {*} value The value to check.
23843 * @returns {boolean} Returns `true` if `value` is an `arguments` object,
23844 */
23845function baseIsArguments(value) {
23846  return isObjectLike(value) && baseGetTag(value) == argsTag;
23847}
23848
23849module.exports = baseIsArguments;
23850
23851
23852/***/ }),
23853
vendor: 1,437 bytes, lines 23854-23892
23854/***/ "./node_modules/lodash/_baseIsEqual.js":
23855/*!*********************************************!*\
23856  !*** ./node_modules/lodash/_baseIsEqual.js ***!
23857  \*********************************************/
23858/*! no static exports found */
23859/***/ (function(module, exports, __webpack_require__) {
23860
23861var baseIsEqualDeep = __webpack_require__(/*! ./_baseIsEqualDeep */ "./node_modules/lodash/_baseIsEqualDeep.js"),
23862    isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js");
23863
23864/**
23865 * The base implementation of `_.isEqual` which supports partial comparisons
23866 * and tracks traversed objects.
23867 *
23868 * @private
23869 * @param {*} value The value to compare.
23870 * @param {*} other The other value to compare.
23871 * @param {boolean} bitmask The bitmask flags.
23872 *  1 - Unordered comparison
23873 *  2 - Partial comparison
23874 * @param {Function} [customizer] The function to customize comparisons.
23875 * @param {Object} [stack] Tracks traversed `value` and `other` objects.
23876 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
23877 */
23878function baseIsEqual(value, other, bitmask, customizer, stack) {
23879  if (value === other) {
23880    return true;
23881  }
23882  if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {
23883    return value !== value && other !== other;
23884  }
23885  return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
23886}
23887
23888module.exports = baseIsEqual;
23889
23890
23891/***/ }),
23892
vendor: 3,762 bytes, lines 23893-23986
23893/***/ "./node_modules/lodash/_baseIsEqualDeep.js":
23894/*!*************************************************!*\
23895  !*** ./node_modules/lodash/_baseIsEqualDeep.js ***!
23896  \*************************************************/
23897/*! no static exports found */
23898/***/ (function(module, exports, __webpack_require__) {
23899
23900var Stack = __webpack_require__(/*! ./_Stack */ "./node_modules/lodash/_Stack.js"),
23901    equalArrays = __webpack_require__(/*! ./_equalArrays */ "./node_modules/lodash/_equalArrays.js"),
23902    equalByTag = __webpack_require__(/*! ./_equalByTag */ "./node_modules/lodash/_equalByTag.js"),
23903    equalObjects = __webpack_require__(/*! ./_equalObjects */ "./node_modules/lodash/_equalObjects.js"),
23904    getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"),
23905    isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"),
23906    isBuffer = __webpack_require__(/*! ./isBuffer */ "./node_modules/lodash/isBuffer.js"),
23907    isTypedArray = __webpack_require__(/*! ./isTypedArray */ "./node_modules/lodash/isTypedArray.js");
23908
23909/** Used to compose bitmasks for value comparisons. */
23910var COMPARE_PARTIAL_FLAG = 1;
23911
23912/** `Object#toString` result references. */
23913var argsTag = '[object Arguments]',
23914    arrayTag = '[object Array]',
23915    objectTag = '[object Object]';
23916
23917/** Used for built-in method references. */
23918var objectProto = Object.prototype;
23919
23920/** Used to check objects for own properties. */
23921var hasOwnProperty = objectProto.hasOwnProperty;
23922
23923/**
23924 * A specialized version of `baseIsEqual` for arrays and objects which performs
23925 * deep comparisons and tracks traversed objects enabling objects with circular
23926 * references to be compared.
23927 *
23928 * @private
23929 * @param {Object} object The object to compare.
23930 * @param {Object} other The other object to compare.
23931 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
23932 * @param {Function} customizer The function to customize comparisons.
23933 * @param {Function} equalFunc The function to determine equivalents of values.
23934 * @param {Object} [stack] Tracks traversed `object` and `other` objects.
23935 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
23936 */
23937function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
23938  var objIsArr = isArray(object),
23939      othIsArr = isArray(other),
23940      objTag = objIsArr ? arrayTag : getTag(object),
23941      othTag = othIsArr ? arrayTag : getTag(other);
23942
23943  objTag = objTag == argsTag ? objectTag : objTag;
23944  othTag = othTag == argsTag ? objectTag : othTag;
23945
23946  var objIsObj = objTag == objectTag,
23947      othIsObj = othTag == objectTag,
23948      isSameTag = objTag == othTag;
23949
23950  if (isSameTag && isBuffer(object)) {
23951    if (!isBuffer(other)) {
23952      return false;
23953    }
23954    objIsArr = true;
23955    objIsObj = false;
23956  }
23957  if (isSameTag && !objIsObj) {
23958    stack || (stack = new Stack);
23959    return (objIsArr || isTypedArray(object))
23960      ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)
23961      : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
23962  }
23963  if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
23964    var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
23965        othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
23966
23967    if (objIsWrapped || othIsWrapped) {
23968      var objUnwrapped = objIsWrapped ? object.value() : object,
23969          othUnwrapped = othIsWrapped ? other.value() : other;
23970
23971      stack || (stack = new Stack);
23972      return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
23973    }
23974  }
23975  if (!isSameTag) {
23976    return false;
23977  }
23978  stack || (stack = new Stack);
23979  return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
23980}
23981
23982module.exports = baseIsEqualDeep;
23983
23984
23985/***/ }),
23986
vendor: 879 bytes, lines 23987-24015
23987/***/ "./node_modules/lodash/_baseIsMap.js":
23988/*!*******************************************!*\
23989  !*** ./node_modules/lodash/_baseIsMap.js ***!
23990  \*******************************************/
23991/*! no static exports found */
23992/***/ (function(module, exports, __webpack_require__) {
23993
23994var getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"),
23995    isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js");
23996
23997/** `Object#toString` result references. */
23998var mapTag = '[object Map]';
23999
24000/**
24001 * The base implementation of `_.isMap` without Node.js optimizations.
24002 *
24003 * @private
24004 * @param {*} value The value to check.
24005 * @returns {boolean} Returns `true` if `value` is a map, else `false`.
24006 */
24007function baseIsMap(value) {
24008  return isObjectLike(value) && getTag(value) == mapTag;
24009}
24010
24011module.exports = baseIsMap;
24012
24013
24014/***/ }),
24015
vendor: 2,173 bytes, lines 24016-24088
24016/***/ "./node_modules/lodash/_baseIsMatch.js":
24017/*!*********************************************!*\
24018  !*** ./node_modules/lodash/_baseIsMatch.js ***!
24019  \*********************************************/
24020/*! no static exports found */
24021/***/ (function(module, exports, __webpack_require__) {
24022
24023var Stack = __webpack_require__(/*! ./_Stack */ "./node_modules/lodash/_Stack.js"),
24024    baseIsEqual = __webpack_require__(/*! ./_baseIsEqual */ "./node_modules/lodash/_baseIsEqual.js");
24025
24026/** Used to compose bitmasks for value comparisons. */
24027var COMPARE_PARTIAL_FLAG = 1,
24028    COMPARE_UNORDERED_FLAG = 2;
24029
24030/**
24031 * The base implementation of `_.isMatch` without support for iteratee shorthands.
24032 *
24033 * @private
24034 * @param {Object} object The object to inspect.
24035 * @param {Object} source The object of property values to match.
24036 * @param {Array} matchData The property names, values, and compare flags to match.
24037 * @param {Function} [customizer] The function to customize comparisons.
24038 * @returns {boolean} Returns `true` if `object` is a match, else `false`.
24039 */
24040function baseIsMatch(object, source, matchData, customizer) {
24041  var index = matchData.length,
24042      length = index,
24043      noCustomizer = !customizer;
24044
24045  if (object == null) {
24046    return !length;
24047  }
24048  object = Object(object);
24049  while (index--) {
24050    var data = matchData[index];
24051    if ((noCustomizer && data[2])
24052          ? data[1] !== object[data[0]]
24053          : !(data[0] in object)
24054        ) {
24055      return false;
24056    }
24057  }
24058  while (++index < length) {
24059    data = matchData[index];
24060    var key = data[0],
24061        objValue = object[key],
24062        srcValue = data[1];
24063
24064    if (noCustomizer && data[2]) {
24065      if (objValue === undefined && !(key in object)) {
24066        return false;
24067      }
24068    } else {
24069      var stack = new Stack;
24070      if (customizer) {
24071        var result = customizer(objValue, srcValue, key, object, source, stack);
24072      }
24073      if (!(result === undefined
24074            ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)
24075            : result
24076          )) {
24077        return false;
24078      }
24079    }
24080  }
24081  return true;
24082}
24083
24084module.exports = baseIsMatch;
24085
24086
24087/***/ }),
24088
vendor: 567 bytes, lines 24089-24111
24089/***/ "./node_modules/lodash/_baseIsNaN.js":
24090/*!*******************************************!*\
24091  !*** ./node_modules/lodash/_baseIsNaN.js ***!
24092  \*******************************************/
24093/*! no static exports found */
24094/***/ (function(module, exports) {
24095
24096/**
24097 * The base implementation of `_.isNaN` without support for number objects.
24098 *
24099 * @private
24100 * @param {*} value The value to check.
24101 * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
24102 */
24103function baseIsNaN(value) {
24104  return value !== value;
24105}
24106
24107module.exports = baseIsNaN;
24108
24109
24110/***/ }),
24111
vendor: 1,937 bytes, lines 24112-24169
24112/***/ "./node_modules/lodash/_baseIsNative.js":
24113/*!**********************************************!*\
24114  !*** ./node_modules/lodash/_baseIsNative.js ***!
24115  \**********************************************/
24116/*! no static exports found */
24117/***/ (function(module, exports, __webpack_require__) {
24118
24119var isFunction = __webpack_require__(/*! ./isFunction */ "./node_modules/lodash/isFunction.js"),
24120    isMasked = __webpack_require__(/*! ./_isMasked */ "./node_modules/lodash/_isMasked.js"),
24121    isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"),
24122    toSource = __webpack_require__(/*! ./_toSource */ "./node_modules/lodash/_toSource.js");
24123
24124/**
24125 * Used to match `RegExp`
24126 * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
24127 */
24128var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
24129
24130/** Used to detect host constructors (Safari). */
24131var reIsHostCtor = /^\[object .+?Constructor\]$/;
24132
24133/** Used for built-in method references. */
24134var funcProto = Function.prototype,
24135    objectProto = Object.prototype;
24136
24137/** Used to resolve the decompiled source of functions. */
24138var funcToString = funcProto.toString;
24139
24140/** Used to check objects for own properties. */
24141var hasOwnProperty = objectProto.hasOwnProperty;
24142
24143/** Used to detect if a method is native. */
24144var reIsNative = RegExp('^' +
24145  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&')
24146  .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
24147);
24148
24149/**
24150 * The base implementation of `_.isNative` without bad shim checks.
24151 *
24152 * @private
24153 * @param {*} value The value to check.
24154 * @returns {boolean} Returns `true` if `value` is a native function,
24155 *  else `false`.
24156 */
24157function baseIsNative(value) {
24158  if (!isObject(value) || isMasked(value)) {
24159    return false;
24160  }
24161  var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
24162  return pattern.test(toSource(value));
24163}
24164
24165module.exports = baseIsNative;
24166
24167
24168/***/ }),
24169
vendor: 879 bytes, lines 24170-24198
24170/***/ "./node_modules/lodash/_baseIsSet.js":
24171/*!*******************************************!*\
24172  !*** ./node_modules/lodash/_baseIsSet.js ***!
24173  \*******************************************/
24174/*! no static exports found */
24175/***/ (function(module, exports, __webpack_require__) {
24176
24177var getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"),
24178    isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js");
24179
24180/** `Object#toString` result references. */
24181var setTag = '[object Set]';
24182
24183/**
24184 * The base implementation of `_.isSet` without Node.js optimizations.
24185 *
24186 * @private
24187 * @param {*} value The value to check.
24188 * @returns {boolean} Returns `true` if `value` is a set, else `false`.
24189 */
24190function baseIsSet(value) {
24191  return isObjectLike(value) && getTag(value) == setTag;
24192}
24193
24194module.exports = baseIsSet;
24195
24196
24197/***/ }),
24198
vendor: 2,708 bytes, lines 24199-24269
24199/***/ "./node_modules/lodash/_baseIsTypedArray.js":
24200/*!**************************************************!*\
24201  !*** ./node_modules/lodash/_baseIsTypedArray.js ***!
24202  \**************************************************/
24203/*! no static exports found */
24204/***/ (function(module, exports, __webpack_require__) {
24205
24206var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"),
24207    isLength = __webpack_require__(/*! ./isLength */ "./node_modules/lodash/isLength.js"),
24208    isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js");
24209
24210/** `Object#toString` result references. */
24211var argsTag = '[object Arguments]',
24212    arrayTag = '[object Array]',
24213    boolTag = '[object Boolean]',
24214    dateTag = '[object Date]',
24215    errorTag = '[object Error]',
24216    funcTag = '[object Function]',
24217    mapTag = '[object Map]',
24218    numberTag = '[object Number]',
24219    objectTag = '[object Object]',
24220    regexpTag = '[object RegExp]',
24221    setTag = '[object Set]',
24222    stringTag = '[object String]',
24223    weakMapTag = '[object WeakMap]';
24224
24225var arrayBufferTag = '[object ArrayBuffer]',
24226    dataViewTag = '[object DataView]',
24227    float32Tag = '[object Float32Array]',
24228    float64Tag = '[object Float64Array]',
24229    int8Tag = '[object Int8Array]',
24230    int16Tag = '[object Int16Array]',
24231    int32Tag = '[object Int32Array]',
24232    uint8Tag = '[object Uint8Array]',
24233    uint8ClampedTag = '[object Uint8ClampedArray]',
24234    uint16Tag = '[object Uint16Array]',
24235    uint32Tag = '[object Uint32Array]';
24236
24237/** Used to identify `toStringTag` values of typed arrays. */
24238var typedArrayTags = {};
24239typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
24240typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
24241typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
24242typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
24243typedArrayTags[uint32Tag] = true;
24244typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
24245typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
24246typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =
24247typedArrayTags[errorTag] = typedArrayTags[funcTag] =
24248typedArrayTags[mapTag] = typedArrayTags[numberTag] =
24249typedArrayTags[objectTag] = typedArrayTags[regexpTag] =
24250typedArrayTags[setTag] = typedArrayTags[stringTag] =
24251typedArrayTags[weakMapTag] = false;
24252
24253/**
24254 * The base implementation of `_.isTypedArray` without Node.js optimizations.
24255 *
24256 * @private
24257 * @param {*} value The value to check.
24258 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
24259 */
24260function baseIsTypedArray(value) {
24261  return isObjectLike(value) &&
24262    isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
24263}
24264
24265module.exports = baseIsTypedArray;
24266
24267
24268/***/ }),
24269
vendor: 1,479 bytes, lines 24270-24311
24270/***/ "./node_modules/lodash/_baseIteratee.js":
24271/*!**********************************************!*\
24272  !*** ./node_modules/lodash/_baseIteratee.js ***!
24273  \**********************************************/
24274/*! no static exports found */
24275/***/ (function(module, exports, __webpack_require__) {
24276
24277var baseMatches = __webpack_require__(/*! ./_baseMatches */ "./node_modules/lodash/_baseMatches.js"),
24278    baseMatchesProperty = __webpack_require__(/*! ./_baseMatchesProperty */ "./node_modules/lodash/_baseMatchesProperty.js"),
24279    identity = __webpack_require__(/*! ./identity */ "./node_modules/lodash/identity.js"),
24280    isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"),
24281    property = __webpack_require__(/*! ./property */ "./node_modules/lodash/property.js");
24282
24283/**
24284 * The base implementation of `_.iteratee`.
24285 *
24286 * @private
24287 * @param {*} [value=_.identity] The value to convert to an iteratee.
24288 * @returns {Function} Returns the iteratee.
24289 */
24290function baseIteratee(value) {
24291  // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.
24292  // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.
24293  if (typeof value == 'function') {
24294    return value;
24295  }
24296  if (value == null) {
24297    return identity;
24298  }
24299  if (typeof value == 'object') {
24300    return isArray(value)
24301      ? baseMatchesProperty(value[0], value[1])
24302      : baseMatches(value);
24303  }
24304  return property(value);
24305}
24306
24307module.exports = baseIteratee;
24308
24309
24310/***/ }),
24311
vendor: 1,177 bytes, lines 24312-24352
24312/***/ "./node_modules/lodash/_baseKeys.js":
24313/*!******************************************!*\
24314  !*** ./node_modules/lodash/_baseKeys.js ***!
24315  \******************************************/
24316/*! no static exports found */
24317/***/ (function(module, exports, __webpack_require__) {
24318
24319var isPrototype = __webpack_require__(/*! ./_isPrototype */ "./node_modules/lodash/_isPrototype.js"),
24320    nativeKeys = __webpack_require__(/*! ./_nativeKeys */ "./node_modules/lodash/_nativeKeys.js");
24321
24322/** Used for built-in method references. */
24323var objectProto = Object.prototype;
24324
24325/** Used to check objects for own properties. */
24326var hasOwnProperty = objectProto.hasOwnProperty;
24327
24328/**
24329 * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.
24330 *
24331 * @private
24332 * @param {Object} object The object to query.
24333 * @returns {Array} Returns the array of property names.
24334 */
24335function baseKeys(object) {
24336  if (!isPrototype(object)) {
24337    return nativeKeys(object);
24338  }
24339  var result = [];
24340  for (var key in Object(object)) {
24341    if (hasOwnProperty.call(object, key) && key != 'constructor') {
24342      result.push(key);
24343    }
24344  }
24345  return result;
24346}
24347
24348module.exports = baseKeys;
24349
24350
24351/***/ }),
24352
vendor: 1,334 bytes, lines 24353-24396
24353/***/ "./node_modules/lodash/_baseKeysIn.js":
24354/*!********************************************!*\
24355  !*** ./node_modules/lodash/_baseKeysIn.js ***!
24356  \********************************************/
24357/*! no static exports found */
24358/***/ (function(module, exports, __webpack_require__) {
24359
24360var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"),
24361    isPrototype = __webpack_require__(/*! ./_isPrototype */ "./node_modules/lodash/_isPrototype.js"),
24362    nativeKeysIn = __webpack_require__(/*! ./_nativeKeysIn */ "./node_modules/lodash/_nativeKeysIn.js");
24363
24364/** Used for built-in method references. */
24365var objectProto = Object.prototype;
24366
24367/** Used to check objects for own properties. */
24368var hasOwnProperty = objectProto.hasOwnProperty;
24369
24370/**
24371 * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.
24372 *
24373 * @private
24374 * @param {Object} object The object to query.
24375 * @returns {Array} Returns the array of property names.
24376 */
24377function baseKeysIn(object) {
24378  if (!isObject(object)) {
24379    return nativeKeysIn(object);
24380  }
24381  var isProto = isPrototype(object),
24382      result = [];
24383
24384  for (var key in object) {
24385    if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
24386      result.push(key);
24387    }
24388  }
24389  return result;
24390}
24391
24392module.exports = baseKeysIn;
24393
24394
24395/***/ }),
24396
vendor: 453 bytes, lines 24397-24417
24397/***/ "./node_modules/lodash/_baseLodash.js":
24398/*!********************************************!*\
24399  !*** ./node_modules/lodash/_baseLodash.js ***!
24400  \********************************************/
24401/*! no static exports found */
24402/***/ (function(module, exports) {
24403
24404/**
24405 * The function whose prototype chain sequence wrappers inherit from.
24406 *
24407 * @private
24408 */
24409function baseLodash() {
24410  // No operation performed.
24411}
24412
24413module.exports = baseLodash;
24414
24415
24416/***/ }),
24417
vendor: 1,062 bytes, lines 24418-24450
24418/***/ "./node_modules/lodash/_baseMap.js":
24419/*!*****************************************!*\
24420  !*** ./node_modules/lodash/_baseMap.js ***!
24421  \*****************************************/
24422/*! no static exports found */
24423/***/ (function(module, exports, __webpack_require__) {
24424
24425var baseEach = __webpack_require__(/*! ./_baseEach */ "./node_modules/lodash/_baseEach.js"),
24426    isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js");
24427
24428/**
24429 * The base implementation of `_.map` without support for iteratee shorthands.
24430 *
24431 * @private
24432 * @param {Array|Object} collection The collection to iterate over.
24433 * @param {Function} iteratee The function invoked per iteration.
24434 * @returns {Array} Returns the new mapped array.
24435 */
24436function baseMap(collection, iteratee) {
24437  var index = -1,
24438      result = isArrayLike(collection) ? Array(collection.length) : [];
24439
24440  baseEach(collection, function(value, key, collection) {
24441    result[++index] = iteratee(value, key, collection);
24442  });
24443  return result;
24444}
24445
24446module.exports = baseMap;
24447
24448
24449/***/ }),
24450
vendor: 1,194 bytes, lines 24451-24483
24451/***/ "./node_modules/lodash/_baseMatches.js":
24452/*!*********************************************!*\
24453  !*** ./node_modules/lodash/_baseMatches.js ***!
24454  \*********************************************/
24455/*! no static exports found */
24456/***/ (function(module, exports, __webpack_require__) {
24457
24458var baseIsMatch = __webpack_require__(/*! ./_baseIsMatch */ "./node_modules/lodash/_baseIsMatch.js"),
24459    getMatchData = __webpack_require__(/*! ./_getMatchData */ "./node_modules/lodash/_getMatchData.js"),
24460    matchesStrictComparable = __webpack_require__(/*! ./_matchesStrictComparable */ "./node_modules/lodash/_matchesStrictComparable.js");
24461
24462/**
24463 * The base implementation of `_.matches` which doesn't clone `source`.
24464 *
24465 * @private
24466 * @param {Object} source The object of property values to match.
24467 * @returns {Function} Returns the new spec function.
24468 */
24469function baseMatches(source) {
24470  var matchData = getMatchData(source);
24471  if (matchData.length == 1 && matchData[0][2]) {
24472    return matchesStrictComparable(matchData[0][0], matchData[0][1]);
24473  }
24474  return function(object) {
24475    return object === source || baseIsMatch(object, source, matchData);
24476  };
24477}
24478
24479module.exports = baseMatches;
24480
24481
24482/***/ }),
24483
vendor: 1,851 bytes, lines 24484-24527
24484/***/ "./node_modules/lodash/_baseMatchesProperty.js":
24485/*!*****************************************************!*\
24486  !*** ./node_modules/lodash/_baseMatchesProperty.js ***!
24487  \*****************************************************/
24488/*! no static exports found */
24489/***/ (function(module, exports, __webpack_require__) {
24490
24491var baseIsEqual = __webpack_require__(/*! ./_baseIsEqual */ "./node_modules/lodash/_baseIsEqual.js"),
24492    get = __webpack_require__(/*! ./get */ "./node_modules/lodash/get.js"),
24493    hasIn = __webpack_require__(/*! ./hasIn */ "./node_modules/lodash/hasIn.js"),
24494    isKey = __webpack_require__(/*! ./_isKey */ "./node_modules/lodash/_isKey.js"),
24495    isStrictComparable = __webpack_require__(/*! ./_isStrictComparable */ "./node_modules/lodash/_isStrictComparable.js"),
24496    matchesStrictComparable = __webpack_require__(/*! ./_matchesStrictComparable */ "./node_modules/lodash/_matchesStrictComparable.js"),
24497    toKey = __webpack_require__(/*! ./_toKey */ "./node_modules/lodash/_toKey.js");
24498
24499/** Used to compose bitmasks for value comparisons. */
24500var COMPARE_PARTIAL_FLAG = 1,
24501    COMPARE_UNORDERED_FLAG = 2;
24502
24503/**
24504 * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.
24505 *
24506 * @private
24507 * @param {string} path The path of the property to get.
24508 * @param {*} srcValue The value to match.
24509 * @returns {Function} Returns the new spec function.
24510 */
24511function baseMatchesProperty(path, srcValue) {
24512  if (isKey(path) && isStrictComparable(srcValue)) {
24513    return matchesStrictComparable(toKey(path), srcValue);
24514  }
24515  return function(object) {
24516    var objValue = get(object, path);
24517    return (objValue === undefined && objValue === srcValue)
24518      ? hasIn(object, path)
24519      : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
24520  };
24521}
24522
24523module.exports = baseMatchesProperty;
24524
24525
24526/***/ }),
24527
vendor: 643 bytes, lines 24528-24552
24528/***/ "./node_modules/lodash/_baseProperty.js":
24529/*!**********************************************!*\
24530  !*** ./node_modules/lodash/_baseProperty.js ***!
24531  \**********************************************/
24532/*! no static exports found */
24533/***/ (function(module, exports) {
24534
24535/**
24536 * The base implementation of `_.property` without support for deep paths.
24537 *
24538 * @private
24539 * @param {string} key The key of the property to get.
24540 * @returns {Function} Returns the new accessor function.
24541 */
24542function baseProperty(key) {
24543  return function(object) {
24544    return object == null ? undefined : object[key];
24545  };
24546}
24547
24548module.exports = baseProperty;
24549
24550
24551/***/ }),
24552
vendor: 764 bytes, lines 24553-24579
24553/***/ "./node_modules/lodash/_basePropertyDeep.js":
24554/*!**************************************************!*\
24555  !*** ./node_modules/lodash/_basePropertyDeep.js ***!
24556  \**************************************************/
24557/*! no static exports found */
24558/***/ (function(module, exports, __webpack_require__) {
24559
24560var baseGet = __webpack_require__(/*! ./_baseGet */ "./node_modules/lodash/_baseGet.js");
24561
24562/**
24563 * A specialized version of `baseProperty` which supports deep paths.
24564 *
24565 * @private
24566 * @param {Array|string} path The path of the property to get.
24567 * @returns {Function} Returns the new accessor function.
24568 */
24569function basePropertyDeep(path) {
24570  return function(object) {
24571    return baseGet(object, path);
24572  };
24573}
24574
24575module.exports = basePropertyDeep;
24576
24577
24578/***/ }),
24579
vendor: 862 bytes, lines 24580-24607
24580/***/ "./node_modules/lodash/_baseSetData.js":
24581/*!*********************************************!*\
24582  !*** ./node_modules/lodash/_baseSetData.js ***!
24583  \*********************************************/
24584/*! no static exports found */
24585/***/ (function(module, exports, __webpack_require__) {
24586
24587var identity = __webpack_require__(/*! ./identity */ "./node_modules/lodash/identity.js"),
24588    metaMap = __webpack_require__(/*! ./_metaMap */ "./node_modules/lodash/_metaMap.js");
24589
24590/**
24591 * The base implementation of `setData` without support for hot loop shorting.
24592 *
24593 * @private
24594 * @param {Function} func The function to associate metadata with.
24595 * @param {*} data The metadata.
24596 * @returns {Function} Returns `func`.
24597 */
24598var baseSetData = !metaMap ? identity : function(func, data) {
24599  metaMap.set(func, data);
24600  return func;
24601};
24602
24603module.exports = baseSetData;
24604
24605
24606/***/ }),
24607
vendor: 1,123 bytes, lines 24608-24640
24608/***/ "./node_modules/lodash/_baseSetToString.js":
24609/*!*************************************************!*\
24610  !*** ./node_modules/lodash/_baseSetToString.js ***!
24611  \*************************************************/
24612/*! no static exports found */
24613/***/ (function(module, exports, __webpack_require__) {
24614
24615var constant = __webpack_require__(/*! ./constant */ "./node_modules/lodash/constant.js"),
24616    defineProperty = __webpack_require__(/*! ./_defineProperty */ "./node_modules/lodash/_defineProperty.js"),
24617    identity = __webpack_require__(/*! ./identity */ "./node_modules/lodash/identity.js");
24618
24619/**
24620 * The base implementation of `setToString` without support for hot loop shorting.
24621 *
24622 * @private
24623 * @param {Function} func The function to modify.
24624 * @param {Function} string The `toString` result.
24625 * @returns {Function} Returns `func`.
24626 */
24627var baseSetToString = !defineProperty ? identity : function(func, string) {
24628  return defineProperty(func, 'toString', {
24629    'configurable': true,
24630    'enumerable': false,
24631    'value': constant(string),
24632    'writable': true
24633  });
24634};
24635
24636module.exports = baseSetToString;
24637
24638
24639/***/ }),
24640
vendor: 775 bytes, lines 24641-24671
24641/***/ "./node_modules/lodash/_baseTimes.js":
24642/*!*******************************************!*\
24643  !*** ./node_modules/lodash/_baseTimes.js ***!
24644  \*******************************************/
24645/*! no static exports found */
24646/***/ (function(module, exports) {
24647
24648/**
24649 * The base implementation of `_.times` without support for iteratee shorthands
24650 * or max array length checks.
24651 *
24652 * @private
24653 * @param {number} n The number of times to invoke `iteratee`.
24654 * @param {Function} iteratee The function invoked per iteration.
24655 * @returns {Array} Returns the array of results.
24656 */
24657function baseTimes(n, iteratee) {
24658  var index = -1,
24659      result = Array(n);
24660
24661  while (++index < n) {
24662    result[index] = iteratee(index);
24663  }
24664  return result;
24665}
24666
24667module.exports = baseTimes;
24668
24669
24670/***/ }),
24671
vendor: 1,669 bytes, lines 24672-24719
24672/***/ "./node_modules/lodash/_baseToString.js":
24673/*!**********************************************!*\
24674  !*** ./node_modules/lodash/_baseToString.js ***!
24675  \**********************************************/
24676/*! no static exports found */
24677/***/ (function(module, exports, __webpack_require__) {
24678
24679var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"),
24680    arrayMap = __webpack_require__(/*! ./_arrayMap */ "./node_modules/lodash/_arrayMap.js"),
24681    isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"),
24682    isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js");
24683
24684/** Used as references for various `Number` constants. */
24685var INFINITY = 1 / 0;
24686
24687/** Used to convert symbols to primitives and strings. */
24688var symbolProto = Symbol ? Symbol.prototype : undefined,
24689    symbolToString = symbolProto ? symbolProto.toString : undefined;
24690
24691/**
24692 * The base implementation of `_.toString` which doesn't convert nullish
24693 * values to empty strings.
24694 *
24695 * @private
24696 * @param {*} value The value to process.
24697 * @returns {string} Returns the string.
24698 */
24699function baseToString(value) {
24700  // Exit early for strings to avoid a performance hit in some environments.
24701  if (typeof value == 'string') {
24702    return value;
24703  }
24704  if (isArray(value)) {
24705    // Recursively convert values (susceptible to call stack limits).
24706    return arrayMap(value, baseToString) + '';
24707  }
24708  if (isSymbol(value)) {
24709    return symbolToString ? symbolToString.call(value) : '';
24710  }
24711  var result = (value + '');
24712  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
24713}
24714
24715module.exports = baseToString;
24716
24717
24718/***/ }),
24719
vendor: 603 bytes, lines 24720-24744
24720/***/ "./node_modules/lodash/_baseUnary.js":
24721/*!*******************************************!*\
24722  !*** ./node_modules/lodash/_baseUnary.js ***!
24723  \*******************************************/
24724/*! no static exports found */
24725/***/ (function(module, exports) {
24726
24727/**
24728 * The base implementation of `_.unary` without support for storing metadata.
24729 *
24730 * @private
24731 * @param {Function} func The function to cap arguments for.
24732 * @returns {Function} Returns the new capped function.
24733 */
24734function baseUnary(func) {
24735  return function(value) {
24736    return func(value);
24737  };
24738}
24739
24740module.exports = baseUnary;
24741
24742
24743/***/ }),
24744
vendor: 604 bytes, lines 24745-24768
24745/***/ "./node_modules/lodash/_cacheHas.js":
24746/*!******************************************!*\
24747  !*** ./node_modules/lodash/_cacheHas.js ***!
24748  \******************************************/
24749/*! no static exports found */
24750/***/ (function(module, exports) {
24751
24752/**
24753 * Checks if a `cache` value for `key` exists.
24754 *
24755 * @private
24756 * @param {Object} cache The cache to query.
24757 * @param {string} key The key of the entry to check.
24758 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
24759 */
24760function cacheHas(cache, key) {
24761  return cache.has(key);
24762}
24763
24764module.exports = cacheHas;
24765
24766
24767/***/ }),
24768
vendor: 1,071 bytes, lines 24769-24800
24769/***/ "./node_modules/lodash/_castPath.js":
24770/*!******************************************!*\
24771  !*** ./node_modules/lodash/_castPath.js ***!
24772  \******************************************/
24773/*! no static exports found */
24774/***/ (function(module, exports, __webpack_require__) {
24775
24776var isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"),
24777    isKey = __webpack_require__(/*! ./_isKey */ "./node_modules/lodash/_isKey.js"),
24778    stringToPath = __webpack_require__(/*! ./_stringToPath */ "./node_modules/lodash/_stringToPath.js"),
24779    toString = __webpack_require__(/*! ./toString */ "./node_modules/lodash/toString.js");
24780
24781/**
24782 * Casts `value` to a path array if it's not one.
24783 *
24784 * @private
24785 * @param {*} value The value to inspect.
24786 * @param {Object} [object] The object to query keys on.
24787 * @returns {Array} Returns the cast property path array.
24788 */
24789function castPath(value, object) {
24790  if (isArray(value)) {
24791    return value;
24792  }
24793  return isKey(value, object) ? [value] : stringToPath(toString(value));
24794}
24795
24796module.exports = castPath;
24797
24798
24799/***/ }),
24800
vendor: 825 bytes, lines 24801-24827
24801/***/ "./node_modules/lodash/_cloneArrayBuffer.js":
24802/*!**************************************************!*\
24803  !*** ./node_modules/lodash/_cloneArrayBuffer.js ***!
24804  \**************************************************/
24805/*! no static exports found */
24806/***/ (function(module, exports, __webpack_require__) {
24807
24808var Uint8Array = __webpack_require__(/*! ./_Uint8Array */ "./node_modules/lodash/_Uint8Array.js");
24809
24810/**
24811 * Creates a clone of `arrayBuffer`.
24812 *
24813 * @private
24814 * @param {ArrayBuffer} arrayBuffer The array buffer to clone.
24815 * @returns {ArrayBuffer} Returns the cloned array buffer.
24816 */
24817function cloneArrayBuffer(arrayBuffer) {
24818  var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
24819  new Uint8Array(result).set(new Uint8Array(arrayBuffer));
24820  return result;
24821}
24822
24823module.exports = cloneArrayBuffer;
24824
24825
24826/***/ }),
24827
vendor: 1,583 bytes, lines 24828-24874
24828/***/ "./node_modules/lodash/_cloneBuffer.js":
24829/*!*********************************************!*\
24830  !*** ./node_modules/lodash/_cloneBuffer.js ***!
24831  \*********************************************/
24832/*! no static exports found */
24833/***/ (function(module, exports, __webpack_require__) {
24834
24835/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
24836
24837/** Detect free variable `exports`. */
24838var freeExports =  true && exports && !exports.nodeType && exports;
24839
24840/** Detect free variable `module`. */
24841var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
24842
24843/** Detect the popular CommonJS extension `module.exports`. */
24844var moduleExports = freeModule && freeModule.exports === freeExports;
24845
24846/** Built-in value references. */
24847var Buffer = moduleExports ? root.Buffer : undefined,
24848    allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;
24849
24850/**
24851 * Creates a clone of  `buffer`.
24852 *
24853 * @private
24854 * @param {Buffer} buffer The buffer to clone.
24855 * @param {boolean} [isDeep] Specify a deep clone.
24856 * @returns {Buffer} Returns the cloned buffer.
24857 */
24858function cloneBuffer(buffer, isDeep) {
24859  if (isDeep) {
24860    return buffer.slice();
24861  }
24862  var length = buffer.length,
24863      result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
24864
24865  buffer.copy(result);
24866  return result;
24867}
24868
24869module.exports = cloneBuffer;
24870
24871/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module)))
24872
24873/***/ }),
24874
vendor: 877 bytes, lines 24875-24901
24875/***/ "./node_modules/lodash/_cloneDataView.js":
24876/*!***********************************************!*\
24877  !*** ./node_modules/lodash/_cloneDataView.js ***!
24878  \***********************************************/
24879/*! no static exports found */
24880/***/ (function(module, exports, __webpack_require__) {
24881
24882var cloneArrayBuffer = __webpack_require__(/*! ./_cloneArrayBuffer */ "./node_modules/lodash/_cloneArrayBuffer.js");
24883
24884/**
24885 * Creates a clone of `dataView`.
24886 *
24887 * @private
24888 * @param {Object} dataView The data view to clone.
24889 * @param {boolean} [isDeep] Specify a deep clone.
24890 * @returns {Object} Returns the cloned data view.
24891 */
24892function cloneDataView(dataView, isDeep) {
24893  var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
24894  return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
24895}
24896
24897module.exports = cloneDataView;
24898
24899
24900/***/ }),
24901
vendor: 718 bytes, lines 24902-24929
24902/***/ "./node_modules/lodash/_cloneRegExp.js":
24903/*!*********************************************!*\
24904  !*** ./node_modules/lodash/_cloneRegExp.js ***!
24905  \*********************************************/
24906/*! no static exports found */
24907/***/ (function(module, exports) {
24908
24909/** Used to match `RegExp` flags from their coerced string values. */
24910var reFlags = /\w*$/;
24911
24912/**
24913 * Creates a clone of `regexp`.
24914 *
24915 * @private
24916 * @param {Object} regexp The regexp to clone.
24917 * @returns {Object} Returns the cloned regexp.
24918 */
24919function cloneRegExp(regexp) {
24920  var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
24921  result.lastIndex = regexp.lastIndex;
24922  return result;
24923}
24924
24925module.exports = cloneRegExp;
24926
24927
24928/***/ }),
24929
vendor: 876 bytes, lines 24930-24958
24930/***/ "./node_modules/lodash/_cloneSymbol.js":
24931/*!*********************************************!*\
24932  !*** ./node_modules/lodash/_cloneSymbol.js ***!
24933  \*********************************************/
24934/*! no static exports found */
24935/***/ (function(module, exports, __webpack_require__) {
24936
24937var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js");
24938
24939/** Used to convert symbols to primitives and strings. */
24940var symbolProto = Symbol ? Symbol.prototype : undefined,
24941    symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;
24942
24943/**
24944 * Creates a clone of the `symbol` object.
24945 *
24946 * @private
24947 * @param {Object} symbol The symbol object to clone.
24948 * @returns {Object} Returns the cloned symbol object.
24949 */
24950function cloneSymbol(symbol) {
24951  return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
24952}
24953
24954module.exports = cloneSymbol;
24955
24956
24957/***/ }),
24958
vendor: 905 bytes, lines 24959-24985
24959/***/ "./node_modules/lodash/_cloneTypedArray.js":
24960/*!*************************************************!*\
24961  !*** ./node_modules/lodash/_cloneTypedArray.js ***!
24962  \*************************************************/
24963/*! no static exports found */
24964/***/ (function(module, exports, __webpack_require__) {
24965
24966var cloneArrayBuffer = __webpack_require__(/*! ./_cloneArrayBuffer */ "./node_modules/lodash/_cloneArrayBuffer.js");
24967
24968/**
24969 * Creates a clone of `typedArray`.
24970 *
24971 * @private
24972 * @param {Object} typedArray The typed array to clone.
24973 * @param {boolean} [isDeep] Specify a deep clone.
24974 * @returns {Object} Returns the cloned typed array.
24975 */
24976function cloneTypedArray(typedArray, isDeep) {
24977  var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
24978  return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
24979}
24980
24981module.exports = cloneTypedArray;
24982
24983
24984/***/ }),
24985
vendor: 1,602 bytes, lines 24986-25035
24986/***/ "./node_modules/lodash/_composeArgs.js":
24987/*!*********************************************!*\
24988  !*** ./node_modules/lodash/_composeArgs.js ***!
24989  \*********************************************/
24990/*! no static exports found */
24991/***/ (function(module, exports) {
24992
24993/* Built-in method references for those with the same name as other `lodash` methods. */
24994var nativeMax = Math.max;
24995
24996/**
24997 * Creates an array that is the composition of partially applied arguments,
24998 * placeholders, and provided arguments into a single array of arguments.
24999 *
25000 * @private
25001 * @param {Array} args The provided arguments.
25002 * @param {Array} partials The arguments to prepend to those provided.
25003 * @param {Array} holders The `partials` placeholder indexes.
25004 * @params {boolean} [isCurried] Specify composing for a curried function.
25005 * @returns {Array} Returns the new array of composed arguments.
25006 */
25007function composeArgs(args, partials, holders, isCurried) {
25008  var argsIndex = -1,
25009      argsLength = args.length,
25010      holdersLength = holders.length,
25011      leftIndex = -1,
25012      leftLength = partials.length,
25013      rangeLength = nativeMax(argsLength - holdersLength, 0),
25014      result = Array(leftLength + rangeLength),
25015      isUncurried = !isCurried;
25016
25017  while (++leftIndex < leftLength) {
25018    result[leftIndex] = partials[leftIndex];
25019  }
25020  while (++argsIndex < holdersLength) {
25021    if (isUncurried || argsIndex < argsLength) {
25022      result[holders[argsIndex]] = args[argsIndex];
25023    }
25024  }
25025  while (rangeLength--) {
25026    result[leftIndex++] = args[argsIndex++];
25027  }
25028  return result;
25029}
25030
25031module.exports = composeArgs;
25032
25033
25034/***/ }),
25035
vendor: 1,687 bytes, lines 25036-25087
25036/***/ "./node_modules/lodash/_composeArgsRight.js":
25037/*!**************************************************!*\
25038  !*** ./node_modules/lodash/_composeArgsRight.js ***!
25039  \**************************************************/
25040/*! no static exports found */
25041/***/ (function(module, exports) {
25042
25043/* Built-in method references for those with the same name as other `lodash` methods. */
25044var nativeMax = Math.max;
25045
25046/**
25047 * This function is like `composeArgs` except that the arguments composition
25048 * is tailored for `_.partialRight`.
25049 *
25050 * @private
25051 * @param {Array} args The provided arguments.
25052 * @param {Array} partials The arguments to append to those provided.
25053 * @param {Array} holders The `partials` placeholder indexes.
25054 * @params {boolean} [isCurried] Specify composing for a curried function.
25055 * @returns {Array} Returns the new array of composed arguments.
25056 */
25057function composeArgsRight(args, partials, holders, isCurried) {
25058  var argsIndex = -1,
25059      argsLength = args.length,
25060      holdersIndex = -1,
25061      holdersLength = holders.length,
25062      rightIndex = -1,
25063      rightLength = partials.length,
25064      rangeLength = nativeMax(argsLength - holdersLength, 0),
25065      result = Array(rangeLength + rightLength),
25066      isUncurried = !isCurried;
25067
25068  while (++argsIndex < rangeLength) {
25069    result[argsIndex] = args[argsIndex];
25070  }
25071  var offset = argsIndex;
25072  while (++rightIndex < rightLength) {
25073    result[offset + rightIndex] = partials[rightIndex];
25074  }
25075  while (++holdersIndex < holdersLength) {
25076    if (isUncurried || argsIndex < argsLength) {
25077      result[offset + holders[holdersIndex]] = args[argsIndex++];
25078    }
25079  }
25080  return result;
25081}
25082
25083module.exports = composeArgsRight;
25084
25085
25086/***/ }),
25087
vendor: 725 bytes, lines 25088-25118
25088/***/ "./node_modules/lodash/_copyArray.js":
25089/*!*******************************************!*\
25090  !*** ./node_modules/lodash/_copyArray.js ***!
25091  \*******************************************/
25092/*! no static exports found */
25093/***/ (function(module, exports) {
25094
25095/**
25096 * Copies the values of `source` to `array`.
25097 *
25098 * @private
25099 * @param {Array} source The array to copy values from.
25100 * @param {Array} [array=[]] The array to copy values to.
25101 * @returns {Array} Returns `array`.
25102 */
25103function copyArray(source, array) {
25104  var index = -1,
25105      length = source.length;
25106
25107  array || (array = Array(length));
25108  while (++index < length) {
25109    array[index] = source[index];
25110  }
25111  return array;
25112}
25113
25114module.exports = copyArray;
25115
25116
25117/***/ }),
25118
vendor: 1,458 bytes, lines 25119-25169
25119/***/ "./node_modules/lodash/_copyObject.js":
25120/*!********************************************!*\
25121  !*** ./node_modules/lodash/_copyObject.js ***!
25122  \********************************************/
25123/*! no static exports found */
25124/***/ (function(module, exports, __webpack_require__) {
25125
25126var assignValue = __webpack_require__(/*! ./_assignValue */ "./node_modules/lodash/_assignValue.js"),
25127    baseAssignValue = __webpack_require__(/*! ./_baseAssignValue */ "./node_modules/lodash/_baseAssignValue.js");
25128
25129/**
25130 * Copies properties of `source` to `object`.
25131 *
25132 * @private
25133 * @param {Object} source The object to copy properties from.
25134 * @param {Array} props The property identifiers to copy.
25135 * @param {Object} [object={}] The object to copy properties to.
25136 * @param {Function} [customizer] The function to customize copied values.
25137 * @returns {Object} Returns `object`.
25138 */
25139function copyObject(source, props, object, customizer) {
25140  var isNew = !object;
25141  object || (object = {});
25142
25143  var index = -1,
25144      length = props.length;
25145
25146  while (++index < length) {
25147    var key = props[index];
25148
25149    var newValue = customizer
25150      ? customizer(object[key], source[key], key, object, source)
25151      : undefined;
25152
25153    if (newValue === undefined) {
25154      newValue = source[key];
25155    }
25156    if (isNew) {
25157      baseAssignValue(object, key, newValue);
25158    } else {
25159      assignValue(object, key, newValue);
25160    }
25161  }
25162  return object;
25163}
25164
25165module.exports = copyObject;
25166
25167
25168/***/ }),
25169
vendor: 858 bytes, lines 25170-25196
25170/***/ "./node_modules/lodash/_copySymbols.js":
25171/*!*********************************************!*\
25172  !*** ./node_modules/lodash/_copySymbols.js ***!
25173  \*********************************************/
25174/*! no static exports found */
25175/***/ (function(module, exports, __webpack_require__) {
25176
25177var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"),
25178    getSymbols = __webpack_require__(/*! ./_getSymbols */ "./node_modules/lodash/_getSymbols.js");
25179
25180/**
25181 * Copies own symbols of `source` to `object`.
25182 *
25183 * @private
25184 * @param {Object} source The object to copy symbols from.
25185 * @param {Object} [object={}] The object to copy symbols to.
25186 * @returns {Object} Returns `object`.
25187 */
25188function copySymbols(source, object) {
25189  return copyObject(source, getSymbols(source), object);
25190}
25191
25192module.exports = copySymbols;
25193
25194
25195/***/ }),
25196
vendor: 892 bytes, lines 25197-25223
25197/***/ "./node_modules/lodash/_copySymbolsIn.js":
25198/*!***********************************************!*\
25199  !*** ./node_modules/lodash/_copySymbolsIn.js ***!
25200  \***********************************************/
25201/*! no static exports found */
25202/***/ (function(module, exports, __webpack_require__) {
25203
25204var copyObject = __webpack_require__(/*! ./_copyObject */ "./node_modules/lodash/_copyObject.js"),
25205    getSymbolsIn = __webpack_require__(/*! ./_getSymbolsIn */ "./node_modules/lodash/_getSymbolsIn.js");
25206
25207/**
25208 * Copies own and inherited symbols of `source` to `object`.
25209 *
25210 * @private
25211 * @param {Object} source The object to copy symbols from.
25212 * @param {Object} [object={}] The object to copy symbols to.
25213 * @returns {Object} Returns `object`.
25214 */
25215function copySymbolsIn(source, object) {
25216  return copyObject(source, getSymbolsIn(source), object);
25217}
25218
25219module.exports = copySymbolsIn;
25220
25221
25222/***/ }),
25223
vendor: 503 bytes, lines 25224-25240
25224/***/ "./node_modules/lodash/_coreJsData.js":
25225/*!********************************************!*\
25226  !*** ./node_modules/lodash/_coreJsData.js ***!
25227  \********************************************/
25228/*! no static exports found */
25229/***/ (function(module, exports, __webpack_require__) {
25230
25231var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
25232
25233/** Used to detect overreaching core-js shims. */
25234var coreJsData = root['__core-js_shared__'];
25235
25236module.exports = coreJsData;
25237
25238
25239/***/ }),
25240
vendor: 752 bytes, lines 25241-25272
25241/***/ "./node_modules/lodash/_countHolders.js":
25242/*!**********************************************!*\
25243  !*** ./node_modules/lodash/_countHolders.js ***!
25244  \**********************************************/
25245/*! no static exports found */
25246/***/ (function(module, exports) {
25247
25248/**
25249 * Gets the number of `placeholder` occurrences in `array`.
25250 *
25251 * @private
25252 * @param {Array} array The array to inspect.
25253 * @param {*} placeholder The placeholder to search for.
25254 * @returns {number} Returns the placeholder count.
25255 */
25256function countHolders(array, placeholder) {
25257  var length = array.length,
25258      result = 0;
25259
25260  while (length--) {
25261    if (array[length] === placeholder) {
25262      ++result;
25263    }
25264  }
25265  return result;
25266}
25267
25268module.exports = countHolders;
25269
25270
25271/***/ }),
25272
vendor: 1,254 bytes, lines 25273-25315
25273/***/ "./node_modules/lodash/_createBaseEach.js":
25274/*!************************************************!*\
25275  !*** ./node_modules/lodash/_createBaseEach.js ***!
25276  \************************************************/
25277/*! no static exports found */
25278/***/ (function(module, exports, __webpack_require__) {
25279
25280var isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js");
25281
25282/**
25283 * Creates a `baseEach` or `baseEachRight` function.
25284 *
25285 * @private
25286 * @param {Function} eachFunc The function to iterate over a collection.
25287 * @param {boolean} [fromRight] Specify iterating from right to left.
25288 * @returns {Function} Returns the new base function.
25289 */
25290function createBaseEach(eachFunc, fromRight) {
25291  return function(collection, iteratee) {
25292    if (collection == null) {
25293      return collection;
25294    }
25295    if (!isArrayLike(collection)) {
25296      return eachFunc(collection, iteratee);
25297    }
25298    var length = collection.length,
25299        index = fromRight ? length : -1,
25300        iterable = Object(collection);
25301
25302    while ((fromRight ? index-- : ++index < length)) {
25303      if (iteratee(iterable[index], index, iterable) === false) {
25304        break;
25305      }
25306    }
25307    return collection;
25308  };
25309}
25310
25311module.exports = createBaseEach;
25312
25313
25314/***/ }),
25315
vendor: 935 bytes, lines 25316-25351
25316/***/ "./node_modules/lodash/_createBaseFor.js":
25317/*!***********************************************!*\
25318  !*** ./node_modules/lodash/_createBaseFor.js ***!
25319  \***********************************************/
25320/*! no static exports found */
25321/***/ (function(module, exports) {
25322
25323/**
25324 * Creates a base function for methods like `_.forIn` and `_.forOwn`.
25325 *
25326 * @private
25327 * @param {boolean} [fromRight] Specify iterating from right to left.
25328 * @returns {Function} Returns the new base function.
25329 */
25330function createBaseFor(fromRight) {
25331  return function(object, iteratee, keysFunc) {
25332    var index = -1,
25333        iterable = Object(object),
25334        props = keysFunc(object),
25335        length = props.length;
25336
25337    while (length--) {
25338      var key = props[fromRight ? length : ++index];
25339      if (iteratee(iterable[key], key, iterable) === false) {
25340        break;
25341      }
25342    }
25343    return object;
25344  };
25345}
25346
25347module.exports = createBaseFor;
25348
25349
25350/***/ }),
25351
vendor: 1,255 bytes, lines 25352-25390
25352/***/ "./node_modules/lodash/_createBind.js":
25353/*!********************************************!*\
25354  !*** ./node_modules/lodash/_createBind.js ***!
25355  \********************************************/
25356/*! no static exports found */
25357/***/ (function(module, exports, __webpack_require__) {
25358
25359var createCtor = __webpack_require__(/*! ./_createCtor */ "./node_modules/lodash/_createCtor.js"),
25360    root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
25361
25362/** Used to compose bitmasks for function metadata. */
25363var WRAP_BIND_FLAG = 1;
25364
25365/**
25366 * Creates a function that wraps `func` to invoke it with the optional `this`
25367 * binding of `thisArg`.
25368 *
25369 * @private
25370 * @param {Function} func The function to wrap.
25371 * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
25372 * @param {*} [thisArg] The `this` binding of `func`.
25373 * @returns {Function} Returns the new wrapped function.
25374 */
25375function createBind(func, bitmask, thisArg) {
25376  var isBind = bitmask & WRAP_BIND_FLAG,
25377      Ctor = createCtor(func);
25378
25379  function wrapper() {
25380    var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
25381    return fn.apply(isBind ? thisArg : this, arguments);
25382  }
25383  return wrapper;
25384}
25385
25386module.exports = createBind;
25387
25388
25389/***/ }),
25390
vendor: 1,887 bytes, lines 25391-25438
25391/***/ "./node_modules/lodash/_createCtor.js":
25392/*!********************************************!*\
25393  !*** ./node_modules/lodash/_createCtor.js ***!
25394  \********************************************/
25395/*! no static exports found */
25396/***/ (function(module, exports, __webpack_require__) {
25397
25398var baseCreate = __webpack_require__(/*! ./_baseCreate */ "./node_modules/lodash/_baseCreate.js"),
25399    isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js");
25400
25401/**
25402 * Creates a function that produces an instance of `Ctor` regardless of
25403 * whether it was invoked as part of a `new` expression or by `call` or `apply`.
25404 *
25405 * @private
25406 * @param {Function} Ctor The constructor to wrap.
25407 * @returns {Function} Returns the new wrapped function.
25408 */
25409function createCtor(Ctor) {
25410  return function() {
25411    // Use a `switch` statement to work with class constructors. See
25412    // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist
25413    // for more details.
25414    var args = arguments;
25415    switch (args.length) {
25416      case 0: return new Ctor;
25417      case 1: return new Ctor(args[0]);
25418      case 2: return new Ctor(args[0], args[1]);
25419      case 3: return new Ctor(args[0], args[1], args[2]);
25420      case 4: return new Ctor(args[0], args[1], args[2], args[3]);
25421      case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);
25422      case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);
25423      case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
25424    }
25425    var thisBinding = baseCreate(Ctor.prototype),
25426        result = Ctor.apply(thisBinding, args);
25427
25428    // Mimic the constructor's `return` behavior.
25429    // See https://es5.github.io/#x13.2.2 for more details.
25430    return isObject(result) ? result : thisBinding;
25431  };
25432}
25433
25434module.exports = createCtor;
25435
25436
25437/***/ }),
25438
vendor: 2,136 bytes, lines 25439-25495
25439/***/ "./node_modules/lodash/_createCurry.js":
25440/*!*********************************************!*\
25441  !*** ./node_modules/lodash/_createCurry.js ***!
25442  \*********************************************/
25443/*! no static exports found */
25444/***/ (function(module, exports, __webpack_require__) {
25445
25446var apply = __webpack_require__(/*! ./_apply */ "./node_modules/lodash/_apply.js"),
25447    createCtor = __webpack_require__(/*! ./_createCtor */ "./node_modules/lodash/_createCtor.js"),
25448    createHybrid = __webpack_require__(/*! ./_createHybrid */ "./node_modules/lodash/_createHybrid.js"),
25449    createRecurry = __webpack_require__(/*! ./_createRecurry */ "./node_modules/lodash/_createRecurry.js"),
25450    getHolder = __webpack_require__(/*! ./_getHolder */ "./node_modules/lodash/_getHolder.js"),
25451    replaceHolders = __webpack_require__(/*! ./_replaceHolders */ "./node_modules/lodash/_replaceHolders.js"),
25452    root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
25453
25454/**
25455 * Creates a function that wraps `func` to enable currying.
25456 *
25457 * @private
25458 * @param {Function} func The function to wrap.
25459 * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
25460 * @param {number} arity The arity of `func`.
25461 * @returns {Function} Returns the new wrapped function.
25462 */
25463function createCurry(func, bitmask, arity) {
25464  var Ctor = createCtor(func);
25465
25466  function wrapper() {
25467    var length = arguments.length,
25468        args = Array(length),
25469        index = length,
25470        placeholder = getHolder(wrapper);
25471
25472    while (index--) {
25473      args[index] = arguments[index];
25474    }
25475    var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)
25476      ? []
25477      : replaceHolders(args, placeholder);
25478
25479    length -= holders.length;
25480    if (length < arity) {
25481      return createRecurry(
25482        func, bitmask, createHybrid, wrapper.placeholder, undefined,
25483        args, holders, undefined, undefined, arity - length);
25484    }
25485    var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
25486    return apply(fn, this, args);
25487  }
25488  return wrapper;
25489}
25490
25491module.exports = createCurry;
25492
25493
25494/***/ }),
25495
vendor: 4,066 bytes, lines 25496-25598
25496/***/ "./node_modules/lodash/_createHybrid.js":
25497/*!**********************************************!*\
25498  !*** ./node_modules/lodash/_createHybrid.js ***!
25499  \**********************************************/
25500/*! no static exports found */
25501/***/ (function(module, exports, __webpack_require__) {
25502
25503var composeArgs = __webpack_require__(/*! ./_composeArgs */ "./node_modules/lodash/_composeArgs.js"),
25504    composeArgsRight = __webpack_require__(/*! ./_composeArgsRight */ "./node_modules/lodash/_composeArgsRight.js"),
25505    countHolders = __webpack_require__(/*! ./_countHolders */ "./node_modules/lodash/_countHolders.js"),
25506    createCtor = __webpack_require__(/*! ./_createCtor */ "./node_modules/lodash/_createCtor.js"),
25507    createRecurry = __webpack_require__(/*! ./_createRecurry */ "./node_modules/lodash/_createRecurry.js"),
25508    getHolder = __webpack_require__(/*! ./_getHolder */ "./node_modules/lodash/_getHolder.js"),
25509    reorder = __webpack_require__(/*! ./_reorder */ "./node_modules/lodash/_reorder.js"),
25510    replaceHolders = __webpack_require__(/*! ./_replaceHolders */ "./node_modules/lodash/_replaceHolders.js"),
25511    root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
25512
25513/** Used to compose bitmasks for function metadata. */
25514var WRAP_BIND_FLAG = 1,
25515    WRAP_BIND_KEY_FLAG = 2,
25516    WRAP_CURRY_FLAG = 8,
25517    WRAP_CURRY_RIGHT_FLAG = 16,
25518    WRAP_ARY_FLAG = 128,
25519    WRAP_FLIP_FLAG = 512;
25520
25521/**
25522 * Creates a function that wraps `func` to invoke it with optional `this`
25523 * binding of `thisArg`, partial application, and currying.
25524 *
25525 * @private
25526 * @param {Function|string} func The function or method name to wrap.
25527 * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
25528 * @param {*} [thisArg] The `this` binding of `func`.
25529 * @param {Array} [partials] The arguments to prepend to those provided to
25530 *  the new function.
25531 * @param {Array} [holders] The `partials` placeholder indexes.
25532 * @param {Array} [partialsRight] The arguments to append to those provided
25533 *  to the new function.
25534 * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.
25535 * @param {Array} [argPos] The argument positions of the new function.
25536 * @param {number} [ary] The arity cap of `func`.
25537 * @param {number} [arity] The arity of `func`.
25538 * @returns {Function} Returns the new wrapped function.
25539 */
25540function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {
25541  var isAry = bitmask & WRAP_ARY_FLAG,
25542      isBind = bitmask & WRAP_BIND_FLAG,
25543      isBindKey = bitmask & WRAP_BIND_KEY_FLAG,
25544      isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),
25545      isFlip = bitmask & WRAP_FLIP_FLAG,
25546      Ctor = isBindKey ? undefined : createCtor(func);
25547
25548  function wrapper() {
25549    var length = arguments.length,
25550        args = Array(length),
25551        index = length;
25552
25553    while (index--) {
25554      args[index] = arguments[index];
25555    }
25556    if (isCurried) {
25557      var placeholder = getHolder(wrapper),
25558          holdersCount = countHolders(args, placeholder);
25559    }
25560    if (partials) {
25561      args = composeArgs(args, partials, holders, isCurried);
25562    }
25563    if (partialsRight) {
25564      args = composeArgsRight(args, partialsRight, holdersRight, isCurried);
25565    }
25566    length -= holdersCount;
25567    if (isCurried && length < arity) {
25568      var newHolders = replaceHolders(args, placeholder);
25569      return createRecurry(
25570        func, bitmask, createHybrid, wrapper.placeholder, thisArg,
25571        args, newHolders, argPos, ary, arity - length
25572      );
25573    }
25574    var thisBinding = isBind ? thisArg : this,
25575        fn = isBindKey ? thisBinding[func] : func;
25576
25577    length = args.length;
25578    if (argPos) {
25579      args = reorder(args, argPos);
25580    } else if (isFlip && length > 1) {
25581      args.reverse();
25582    }
25583    if (isAry && ary < length) {
25584      args.length = ary;
25585    }
25586    if (this && this !== root && this instanceof wrapper) {
25587      fn = Ctor || createCtor(fn);
25588    }
25589    return fn.apply(thisBinding, args);
25590  }
25591  return wrapper;
25592}
25593
25594module.exports = createHybrid;
25595
25596
25597/***/ }),
25598
vendor: 1,847 bytes, lines 25599-25652
25599/***/ "./node_modules/lodash/_createPartial.js":
25600/*!***********************************************!*\
25601  !*** ./node_modules/lodash/_createPartial.js ***!
25602  \***********************************************/
25603/*! no static exports found */
25604/***/ (function(module, exports, __webpack_require__) {
25605
25606var apply = __webpack_require__(/*! ./_apply */ "./node_modules/lodash/_apply.js"),
25607    createCtor = __webpack_require__(/*! ./_createCtor */ "./node_modules/lodash/_createCtor.js"),
25608    root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
25609
25610/** Used to compose bitmasks for function metadata. */
25611var WRAP_BIND_FLAG = 1;
25612
25613/**
25614 * Creates a function that wraps `func` to invoke it with the `this` binding
25615 * of `thisArg` and `partials` prepended to the arguments it receives.
25616 *
25617 * @private
25618 * @param {Function} func The function to wrap.
25619 * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
25620 * @param {*} thisArg The `this` binding of `func`.
25621 * @param {Array} partials The arguments to prepend to those provided to
25622 *  the new function.
25623 * @returns {Function} Returns the new wrapped function.
25624 */
25625function createPartial(func, bitmask, thisArg, partials) {
25626  var isBind = bitmask & WRAP_BIND_FLAG,
25627      Ctor = createCtor(func);
25628
25629  function wrapper() {
25630    var argsIndex = -1,
25631        argsLength = arguments.length,
25632        leftIndex = -1,
25633        leftLength = partials.length,
25634        args = Array(leftLength + argsLength),
25635        fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
25636
25637    while (++leftIndex < leftLength) {
25638      args[leftIndex] = partials[leftIndex];
25639    }
25640    while (argsLength--) {
25641      args[leftIndex++] = arguments[++argsIndex];
25642    }
25643    return apply(fn, isBind ? thisArg : this, args);
25644  }
25645  return wrapper;
25646}
25647
25648module.exports = createPartial;
25649
25650
25651/***/ }),
25652
vendor: 2,595 bytes, lines 25653-25719
25653/***/ "./node_modules/lodash/_createRecurry.js":
25654/*!***********************************************!*\
25655  !*** ./node_modules/lodash/_createRecurry.js ***!
25656  \***********************************************/
25657/*! no static exports found */
25658/***/ (function(module, exports, __webpack_require__) {
25659
25660var isLaziable = __webpack_require__(/*! ./_isLaziable */ "./node_modules/lodash/_isLaziable.js"),
25661    setData = __webpack_require__(/*! ./_setData */ "./node_modules/lodash/_setData.js"),
25662    setWrapToString = __webpack_require__(/*! ./_setWrapToString */ "./node_modules/lodash/_setWrapToString.js");
25663
25664/** Used to compose bitmasks for function metadata. */
25665var WRAP_BIND_FLAG = 1,
25666    WRAP_BIND_KEY_FLAG = 2,
25667    WRAP_CURRY_BOUND_FLAG = 4,
25668    WRAP_CURRY_FLAG = 8,
25669    WRAP_PARTIAL_FLAG = 32,
25670    WRAP_PARTIAL_RIGHT_FLAG = 64;
25671
25672/**
25673 * Creates a function that wraps `func` to continue currying.
25674 *
25675 * @private
25676 * @param {Function} func The function to wrap.
25677 * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
25678 * @param {Function} wrapFunc The function to create the `func` wrapper.
25679 * @param {*} placeholder The placeholder value.
25680 * @param {*} [thisArg] The `this` binding of `func`.
25681 * @param {Array} [partials] The arguments to prepend to those provided to
25682 *  the new function.
25683 * @param {Array} [holders] The `partials` placeholder indexes.
25684 * @param {Array} [argPos] The argument positions of the new function.
25685 * @param {number} [ary] The arity cap of `func`.
25686 * @param {number} [arity] The arity of `func`.
25687 * @returns {Function} Returns the new wrapped function.
25688 */
25689function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {
25690  var isCurry = bitmask & WRAP_CURRY_FLAG,
25691      newHolders = isCurry ? holders : undefined,
25692      newHoldersRight = isCurry ? undefined : holders,
25693      newPartials = isCurry ? partials : undefined,
25694      newPartialsRight = isCurry ? undefined : partials;
25695
25696  bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);
25697  bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);
25698
25699  if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {
25700    bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);
25701  }
25702  var newData = [
25703    func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,
25704    newHoldersRight, argPos, ary, arity
25705  ];
25706
25707  var result = wrapFunc.apply(undefined, newData);
25708  if (isLaziable(func)) {
25709    setData(result, newData);
25710  }
25711  result.placeholder = placeholder;
25712  return setWrapToString(result, func, bitmask);
25713}
25714
25715module.exports = createRecurry;
25716
25717
25718/***/ }),
25719
vendor: 4,573 bytes, lines 25720-25836
25720/***/ "./node_modules/lodash/_createWrap.js":
25721/*!********************************************!*\
25722  !*** ./node_modules/lodash/_createWrap.js ***!
25723  \********************************************/
25724/*! no static exports found */
25725/***/ (function(module, exports, __webpack_require__) {
25726
25727var baseSetData = __webpack_require__(/*! ./_baseSetData */ "./node_modules/lodash/_baseSetData.js"),
25728    createBind = __webpack_require__(/*! ./_createBind */ "./node_modules/lodash/_createBind.js"),
25729    createCurry = __webpack_require__(/*! ./_createCurry */ "./node_modules/lodash/_createCurry.js"),
25730    createHybrid = __webpack_require__(/*! ./_createHybrid */ "./node_modules/lodash/_createHybrid.js"),
25731    createPartial = __webpack_require__(/*! ./_createPartial */ "./node_modules/lodash/_createPartial.js"),
25732    getData = __webpack_require__(/*! ./_getData */ "./node_modules/lodash/_getData.js"),
25733    mergeData = __webpack_require__(/*! ./_mergeData */ "./node_modules/lodash/_mergeData.js"),
25734    setData = __webpack_require__(/*! ./_setData */ "./node_modules/lodash/_setData.js"),
25735    setWrapToString = __webpack_require__(/*! ./_setWrapToString */ "./node_modules/lodash/_setWrapToString.js"),
25736    toInteger = __webpack_require__(/*! ./toInteger */ "./node_modules/lodash/toInteger.js");
25737
25738/** Error message constants. */
25739var FUNC_ERROR_TEXT = 'Expected a function';
25740
25741/** Used to compose bitmasks for function metadata. */
25742var WRAP_BIND_FLAG = 1,
25743    WRAP_BIND_KEY_FLAG = 2,
25744    WRAP_CURRY_FLAG = 8,
25745    WRAP_CURRY_RIGHT_FLAG = 16,
25746    WRAP_PARTIAL_FLAG = 32,
25747    WRAP_PARTIAL_RIGHT_FLAG = 64;
25748
25749/* Built-in method references for those with the same name as other `lodash` methods. */
25750var nativeMax = Math.max;
25751
25752/**
25753 * Creates a function that either curries or invokes `func` with optional
25754 * `this` binding and partially applied arguments.
25755 *
25756 * @private
25757 * @param {Function|string} func The function or method name to wrap.
25758 * @param {number} bitmask The bitmask flags.
25759 *    1 - `_.bind`
25760 *    2 - `_.bindKey`
25761 *    4 - `_.curry` or `_.curryRight` of a bound function
25762 *    8 - `_.curry`
25763 *   16 - `_.curryRight`
25764 *   32 - `_.partial`
25765 *   64 - `_.partialRight`
25766 *  128 - `_.rearg`
25767 *  256 - `_.ary`
25768 *  512 - `_.flip`
25769 * @param {*} [thisArg] The `this` binding of `func`.
25770 * @param {Array} [partials] The arguments to be partially applied.
25771 * @param {Array} [holders] The `partials` placeholder indexes.
25772 * @param {Array} [argPos] The argument positions of the new function.
25773 * @param {number} [ary] The arity cap of `func`.
25774 * @param {number} [arity] The arity of `func`.
25775 * @returns {Function} Returns the new wrapped function.
25776 */
25777function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {
25778  var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;
25779  if (!isBindKey && typeof func != 'function') {
25780    throw new TypeError(FUNC_ERROR_TEXT);
25781  }
25782  var length = partials ? partials.length : 0;
25783  if (!length) {
25784    bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);
25785    partials = holders = undefined;
25786  }
25787  ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);
25788  arity = arity === undefined ? arity : toInteger(arity);
25789  length -= holders ? holders.length : 0;
25790
25791  if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {
25792    var partialsRight = partials,
25793        holdersRight = holders;
25794
25795    partials = holders = undefined;
25796  }
25797  var data = isBindKey ? undefined : getData(func);
25798
25799  var newData = [
25800    func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,
25801    argPos, ary, arity
25802  ];
25803
25804  if (data) {
25805    mergeData(newData, data);
25806  }
25807  func = newData[0];
25808  bitmask = newData[1];
25809  thisArg = newData[2];
25810  partials = newData[3];
25811  holders = newData[4];
25812  arity = newData[9] = newData[9] === undefined
25813    ? (isBindKey ? 0 : func.length)
25814    : nativeMax(newData[9] - length, 0);
25815
25816  if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {
25817    bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);
25818  }
25819  if (!bitmask || bitmask == WRAP_BIND_FLAG) {
25820    var result = createBind(func, bitmask, thisArg);
25821  } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {
25822    result = createCurry(func, bitmask, arity);
25823  } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {
25824    result = createPartial(func, bitmask, thisArg, partials);
25825  } else {
25826    result = createHybrid.apply(undefined, newData);
25827  }
25828  var setter = data ? baseSetData : setData;
25829  return setWrapToString(setter(result, newData), func, bitmask);
25830}
25831
25832module.exports = createWrap;
25833
25834
25835/***/ }),
25836
vendor: 600 bytes, lines 25837-25858
25837/***/ "./node_modules/lodash/_defineProperty.js":
25838/*!************************************************!*\
25839  !*** ./node_modules/lodash/_defineProperty.js ***!
25840  \************************************************/
25841/*! no static exports found */
25842/***/ (function(module, exports, __webpack_require__) {
25843
25844var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js");
25845
25846var defineProperty = (function() {
25847  try {
25848    var func = getNative(Object, 'defineProperty');
25849    func({}, '', {});
25850    return func;
25851  } catch (e) {}
25852}());
25853
25854module.exports = defineProperty;
25855
25856
25857/***/ }),
25858
vendor: 3,125 bytes, lines 25859-25953
25859/***/ "./node_modules/lodash/_equalArrays.js":
25860/*!*********************************************!*\
25861  !*** ./node_modules/lodash/_equalArrays.js ***!
25862  \*********************************************/
25863/*! no static exports found */
25864/***/ (function(module, exports, __webpack_require__) {
25865
25866var SetCache = __webpack_require__(/*! ./_SetCache */ "./node_modules/lodash/_SetCache.js"),
25867    arraySome = __webpack_require__(/*! ./_arraySome */ "./node_modules/lodash/_arraySome.js"),
25868    cacheHas = __webpack_require__(/*! ./_cacheHas */ "./node_modules/lodash/_cacheHas.js");
25869
25870/** Used to compose bitmasks for value comparisons. */
25871var COMPARE_PARTIAL_FLAG = 1,
25872    COMPARE_UNORDERED_FLAG = 2;
25873
25874/**
25875 * A specialized version of `baseIsEqualDeep` for arrays with support for
25876 * partial deep comparisons.
25877 *
25878 * @private
25879 * @param {Array} array The array to compare.
25880 * @param {Array} other The other array to compare.
25881 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
25882 * @param {Function} customizer The function to customize comparisons.
25883 * @param {Function} equalFunc The function to determine equivalents of values.
25884 * @param {Object} stack Tracks traversed `array` and `other` objects.
25885 * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
25886 */
25887function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
25888  var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
25889      arrLength = array.length,
25890      othLength = other.length;
25891
25892  if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
25893    return false;
25894  }
25895  // Check that cyclic values are equal.
25896  var arrStacked = stack.get(array);
25897  var othStacked = stack.get(other);
25898  if (arrStacked && othStacked) {
25899    return arrStacked == other && othStacked == array;
25900  }
25901  var index = -1,
25902      result = true,
25903      seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;
25904
25905  stack.set(array, other);
25906  stack.set(other, array);
25907
25908  // Ignore non-index properties.
25909  while (++index < arrLength) {
25910    var arrValue = array[index],
25911        othValue = other[index];
25912
25913    if (customizer) {
25914      var compared = isPartial
25915        ? customizer(othValue, arrValue, index, other, array, stack)
25916        : customizer(arrValue, othValue, index, array, other, stack);
25917    }
25918    if (compared !== undefined) {
25919      if (compared) {
25920        continue;
25921      }
25922      result = false;
25923      break;
25924    }
25925    // Recursively compare arrays (susceptible to call stack limits).
25926    if (seen) {
25927      if (!arraySome(other, function(othValue, othIndex) {
25928            if (!cacheHas(seen, othIndex) &&
25929                (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
25930              return seen.push(othIndex);
25931            }
25932          })) {
25933        result = false;
25934        break;
25935      }
25936    } else if (!(
25937          arrValue === othValue ||
25938            equalFunc(arrValue, othValue, bitmask, customizer, stack)
25939        )) {
25940      result = false;
25941      break;
25942    }
25943  }
25944  stack['delete'](array);
25945  stack['delete'](other);
25946  return result;
25947}
25948
25949module.exports = equalArrays;
25950
25951
25952/***/ }),
25953
vendor: 4,366 bytes, lines 25954-26076
25954/***/ "./node_modules/lodash/_equalByTag.js":
25955/*!********************************************!*\
25956  !*** ./node_modules/lodash/_equalByTag.js ***!
25957  \********************************************/
25958/*! no static exports found */
25959/***/ (function(module, exports, __webpack_require__) {
25960
25961var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"),
25962    Uint8Array = __webpack_require__(/*! ./_Uint8Array */ "./node_modules/lodash/_Uint8Array.js"),
25963    eq = __webpack_require__(/*! ./eq */ "./node_modules/lodash/eq.js"),
25964    equalArrays = __webpack_require__(/*! ./_equalArrays */ "./node_modules/lodash/_equalArrays.js"),
25965    mapToArray = __webpack_require__(/*! ./_mapToArray */ "./node_modules/lodash/_mapToArray.js"),
25966    setToArray = __webpack_require__(/*! ./_setToArray */ "./node_modules/lodash/_setToArray.js");
25967
25968/** Used to compose bitmasks for value comparisons. */
25969var COMPARE_PARTIAL_FLAG = 1,
25970    COMPARE_UNORDERED_FLAG = 2;
25971
25972/** `Object#toString` result references. */
25973var boolTag = '[object Boolean]',
25974    dateTag = '[object Date]',
25975    errorTag = '[object Error]',
25976    mapTag = '[object Map]',
25977    numberTag = '[object Number]',
25978    regexpTag = '[object RegExp]',
25979    setTag = '[object Set]',
25980    stringTag = '[object String]',
25981    symbolTag = '[object Symbol]';
25982
25983var arrayBufferTag = '[object ArrayBuffer]',
25984    dataViewTag = '[object DataView]';
25985
25986/** Used to convert symbols to primitives and strings. */
25987var symbolProto = Symbol ? Symbol.prototype : undefined,
25988    symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;
25989
25990/**
25991 * A specialized version of `baseIsEqualDeep` for comparing objects of
25992 * the same `toStringTag`.
25993 *
25994 * **Note:** This function only supports comparing values with tags of
25995 * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
25996 *
25997 * @private
25998 * @param {Object} object The object to compare.
25999 * @param {Object} other The other object to compare.
26000 * @param {string} tag The `toStringTag` of the objects to compare.
26001 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
26002 * @param {Function} customizer The function to customize comparisons.
26003 * @param {Function} equalFunc The function to determine equivalents of values.
26004 * @param {Object} stack Tracks traversed `object` and `other` objects.
26005 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
26006 */
26007function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
26008  switch (tag) {
26009    case dataViewTag:
26010      if ((object.byteLength != other.byteLength) ||
26011          (object.byteOffset != other.byteOffset)) {
26012        return false;
26013      }
26014      object = object.buffer;
26015      other = other.buffer;
26016
26017    case arrayBufferTag:
26018      if ((object.byteLength != other.byteLength) ||
26019          !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
26020        return false;
26021      }
26022      return true;
26023
26024    case boolTag:
26025    case dateTag:
26026    case numberTag:
26027      // Coerce booleans to `1` or `0` and dates to milliseconds.
26028      // Invalid dates are coerced to `NaN`.
26029      return eq(+object, +other);
26030
26031    case errorTag:
26032      return object.name == other.name && object.message == other.message;
26033
26034    case regexpTag:
26035    case stringTag:
26036      // Coerce regexes to strings and treat strings, primitives and objects,
26037      // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring
26038      // for more details.
26039      return object == (other + '');
26040
26041    case mapTag:
26042      var convert = mapToArray;
26043
26044    case setTag:
26045      var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
26046      convert || (convert = setToArray);
26047
26048      if (object.size != other.size && !isPartial) {
26049        return false;
26050      }
26051      // Assume cyclic values are equal.
26052      var stacked = stack.get(object);
26053      if (stacked) {
26054        return stacked == other;
26055      }
26056      bitmask |= COMPARE_UNORDERED_FLAG;
26057
26058      // Recursively compare objects (susceptible to call stack limits).
26059      stack.set(object, other);
26060      var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
26061      stack['delete'](object);
26062      return result;
26063
26064    case symbolTag:
26065      if (symbolValueOf) {
26066        return symbolValueOf.call(object) == symbolValueOf.call(other);
26067      }
26068  }
26069  return false;
26070}
26071
26072module.exports = equalByTag;
26073
26074
26075/***/ }),
26076
vendor: 3,331 bytes, lines 26077-26177
26077/***/ "./node_modules/lodash/_equalObjects.js":
26078/*!**********************************************!*\
26079  !*** ./node_modules/lodash/_equalObjects.js ***!
26080  \**********************************************/
26081/*! no static exports found */
26082/***/ (function(module, exports, __webpack_require__) {
26083
26084var getAllKeys = __webpack_require__(/*! ./_getAllKeys */ "./node_modules/lodash/_getAllKeys.js");
26085
26086/** Used to compose bitmasks for value comparisons. */
26087var COMPARE_PARTIAL_FLAG = 1;
26088
26089/** Used for built-in method references. */
26090var objectProto = Object.prototype;
26091
26092/** Used to check objects for own properties. */
26093var hasOwnProperty = objectProto.hasOwnProperty;
26094
26095/**
26096 * A specialized version of `baseIsEqualDeep` for objects with support for
26097 * partial deep comparisons.
26098 *
26099 * @private
26100 * @param {Object} object The object to compare.
26101 * @param {Object} other The other object to compare.
26102 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.
26103 * @param {Function} customizer The function to customize comparisons.
26104 * @param {Function} equalFunc The function to determine equivalents of values.
26105 * @param {Object} stack Tracks traversed `object` and `other` objects.
26106 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
26107 */
26108function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
26109  var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
26110      objProps = getAllKeys(object),
26111      objLength = objProps.length,
26112      othProps = getAllKeys(other),
26113      othLength = othProps.length;
26114
26115  if (objLength != othLength && !isPartial) {
26116    return false;
26117  }
26118  var index = objLength;
26119  while (index--) {
26120    var key = objProps[index];
26121    if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
26122      return false;
26123    }
26124  }
26125  // Check that cyclic values are equal.
26126  var objStacked = stack.get(object);
26127  var othStacked = stack.get(other);
26128  if (objStacked && othStacked) {
26129    return objStacked == other && othStacked == object;
26130  }
26131  var result = true;
26132  stack.set(object, other);
26133  stack.set(other, object);
26134
26135  var skipCtor = isPartial;
26136  while (++index < objLength) {
26137    key = objProps[index];
26138    var objValue = object[key],
26139        othValue = other[key];
26140
26141    if (customizer) {
26142      var compared = isPartial
26143        ? customizer(othValue, objValue, key, other, object, stack)
26144        : customizer(objValue, othValue, key, object, other, stack);
26145    }
26146    // Recursively compare objects (susceptible to call stack limits).
26147    if (!(compared === undefined
26148          ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))
26149          : compared
26150        )) {
26151      result = false;
26152      break;
26153    }
26154    skipCtor || (skipCtor = key == 'constructor');
26155  }
26156  if (result && !skipCtor) {
26157    var objCtor = object.constructor,
26158        othCtor = other.constructor;
26159
26160    // Non `Object` object instances with different constructors are not equal.
26161    if (objCtor != othCtor &&
26162        ('constructor' in object && 'constructor' in other) &&
26163        !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
26164          typeof othCtor == 'function' && othCtor instanceof othCtor)) {
26165      result = false;
26166    }
26167  }
26168  stack['delete'](object);
26169  stack['delete'](other);
26170  return result;
26171}
26172
26173module.exports = equalObjects;
26174
26175
26176/***/ }),
26177
vendor: 908 bytes, lines 26178-26204
26178/***/ "./node_modules/lodash/_flatRest.js":
26179/*!******************************************!*\
26180  !*** ./node_modules/lodash/_flatRest.js ***!
26181  \******************************************/
26182/*! no static exports found */
26183/***/ (function(module, exports, __webpack_require__) {
26184
26185var flatten = __webpack_require__(/*! ./flatten */ "./node_modules/lodash/flatten.js"),
26186    overRest = __webpack_require__(/*! ./_overRest */ "./node_modules/lodash/_overRest.js"),
26187    setToString = __webpack_require__(/*! ./_setToString */ "./node_modules/lodash/_setToString.js");
26188
26189/**
26190 * A specialized version of `baseRest` which flattens the rest array.
26191 *
26192 * @private
26193 * @param {Function} func The function to apply a rest parameter to.
26194 * @returns {Function} Returns the new function.
26195 */
26196function flatRest(func) {
26197  return setToString(overRest(func, undefined, flatten), func + '');
26198}
26199
26200module.exports = flatRest;
26201
26202
26203/***/ }),
26204
vendor: 659 bytes, lines 26205-26220
26205/***/ "./node_modules/lodash/_freeGlobal.js":
26206/*!********************************************!*\
26207  !*** ./node_modules/lodash/_freeGlobal.js ***!
26208  \********************************************/
26209/*! no static exports found */
26210/***/ (function(module, exports, __webpack_require__) {
26211
26212/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */
26213var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
26214
26215module.exports = freeGlobal;
26216
26217/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js")))
26218
26219/***/ }),
26220
vendor: 916 bytes, lines 26221-26247
26221/***/ "./node_modules/lodash/_getAllKeys.js":
26222/*!********************************************!*\
26223  !*** ./node_modules/lodash/_getAllKeys.js ***!
26224  \********************************************/
26225/*! no static exports found */
26226/***/ (function(module, exports, __webpack_require__) {
26227
26228var baseGetAllKeys = __webpack_require__(/*! ./_baseGetAllKeys */ "./node_modules/lodash/_baseGetAllKeys.js"),
26229    getSymbols = __webpack_require__(/*! ./_getSymbols */ "./node_modules/lodash/_getSymbols.js"),
26230    keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js");
26231
26232/**
26233 * Creates an array of own enumerable property names and symbols of `object`.
26234 *
26235 * @private
26236 * @param {Object} object The object to query.
26237 * @returns {Array} Returns the array of property names and symbols.
26238 */
26239function getAllKeys(object) {
26240  return baseGetAllKeys(object, keys, getSymbols);
26241}
26242
26243module.exports = getAllKeys;
26244
26245
26246/***/ }),
26247
vendor: 961 bytes, lines 26248-26275
26248/***/ "./node_modules/lodash/_getAllKeysIn.js":
26249/*!**********************************************!*\
26250  !*** ./node_modules/lodash/_getAllKeysIn.js ***!
26251  \**********************************************/
26252/*! no static exports found */
26253/***/ (function(module, exports, __webpack_require__) {
26254
26255var baseGetAllKeys = __webpack_require__(/*! ./_baseGetAllKeys */ "./node_modules/lodash/_baseGetAllKeys.js"),
26256    getSymbolsIn = __webpack_require__(/*! ./_getSymbolsIn */ "./node_modules/lodash/_getSymbolsIn.js"),
26257    keysIn = __webpack_require__(/*! ./keysIn */ "./node_modules/lodash/keysIn.js");
26258
26259/**
26260 * Creates an array of own and inherited enumerable property names and
26261 * symbols of `object`.
26262 *
26263 * @private
26264 * @param {Object} object The object to query.
26265 * @returns {Array} Returns the array of property names and symbols.
26266 */
26267function getAllKeysIn(object) {
26268  return baseGetAllKeys(object, keysIn, getSymbolsIn);
26269}
26270
26271module.exports = getAllKeysIn;
26272
26273
26274/***/ }),
26275
vendor: 711 bytes, lines 26276-26301
26276/***/ "./node_modules/lodash/_getData.js":
26277/*!*****************************************!*\
26278  !*** ./node_modules/lodash/_getData.js ***!
26279  \*****************************************/
26280/*! no static exports found */
26281/***/ (function(module, exports, __webpack_require__) {
26282
26283var metaMap = __webpack_require__(/*! ./_metaMap */ "./node_modules/lodash/_metaMap.js"),
26284    noop = __webpack_require__(/*! ./noop */ "./node_modules/lodash/noop.js");
26285
26286/**
26287 * Gets metadata for `func`.
26288 *
26289 * @private
26290 * @param {Function} func The function to query.
26291 * @returns {*} Returns the metadata for `func`.
26292 */
26293var getData = !metaMap ? noop : function(func) {
26294  return metaMap.get(func);
26295};
26296
26297module.exports = getData;
26298
26299
26300/***/ }),
26301
vendor: 1,111 bytes, lines 26302-26343
26302/***/ "./node_modules/lodash/_getFuncName.js":
26303/*!*********************************************!*\
26304  !*** ./node_modules/lodash/_getFuncName.js ***!
26305  \*********************************************/
26306/*! no static exports found */
26307/***/ (function(module, exports, __webpack_require__) {
26308
26309var realNames = __webpack_require__(/*! ./_realNames */ "./node_modules/lodash/_realNames.js");
26310
26311/** Used for built-in method references. */
26312var objectProto = Object.prototype;
26313
26314/** Used to check objects for own properties. */
26315var hasOwnProperty = objectProto.hasOwnProperty;
26316
26317/**
26318 * Gets the name of `func`.
26319 *
26320 * @private
26321 * @param {Function} func The function to query.
26322 * @returns {string} Returns the function name.
26323 */
26324function getFuncName(func) {
26325  var result = (func.name + ''),
26326      array = realNames[result],
26327      length = hasOwnProperty.call(realNames, result) ? array.length : 0;
26328
26329  while (length--) {
26330    var data = array[length],
26331        otherFunc = data.func;
26332    if (otherFunc == null || otherFunc == func) {
26333      return data.name;
26334    }
26335  }
26336  return result;
26337}
26338
26339module.exports = getFuncName;
26340
26341
26342/***/ }),
26343
vendor: 551 bytes, lines 26344-26367
26344/***/ "./node_modules/lodash/_getHolder.js":
26345/*!*******************************************!*\
26346  !*** ./node_modules/lodash/_getHolder.js ***!
26347  \*******************************************/
26348/*! no static exports found */
26349/***/ (function(module, exports) {
26350
26351/**
26352 * Gets the argument placeholder value for `func`.
26353 *
26354 * @private
26355 * @param {Function} func The function to inspect.
26356 * @returns {*} Returns the placeholder value.
26357 */
26358function getHolder(func) {
26359  var object = func;
26360  return object.placeholder;
26361}
26362
26363module.exports = getHolder;
26364
26365
26366/***/ }),
26367
vendor: 751 bytes, lines 26368-26396
26368/***/ "./node_modules/lodash/_getMapData.js":
26369/*!********************************************!*\
26370  !*** ./node_modules/lodash/_getMapData.js ***!
26371  \********************************************/
26372/*! no static exports found */
26373/***/ (function(module, exports, __webpack_require__) {
26374
26375var isKeyable = __webpack_require__(/*! ./_isKeyable */ "./node_modules/lodash/_isKeyable.js");
26376
26377/**
26378 * Gets the data for `map`.
26379 *
26380 * @private
26381 * @param {Object} map The map to query.
26382 * @param {string} key The reference key.
26383 * @returns {*} Returns the map data.
26384 */
26385function getMapData(map, key) {
26386  var data = map.__data__;
26387  return isKeyable(key)
26388    ? data[typeof key == 'string' ? 'string' : 'hash']
26389    : data.map;
26390}
26391
26392module.exports = getMapData;
26393
26394
26395/***/ }),
26396
vendor: 990 bytes, lines 26397-26431
26397/***/ "./node_modules/lodash/_getMatchData.js":
26398/*!**********************************************!*\
26399  !*** ./node_modules/lodash/_getMatchData.js ***!
26400  \**********************************************/
26401/*! no static exports found */
26402/***/ (function(module, exports, __webpack_require__) {
26403
26404var isStrictComparable = __webpack_require__(/*! ./_isStrictComparable */ "./node_modules/lodash/_isStrictComparable.js"),
26405    keys = __webpack_require__(/*! ./keys */ "./node_modules/lodash/keys.js");
26406
26407/**
26408 * Gets the property names, values, and compare flags of `object`.
26409 *
26410 * @private
26411 * @param {Object} object The object to query.
26412 * @returns {Array} Returns the match data of `object`.
26413 */
26414function getMatchData(object) {
26415  var result = keys(object),
26416      length = result.length;
26417
26418  while (length--) {
26419    var key = result[length],
26420        value = object[key];
26421
26422    result[length] = [key, value, isStrictComparable(value)];
26423  }
26424  return result;
26425}
26426
26427module.exports = getMatchData;
26428
26429
26430/***/ }),
26431
vendor: 887 bytes, lines 26432-26459
26432/***/ "./node_modules/lodash/_getNative.js":
26433/*!*******************************************!*\
26434  !*** ./node_modules/lodash/_getNative.js ***!
26435  \*******************************************/
26436/*! no static exports found */
26437/***/ (function(module, exports, __webpack_require__) {
26438
26439var baseIsNative = __webpack_require__(/*! ./_baseIsNative */ "./node_modules/lodash/_baseIsNative.js"),
26440    getValue = __webpack_require__(/*! ./_getValue */ "./node_modules/lodash/_getValue.js");
26441
26442/**
26443 * Gets the native function at `key` of `object`.
26444 *
26445 * @private
26446 * @param {Object} object The object to query.
26447 * @param {string} key The key of the method to get.
26448 * @returns {*} Returns the function if it's native, else `undefined`.
26449 */
26450function getNative(object, key) {
26451  var value = getValue(object, key);
26452  return baseIsNative(value) ? value : undefined;
26453}
26454
26455module.exports = getNative;
26456
26457
26458/***/ }),
26459
vendor: 520 bytes, lines 26460-26476
26460/***/ "./node_modules/lodash/_getPrototype.js":
26461/*!**********************************************!*\
26462  !*** ./node_modules/lodash/_getPrototype.js ***!
26463  \**********************************************/
26464/*! no static exports found */
26465/***/ (function(module, exports, __webpack_require__) {
26466
26467var overArg = __webpack_require__(/*! ./_overArg */ "./node_modules/lodash/_overArg.js");
26468
26469/** Built-in value references. */
26470var getPrototype = overArg(Object.getPrototypeOf, Object);
26471
26472module.exports = getPrototype;
26473
26474
26475/***/ }),
26476
vendor: 1,483 bytes, lines 26477-26533
26477/***/ "./node_modules/lodash/_getRawTag.js":
26478/*!*******************************************!*\
26479  !*** ./node_modules/lodash/_getRawTag.js ***!
26480  \*******************************************/
26481/*! no static exports found */
26482/***/ (function(module, exports, __webpack_require__) {
26483
26484var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js");
26485
26486/** Used for built-in method references. */
26487var objectProto = Object.prototype;
26488
26489/** Used to check objects for own properties. */
26490var hasOwnProperty = objectProto.hasOwnProperty;
26491
26492/**
26493 * Used to resolve the
26494 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
26495 * of values.
26496 */
26497var nativeObjectToString = objectProto.toString;
26498
26499/** Built-in value references. */
26500var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
26501
26502/**
26503 * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
26504 *
26505 * @private
26506 * @param {*} value The value to query.
26507 * @returns {string} Returns the raw `toStringTag`.
26508 */
26509function getRawTag(value) {
26510  var isOwn = hasOwnProperty.call(value, symToStringTag),
26511      tag = value[symToStringTag];
26512
26513  try {
26514    value[symToStringTag] = undefined;
26515    var unmasked = true;
26516  } catch (e) {}
26517
26518  var result = nativeObjectToString.call(value);
26519  if (unmasked) {
26520    if (isOwn) {
26521      value[symToStringTag] = tag;
26522    } else {
26523      delete value[symToStringTag];
26524    }
26525  }
26526  return result;
26527}
26528
26529module.exports = getRawTag;
26530
26531
26532/***/ }),
26533
vendor: 1,293 bytes, lines 26534-26574
26534/***/ "./node_modules/lodash/_getSymbols.js":
26535/*!********************************************!*\
26536  !*** ./node_modules/lodash/_getSymbols.js ***!
26537  \********************************************/
26538/*! no static exports found */
26539/***/ (function(module, exports, __webpack_require__) {
26540
26541var arrayFilter = __webpack_require__(/*! ./_arrayFilter */ "./node_modules/lodash/_arrayFilter.js"),
26542    stubArray = __webpack_require__(/*! ./stubArray */ "./node_modules/lodash/stubArray.js");
26543
26544/** Used for built-in method references. */
26545var objectProto = Object.prototype;
26546
26547/** Built-in value references. */
26548var propertyIsEnumerable = objectProto.propertyIsEnumerable;
26549
26550/* Built-in method references for those with the same name as other `lodash` methods. */
26551var nativeGetSymbols = Object.getOwnPropertySymbols;
26552
26553/**
26554 * Creates an array of the own enumerable symbols of `object`.
26555 *
26556 * @private
26557 * @param {Object} object The object to query.
26558 * @returns {Array} Returns the array of symbols.
26559 */
26560var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
26561  if (object == null) {
26562    return [];
26563  }
26564  object = Object(object);
26565  return arrayFilter(nativeGetSymbols(object), function(symbol) {
26566    return propertyIsEnumerable.call(object, symbol);
26567  });
26568};
26569
26570module.exports = getSymbols;
26571
26572
26573/***/ }),
26574
vendor: 1,281 bytes, lines 26575-26610
26575/***/ "./node_modules/lodash/_getSymbolsIn.js":
26576/*!**********************************************!*\
26577  !*** ./node_modules/lodash/_getSymbolsIn.js ***!
26578  \**********************************************/
26579/*! no static exports found */
26580/***/ (function(module, exports, __webpack_require__) {
26581
26582var arrayPush = __webpack_require__(/*! ./_arrayPush */ "./node_modules/lodash/_arrayPush.js"),
26583    getPrototype = __webpack_require__(/*! ./_getPrototype */ "./node_modules/lodash/_getPrototype.js"),
26584    getSymbols = __webpack_require__(/*! ./_getSymbols */ "./node_modules/lodash/_getSymbols.js"),
26585    stubArray = __webpack_require__(/*! ./stubArray */ "./node_modules/lodash/stubArray.js");
26586
26587/* Built-in method references for those with the same name as other `lodash` methods. */
26588var nativeGetSymbols = Object.getOwnPropertySymbols;
26589
26590/**
26591 * Creates an array of the own and inherited enumerable symbols of `object`.
26592 *
26593 * @private
26594 * @param {Object} object The object to query.
26595 * @returns {Array} Returns the array of symbols.
26596 */
26597var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {
26598  var result = [];
26599  while (object) {
26600    arrayPush(result, getSymbols(object));
26601    object = getPrototype(object);
26602  }
26603  return result;
26604};
26605
26606module.exports = getSymbolsIn;
26607
26608
26609/***/ }),
26610
vendor: 2,486 bytes, lines 26611-26679
26611/***/ "./node_modules/lodash/_getTag.js":
26612/*!****************************************!*\
26613  !*** ./node_modules/lodash/_getTag.js ***!
26614  \****************************************/
26615/*! no static exports found */
26616/***/ (function(module, exports, __webpack_require__) {
26617
26618var DataView = __webpack_require__(/*! ./_DataView */ "./node_modules/lodash/_DataView.js"),
26619    Map = __webpack_require__(/*! ./_Map */ "./node_modules/lodash/_Map.js"),
26620    Promise = __webpack_require__(/*! ./_Promise */ "./node_modules/lodash/_Promise.js"),
26621    Set = __webpack_require__(/*! ./_Set */ "./node_modules/lodash/_Set.js"),
26622    WeakMap = __webpack_require__(/*! ./_WeakMap */ "./node_modules/lodash/_WeakMap.js"),
26623    baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"),
26624    toSource = __webpack_require__(/*! ./_toSource */ "./node_modules/lodash/_toSource.js");
26625
26626/** `Object#toString` result references. */
26627var mapTag = '[object Map]',
26628    objectTag = '[object Object]',
26629    promiseTag = '[object Promise]',
26630    setTag = '[object Set]',
26631    weakMapTag = '[object WeakMap]';
26632
26633var dataViewTag = '[object DataView]';
26634
26635/** Used to detect maps, sets, and weakmaps. */
26636var dataViewCtorString = toSource(DataView),
26637    mapCtorString = toSource(Map),
26638    promiseCtorString = toSource(Promise),
26639    setCtorString = toSource(Set),
26640    weakMapCtorString = toSource(WeakMap);
26641
26642/**
26643 * Gets the `toStringTag` of `value`.
26644 *
26645 * @private
26646 * @param {*} value The value to query.
26647 * @returns {string} Returns the `toStringTag`.
26648 */
26649var getTag = baseGetTag;
26650
26651// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
26652if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||
26653    (Map && getTag(new Map) != mapTag) ||
26654    (Promise && getTag(Promise.resolve()) != promiseTag) ||
26655    (Set && getTag(new Set) != setTag) ||
26656    (WeakMap && getTag(new WeakMap) != weakMapTag)) {
26657  getTag = function(value) {
26658    var result = baseGetTag(value),
26659        Ctor = result == objectTag ? value.constructor : undefined,
26660        ctorString = Ctor ? toSource(Ctor) : '';
26661
26662    if (ctorString) {
26663      switch (ctorString) {
26664        case dataViewCtorString: return dataViewTag;
26665        case mapCtorString: return mapTag;
26666        case promiseCtorString: return promiseTag;
26667        case setCtorString: return setTag;
26668        case weakMapCtorString: return weakMapTag;
26669      }
26670    }
26671    return result;
26672  };
26673}
26674
26675module.exports = getTag;
26676
26677
26678/***/ }),
26679
vendor: 592 bytes, lines 26680-26703
26680/***/ "./node_modules/lodash/_getValue.js":
26681/*!******************************************!*\
26682  !*** ./node_modules/lodash/_getValue.js ***!
26683  \******************************************/
26684/*! no static exports found */
26685/***/ (function(module, exports) {
26686
26687/**
26688 * Gets the value at `key` of `object`.
26689 *
26690 * @private
26691 * @param {Object} [object] The object to query.
26692 * @param {string} key The key of the property to get.
26693 * @returns {*} Returns the property value.
26694 */
26695function getValue(object, key) {
26696  return object == null ? undefined : object[key];
26697}
26698
26699module.exports = getValue;
26700
26701
26702/***/ }),
26703
vendor: 770 bytes, lines 26704-26731
26704/***/ "./node_modules/lodash/_getWrapDetails.js":
26705/*!************************************************!*\
26706  !*** ./node_modules/lodash/_getWrapDetails.js ***!
26707  \************************************************/
26708/*! no static exports found */
26709/***/ (function(module, exports) {
26710
26711/** Used to match wrap detail comments. */
26712var reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/,
26713    reSplitDetails = /,? & /;
26714
26715/**
26716 * Extracts wrapper details from the `source` body comment.
26717 *
26718 * @private
26719 * @param {string} source The source to inspect.
26720 * @returns {Array} Returns the wrapper details.
26721 */
26722function getWrapDetails(source) {
26723  var match = source.match(reWrapDetails);
26724  return match ? match[1].split(reSplitDetails) : [];
26725}
26726
26727module.exports = getWrapDetails;
26728
26729
26730/***/ }),
26731
vendor: 1,688 bytes, lines 26732-26781
26732/***/ "./node_modules/lodash/_hasPath.js":
26733/*!*****************************************!*\
26734  !*** ./node_modules/lodash/_hasPath.js ***!
26735  \*****************************************/
26736/*! no static exports found */
26737/***/ (function(module, exports, __webpack_require__) {
26738
26739var castPath = __webpack_require__(/*! ./_castPath */ "./node_modules/lodash/_castPath.js"),
26740    isArguments = __webpack_require__(/*! ./isArguments */ "./node_modules/lodash/isArguments.js"),
26741    isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"),
26742    isIndex = __webpack_require__(/*! ./_isIndex */ "./node_modules/lodash/_isIndex.js"),
26743    isLength = __webpack_require__(/*! ./isLength */ "./node_modules/lodash/isLength.js"),
26744    toKey = __webpack_require__(/*! ./_toKey */ "./node_modules/lodash/_toKey.js");
26745
26746/**
26747 * Checks if `path` exists on `object`.
26748 *
26749 * @private
26750 * @param {Object} object The object to query.
26751 * @param {Array|string} path The path to check.
26752 * @param {Function} hasFunc The function to check properties.
26753 * @returns {boolean} Returns `true` if `path` exists, else `false`.
26754 */
26755function hasPath(object, path, hasFunc) {
26756  path = castPath(path, object);
26757
26758  var index = -1,
26759      length = path.length,
26760      result = false;
26761
26762  while (++index < length) {
26763    var key = toKey(path[index]);
26764    if (!(result = object != null && hasFunc(object, key))) {
26765      break;
26766    }
26767    object = object[key];
26768  }
26769  if (result || ++index != length) {
26770    return result;
26771  }
26772  length = object == null ? 0 : object.length;
26773  return !!length && isLength(length) && isIndex(key, length) &&
26774    (isArray(object) || isArguments(object));
26775}
26776
26777module.exports = hasPath;
26778
26779
26780/***/ }),
26781
vendor: 631 bytes, lines 26782-26807
26782/***/ "./node_modules/lodash/_hashClear.js":
26783/*!*******************************************!*\
26784  !*** ./node_modules/lodash/_hashClear.js ***!
26785  \*******************************************/
26786/*! no static exports found */
26787/***/ (function(module, exports, __webpack_require__) {
26788
26789var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js");
26790
26791/**
26792 * Removes all key-value entries from the hash.
26793 *
26794 * @private
26795 * @name clear
26796 * @memberOf Hash
26797 */
26798function hashClear() {
26799  this.__data__ = nativeCreate ? nativeCreate(null) : {};
26800  this.size = 0;
26801}
26802
26803module.exports = hashClear;
26804
26805
26806/***/ }),
26807
vendor: 720 bytes, lines 26808-26835
26808/***/ "./node_modules/lodash/_hashDelete.js":
26809/*!********************************************!*\
26810  !*** ./node_modules/lodash/_hashDelete.js ***!
26811  \********************************************/
26812/*! no static exports found */
26813/***/ (function(module, exports) {
26814
26815/**
26816 * Removes `key` and its value from the hash.
26817 *
26818 * @private
26819 * @name delete
26820 * @memberOf Hash
26821 * @param {Object} hash The hash to modify.
26822 * @param {string} key The key of the value to remove.
26823 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
26824 */
26825function hashDelete(key) {
26826  var result = this.has(key) && delete this.__data__[key];
26827  this.size -= result ? 1 : 0;
26828  return result;
26829}
26830
26831module.exports = hashDelete;
26832
26833
26834/***/ }),
26835
vendor: 1,114 bytes, lines 26836-26876
26836/***/ "./node_modules/lodash/_hashGet.js":
26837/*!*****************************************!*\
26838  !*** ./node_modules/lodash/_hashGet.js ***!
26839  \*****************************************/
26840/*! no static exports found */
26841/***/ (function(module, exports, __webpack_require__) {
26842
26843var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js");
26844
26845/** Used to stand-in for `undefined` hash values. */
26846var HASH_UNDEFINED = '__lodash_hash_undefined__';
26847
26848/** Used for built-in method references. */
26849var objectProto = Object.prototype;
26850
26851/** Used to check objects for own properties. */
26852var hasOwnProperty = objectProto.hasOwnProperty;
26853
26854/**
26855 * Gets the hash value for `key`.
26856 *
26857 * @private
26858 * @name get
26859 * @memberOf Hash
26860 * @param {string} key The key of the value to get.
26861 * @returns {*} Returns the entry value.
26862 */
26863function hashGet(key) {
26864  var data = this.__data__;
26865  if (nativeCreate) {
26866    var result = data[key];
26867    return result === HASH_UNDEFINED ? undefined : result;
26868  }
26869  return hasOwnProperty.call(data, key) ? data[key] : undefined;
26870}
26871
26872module.exports = hashGet;
26873
26874
26875/***/ }),
26876
vendor: 968 bytes, lines 26877-26910
26877/***/ "./node_modules/lodash/_hashHas.js":
26878/*!*****************************************!*\
26879  !*** ./node_modules/lodash/_hashHas.js ***!
26880  \*****************************************/
26881/*! no static exports found */
26882/***/ (function(module, exports, __webpack_require__) {
26883
26884var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js");
26885
26886/** Used for built-in method references. */
26887var objectProto = Object.prototype;
26888
26889/** Used to check objects for own properties. */
26890var hasOwnProperty = objectProto.hasOwnProperty;
26891
26892/**
26893 * Checks if a hash value for `key` exists.
26894 *
26895 * @private
26896 * @name has
26897 * @memberOf Hash
26898 * @param {string} key The key of the entry to check.
26899 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
26900 */
26901function hashHas(key) {
26902  var data = this.__data__;
26903  return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);
26904}
26905
26906module.exports = hashHas;
26907
26908
26909/***/ }),
26910
vendor: 940 bytes, lines 26911-26944
26911/***/ "./node_modules/lodash/_hashSet.js":
26912/*!*****************************************!*\
26913  !*** ./node_modules/lodash/_hashSet.js ***!
26914  \*****************************************/
26915/*! no static exports found */
26916/***/ (function(module, exports, __webpack_require__) {
26917
26918var nativeCreate = __webpack_require__(/*! ./_nativeCreate */ "./node_modules/lodash/_nativeCreate.js");
26919
26920/** Used to stand-in for `undefined` hash values. */
26921var HASH_UNDEFINED = '__lodash_hash_undefined__';
26922
26923/**
26924 * Sets the hash `key` to `value`.
26925 *
26926 * @private
26927 * @name set
26928 * @memberOf Hash
26929 * @param {string} key The key of the value to set.
26930 * @param {*} value The value to set.
26931 * @returns {Object} Returns the hash instance.
26932 */
26933function hashSet(key, value) {
26934  var data = this.__data__;
26935  this.size += this.has(key) ? 0 : 1;
26936  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;
26937  return this;
26938}
26939
26940module.exports = hashSet;
26941
26942
26943/***/ }),
26944
vendor: 983 bytes, lines 26945-26981
26945/***/ "./node_modules/lodash/_initCloneArray.js":
26946/*!************************************************!*\
26947  !*** ./node_modules/lodash/_initCloneArray.js ***!
26948  \************************************************/
26949/*! no static exports found */
26950/***/ (function(module, exports) {
26951
26952/** Used for built-in method references. */
26953var objectProto = Object.prototype;
26954
26955/** Used to check objects for own properties. */
26956var hasOwnProperty = objectProto.hasOwnProperty;
26957
26958/**
26959 * Initializes an array clone.
26960 *
26961 * @private
26962 * @param {Array} array The array to clone.
26963 * @returns {Array} Returns the initialized clone.
26964 */
26965function initCloneArray(array) {
26966  var length = array.length,
26967      result = new array.constructor(length);
26968
26969  // Add properties assigned by `RegExp#exec`.
26970  if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
26971    result.index = array.index;
26972    result.input = array.input;
26973  }
26974  return result;
26975}
26976
26977module.exports = initCloneArray;
26978
26979
26980/***/ }),
26981
vendor: 2,869 bytes, lines 26982-27069
26982/***/ "./node_modules/lodash/_initCloneByTag.js":
26983/*!************************************************!*\
26984  !*** ./node_modules/lodash/_initCloneByTag.js ***!
26985  \************************************************/
26986/*! no static exports found */
26987/***/ (function(module, exports, __webpack_require__) {
26988
26989var cloneArrayBuffer = __webpack_require__(/*! ./_cloneArrayBuffer */ "./node_modules/lodash/_cloneArrayBuffer.js"),
26990    cloneDataView = __webpack_require__(/*! ./_cloneDataView */ "./node_modules/lodash/_cloneDataView.js"),
26991    cloneRegExp = __webpack_require__(/*! ./_cloneRegExp */ "./node_modules/lodash/_cloneRegExp.js"),
26992    cloneSymbol = __webpack_require__(/*! ./_cloneSymbol */ "./node_modules/lodash/_cloneSymbol.js"),
26993    cloneTypedArray = __webpack_require__(/*! ./_cloneTypedArray */ "./node_modules/lodash/_cloneTypedArray.js");
26994
26995/** `Object#toString` result references. */
26996var boolTag = '[object Boolean]',
26997    dateTag = '[object Date]',
26998    mapTag = '[object Map]',
26999    numberTag = '[object Number]',
27000    regexpTag = '[object RegExp]',
27001    setTag = '[object Set]',
27002    stringTag = '[object String]',
27003    symbolTag = '[object Symbol]';
27004
27005var arrayBufferTag = '[object ArrayBuffer]',
27006    dataViewTag = '[object DataView]',
27007    float32Tag = '[object Float32Array]',
27008    float64Tag = '[object Float64Array]',
27009    int8Tag = '[object Int8Array]',
27010    int16Tag = '[object Int16Array]',
27011    int32Tag = '[object Int32Array]',
27012    uint8Tag = '[object Uint8Array]',
27013    uint8ClampedTag = '[object Uint8ClampedArray]',
27014    uint16Tag = '[object Uint16Array]',
27015    uint32Tag = '[object Uint32Array]';
27016
27017/**
27018 * Initializes an object clone based on its `toStringTag`.
27019 *
27020 * **Note:** This function only supports cloning values with tags of
27021 * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.
27022 *
27023 * @private
27024 * @param {Object} object The object to clone.
27025 * @param {string} tag The `toStringTag` of the object to clone.
27026 * @param {boolean} [isDeep] Specify a deep clone.
27027 * @returns {Object} Returns the initialized clone.
27028 */
27029function initCloneByTag(object, tag, isDeep) {
27030  var Ctor = object.constructor;
27031  switch (tag) {
27032    case arrayBufferTag:
27033      return cloneArrayBuffer(object);
27034
27035    case boolTag:
27036    case dateTag:
27037      return new Ctor(+object);
27038
27039    case dataViewTag:
27040      return cloneDataView(object, isDeep);
27041
27042    case float32Tag: case float64Tag:
27043    case int8Tag: case int16Tag: case int32Tag:
27044    case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:
27045      return cloneTypedArray(object, isDeep);
27046
27047    case mapTag:
27048      return new Ctor;
27049
27050    case numberTag:
27051    case stringTag:
27052      return new Ctor(object);
27053
27054    case regexpTag:
27055      return cloneRegExp(object);
27056
27057    case setTag:
27058      return new Ctor;
27059
27060    case symbolTag:
27061      return cloneSymbol(object);
27062  }
27063}
27064
27065module.exports = initCloneByTag;
27066
27067
27068/***/ }),
27069
vendor: 973 bytes, lines 27070-27098
27070/***/ "./node_modules/lodash/_initCloneObject.js":
27071/*!*************************************************!*\
27072  !*** ./node_modules/lodash/_initCloneObject.js ***!
27073  \*************************************************/
27074/*! no static exports found */
27075/***/ (function(module, exports, __webpack_require__) {
27076
27077var baseCreate = __webpack_require__(/*! ./_baseCreate */ "./node_modules/lodash/_baseCreate.js"),
27078    getPrototype = __webpack_require__(/*! ./_getPrototype */ "./node_modules/lodash/_getPrototype.js"),
27079    isPrototype = __webpack_require__(/*! ./_isPrototype */ "./node_modules/lodash/_isPrototype.js");
27080
27081/**
27082 * Initializes an object clone.
27083 *
27084 * @private
27085 * @param {Object} object The object to clone.
27086 * @returns {Object} Returns the initialized clone.
27087 */
27088function initCloneObject(object) {
27089  return (typeof object.constructor == 'function' && !isPrototype(object))
27090    ? baseCreate(getPrototype(object))
27091    : {};
27092}
27093
27094module.exports = initCloneObject;
27095
27096
27097/***/ }),
27098
vendor: 1,051 bytes, lines 27099-27132
27099/***/ "./node_modules/lodash/_insertWrapDetails.js":
27100/*!***************************************************!*\
27101  !*** ./node_modules/lodash/_insertWrapDetails.js ***!
27102  \***************************************************/
27103/*! no static exports found */
27104/***/ (function(module, exports) {
27105
27106/** Used to match wrap detail comments. */
27107var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;
27108
27109/**
27110 * Inserts wrapper `details` in a comment at the top of the `source` body.
27111 *
27112 * @private
27113 * @param {string} source The source to modify.
27114 * @returns {Array} details The details to insert.
27115 * @returns {string} Returns the modified source.
27116 */
27117function insertWrapDetails(source, details) {
27118  var length = details.length;
27119  if (!length) {
27120    return source;
27121  }
27122  var lastIndex = length - 1;
27123  details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];
27124  details = details.join(length > 2 ? ', ' : ' ');
27125  return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n');
27126}
27127
27128module.exports = insertWrapDetails;
27129
27130
27131/***/ }),
27132
vendor: 1,076 bytes, lines 27133-27163
27133/***/ "./node_modules/lodash/_isFlattenable.js":
27134/*!***********************************************!*\
27135  !*** ./node_modules/lodash/_isFlattenable.js ***!
27136  \***********************************************/
27137/*! no static exports found */
27138/***/ (function(module, exports, __webpack_require__) {
27139
27140var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"),
27141    isArguments = __webpack_require__(/*! ./isArguments */ "./node_modules/lodash/isArguments.js"),
27142    isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js");
27143
27144/** Built-in value references. */
27145var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;
27146
27147/**
27148 * Checks if `value` is a flattenable `arguments` object or array.
27149 *
27150 * @private
27151 * @param {*} value The value to check.
27152 * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.
27153 */
27154function isFlattenable(value) {
27155  return isArray(value) || isArguments(value) ||
27156    !!(spreadableSymbol && value && value[spreadableSymbol]);
27157}
27158
27159module.exports = isFlattenable;
27160
27161
27162/***/ }),
27163
vendor: 1,022 bytes, lines 27164-27199
27164/***/ "./node_modules/lodash/_isIndex.js":
27165/*!*****************************************!*\
27166  !*** ./node_modules/lodash/_isIndex.js ***!
27167  \*****************************************/
27168/*! no static exports found */
27169/***/ (function(module, exports) {
27170
27171/** Used as references for various `Number` constants. */
27172var MAX_SAFE_INTEGER = 9007199254740991;
27173
27174/** Used to detect unsigned integer values. */
27175var reIsUint = /^(?:0|[1-9]\d*)$/;
27176
27177/**
27178 * Checks if `value` is a valid array-like index.
27179 *
27180 * @private
27181 * @param {*} value The value to check.
27182 * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
27183 * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
27184 */
27185function isIndex(value, length) {
27186  var type = typeof value;
27187  length = length == null ? MAX_SAFE_INTEGER : length;
27188
27189  return !!length &&
27190    (type == 'number' ||
27191      (type != 'symbol' && reIsUint.test(value))) &&
27192        (value > -1 && value % 1 == 0 && value < length);
27193}
27194
27195module.exports = isIndex;
27196
27197
27198/***/ }),
27199
vendor: 1,261 bytes, lines 27200-27239
27200/***/ "./node_modules/lodash/_isKey.js":
27201/*!***************************************!*\
27202  !*** ./node_modules/lodash/_isKey.js ***!
27203  \***************************************/
27204/*! no static exports found */
27205/***/ (function(module, exports, __webpack_require__) {
27206
27207var isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"),
27208    isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js");
27209
27210/** Used to match property names within property paths. */
27211var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
27212    reIsPlainProp = /^\w*$/;
27213
27214/**
27215 * Checks if `value` is a property name and not a property path.
27216 *
27217 * @private
27218 * @param {*} value The value to check.
27219 * @param {Object} [object] The object to query keys on.
27220 * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
27221 */
27222function isKey(value, object) {
27223  if (isArray(value)) {
27224    return false;
27225  }
27226  var type = typeof value;
27227  if (type == 'number' || type == 'symbol' || type == 'boolean' ||
27228      value == null || isSymbol(value)) {
27229    return true;
27230  }
27231  return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
27232    (object != null && value in Object(object));
27233}
27234
27235module.exports = isKey;
27236
27237
27238/***/ }),
27239
vendor: 701 bytes, lines 27240-27265
27240/***/ "./node_modules/lodash/_isKeyable.js":
27241/*!*******************************************!*\
27242  !*** ./node_modules/lodash/_isKeyable.js ***!
27243  \*******************************************/
27244/*! no static exports found */
27245/***/ (function(module, exports) {
27246
27247/**
27248 * Checks if `value` is suitable for use as unique object key.
27249 *
27250 * @private
27251 * @param {*} value The value to check.
27252 * @returns {boolean} Returns `true` if `value` is suitable, else `false`.
27253 */
27254function isKeyable(value) {
27255  var type = typeof value;
27256  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')
27257    ? (value !== '__proto__')
27258    : (value === null);
27259}
27260
27261module.exports = isKeyable;
27262
27263
27264/***/ }),
27265
vendor: 1,233 bytes, lines 27266-27304
27266/***/ "./node_modules/lodash/_isLaziable.js":
27267/*!********************************************!*\
27268  !*** ./node_modules/lodash/_isLaziable.js ***!
27269  \********************************************/
27270/*! no static exports found */
27271/***/ (function(module, exports, __webpack_require__) {
27272
27273var LazyWrapper = __webpack_require__(/*! ./_LazyWrapper */ "./node_modules/lodash/_LazyWrapper.js"),
27274    getData = __webpack_require__(/*! ./_getData */ "./node_modules/lodash/_getData.js"),
27275    getFuncName = __webpack_require__(/*! ./_getFuncName */ "./node_modules/lodash/_getFuncName.js"),
27276    lodash = __webpack_require__(/*! ./wrapperLodash */ "./node_modules/lodash/wrapperLodash.js");
27277
27278/**
27279 * Checks if `func` has a lazy counterpart.
27280 *
27281 * @private
27282 * @param {Function} func The function to check.
27283 * @returns {boolean} Returns `true` if `func` has a lazy counterpart,
27284 *  else `false`.
27285 */
27286function isLaziable(func) {
27287  var funcName = getFuncName(func),
27288      other = lodash[funcName];
27289
27290  if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {
27291    return false;
27292  }
27293  if (func === other) {
27294    return true;
27295  }
27296  var data = getData(other);
27297  return !!data && func === data[0];
27298}
27299
27300module.exports = isLaziable;
27301
27302
27303/***/ }),
27304
vendor: 908 bytes, lines 27305-27335
27305/***/ "./node_modules/lodash/_isMasked.js":
27306/*!******************************************!*\
27307  !*** ./node_modules/lodash/_isMasked.js ***!
27308  \******************************************/
27309/*! no static exports found */
27310/***/ (function(module, exports, __webpack_require__) {
27311
27312var coreJsData = __webpack_require__(/*! ./_coreJsData */ "./node_modules/lodash/_coreJsData.js");
27313
27314/** Used to detect methods masquerading as native. */
27315var maskSrcKey = (function() {
27316  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
27317  return uid ? ('Symbol(src)_1.' + uid) : '';
27318}());
27319
27320/**
27321 * Checks if `func` has its source masked.
27322 *
27323 * @private
27324 * @param {Function} func The function to check.
27325 * @returns {boolean} Returns `true` if `func` is masked, else `false`.
27326 */
27327function isMasked(func) {
27328  return !!maskSrcKey && (maskSrcKey in func);
27329}
27330
27331module.exports = isMasked;
27332
27333
27334/***/ }),
27335
vendor: 759 bytes, lines 27336-27364
27336/***/ "./node_modules/lodash/_isPrototype.js":
27337/*!*********************************************!*\
27338  !*** ./node_modules/lodash/_isPrototype.js ***!
27339  \*********************************************/
27340/*! no static exports found */
27341/***/ (function(module, exports) {
27342
27343/** Used for built-in method references. */
27344var objectProto = Object.prototype;
27345
27346/**
27347 * Checks if `value` is likely a prototype object.
27348 *
27349 * @private
27350 * @param {*} value The value to check.
27351 * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.
27352 */
27353function isPrototype(value) {
27354  var Ctor = value && value.constructor,
27355      proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;
27356
27357  return value === proto;
27358}
27359
27360module.exports = isPrototype;
27361
27362
27363/***/ }),
27364
vendor: 795 bytes, lines 27365-27390
27365/***/ "./node_modules/lodash/_isStrictComparable.js":
27366/*!****************************************************!*\
27367  !*** ./node_modules/lodash/_isStrictComparable.js ***!
27368  \****************************************************/
27369/*! no static exports found */
27370/***/ (function(module, exports, __webpack_require__) {
27371
27372var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js");
27373
27374/**
27375 * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
27376 *
27377 * @private
27378 * @param {*} value The value to check.
27379 * @returns {boolean} Returns `true` if `value` if suitable for strict
27380 *  equality comparisons, else `false`.
27381 */
27382function isStrictComparable(value) {
27383  return value === value && !isObject(value);
27384}
27385
27386module.exports = isStrictComparable;
27387
27388
27389/***/ }),
27390
vendor: 509 bytes, lines 27391-27414
27391/***/ "./node_modules/lodash/_listCacheClear.js":
27392/*!************************************************!*\
27393  !*** ./node_modules/lodash/_listCacheClear.js ***!
27394  \************************************************/
27395/*! no static exports found */
27396/***/ (function(module, exports) {
27397
27398/**
27399 * Removes all key-value entries from the list cache.
27400 *
27401 * @private
27402 * @name clear
27403 * @memberOf ListCache
27404 */
27405function listCacheClear() {
27406  this.__data__ = [];
27407  this.size = 0;
27408}
27409
27410module.exports = listCacheClear;
27411
27412
27413/***/ }),
27414
vendor: 1,149 bytes, lines 27415-27460
27415/***/ "./node_modules/lodash/_listCacheDelete.js":
27416/*!*************************************************!*\
27417  !*** ./node_modules/lodash/_listCacheDelete.js ***!
27418  \*************************************************/
27419/*! no static exports found */
27420/***/ (function(module, exports, __webpack_require__) {
27421
27422var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js");
27423
27424/** Used for built-in method references. */
27425var arrayProto = Array.prototype;
27426
27427/** Built-in value references. */
27428var splice = arrayProto.splice;
27429
27430/**
27431 * Removes `key` and its value from the list cache.
27432 *
27433 * @private
27434 * @name delete
27435 * @memberOf ListCache
27436 * @param {string} key The key of the value to remove.
27437 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
27438 */
27439function listCacheDelete(key) {
27440  var data = this.__data__,
27441      index = assocIndexOf(data, key);
27442
27443  if (index < 0) {
27444    return false;
27445  }
27446  var lastIndex = data.length - 1;
27447  if (index == lastIndex) {
27448    data.pop();
27449  } else {
27450    splice.call(data, index, 1);
27451  }
27452  --this.size;
27453  return true;
27454}
27455
27456module.exports = listCacheDelete;
27457
27458
27459/***/ }),
27460
vendor: 782 bytes, lines 27461-27490
27461/***/ "./node_modules/lodash/_listCacheGet.js":
27462/*!**********************************************!*\
27463  !*** ./node_modules/lodash/_listCacheGet.js ***!
27464  \**********************************************/
27465/*! no static exports found */
27466/***/ (function(module, exports, __webpack_require__) {
27467
27468var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js");
27469
27470/**
27471 * Gets the list cache value for `key`.
27472 *
27473 * @private
27474 * @name get
27475 * @memberOf ListCache
27476 * @param {string} key The key of the value to get.
27477 * @returns {*} Returns the entry value.
27478 */
27479function listCacheGet(key) {
27480  var data = this.__data__,
27481      index = assocIndexOf(data, key);
27482
27483  return index < 0 ? undefined : data[index][1];
27484}
27485
27486module.exports = listCacheGet;
27487
27488
27489/***/ }),
27490
vendor: 765 bytes, lines 27491-27517
27491/***/ "./node_modules/lodash/_listCacheHas.js":
27492/*!**********************************************!*\
27493  !*** ./node_modules/lodash/_listCacheHas.js ***!
27494  \**********************************************/
27495/*! no static exports found */
27496/***/ (function(module, exports, __webpack_require__) {
27497
27498var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js");
27499
27500/**
27501 * Checks if a list cache value for `key` exists.
27502 *
27503 * @private
27504 * @name has
27505 * @memberOf ListCache
27506 * @param {string} key The key of the entry to check.
27507 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
27508 */
27509function listCacheHas(key) {
27510  return assocIndexOf(this.__data__, key) > -1;
27511}
27512
27513module.exports = listCacheHas;
27514
27515
27516/***/ }),
27517
vendor: 915 bytes, lines 27518-27554
27518/***/ "./node_modules/lodash/_listCacheSet.js":
27519/*!**********************************************!*\
27520  !*** ./node_modules/lodash/_listCacheSet.js ***!
27521  \**********************************************/
27522/*! no static exports found */
27523/***/ (function(module, exports, __webpack_require__) {
27524
27525var assocIndexOf = __webpack_require__(/*! ./_assocIndexOf */ "./node_modules/lodash/_assocIndexOf.js");
27526
27527/**
27528 * Sets the list cache `key` to `value`.
27529 *
27530 * @private
27531 * @name set
27532 * @memberOf ListCache
27533 * @param {string} key The key of the value to set.
27534 * @param {*} value The value to set.
27535 * @returns {Object} Returns the list cache instance.
27536 */
27537function listCacheSet(key, value) {
27538  var data = this.__data__,
27539      index = assocIndexOf(data, key);
27540
27541  if (index < 0) {
27542    ++this.size;
27543    data.push([key, value]);
27544  } else {
27545    data[index][1] = value;
27546  }
27547  return this;
27548}
27549
27550module.exports = listCacheSet;
27551
27552
27553/***/ }),
27554
vendor: 855 bytes, lines 27555-27586
27555/***/ "./node_modules/lodash/_mapCacheClear.js":
27556/*!***********************************************!*\
27557  !*** ./node_modules/lodash/_mapCacheClear.js ***!
27558  \***********************************************/
27559/*! no static exports found */
27560/***/ (function(module, exports, __webpack_require__) {
27561
27562var Hash = __webpack_require__(/*! ./_Hash */ "./node_modules/lodash/_Hash.js"),
27563    ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js"),
27564    Map = __webpack_require__(/*! ./_Map */ "./node_modules/lodash/_Map.js");
27565
27566/**
27567 * Removes all key-value entries from the map.
27568 *
27569 * @private
27570 * @name clear
27571 * @memberOf MapCache
27572 */
27573function mapCacheClear() {
27574  this.size = 0;
27575  this.__data__ = {
27576    'hash': new Hash,
27577    'map': new (Map || ListCache),
27578    'string': new Hash
27579  };
27580}
27581
27582module.exports = mapCacheClear;
27583
27584
27585/***/ }),
27586
vendor: 818 bytes, lines 27587-27615
27587/***/ "./node_modules/lodash/_mapCacheDelete.js":
27588/*!************************************************!*\
27589  !*** ./node_modules/lodash/_mapCacheDelete.js ***!
27590  \************************************************/
27591/*! no static exports found */
27592/***/ (function(module, exports, __webpack_require__) {
27593
27594var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js");
27595
27596/**
27597 * Removes `key` and its value from the map.
27598 *
27599 * @private
27600 * @name delete
27601 * @memberOf MapCache
27602 * @param {string} key The key of the value to remove.
27603 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
27604 */
27605function mapCacheDelete(key) {
27606  var result = getMapData(this, key)['delete'](key);
27607  this.size -= result ? 1 : 0;
27608  return result;
27609}
27610
27611module.exports = mapCacheDelete;
27612
27613
27614/***/ }),
27615
vendor: 686 bytes, lines 27616-27642
27616/***/ "./node_modules/lodash/_mapCacheGet.js":
27617/*!*********************************************!*\
27618  !*** ./node_modules/lodash/_mapCacheGet.js ***!
27619  \*********************************************/
27620/*! no static exports found */
27621/***/ (function(module, exports, __webpack_require__) {
27622
27623var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js");
27624
27625/**
27626 * Gets the map value for `key`.
27627 *
27628 * @private
27629 * @name get
27630 * @memberOf MapCache
27631 * @param {string} key The key of the value to get.
27632 * @returns {*} Returns the entry value.
27633 */
27634function mapCacheGet(key) {
27635  return getMapData(this, key).get(key);
27636}
27637
27638module.exports = mapCacheGet;
27639
27640
27641/***/ }),
27642
vendor: 738 bytes, lines 27643-27669
27643/***/ "./node_modules/lodash/_mapCacheHas.js":
27644/*!*********************************************!*\
27645  !*** ./node_modules/lodash/_mapCacheHas.js ***!
27646  \*********************************************/
27647/*! no static exports found */
27648/***/ (function(module, exports, __webpack_require__) {
27649
27650var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js");
27651
27652/**
27653 * Checks if a map value for `key` exists.
27654 *
27655 * @private
27656 * @name has
27657 * @memberOf MapCache
27658 * @param {string} key The key of the entry to check.
27659 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
27660 */
27661function mapCacheHas(key) {
27662  return getMapData(this, key).has(key);
27663}
27664
27665module.exports = mapCacheHas;
27666
27667
27668/***/ }),
27669
vendor: 845 bytes, lines 27670-27702
27670/***/ "./node_modules/lodash/_mapCacheSet.js":
27671/*!*********************************************!*\
27672  !*** ./node_modules/lodash/_mapCacheSet.js ***!
27673  \*********************************************/
27674/*! no static exports found */
27675/***/ (function(module, exports, __webpack_require__) {
27676
27677var getMapData = __webpack_require__(/*! ./_getMapData */ "./node_modules/lodash/_getMapData.js");
27678
27679/**
27680 * Sets the map `key` to `value`.
27681 *
27682 * @private
27683 * @name set
27684 * @memberOf MapCache
27685 * @param {string} key The key of the value to set.
27686 * @param {*} value The value to set.
27687 * @returns {Object} Returns the map cache instance.
27688 */
27689function mapCacheSet(key, value) {
27690  var data = getMapData(this, key),
27691      size = data.size;
27692
27693  data.set(key, value);
27694  this.size += data.size == size ? 0 : 1;
27695  return this;
27696}
27697
27698module.exports = mapCacheSet;
27699
27700
27701/***/ }),
27702
vendor: 638 bytes, lines 27703-27731
27703/***/ "./node_modules/lodash/_mapToArray.js":
27704/*!********************************************!*\
27705  !*** ./node_modules/lodash/_mapToArray.js ***!
27706  \********************************************/
27707/*! no static exports found */
27708/***/ (function(module, exports) {
27709
27710/**
27711 * Converts `map` to its key-value pairs.
27712 *
27713 * @private
27714 * @param {Object} map The map to convert.
27715 * @returns {Array} Returns the key-value pairs.
27716 */
27717function mapToArray(map) {
27718  var index = -1,
27719      result = Array(map.size);
27720
27721  map.forEach(function(value, key) {
27722    result[++index] = [key, value];
27723  });
27724  return result;
27725}
27726
27727module.exports = mapToArray;
27728
27729
27730/***/ }),
27731
vendor: 901 bytes, lines 27732-27762
27732/***/ "./node_modules/lodash/_matchesStrictComparable.js":
27733/*!*********************************************************!*\
27734  !*** ./node_modules/lodash/_matchesStrictComparable.js ***!
27735  \*********************************************************/
27736/*! no static exports found */
27737/***/ (function(module, exports) {
27738
27739/**
27740 * A specialized version of `matchesProperty` for source values suitable
27741 * for strict equality comparisons, i.e. `===`.
27742 *
27743 * @private
27744 * @param {string} key The key of the property to get.
27745 * @param {*} srcValue The value to match.
27746 * @returns {Function} Returns the new spec function.
27747 */
27748function matchesStrictComparable(key, srcValue) {
27749  return function(object) {
27750    if (object == null) {
27751      return false;
27752    }
27753    return object[key] === srcValue &&
27754      (srcValue !== undefined || (key in Object(object)));
27755  };
27756}
27757
27758module.exports = matchesStrictComparable;
27759
27760
27761/***/ }),
27762
vendor: 993 bytes, lines 27763-27799
27763/***/ "./node_modules/lodash/_memoizeCapped.js":
27764/*!***********************************************!*\
27765  !*** ./node_modules/lodash/_memoizeCapped.js ***!
27766  \***********************************************/
27767/*! no static exports found */
27768/***/ (function(module, exports, __webpack_require__) {
27769
27770var memoize = __webpack_require__(/*! ./memoize */ "./node_modules/lodash/memoize.js");
27771
27772/** Used as the maximum memoize cache size. */
27773var MAX_MEMOIZE_SIZE = 500;
27774
27775/**
27776 * A specialized version of `_.memoize` which clears the memoized function's
27777 * cache when it exceeds `MAX_MEMOIZE_SIZE`.
27778 *
27779 * @private
27780 * @param {Function} func The function to have its output memoized.
27781 * @returns {Function} Returns the new memoized function.
27782 */
27783function memoizeCapped(func) {
27784  var result = memoize(func, function(key) {
27785    if (cache.size === MAX_MEMOIZE_SIZE) {
27786      cache.clear();
27787    }
27788    return key;
27789  });
27790
27791  var cache = result.cache;
27792  return result;
27793}
27794
27795module.exports = memoizeCapped;
27796
27797
27798/***/ }),
27799
vendor: 3,606 bytes, lines 27800-27900
27800/***/ "./node_modules/lodash/_mergeData.js":
27801/*!*******************************************!*\
27802  !*** ./node_modules/lodash/_mergeData.js ***!
27803  \*******************************************/
27804/*! no static exports found */
27805/***/ (function(module, exports, __webpack_require__) {
27806
27807var composeArgs = __webpack_require__(/*! ./_composeArgs */ "./node_modules/lodash/_composeArgs.js"),
27808    composeArgsRight = __webpack_require__(/*! ./_composeArgsRight */ "./node_modules/lodash/_composeArgsRight.js"),
27809    replaceHolders = __webpack_require__(/*! ./_replaceHolders */ "./node_modules/lodash/_replaceHolders.js");
27810
27811/** Used as the internal argument placeholder. */
27812var PLACEHOLDER = '__lodash_placeholder__';
27813
27814/** Used to compose bitmasks for function metadata. */
27815var WRAP_BIND_FLAG = 1,
27816    WRAP_BIND_KEY_FLAG = 2,
27817    WRAP_CURRY_BOUND_FLAG = 4,
27818    WRAP_CURRY_FLAG = 8,
27819    WRAP_ARY_FLAG = 128,
27820    WRAP_REARG_FLAG = 256;
27821
27822/* Built-in method references for those with the same name as other `lodash` methods. */
27823var nativeMin = Math.min;
27824
27825/**
27826 * Merges the function metadata of `source` into `data`.
27827 *
27828 * Merging metadata reduces the number of wrappers used to invoke a function.
27829 * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`
27830 * may be applied regardless of execution order. Methods like `_.ary` and
27831 * `_.rearg` modify function arguments, making the order in which they are
27832 * executed important, preventing the merging of metadata. However, we make
27833 * an exception for a safe combined case where curried functions have `_.ary`
27834 * and or `_.rearg` applied.
27835 *
27836 * @private
27837 * @param {Array} data The destination metadata.
27838 * @param {Array} source The source metadata.
27839 * @returns {Array} Returns `data`.
27840 */
27841function mergeData(data, source) {
27842  var bitmask = data[1],
27843      srcBitmask = source[1],
27844      newBitmask = bitmask | srcBitmask,
27845      isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);
27846
27847  var isCombo =
27848    ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||
27849    ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||
27850    ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));
27851
27852  // Exit early if metadata can't be merged.
27853  if (!(isCommon || isCombo)) {
27854    return data;
27855  }
27856  // Use source `thisArg` if available.
27857  if (srcBitmask & WRAP_BIND_FLAG) {
27858    data[2] = source[2];
27859    // Set when currying a bound function.
27860    newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;
27861  }
27862  // Compose partial arguments.
27863  var value = source[3];
27864  if (value) {
27865    var partials = data[3];
27866    data[3] = partials ? composeArgs(partials, value, source[4]) : value;
27867    data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];
27868  }
27869  // Compose partial right arguments.
27870  value = source[5];
27871  if (value) {
27872    partials = data[5];
27873    data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;
27874    data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];
27875  }
27876  // Use source `argPos` if available.
27877  value = source[7];
27878  if (value) {
27879    data[7] = value;
27880  }
27881  // Use source `ary` if it's smaller.
27882  if (srcBitmask & WRAP_ARY_FLAG) {
27883    data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);
27884  }
27885  // Use source `arity` if one is not provided.
27886  if (data[9] == null) {
27887    data[9] = source[9];
27888  }
27889  // Use source `func` and merge bitmasks.
27890  data[0] = source[0];
27891  data[1] = newBitmask;
27892
27893  return data;
27894}
27895
27896module.exports = mergeData;
27897
27898
27899/***/ }),
27900
vendor: 480 bytes, lines 27901-27917
27901/***/ "./node_modules/lodash/_metaMap.js":
27902/*!*****************************************!*\
27903  !*** ./node_modules/lodash/_metaMap.js ***!
27904  \*****************************************/
27905/*! no static exports found */
27906/***/ (function(module, exports, __webpack_require__) {
27907
27908var WeakMap = __webpack_require__(/*! ./_WeakMap */ "./node_modules/lodash/_WeakMap.js");
27909
27910/** Used to store function metadata. */
27911var metaMap = WeakMap && new WeakMap;
27912
27913module.exports = metaMap;
27914
27915
27916/***/ }),
27917
vendor: 546 bytes, lines 27918-27934
27918/***/ "./node_modules/lodash/_nativeCreate.js":
27919/*!**********************************************!*\
27920  !*** ./node_modules/lodash/_nativeCreate.js ***!
27921  \**********************************************/
27922/*! no static exports found */
27923/***/ (function(module, exports, __webpack_require__) {
27924
27925var getNative = __webpack_require__(/*! ./_getNative */ "./node_modules/lodash/_getNative.js");
27926
27927/* Built-in method references that are verified to be native. */
27928var nativeCreate = getNative(Object, 'create');
27929
27930module.exports = nativeCreate;
27931
27932
27933/***/ }),
27934
vendor: 553 bytes, lines 27935-27951
27935/***/ "./node_modules/lodash/_nativeKeys.js":
27936/*!********************************************!*\
27937  !*** ./node_modules/lodash/_nativeKeys.js ***!
27938  \********************************************/
27939/*! no static exports found */
27940/***/ (function(module, exports, __webpack_require__) {
27941
27942var overArg = __webpack_require__(/*! ./_overArg */ "./node_modules/lodash/_overArg.js");
27943
27944/* Built-in method references for those with the same name as other `lodash` methods. */
27945var nativeKeys = overArg(Object.keys, Object);
27946
27947module.exports = nativeKeys;
27948
27949
27950/***/ }),
27951
vendor: 773 bytes, lines 27952-27982
27952/***/ "./node_modules/lodash/_nativeKeysIn.js":
27953/*!**********************************************!*\
27954  !*** ./node_modules/lodash/_nativeKeysIn.js ***!
27955  \**********************************************/
27956/*! no static exports found */
27957/***/ (function(module, exports) {
27958
27959/**
27960 * This function is like
27961 * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
27962 * except that it includes inherited enumerable properties.
27963 *
27964 * @private
27965 * @param {Object} object The object to query.
27966 * @returns {Array} Returns the array of property names.
27967 */
27968function nativeKeysIn(object) {
27969  var result = [];
27970  if (object != null) {
27971    for (var key in Object(object)) {
27972      result.push(key);
27973    }
27974  }
27975  return result;
27976}
27977
27978module.exports = nativeKeysIn;
27979
27980
27981/***/ }),
27982
vendor: 1,516 bytes, lines 27983-28024
27983/***/ "./node_modules/lodash/_nodeUtil.js":
27984/*!******************************************!*\
27985  !*** ./node_modules/lodash/_nodeUtil.js ***!
27986  \******************************************/
27987/*! no static exports found */
27988/***/ (function(module, exports, __webpack_require__) {
27989
27990/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ "./node_modules/lodash/_freeGlobal.js");
27991
27992/** Detect free variable `exports`. */
27993var freeExports =  true && exports && !exports.nodeType && exports;
27994
27995/** Detect free variable `module`. */
27996var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
27997
27998/** Detect the popular CommonJS extension `module.exports`. */
27999var moduleExports = freeModule && freeModule.exports === freeExports;
28000
28001/** Detect free variable `process` from Node.js. */
28002var freeProcess = moduleExports && freeGlobal.process;
28003
28004/** Used to access faster Node.js helpers. */
28005var nodeUtil = (function() {
28006  try {
28007    // Use `util.types` for Node.js 10+.
28008    var types = freeModule && freeModule.require && freeModule.require('util').types;
28009
28010    if (types) {
28011      return types;
28012    }
28013
28014    // Legacy `process.binding('util')` for Node.js < 10.
28015    return freeProcess && freeProcess.binding && freeProcess.binding('util');
28016  } catch (e) {}
28017}());
28018
28019module.exports = nodeUtil;
28020
28021/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module)))
28022
28023/***/ }),
28024
vendor: 856 bytes, lines 28025-28057
28025/***/ "./node_modules/lodash/_objectToString.js":
28026/*!************************************************!*\
28027  !*** ./node_modules/lodash/_objectToString.js ***!
28028  \************************************************/
28029/*! no static exports found */
28030/***/ (function(module, exports) {
28031
28032/** Used for built-in method references. */
28033var objectProto = Object.prototype;
28034
28035/**
28036 * Used to resolve the
28037 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
28038 * of values.
28039 */
28040var nativeObjectToString = objectProto.toString;
28041
28042/**
28043 * Converts `value` to a string using `Object.prototype.toString`.
28044 *
28045 * @private
28046 * @param {*} value The value to convert.
28047 * @returns {string} Returns the converted string.
28048 */
28049function objectToString(value) {
28050  return nativeObjectToString.call(value);
28051}
28052
28053module.exports = objectToString;
28054
28055
28056/***/ }),
28057
vendor: 645 bytes, lines 28058-28083
28058/***/ "./node_modules/lodash/_overArg.js":
28059/*!*****************************************!*\
28060  !*** ./node_modules/lodash/_overArg.js ***!
28061  \*****************************************/
28062/*! no static exports found */
28063/***/ (function(module, exports) {
28064
28065/**
28066 * Creates a unary function that invokes `func` with its argument transformed.
28067 *
28068 * @private
28069 * @param {Function} func The function to wrap.
28070 * @param {Function} transform The argument transform.
28071 * @returns {Function} Returns the new function.
28072 */
28073function overArg(func, transform) {
28074  return function(arg) {
28075    return func(transform(arg));
28076  };
28077}
28078
28079module.exports = overArg;
28080
28081
28082/***/ }),
28083
vendor: 1,435 bytes, lines 28084-28130
28084/***/ "./node_modules/lodash/_overRest.js":
28085/*!******************************************!*\
28086  !*** ./node_modules/lodash/_overRest.js ***!
28087  \******************************************/
28088/*! no static exports found */
28089/***/ (function(module, exports, __webpack_require__) {
28090
28091var apply = __webpack_require__(/*! ./_apply */ "./node_modules/lodash/_apply.js");
28092
28093/* Built-in method references for those with the same name as other `lodash` methods. */
28094var nativeMax = Math.max;
28095
28096/**
28097 * A specialized version of `baseRest` which transforms the rest array.
28098 *
28099 * @private
28100 * @param {Function} func The function to apply a rest parameter to.
28101 * @param {number} [start=func.length-1] The start position of the rest parameter.
28102 * @param {Function} transform The rest array transform.
28103 * @returns {Function} Returns the new function.
28104 */
28105function overRest(func, start, transform) {
28106  start = nativeMax(start === undefined ? (func.length - 1) : start, 0);
28107  return function() {
28108    var args = arguments,
28109        index = -1,
28110        length = nativeMax(args.length - start, 0),
28111        array = Array(length);
28112
28113    while (++index < length) {
28114      array[index] = args[start + index];
28115    }
28116    index = -1;
28117    var otherArgs = Array(start + 1);
28118    while (++index < start) {
28119      otherArgs[index] = args[index];
28120    }
28121    otherArgs[start] = transform(array);
28122    return apply(func, this, otherArgs);
28123  };
28124}
28125
28126module.exports = overRest;
28127
28128
28129/***/ }),
28130
vendor: 369 bytes, lines 28131-28145
28131/***/ "./node_modules/lodash/_realNames.js":
28132/*!*******************************************!*\
28133  !*** ./node_modules/lodash/_realNames.js ***!
28134  \*******************************************/
28135/*! no static exports found */
28136/***/ (function(module, exports) {
28137
28138/** Used to lookup unminified function names. */
28139var realNames = {};
28140
28141module.exports = realNames;
28142
28143
28144/***/ }),
28145
vendor: 1,292 bytes, lines 28146-28185
28146/***/ "./node_modules/lodash/_reorder.js":
28147/*!*****************************************!*\
28148  !*** ./node_modules/lodash/_reorder.js ***!
28149  \*****************************************/
28150/*! no static exports found */
28151/***/ (function(module, exports, __webpack_require__) {
28152
28153var copyArray = __webpack_require__(/*! ./_copyArray */ "./node_modules/lodash/_copyArray.js"),
28154    isIndex = __webpack_require__(/*! ./_isIndex */ "./node_modules/lodash/_isIndex.js");
28155
28156/* Built-in method references for those with the same name as other `lodash` methods. */
28157var nativeMin = Math.min;
28158
28159/**
28160 * Reorder `array` according to the specified indexes where the element at
28161 * the first index is assigned as the first element, the element at
28162 * the second index is assigned as the second element, and so on.
28163 *
28164 * @private
28165 * @param {Array} array The array to reorder.
28166 * @param {Array} indexes The arranged array indexes.
28167 * @returns {Array} Returns `array`.
28168 */
28169function reorder(array, indexes) {
28170  var arrLength = array.length,
28171      length = nativeMin(indexes.length, arrLength),
28172      oldArray = copyArray(array);
28173
28174  while (length--) {
28175    var index = indexes[length];
28176    array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;
28177  }
28178  return array;
28179}
28180
28181module.exports = reorder;
28182
28183
28184/***/ }),
28185
vendor: 1,076 bytes, lines 28186-28225
28186/***/ "./node_modules/lodash/_replaceHolders.js":
28187/*!************************************************!*\
28188  !*** ./node_modules/lodash/_replaceHolders.js ***!
28189  \************************************************/
28190/*! no static exports found */
28191/***/ (function(module, exports) {
28192
28193/** Used as the internal argument placeholder. */
28194var PLACEHOLDER = '__lodash_placeholder__';
28195
28196/**
28197 * Replaces all `placeholder` elements in `array` with an internal placeholder
28198 * and returns an array of their indexes.
28199 *
28200 * @private
28201 * @param {Array} array The array to modify.
28202 * @param {*} placeholder The placeholder to replace.
28203 * @returns {Array} Returns the new array of placeholder indexes.
28204 */
28205function replaceHolders(array, placeholder) {
28206  var index = -1,
28207      length = array.length,
28208      resIndex = 0,
28209      result = [];
28210
28211  while (++index < length) {
28212    var value = array[index];
28213    if (value === placeholder || value === PLACEHOLDER) {
28214      array[index] = PLACEHOLDER;
28215      result[resIndex++] = index;
28216    }
28217  }
28218  return result;
28219}
28220
28221module.exports = replaceHolders;
28222
28223
28224/***/ }),
28225
vendor: 628 bytes, lines 28226-28245
28226/***/ "./node_modules/lodash/_root.js":
28227/*!**************************************!*\
28228  !*** ./node_modules/lodash/_root.js ***!
28229  \**************************************/
28230/*! no static exports found */
28231/***/ (function(module, exports, __webpack_require__) {
28232
28233var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ "./node_modules/lodash/_freeGlobal.js");
28234
28235/** Detect free variable `self`. */
28236var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
28237
28238/** Used as a reference to the global object. */
28239var root = freeGlobal || freeSelf || Function('return this')();
28240
28241module.exports = root;
28242
28243
28244/***/ }),
28245
vendor: 703 bytes, lines 28246-28275
28246/***/ "./node_modules/lodash/_setCacheAdd.js":
28247/*!*********************************************!*\
28248  !*** ./node_modules/lodash/_setCacheAdd.js ***!
28249  \*********************************************/
28250/*! no static exports found */
28251/***/ (function(module, exports) {
28252
28253/** Used to stand-in for `undefined` hash values. */
28254var HASH_UNDEFINED = '__lodash_hash_undefined__';
28255
28256/**
28257 * Adds `value` to the array cache.
28258 *
28259 * @private
28260 * @name add
28261 * @memberOf SetCache
28262 * @alias push
28263 * @param {*} value The value to cache.
28264 * @returns {Object} Returns the cache instance.
28265 */
28266function setCacheAdd(value) {
28267  this.__data__.set(value, HASH_UNDEFINED);
28268  return this;
28269}
28270
28271module.exports = setCacheAdd;
28272
28273
28274/***/ }),
28275
vendor: 595 bytes, lines 28276-28300
28276/***/ "./node_modules/lodash/_setCacheHas.js":
28277/*!*********************************************!*\
28278  !*** ./node_modules/lodash/_setCacheHas.js ***!
28279  \*********************************************/
28280/*! no static exports found */
28281/***/ (function(module, exports) {
28282
28283/**
28284 * Checks if `value` is in the array cache.
28285 *
28286 * @private
28287 * @name has
28288 * @memberOf SetCache
28289 * @param {*} value The value to search for.
28290 * @returns {number} Returns `true` if `value` is found, else `false`.
28291 */
28292function setCacheHas(value) {
28293  return this.__data__.has(value);
28294}
28295
28296module.exports = setCacheHas;
28297
28298
28299/***/ }),
28300
vendor: 1,040 bytes, lines 28301-28331
28301/***/ "./node_modules/lodash/_setData.js":
28302/*!*****************************************!*\
28303  !*** ./node_modules/lodash/_setData.js ***!
28304  \*****************************************/
28305/*! no static exports found */
28306/***/ (function(module, exports, __webpack_require__) {
28307
28308var baseSetData = __webpack_require__(/*! ./_baseSetData */ "./node_modules/lodash/_baseSetData.js"),
28309    shortOut = __webpack_require__(/*! ./_shortOut */ "./node_modules/lodash/_shortOut.js");
28310
28311/**
28312 * Sets metadata for `func`.
28313 *
28314 * **Note:** If this function becomes hot, i.e. is invoked a lot in a short
28315 * period of time, it will trip its breaker and transition to an identity
28316 * function to avoid garbage collection pauses in V8. See
28317 * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)
28318 * for more details.
28319 *
28320 * @private
28321 * @param {Function} func The function to associate metadata with.
28322 * @param {*} data The metadata.
28323 * @returns {Function} Returns `func`.
28324 */
28325var setData = shortOut(baseSetData);
28326
28327module.exports = setData;
28328
28329
28330/***/ }),
28331
vendor: 620 bytes, lines 28332-28360
28332/***/ "./node_modules/lodash/_setToArray.js":
28333/*!********************************************!*\
28334  !*** ./node_modules/lodash/_setToArray.js ***!
28335  \********************************************/
28336/*! no static exports found */
28337/***/ (function(module, exports) {
28338
28339/**
28340 * Converts `set` to an array of its values.
28341 *
28342 * @private
28343 * @param {Object} set The set to convert.
28344 * @returns {Array} Returns the values.
28345 */
28346function setToArray(set) {
28347  var index = -1,
28348      result = Array(set.size);
28349
28350  set.forEach(function(value) {
28351    result[++index] = value;
28352  });
28353  return result;
28354}
28355
28356module.exports = setToArray;
28357
28358
28359/***/ }),
28360
vendor: 807 bytes, lines 28361-28385
28361/***/ "./node_modules/lodash/_setToString.js":
28362/*!*********************************************!*\
28363  !*** ./node_modules/lodash/_setToString.js ***!
28364  \*********************************************/
28365/*! no static exports found */
28366/***/ (function(module, exports, __webpack_require__) {
28367
28368var baseSetToString = __webpack_require__(/*! ./_baseSetToString */ "./node_modules/lodash/_baseSetToString.js"),
28369    shortOut = __webpack_require__(/*! ./_shortOut */ "./node_modules/lodash/_shortOut.js");
28370
28371/**
28372 * Sets the `toString` method of `func` to return `string`.
28373 *
28374 * @private
28375 * @param {Function} func The function to modify.
28376 * @param {Function} string The `toString` result.
28377 * @returns {Function} Returns `func`.
28378 */
28379var setToString = shortOut(baseSetToString);
28380
28381module.exports = setToString;
28382
28383
28384/***/ }),
28385
vendor: 1,406 bytes, lines 28386-28417
28386/***/ "./node_modules/lodash/_setWrapToString.js":
28387/*!*************************************************!*\
28388  !*** ./node_modules/lodash/_setWrapToString.js ***!
28389  \*************************************************/
28390/*! no static exports found */
28391/***/ (function(module, exports, __webpack_require__) {
28392
28393var getWrapDetails = __webpack_require__(/*! ./_getWrapDetails */ "./node_modules/lodash/_getWrapDetails.js"),
28394    insertWrapDetails = __webpack_require__(/*! ./_insertWrapDetails */ "./node_modules/lodash/_insertWrapDetails.js"),
28395    setToString = __webpack_require__(/*! ./_setToString */ "./node_modules/lodash/_setToString.js"),
28396    updateWrapDetails = __webpack_require__(/*! ./_updateWrapDetails */ "./node_modules/lodash/_updateWrapDetails.js");
28397
28398/**
28399 * Sets the `toString` method of `wrapper` to mimic the source of `reference`
28400 * with wrapper details in a comment at the top of the source body.
28401 *
28402 * @private
28403 * @param {Function} wrapper The function to modify.
28404 * @param {Function} reference The reference function.
28405 * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
28406 * @returns {Function} Returns `wrapper`.
28407 */
28408function setWrapToString(wrapper, reference, bitmask) {
28409  var source = (reference + '');
28410  return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));
28411}
28412
28413module.exports = setWrapToString;
28414
28415
28416/***/ }),
28417
vendor: 1,208 bytes, lines 28418-28465
28418/***/ "./node_modules/lodash/_shortOut.js":
28419/*!******************************************!*\
28420  !*** ./node_modules/lodash/_shortOut.js ***!
28421  \******************************************/
28422/*! no static exports found */
28423/***/ (function(module, exports) {
28424
28425/** Used to detect hot functions by number of calls within a span of milliseconds. */
28426var HOT_COUNT = 800,
28427    HOT_SPAN = 16;
28428
28429/* Built-in method references for those with the same name as other `lodash` methods. */
28430var nativeNow = Date.now;
28431
28432/**
28433 * Creates a function that'll short out and invoke `identity` instead
28434 * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`
28435 * milliseconds.
28436 *
28437 * @private
28438 * @param {Function} func The function to restrict.
28439 * @returns {Function} Returns the new shortable function.
28440 */
28441function shortOut(func) {
28442  var count = 0,
28443      lastCalled = 0;
28444
28445  return function() {
28446    var stamp = nativeNow(),
28447        remaining = HOT_SPAN - (stamp - lastCalled);
28448
28449    lastCalled = stamp;
28450    if (remaining > 0) {
28451      if (++count >= HOT_COUNT) {
28452        return arguments[0];
28453      }
28454    } else {
28455      count = 0;
28456    }
28457    return func.apply(undefined, arguments);
28458  };
28459}
28460
28461module.exports = shortOut;
28462
28463
28464/***/ }),
28465
vendor: 605 bytes, lines 28466-28491
28466/***/ "./node_modules/lodash/_stackClear.js":
28467/*!********************************************!*\
28468  !*** ./node_modules/lodash/_stackClear.js ***!
28469  \********************************************/
28470/*! no static exports found */
28471/***/ (function(module, exports, __webpack_require__) {
28472
28473var ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js");
28474
28475/**
28476 * Removes all key-value entries from the stack.
28477 *
28478 * @private
28479 * @name clear
28480 * @memberOf Stack
28481 */
28482function stackClear() {
28483  this.__data__ = new ListCache;
28484  this.size = 0;
28485}
28486
28487module.exports = stackClear;
28488
28489
28490/***/ }),
28491
vendor: 684 bytes, lines 28492-28520
28492/***/ "./node_modules/lodash/_stackDelete.js":
28493/*!*********************************************!*\
28494  !*** ./node_modules/lodash/_stackDelete.js ***!
28495  \*********************************************/
28496/*! no static exports found */
28497/***/ (function(module, exports) {
28498
28499/**
28500 * Removes `key` and its value from the stack.
28501 *
28502 * @private
28503 * @name delete
28504 * @memberOf Stack
28505 * @param {string} key The key of the value to remove.
28506 * @returns {boolean} Returns `true` if the entry was removed, else `false`.
28507 */
28508function stackDelete(key) {
28509  var data = this.__data__,
28510      result = data['delete'](key);
28511
28512  this.size = data.size;
28513  return result;
28514}
28515
28516module.exports = stackDelete;
28517
28518
28519/***/ }),
28520
vendor: 538 bytes, lines 28521-28545
28521/***/ "./node_modules/lodash/_stackGet.js":
28522/*!******************************************!*\
28523  !*** ./node_modules/lodash/_stackGet.js ***!
28524  \******************************************/
28525/*! no static exports found */
28526/***/ (function(module, exports) {
28527
28528/**
28529 * Gets the stack value for `key`.
28530 *
28531 * @private
28532 * @name get
28533 * @memberOf Stack
28534 * @param {string} key The key of the value to get.
28535 * @returns {*} Returns the entry value.
28536 */
28537function stackGet(key) {
28538  return this.__data__.get(key);
28539}
28540
28541module.exports = stackGet;
28542
28543
28544/***/ }),
28545
vendor: 590 bytes, lines 28546-28570
28546/***/ "./node_modules/lodash/_stackHas.js":
28547/*!******************************************!*\
28548  !*** ./node_modules/lodash/_stackHas.js ***!
28549  \******************************************/
28550/*! no static exports found */
28551/***/ (function(module, exports) {
28552
28553/**
28554 * Checks if a stack value for `key` exists.
28555 *
28556 * @private
28557 * @name has
28558 * @memberOf Stack
28559 * @param {string} key The key of the entry to check.
28560 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
28561 */
28562function stackHas(key) {
28563  return this.__data__.has(key);
28564}
28565
28566module.exports = stackHas;
28567
28568
28569/***/ }),
28570
vendor: 1,299 bytes, lines 28571-28615
28571/***/ "./node_modules/lodash/_stackSet.js":
28572/*!******************************************!*\
28573  !*** ./node_modules/lodash/_stackSet.js ***!
28574  \******************************************/
28575/*! no static exports found */
28576/***/ (function(module, exports, __webpack_require__) {
28577
28578var ListCache = __webpack_require__(/*! ./_ListCache */ "./node_modules/lodash/_ListCache.js"),
28579    Map = __webpack_require__(/*! ./_Map */ "./node_modules/lodash/_Map.js"),
28580    MapCache = __webpack_require__(/*! ./_MapCache */ "./node_modules/lodash/_MapCache.js");
28581
28582/** Used as the size to enable large array optimizations. */
28583var LARGE_ARRAY_SIZE = 200;
28584
28585/**
28586 * Sets the stack `key` to `value`.
28587 *
28588 * @private
28589 * @name set
28590 * @memberOf Stack
28591 * @param {string} key The key of the value to set.
28592 * @param {*} value The value to set.
28593 * @returns {Object} Returns the stack cache instance.
28594 */
28595function stackSet(key, value) {
28596  var data = this.__data__;
28597  if (data instanceof ListCache) {
28598    var pairs = data.__data__;
28599    if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
28600      pairs.push([key, value]);
28601      this.size = ++data.size;
28602      return this;
28603    }
28604    data = this.__data__ = new MapCache(pairs);
28605  }
28606  data.set(key, value);
28607  this.size = data.size;
28608  return this;
28609}
28610
28611module.exports = stackSet;
28612
28613
28614/***/ }),
28615
vendor: 887 bytes, lines 28616-28649
28616/***/ "./node_modules/lodash/_strictIndexOf.js":
28617/*!***********************************************!*\
28618  !*** ./node_modules/lodash/_strictIndexOf.js ***!
28619  \***********************************************/
28620/*! no static exports found */
28621/***/ (function(module, exports) {
28622
28623/**
28624 * A specialized version of `_.indexOf` which performs strict equality
28625 * comparisons of values, i.e. `===`.
28626 *
28627 * @private
28628 * @param {Array} array The array to inspect.
28629 * @param {*} value The value to search for.
28630 * @param {number} fromIndex The index to search from.
28631 * @returns {number} Returns the index of the matched value, else `-1`.
28632 */
28633function strictIndexOf(array, value, fromIndex) {
28634  var index = fromIndex - 1,
28635      length = array.length;
28636
28637  while (++index < length) {
28638    if (array[index] === value) {
28639      return index;
28640    }
28641  }
28642  return -1;
28643}
28644
28645module.exports = strictIndexOf;
28646
28647
28648/***/ }),
28649
vendor: 1,203 bytes, lines 28650-28687
28650/***/ "./node_modules/lodash/_stringToPath.js":
28651/*!**********************************************!*\
28652  !*** ./node_modules/lodash/_stringToPath.js ***!
28653  \**********************************************/
28654/*! no static exports found */
28655/***/ (function(module, exports, __webpack_require__) {
28656
28657var memoizeCapped = __webpack_require__(/*! ./_memoizeCapped */ "./node_modules/lodash/_memoizeCapped.js");
28658
28659/** Used to match property names within property paths. */
28660var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
28661
28662/** Used to match backslashes in property paths. */
28663var reEscapeChar = /\\(\\)?/g;
28664
28665/**
28666 * Converts `string` to a property path array.
28667 *
28668 * @private
28669 * @param {string} string The string to convert.
28670 * @returns {Array} Returns the property path array.
28671 */
28672var stringToPath = memoizeCapped(function(string) {
28673  var result = [];
28674  if (string.charCodeAt(0) === 46 /* . */) {
28675    result.push('');
28676  }
28677  string.replace(rePropName, function(match, number, quote, subString) {
28678    result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));
28679  });
28680  return result;
28681});
28682
28683module.exports = stringToPath;
28684
28685
28686/***/ }),
28687
vendor: 852 bytes, lines 28688-28719
28688/***/ "./node_modules/lodash/_toKey.js":
28689/*!***************************************!*\
28690  !*** ./node_modules/lodash/_toKey.js ***!
28691  \***************************************/
28692/*! no static exports found */
28693/***/ (function(module, exports, __webpack_require__) {
28694
28695var isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js");
28696
28697/** Used as references for various `Number` constants. */
28698var INFINITY = 1 / 0;
28699
28700/**
28701 * Converts `value` to a string key if it's not a string or symbol.
28702 *
28703 * @private
28704 * @param {*} value The value to inspect.
28705 * @returns {string|symbol} Returns the key.
28706 */
28707function toKey(value) {
28708  if (typeof value == 'string' || isSymbol(value)) {
28709    return value;
28710  }
28711  var result = (value + '');
28712  return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
28713}
28714
28715module.exports = toKey;
28716
28717
28718/***/ }),
28719
vendor: 823 bytes, lines 28720-28756
28720/***/ "./node_modules/lodash/_toSource.js":
28721/*!******************************************!*\
28722  !*** ./node_modules/lodash/_toSource.js ***!
28723  \******************************************/
28724/*! no static exports found */
28725/***/ (function(module, exports) {
28726
28727/** Used for built-in method references. */
28728var funcProto = Function.prototype;
28729
28730/** Used to resolve the decompiled source of functions. */
28731var funcToString = funcProto.toString;
28732
28733/**
28734 * Converts `func` to its source code.
28735 *
28736 * @private
28737 * @param {Function} func The function to convert.
28738 * @returns {string} Returns the source code.
28739 */
28740function toSource(func) {
28741  if (func != null) {
28742    try {
28743      return funcToString.call(func);
28744    } catch (e) {}
28745    try {
28746      return (func + '');
28747    } catch (e) {}
28748  }
28749  return '';
28750}
28751
28752module.exports = toSource;
28753
28754
28755/***/ }),
28756
vendor: 1,748 bytes, lines 28757-28813
28757/***/ "./node_modules/lodash/_updateWrapDetails.js":
28758/*!***************************************************!*\
28759  !*** ./node_modules/lodash/_updateWrapDetails.js ***!
28760  \***************************************************/
28761/*! no static exports found */
28762/***/ (function(module, exports, __webpack_require__) {
28763
28764var arrayEach = __webpack_require__(/*! ./_arrayEach */ "./node_modules/lodash/_arrayEach.js"),
28765    arrayIncludes = __webpack_require__(/*! ./_arrayIncludes */ "./node_modules/lodash/_arrayIncludes.js");
28766
28767/** Used to compose bitmasks for function metadata. */
28768var WRAP_BIND_FLAG = 1,
28769    WRAP_BIND_KEY_FLAG = 2,
28770    WRAP_CURRY_FLAG = 8,
28771    WRAP_CURRY_RIGHT_FLAG = 16,
28772    WRAP_PARTIAL_FLAG = 32,
28773    WRAP_PARTIAL_RIGHT_FLAG = 64,
28774    WRAP_ARY_FLAG = 128,
28775    WRAP_REARG_FLAG = 256,
28776    WRAP_FLIP_FLAG = 512;
28777
28778/** Used to associate wrap methods with their bit flags. */
28779var wrapFlags = [
28780  ['ary', WRAP_ARY_FLAG],
28781  ['bind', WRAP_BIND_FLAG],
28782  ['bindKey', WRAP_BIND_KEY_FLAG],
28783  ['curry', WRAP_CURRY_FLAG],
28784  ['curryRight', WRAP_CURRY_RIGHT_FLAG],
28785  ['flip', WRAP_FLIP_FLAG],
28786  ['partial', WRAP_PARTIAL_FLAG],
28787  ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],
28788  ['rearg', WRAP_REARG_FLAG]
28789];
28790
28791/**
28792 * Updates wrapper `details` based on `bitmask` flags.
28793 *
28794 * @private
28795 * @returns {Array} details The details to modify.
28796 * @param {number} bitmask The bitmask flags. See `createWrap` for more details.
28797 * @returns {Array} Returns `details`.
28798 */
28799function updateWrapDetails(details, bitmask) {
28800  arrayEach(wrapFlags, function(pair) {
28801    var value = '_.' + pair[0];
28802    if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {
28803      details.push(value);
28804    }
28805  });
28806  return details.sort();
28807}
28808
28809module.exports = updateWrapDetails;
28810
28811
28812/***/ }),
28813
vendor: 1,133 bytes, lines 28814-28847
28814/***/ "./node_modules/lodash/_wrapperClone.js":
28815/*!**********************************************!*\
28816  !*** ./node_modules/lodash/_wrapperClone.js ***!
28817  \**********************************************/
28818/*! no static exports found */
28819/***/ (function(module, exports, __webpack_require__) {
28820
28821var LazyWrapper = __webpack_require__(/*! ./_LazyWrapper */ "./node_modules/lodash/_LazyWrapper.js"),
28822    LodashWrapper = __webpack_require__(/*! ./_LodashWrapper */ "./node_modules/lodash/_LodashWrapper.js"),
28823    copyArray = __webpack_require__(/*! ./_copyArray */ "./node_modules/lodash/_copyArray.js");
28824
28825/**
28826 * Creates a clone of `wrapper`.
28827 *
28828 * @private
28829 * @param {Object} wrapper The wrapper to clone.
28830 * @returns {Object} Returns the cloned wrapper.
28831 */
28832function wrapperClone(wrapper) {
28833  if (wrapper instanceof LazyWrapper) {
28834    return wrapper.clone();
28835  }
28836  var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);
28837  result.__actions__ = copyArray(wrapper.__actions__);
28838  result.__index__  = wrapper.__index__;
28839  result.__values__ = wrapper.__values__;
28840  return result;
28841}
28842
28843module.exports = wrapperClone;
28844
28845
28846/***/ }),
28847
vendor: 1,177 bytes, lines 28848-28887
28848/***/ "./node_modules/lodash/ary.js":
28849/*!************************************!*\
28850  !*** ./node_modules/lodash/ary.js ***!
28851  \************************************/
28852/*! no static exports found */
28853/***/ (function(module, exports, __webpack_require__) {
28854
28855var createWrap = __webpack_require__(/*! ./_createWrap */ "./node_modules/lodash/_createWrap.js");
28856
28857/** Used to compose bitmasks for function metadata. */
28858var WRAP_ARY_FLAG = 128;
28859
28860/**
28861 * Creates a function that invokes `func`, with up to `n` arguments,
28862 * ignoring any additional arguments.
28863 *
28864 * @static
28865 * @memberOf _
28866 * @since 3.0.0
28867 * @category Function
28868 * @param {Function} func The function to cap arguments for.
28869 * @param {number} [n=func.length] The arity cap.
28870 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
28871 * @returns {Function} Returns the new capped function.
28872 * @example
28873 *
28874 * _.map(['6', '8', '10'], _.ary(parseInt, 1));
28875 * // => [6, 8, 10]
28876 */
28877function ary(func, n, guard) {
28878  n = guard ? undefined : n;
28879  n = (func && n == null) ? func.length : n;
28880  return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);
28881}
28882
28883module.exports = ary;
28884
28885
28886/***/ }),
28887
vendor: 1,392 bytes, lines 28888-28934
28888/***/ "./node_modules/lodash/clone.js":
28889/*!**************************************!*\
28890  !*** ./node_modules/lodash/clone.js ***!
28891  \**************************************/
28892/*! no static exports found */
28893/***/ (function(module, exports, __webpack_require__) {
28894
28895var baseClone = __webpack_require__(/*! ./_baseClone */ "./node_modules/lodash/_baseClone.js");
28896
28897/** Used to compose bitmasks for cloning. */
28898var CLONE_SYMBOLS_FLAG = 4;
28899
28900/**
28901 * Creates a shallow clone of `value`.
28902 *
28903 * **Note:** This method is loosely based on the
28904 * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)
28905 * and supports cloning arrays, array buffers, booleans, date objects, maps,
28906 * numbers, `Object` objects, regexes, sets, strings, symbols, and typed
28907 * arrays. The own enumerable properties of `arguments` objects are cloned
28908 * as plain objects. An empty object is returned for uncloneable values such
28909 * as error objects, functions, DOM nodes, and WeakMaps.
28910 *
28911 * @static
28912 * @memberOf _
28913 * @since 0.1.0
28914 * @category Lang
28915 * @param {*} value The value to clone.
28916 * @returns {*} Returns the cloned value.
28917 * @see _.cloneDeep
28918 * @example
28919 *
28920 * var objects = [{ 'a': 1 }, { 'b': 2 }];
28921 *
28922 * var shallow = _.clone(objects);
28923 * console.log(shallow[0] === objects[0]);
28924 * // => true
28925 */
28926function clone(value) {
28927  return baseClone(value, CLONE_SYMBOLS_FLAG);
28928}
28929
28930module.exports = clone;
28931
28932
28933/***/ }),
28934
vendor: 940 bytes, lines 28935-28976
28935/***/ "./node_modules/lodash/compact.js":
28936/*!****************************************!*\
28937  !*** ./node_modules/lodash/compact.js ***!
28938  \****************************************/
28939/*! no static exports found */
28940/***/ (function(module, exports) {
28941
28942/**
28943 * Creates an array with all falsey values removed. The values `false`, `null`,
28944 * `0`, `""`, `undefined`, and `NaN` are falsey.
28945 *
28946 * @static
28947 * @memberOf _
28948 * @since 0.1.0
28949 * @category Array
28950 * @param {Array} array The array to compact.
28951 * @returns {Array} Returns the new array of filtered values.
28952 * @example
28953 *
28954 * _.compact([0, 1, false, 2, '', 3]);
28955 * // => [1, 2, 3]
28956 */
28957function compact(array) {
28958  var index = -1,
28959      length = array == null ? 0 : array.length,
28960      resIndex = 0,
28961      result = [];
28962
28963  while (++index < length) {
28964    var value = array[index];
28965    if (value) {
28966      result[resIndex++] = value;
28967    }
28968  }
28969  return result;
28970}
28971
28972module.exports = compact;
28973
28974
28975/***/ }),
28976
vendor: 791 bytes, lines 28977-29013
28977/***/ "./node_modules/lodash/constant.js":
28978/*!*****************************************!*\
28979  !*** ./node_modules/lodash/constant.js ***!
28980  \*****************************************/
28981/*! no static exports found */
28982/***/ (function(module, exports) {
28983
28984/**
28985 * Creates a function that returns `value`.
28986 *
28987 * @static
28988 * @memberOf _
28989 * @since 2.4.0
28990 * @category Util
28991 * @param {*} value The value to return from the new function.
28992 * @returns {Function} Returns the new constant function.
28993 * @example
28994 *
28995 * var objects = _.times(2, _.constant({ 'a': 1 }));
28996 *
28997 * console.log(objects);
28998 * // => [{ 'a': 1 }, { 'a': 1 }]
28999 *
29000 * console.log(objects[0] === objects[1]);
29001 * // => true
29002 */
29003function constant(value) {
29004  return function() {
29005    return value;
29006  };
29007}
29008
29009module.exports = constant;
29010
29011
29012/***/ }),
29013
vendor: 1,972 bytes, lines 29014-29081
29014/***/ "./node_modules/lodash/curry.js":
29015/*!**************************************!*\
29016  !*** ./node_modules/lodash/curry.js ***!
29017  \**************************************/
29018/*! no static exports found */
29019/***/ (function(module, exports, __webpack_require__) {
29020
29021var createWrap = __webpack_require__(/*! ./_createWrap */ "./node_modules/lodash/_createWrap.js");
29022
29023/** Used to compose bitmasks for function metadata. */
29024var WRAP_CURRY_FLAG = 8;
29025
29026/**
29027 * Creates a function that accepts arguments of `func` and either invokes
29028 * `func` returning its result, if at least `arity` number of arguments have
29029 * been provided, or returns a function that accepts the remaining `func`
29030 * arguments, and so on. The arity of `func` may be specified if `func.length`
29031 * is not sufficient.
29032 *
29033 * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,
29034 * may be used as a placeholder for provided arguments.
29035 *
29036 * **Note:** This method doesn't set the "length" property of curried functions.
29037 *
29038 * @static
29039 * @memberOf _
29040 * @since 2.0.0
29041 * @category Function
29042 * @param {Function} func The function to curry.
29043 * @param {number} [arity=func.length] The arity of `func`.
29044 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.
29045 * @returns {Function} Returns the new curried function.
29046 * @example
29047 *
29048 * var abc = function(a, b, c) {
29049 *   return [a, b, c];
29050 * };
29051 *
29052 * var curried = _.curry(abc);
29053 *
29054 * curried(1)(2)(3);
29055 * // => [1, 2, 3]
29056 *
29057 * curried(1, 2)(3);
29058 * // => [1, 2, 3]
29059 *
29060 * curried(1, 2, 3);
29061 * // => [1, 2, 3]
29062 *
29063 * // Curried with placeholders.
29064 * curried(1)(_, 3)(2);
29065 * // => [1, 2, 3]
29066 */
29067function curry(func, arity, guard) {
29068  arity = guard ? undefined : arity;
29069  var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
29070  result.placeholder = curry.placeholder;
29071  return result;
29072}
29073
29074// Assign default placeholders.
29075curry.placeholder = {};
29076
29077module.exports = curry;
29078
29079
29080/***/ }),
29081
vendor: 1,038 bytes, lines 29082-29129
29082/***/ "./node_modules/lodash/eq.js":
29083/*!***********************************!*\
29084  !*** ./node_modules/lodash/eq.js ***!
29085  \***********************************/
29086/*! no static exports found */
29087/***/ (function(module, exports) {
29088
29089/**
29090 * Performs a
29091 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
29092 * comparison between two values to determine if they are equivalent.
29093 *
29094 * @static
29095 * @memberOf _
29096 * @since 4.0.0
29097 * @category Lang
29098 * @param {*} value The value to compare.
29099 * @param {*} other The other value to compare.
29100 * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
29101 * @example
29102 *
29103 * var object = { 'a': 1 };
29104 * var other = { 'a': 1 };
29105 *
29106 * _.eq(object, object);
29107 * // => true
29108 *
29109 * _.eq(object, other);
29110 * // => false
29111 *
29112 * _.eq('a', 'a');
29113 * // => true
29114 *
29115 * _.eq('a', Object('a'));
29116 * // => false
29117 *
29118 * _.eq(NaN, NaN);
29119 * // => true
29120 */
29121function eq(value, other) {
29122  return value === other || (value !== value && other !== other);
29123}
29124
29125module.exports = eq;
29126
29127
29128/***/ }),
29129
vendor: 826 bytes, lines 29130-29162
29130/***/ "./node_modules/lodash/flatten.js":
29131/*!****************************************!*\
29132  !*** ./node_modules/lodash/flatten.js ***!
29133  \****************************************/
29134/*! no static exports found */
29135/***/ (function(module, exports, __webpack_require__) {
29136
29137var baseFlatten = __webpack_require__(/*! ./_baseFlatten */ "./node_modules/lodash/_baseFlatten.js");
29138
29139/**
29140 * Flattens `array` a single level deep.
29141 *
29142 * @static
29143 * @memberOf _
29144 * @since 0.1.0
29145 * @category Array
29146 * @param {Array} array The array to flatten.
29147 * @returns {Array} Returns the new flattened array.
29148 * @example
29149 *
29150 * _.flatten([1, [2, [3, [4]], 5]]);
29151 * // => [1, 2, [3, [4]], 5]
29152 */
29153function flatten(array) {
29154  var length = array == null ? 0 : array.length;
29155  return length ? baseFlatten(array, 1) : [];
29156}
29157
29158module.exports = flatten;
29159
29160
29161/***/ }),
29162
vendor: 16,841 bytes, lines 29163-29742
29163/***/ "./node_modules/lodash/fp/_baseConvert.js":
29164/*!************************************************!*\
29165  !*** ./node_modules/lodash/fp/_baseConvert.js ***!
29166  \************************************************/
29167/*! no static exports found */
29168/***/ (function(module, exports, __webpack_require__) {
29169
29170var mapping = __webpack_require__(/*! ./_mapping */ "./node_modules/lodash/fp/_mapping.js"),
29171    fallbackHolder = __webpack_require__(/*! ./placeholder */ "./node_modules/lodash/fp/placeholder.js");
29172
29173/** Built-in value reference. */
29174var push = Array.prototype.push;
29175
29176/**
29177 * Creates a function, with an arity of `n`, that invokes `func` with the
29178 * arguments it receives.
29179 *
29180 * @private
29181 * @param {Function} func The function to wrap.
29182 * @param {number} n The arity of the new function.
29183 * @returns {Function} Returns the new function.
29184 */
29185function baseArity(func, n) {
29186  return n == 2
29187    ? function(a, b) { return func.apply(undefined, arguments); }
29188    : function(a) { return func.apply(undefined, arguments); };
29189}
29190
29191/**
29192 * Creates a function that invokes `func`, with up to `n` arguments, ignoring
29193 * any additional arguments.
29194 *
29195 * @private
29196 * @param {Function} func The function to cap arguments for.
29197 * @param {number} n The arity cap.
29198 * @returns {Function} Returns the new function.
29199 */
29200function baseAry(func, n) {
29201  return n == 2
29202    ? function(a, b) { return func(a, b); }
29203    : function(a) { return func(a); };
29204}
29205
29206/**
29207 * Creates a clone of `array`.
29208 *
29209 * @private
29210 * @param {Array} array The array to clone.
29211 * @returns {Array} Returns the cloned array.
29212 */
29213function cloneArray(array) {
29214  var length = array ? array.length : 0,
29215      result = Array(length);
29216
29217  while (length--) {
29218    result[length] = array[length];
29219  }
29220  return result;
29221}
29222
29223/**
29224 * Creates a function that clones a given object using the assignment `func`.
29225 *
29226 * @private
29227 * @param {Function} func The assignment function.
29228 * @returns {Function} Returns the new cloner function.
29229 */
29230function createCloner(func) {
29231  return function(object) {
29232    return func({}, object);
29233  };
29234}
29235
29236/**
29237 * A specialized version of `_.spread` which flattens the spread array into
29238 * the arguments of the invoked `func`.
29239 *
29240 * @private
29241 * @param {Function} func The function to spread arguments over.
29242 * @param {number} start The start position of the spread.
29243 * @returns {Function} Returns the new function.
29244 */
29245function flatSpread(func, start) {
29246  return function() {
29247    var length = arguments.length,
29248        lastIndex = length - 1,
29249        args = Array(length);
29250
29251    while (length--) {
29252      args[length] = arguments[length];
29253    }
29254    var array = args[start],
29255        otherArgs = args.slice(0, start);
29256
29257    if (array) {
29258      push.apply(otherArgs, array);
29259    }
29260    if (start != lastIndex) {
29261      push.apply(otherArgs, args.slice(start + 1));
29262    }
29263    return func.apply(this, otherArgs);
29264  };
29265}
29266
29267/**
29268 * Creates a function that wraps `func` and uses `cloner` to clone the first
29269 * argument it receives.
29270 *
29271 * @private
29272 * @param {Function} func The function to wrap.
29273 * @param {Function} cloner The function to clone arguments.
29274 * @returns {Function} Returns the new immutable function.
29275 */
29276function wrapImmutable(func, cloner) {
29277  return function() {
29278    var length = arguments.length;
29279    if (!length) {
29280      return;
29281    }
29282    var args = Array(length);
29283    while (length--) {
29284      args[length] = arguments[length];
29285    }
29286    var result = args[0] = cloner.apply(undefined, args);
29287    func.apply(undefined, args);
29288    return result;
29289  };
29290}
29291
29292/**
29293 * The base implementation of `convert` which accepts a `util` object of methods
29294 * required to perform conversions.
29295 *
29296 * @param {Object} util The util object.
29297 * @param {string} name The name of the function to convert.
29298 * @param {Function} func The function to convert.
29299 * @param {Object} [options] The options object.
29300 * @param {boolean} [options.cap=true] Specify capping iteratee arguments.
29301 * @param {boolean} [options.curry=true] Specify currying.
29302 * @param {boolean} [options.fixed=true] Specify fixed arity.
29303 * @param {boolean} [options.immutable=true] Specify immutable operations.
29304 * @param {boolean} [options.rearg=true] Specify rearranging arguments.
29305 * @returns {Function|Object} Returns the converted function or object.
29306 */
29307function baseConvert(util, name, func, options) {
29308  var isLib = typeof name == 'function',
29309      isObj = name === Object(name);
29310
29311  if (isObj) {
29312    options = func;
29313    func = name;
29314    name = undefined;
29315  }
29316  if (func == null) {
29317    throw new TypeError;
29318  }
29319  options || (options = {});
29320
29321  var config = {
29322    'cap': 'cap' in options ? options.cap : true,
29323    'curry': 'curry' in options ? options.curry : true,
29324    'fixed': 'fixed' in options ? options.fixed : true,
29325    'immutable': 'immutable' in options ? options.immutable : true,
29326    'rearg': 'rearg' in options ? options.rearg : true
29327  };
29328
29329  var defaultHolder = isLib ? func : fallbackHolder,
29330      forceCurry = ('curry' in options) && options.curry,
29331      forceFixed = ('fixed' in options) && options.fixed,
29332      forceRearg = ('rearg' in options) && options.rearg,
29333      pristine = isLib ? func.runInContext() : undefined;
29334
29335  var helpers = isLib ? func : {
29336    'ary': util.ary,
29337    'assign': util.assign,
29338    'clone': util.clone,
29339    'curry': util.curry,
29340    'forEach': util.forEach,
29341    'isArray': util.isArray,
29342    'isError': util.isError,
29343    'isFunction': util.isFunction,
29344    'isWeakMap': util.isWeakMap,
29345    'iteratee': util.iteratee,
29346    'keys': util.keys,
29347    'rearg': util.rearg,
29348    'toInteger': util.toInteger,
29349    'toPath': util.toPath
29350  };
29351
29352  var ary = helpers.ary,
29353      assign = helpers.assign,
29354      clone = helpers.clone,
29355      curry = helpers.curry,
29356      each = helpers.forEach,
29357      isArray = helpers.isArray,
29358      isError = helpers.isError,
29359      isFunction = helpers.isFunction,
29360      isWeakMap = helpers.isWeakMap,
29361      keys = helpers.keys,
29362      rearg = helpers.rearg,
29363      toInteger = helpers.toInteger,
29364      toPath = helpers.toPath;
29365
29366  var aryMethodKeys = keys(mapping.aryMethod);
29367
29368  var wrappers = {
29369    'castArray': function(castArray) {
29370      return function() {
29371        var value = arguments[0];
29372        return isArray(value)
29373          ? castArray(cloneArray(value))
29374          : castArray.apply(undefined, arguments);
29375      };
29376    },
29377    'iteratee': function(iteratee) {
29378      return function() {
29379        var func = arguments[0],
29380            arity = arguments[1],
29381            result = iteratee(func, arity),
29382            length = result.length;
29383
29384        if (config.cap && typeof arity == 'number') {
29385          arity = arity > 2 ? (arity - 2) : 1;
29386          return (length && length <= arity) ? result : baseAry(result, arity);
29387        }
29388        return result;
29389      };
29390    },
29391    'mixin': function(mixin) {
29392      return function(source) {
29393        var func = this;
29394        if (!isFunction(func)) {
29395          return mixin(func, Object(source));
29396        }
29397        var pairs = [];
29398        each(keys(source), function(key) {
29399          if (isFunction(source[key])) {
29400            pairs.push([key, func.prototype[key]]);
29401          }
29402        });
29403
29404        mixin(func, Object(source));
29405
29406        each(pairs, function(pair) {
29407          var value = pair[1];
29408          if (isFunction(value)) {
29409            func.prototype[pair[0]] = value;
29410          } else {
29411            delete func.prototype[pair[0]];
29412          }
29413        });
29414        return func;
29415      };
29416    },
29417    'nthArg': function(nthArg) {
29418      return function(n) {
29419        var arity = n < 0 ? 1 : (toInteger(n) + 1);
29420        return curry(nthArg(n), arity);
29421      };
29422    },
29423    'rearg': function(rearg) {
29424      return function(func, indexes) {
29425        var arity = indexes ? indexes.length : 0;
29426        return curry(rearg(func, indexes), arity);
29427      };
29428    },
29429    'runInContext': function(runInContext) {
29430      return function(context) {
29431        return baseConvert(util, runInContext(context), options);
29432      };
29433    }
29434  };
29435
29436  /*--------------------------------------------------------------------------*/
29437
29438  /**
29439   * Casts `func` to a function with an arity capped iteratee if needed.
29440   *
29441   * @private
29442   * @param {string} name The name of the function to inspect.
29443   * @param {Function} func The function to inspect.
29444   * @returns {Function} Returns the cast function.
29445   */
29446  function castCap(name, func) {
29447    if (config.cap) {
29448      var indexes = mapping.iterateeRearg[name];
29449      if (indexes) {
29450        return iterateeRearg(func, indexes);
29451      }
29452      var n = !isLib && mapping.iterateeAry[name];
29453      if (n) {
29454        return iterateeAry(func, n);
29455      }
29456    }
29457    return func;
29458  }
29459
29460  /**
29461   * Casts `func` to a curried function if needed.
29462   *
29463   * @private
29464   * @param {string} name The name of the function to inspect.
29465   * @param {Function} func The function to inspect.
29466   * @param {number} n The arity of `func`.
29467   * @returns {Function} Returns the cast function.
29468   */
29469  function castCurry(name, func, n) {
29470    return (forceCurry || (config.curry && n > 1))
29471      ? curry(func, n)
29472      : func;
29473  }
29474
29475  /**
29476   * Casts `func` to a fixed arity function if needed.
29477   *
29478   * @private
29479   * @param {string} name The name of the function to inspect.
29480   * @param {Function} func The function to inspect.
29481   * @param {number} n The arity cap.
29482   * @returns {Function} Returns the cast function.
29483   */
29484  function castFixed(name, func, n) {
29485    if (config.fixed && (forceFixed || !mapping.skipFixed[name])) {
29486      var data = mapping.methodSpread[name],
29487          start = data && data.start;
29488
29489      return start  === undefined ? ary(func, n) : flatSpread(func, start);
29490    }
29491    return func;
29492  }
29493
29494  /**
29495   * Casts `func` to an rearged function if needed.
29496   *
29497   * @private
29498   * @param {string} name The name of the function to inspect.
29499   * @param {Function} func The function to inspect.
29500   * @param {number} n The arity of `func`.
29501   * @returns {Function} Returns the cast function.
29502   */
29503  function castRearg(name, func, n) {
29504    return (config.rearg && n > 1 && (forceRearg || !mapping.skipRearg[name]))
29505      ? rearg(func, mapping.methodRearg[name] || mapping.aryRearg[n])
29506      : func;
29507  }
29508
29509  /**
29510   * Creates a clone of `object` by `path`.
29511   *
29512   * @private
29513   * @param {Object} object The object to clone.
29514   * @param {Array|string} path The path to clone by.
29515   * @returns {Object} Returns the cloned object.
29516   */
29517  function cloneByPath(object, path) {
29518    path = toPath(path);
29519
29520    var index = -1,
29521        length = path.length,
29522        lastIndex = length - 1,
29523        result = clone(Object(object)),
29524        nested = result;
29525
29526    while (nested != null && ++index < length) {
29527      var key = path[index],
29528          value = nested[key];
29529
29530      if (value != null &&
29531          !(isFunction(value) || isError(value) || isWeakMap(value))) {
29532        nested[key] = clone(index == lastIndex ? value : Object(value));
29533      }
29534      nested = nested[key];
29535    }
29536    return result;
29537  }
29538
29539  /**
29540   * Converts `lodash` to an immutable auto-curried iteratee-first data-last
29541   * version with conversion `options` applied.
29542   *
29543   * @param {Object} [options] The options object. See `baseConvert` for more details.
29544   * @returns {Function} Returns the converted `lodash`.
29545   */
29546  function convertLib(options) {
29547    return _.runInContext.convert(options)(undefined);
29548  }
29549
29550  /**
29551   * Create a converter function for `func` of `name`.
29552   *
29553   * @param {string} name The name of the function to convert.
29554   * @param {Function} func The function to convert.
29555   * @returns {Function} Returns the new converter function.
29556   */
29557  function createConverter(name, func) {
29558    var realName = mapping.aliasToReal[name] || name,
29559        methodName = mapping.remap[realName] || realName,
29560        oldOptions = options;
29561
29562    return function(options) {
29563      var newUtil = isLib ? pristine : helpers,
29564          newFunc = isLib ? pristine[methodName] : func,
29565          newOptions = assign(assign({}, oldOptions), options);
29566
29567      return baseConvert(newUtil, realName, newFunc, newOptions);
29568    };
29569  }
29570
29571  /**
29572   * Creates a function that wraps `func` to invoke its iteratee, with up to `n`
29573   * arguments, ignoring any additional arguments.
29574   *
29575   * @private
29576   * @param {Function} func The function to cap iteratee arguments for.
29577   * @param {number} n The arity cap.
29578   * @returns {Function} Returns the new function.
29579   */
29580  function iterateeAry(func, n) {
29581    return overArg(func, function(func) {
29582      return typeof func == 'function' ? baseAry(func, n) : func;
29583    });
29584  }
29585
29586  /**
29587   * Creates a function that wraps `func` to invoke its iteratee with arguments
29588   * arranged according to the specified `indexes` where the argument value at
29589   * the first index is provided as the first argument, the argument value at
29590   * the second index is provided as the second argument, and so on.
29591   *
29592   * @private
29593   * @param {Function} func The function to rearrange iteratee arguments for.
29594   * @param {number[]} indexes The arranged argument indexes.
29595   * @returns {Function} Returns the new function.
29596   */
29597  function iterateeRearg(func, indexes) {
29598    return overArg(func, function(func) {
29599      var n = indexes.length;
29600      return baseArity(rearg(baseAry(func, n), indexes), n);
29601    });
29602  }
29603
29604  /**
29605   * Creates a function that invokes `func` with its first argument transformed.
29606   *
29607   * @private
29608   * @param {Function} func The function to wrap.
29609   * @param {Function} transform The argument transform.
29610   * @returns {Function} Returns the new function.
29611   */
29612  function overArg(func, transform) {
29613    return function() {
29614      var length = arguments.length;
29615      if (!length) {
29616        return func();
29617      }
29618      var args = Array(length);
29619      while (length--) {
29620        args[length] = arguments[length];
29621      }
29622      var index = config.rearg ? 0 : (length - 1);
29623      args[index] = transform(args[index]);
29624      return func.apply(undefined, args);
29625    };
29626  }
29627
29628  /**
29629   * Creates a function that wraps `func` and applys the conversions
29630   * rules by `name`.
29631   *
29632   * @private
29633   * @param {string} name The name of the function to wrap.
29634   * @param {Function} func The function to wrap.
29635   * @returns {Function} Returns the converted function.
29636   */
29637  function wrap(name, func, placeholder) {
29638    var result,
29639        realName = mapping.aliasToReal[name] || name,
29640        wrapped = func,
29641        wrapper = wrappers[realName];
29642
29643    if (wrapper) {
29644      wrapped = wrapper(func);
29645    }
29646    else if (config.immutable) {
29647      if (mapping.mutate.array[realName]) {
29648        wrapped = wrapImmutable(func, cloneArray);
29649      }
29650      else if (mapping.mutate.object[realName]) {
29651        wrapped = wrapImmutable(func, createCloner(func));
29652      }
29653      else if (mapping.mutate.set[realName]) {
29654        wrapped = wrapImmutable(func, cloneByPath);
29655      }
29656    }
29657    each(aryMethodKeys, function(aryKey) {
29658      each(mapping.aryMethod[aryKey], function(otherName) {
29659        if (realName == otherName) {
29660          var data = mapping.methodSpread[realName],
29661              afterRearg = data && data.afterRearg;
29662
29663          result = afterRearg
29664            ? castFixed(realName, castRearg(realName, wrapped, aryKey), aryKey)
29665            : castRearg(realName, castFixed(realName, wrapped, aryKey), aryKey);
29666
29667          result = castCap(realName, result);
29668          result = castCurry(realName, result, aryKey);
29669          return false;
29670        }
29671      });
29672      return !result;
29673    });
29674
29675    result || (result = wrapped);
29676    if (result == func) {
29677      result = forceCurry ? curry(result, 1) : function() {
29678        return func.apply(this, arguments);
29679      };
29680    }
29681    result.convert = createConverter(realName, func);
29682    result.placeholder = func.placeholder = placeholder;
29683
29684    return result;
29685  }
29686
29687  /*--------------------------------------------------------------------------*/
29688
29689  if (!isObj) {
29690    return wrap(name, func, defaultHolder);
29691  }
29692  var _ = func;
29693
29694  // Convert methods by ary cap.
29695  var pairs = [];
29696  each(aryMethodKeys, function(aryKey) {
29697    each(mapping.aryMethod[aryKey], function(key) {
29698      var func = _[mapping.remap[key] || key];
29699      if (func) {
29700        pairs.push([key, wrap(key, func, _)]);
29701      }
29702    });
29703  });
29704
29705  // Convert remaining methods.
29706  each(keys(_), function(key) {
29707    var func = _[key];
29708    if (typeof func == 'function') {
29709      var length = pairs.length;
29710      while (length--) {
29711        if (pairs[length][0] == key) {
29712          return;
29713        }
29714      }
29715      func.convert = createConverter(key, func);
29716      pairs.push([key, func]);
29717    }
29718  });
29719
29720  // Assign to `_` leaving `_.prototype` unchanged to allow chaining.
29721  each(pairs, function(pair) {
29722    _[pair[0]] = pair[1];
29723  });
29724
29725  _.convert = convertLib;
29726  _.placeholder = _;
29727
29728  // Assign aliases.
29729  each(keys(_), function(key) {
29730    each(mapping.realToAlias[key] || [], function(alias) {
29731      _[alias] = _[key];
29732    });
29733  });
29734
29735  return _;
29736}
29737
29738module.exports = baseConvert;
29739
29740
29741/***/ }),
29742
vendor: 10,230 bytes, lines 29743-30111
29743/***/ "./node_modules/lodash/fp/_mapping.js":
29744/*!********************************************!*\
29745  !*** ./node_modules/lodash/fp/_mapping.js ***!
29746  \********************************************/
29747/*! no static exports found */
29748/***/ (function(module, exports) {
29749
29750/** Used to map aliases to their real names. */
29751exports.aliasToReal = {
29752
29753  // Lodash aliases.
29754  'each': 'forEach',
29755  'eachRight': 'forEachRight',
29756  'entries': 'toPairs',
29757  'entriesIn': 'toPairsIn',
29758  'extend': 'assignIn',
29759  'extendAll': 'assignInAll',
29760  'extendAllWith': 'assignInAllWith',
29761  'extendWith': 'assignInWith',
29762  'first': 'head',
29763
29764  // Methods that are curried variants of others.
29765  'conforms': 'conformsTo',
29766  'matches': 'isMatch',
29767  'property': 'get',
29768
29769  // Ramda aliases.
29770  '__': 'placeholder',
29771  'F': 'stubFalse',
29772  'T': 'stubTrue',
29773  'all': 'every',
29774  'allPass': 'overEvery',
29775  'always': 'constant',
29776  'any': 'some',
29777  'anyPass': 'overSome',
29778  'apply': 'spread',
29779  'assoc': 'set',
29780  'assocPath': 'set',
29781  'complement': 'negate',
29782  'compose': 'flowRight',
29783  'contains': 'includes',
29784  'dissoc': 'unset',
29785  'dissocPath': 'unset',
29786  'dropLast': 'dropRight',
29787  'dropLastWhile': 'dropRightWhile',
29788  'equals': 'isEqual',
29789  'identical': 'eq',
29790  'indexBy': 'keyBy',
29791  'init': 'initial',
29792  'invertObj': 'invert',
29793  'juxt': 'over',
29794  'omitAll': 'omit',
29795  'nAry': 'ary',
29796  'path': 'get',
29797  'pathEq': 'matchesProperty',
29798  'pathOr': 'getOr',
29799  'paths': 'at',
29800  'pickAll': 'pick',
29801  'pipe': 'flow',
29802  'pluck': 'map',
29803  'prop': 'get',
29804  'propEq': 'matchesProperty',
29805  'propOr': 'getOr',
29806  'props': 'at',
29807  'symmetricDifference': 'xor',
29808  'symmetricDifferenceBy': 'xorBy',
29809  'symmetricDifferenceWith': 'xorWith',
29810  'takeLast': 'takeRight',
29811  'takeLastWhile': 'takeRightWhile',
29812  'unapply': 'rest',
29813  'unnest': 'flatten',
29814  'useWith': 'overArgs',
29815  'where': 'conformsTo',
29816  'whereEq': 'isMatch',
29817  'zipObj': 'zipObject'
29818};
29819
29820/** Used to map ary to method names. */
29821exports.aryMethod = {
29822  '1': [
29823    'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create',
29824    'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow',
29825    'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'mergeAll',
29826    'methodOf', 'mixin', 'nthArg', 'over', 'overEvery', 'overSome','rest', 'reverse',
29827    'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'trimStart',
29828    'uniqueId', 'words', 'zipAll'
29829  ],
29830  '2': [
29831    'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith',
29832    'at', 'before', 'bind', 'bindAll', 'bindKey', 'chunk', 'cloneDeepWith',
29833    'cloneWith', 'concat', 'conformsTo', 'countBy', 'curryN', 'curryRightN',
29834    'debounce', 'defaults', 'defaultsDeep', 'defaultTo', 'delay', 'difference',
29835    'divide', 'drop', 'dropRight', 'dropRightWhile', 'dropWhile', 'endsWith', 'eq',
29836    'every', 'filter', 'find', 'findIndex', 'findKey', 'findLast', 'findLastIndex',
29837    'findLastKey', 'flatMap', 'flatMapDeep', 'flattenDepth', 'forEach',
29838    'forEachRight', 'forIn', 'forInRight', 'forOwn', 'forOwnRight', 'get',
29839    'groupBy', 'gt', 'gte', 'has', 'hasIn', 'includes', 'indexOf', 'intersection',
29840    'invertBy', 'invoke', 'invokeMap', 'isEqual', 'isMatch', 'join', 'keyBy',
29841    'lastIndexOf', 'lt', 'lte', 'map', 'mapKeys', 'mapValues', 'matchesProperty',
29842    'maxBy', 'meanBy', 'merge', 'mergeAllWith', 'minBy', 'multiply', 'nth', 'omit',
29843    'omitBy', 'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt', 'partial',
29844    'partialRight', 'partition', 'pick', 'pickBy', 'propertyOf', 'pull', 'pullAll',
29845    'pullAt', 'random', 'range', 'rangeRight', 'rearg', 'reject', 'remove',
29846    'repeat', 'restFrom', 'result', 'sampleSize', 'some', 'sortBy', 'sortedIndex',
29847    'sortedIndexOf', 'sortedLastIndex', 'sortedLastIndexOf', 'sortedUniqBy',
29848    'split', 'spreadFrom', 'startsWith', 'subtract', 'sumBy', 'take', 'takeRight',
29849    'takeRightWhile', 'takeWhile', 'tap', 'throttle', 'thru', 'times', 'trimChars',
29850    'trimCharsEnd', 'trimCharsStart', 'truncate', 'union', 'uniqBy', 'uniqWith',
29851    'unset', 'unzipWith', 'without', 'wrap', 'xor', 'zip', 'zipObject',
29852    'zipObjectDeep'
29853  ],
29854  '3': [
29855    'assignInWith', 'assignWith', 'clamp', 'differenceBy', 'differenceWith',
29856    'findFrom', 'findIndexFrom', 'findLastFrom', 'findLastIndexFrom', 'getOr',
29857    'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith',
29858    'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth',
29859    'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd',
29860    'padCharsStart', 'pullAllBy', 'pullAllWith', 'rangeStep', 'rangeStepRight',
29861    'reduce', 'reduceRight', 'replace', 'set', 'slice', 'sortedIndexBy',
29862    'sortedLastIndexBy', 'transform', 'unionBy', 'unionWith', 'update', 'xorBy',
29863    'xorWith', 'zipWith'
29864  ],
29865  '4': [
29866    'fill', 'setWith', 'updateWith'
29867  ]
29868};
29869
29870/** Used to map ary to rearg configs. */
29871exports.aryRearg = {
29872  '2': [1, 0],
29873  '3': [2, 0, 1],
29874  '4': [3, 2, 0, 1]
29875};
29876
29877/** Used to map method names to their iteratee ary. */
29878exports.iterateeAry = {
29879  'dropRightWhile': 1,
29880  'dropWhile': 1,
29881  'every': 1,
29882  'filter': 1,
29883  'find': 1,
29884  'findFrom': 1,
29885  'findIndex': 1,
29886  'findIndexFrom': 1,
29887  'findKey': 1,
29888  'findLast': 1,
29889  'findLastFrom': 1,
29890  'findLastIndex': 1,
29891  'findLastIndexFrom': 1,
29892  'findLastKey': 1,
29893  'flatMap': 1,
29894  'flatMapDeep': 1,
29895  'flatMapDepth': 1,
29896  'forEach': 1,
29897  'forEachRight': 1,
29898  'forIn': 1,
29899  'forInRight': 1,
29900  'forOwn': 1,
29901  'forOwnRight': 1,
29902  'map': 1,
29903  'mapKeys': 1,
29904  'mapValues': 1,
29905  'partition': 1,
29906  'reduce': 2,
29907  'reduceRight': 2,
29908  'reject': 1,
29909  'remove': 1,
29910  'some': 1,
29911  'takeRightWhile': 1,
29912  'takeWhile': 1,
29913  'times': 1,
29914  'transform': 2
29915};
29916
29917/** Used to map method names to iteratee rearg configs. */
29918exports.iterateeRearg = {
29919  'mapKeys': [1],
29920  'reduceRight': [1, 0]
29921};
29922
29923/** Used to map method names to rearg configs. */
29924exports.methodRearg = {
29925  'assignInAllWith': [1, 0],
29926  'assignInWith': [1, 2, 0],
29927  'assignAllWith': [1, 0],
29928  'assignWith': [1, 2, 0],
29929  'differenceBy': [1, 2, 0],
29930  'differenceWith': [1, 2, 0],
29931  'getOr': [2, 1, 0],
29932  'intersectionBy': [1, 2, 0],
29933  'intersectionWith': [1, 2, 0],
29934  'isEqualWith': [1, 2, 0],
29935  'isMatchWith': [2, 1, 0],
29936  'mergeAllWith': [1, 0],
29937  'mergeWith': [1, 2, 0],
29938  'padChars': [2, 1, 0],
29939  'padCharsEnd': [2, 1, 0],
29940  'padCharsStart': [2, 1, 0],
29941  'pullAllBy': [2, 1, 0],
29942  'pullAllWith': [2, 1, 0],
29943  'rangeStep': [1, 2, 0],
29944  'rangeStepRight': [1, 2, 0],
29945  'setWith': [3, 1, 2, 0],
29946  'sortedIndexBy': [2, 1, 0],
29947  'sortedLastIndexBy': [2, 1, 0],
29948  'unionBy': [1, 2, 0],
29949  'unionWith': [1, 2, 0],
29950  'updateWith': [3, 1, 2, 0],
29951  'xorBy': [1, 2, 0],
29952  'xorWith': [1, 2, 0],
29953  'zipWith': [1, 2, 0]
29954};
29955
29956/** Used to map method names to spread configs. */
29957exports.methodSpread = {
29958  'assignAll': { 'start': 0 },
29959  'assignAllWith': { 'start': 0 },
29960  'assignInAll': { 'start': 0 },
29961  'assignInAllWith': { 'start': 0 },
29962  'defaultsAll': { 'start': 0 },
29963  'defaultsDeepAll': { 'start': 0 },
29964  'invokeArgs': { 'start': 2 },
29965  'invokeArgsMap': { 'start': 2 },
29966  'mergeAll': { 'start': 0 },
29967  'mergeAllWith': { 'start': 0 },
29968  'partial': { 'start': 1 },
29969  'partialRight': { 'start': 1 },
29970  'without': { 'start': 1 },
29971  'zipAll': { 'start': 0 }
29972};
29973
29974/** Used to identify methods which mutate arrays or objects. */
29975exports.mutate = {
29976  'array': {
29977    'fill': true,
29978    'pull': true,
29979    'pullAll': true,
29980    'pullAllBy': true,
29981    'pullAllWith': true,
29982    'pullAt': true,
29983    'remove': true,
29984    'reverse': true
29985  },
29986  'object': {
29987    'assign': true,
29988    'assignAll': true,
29989    'assignAllWith': true,
29990    'assignIn': true,
29991    'assignInAll': true,
29992    'assignInAllWith': true,
29993    'assignInWith': true,
29994    'assignWith': true,
29995    'defaults': true,
29996    'defaultsAll': true,
29997    'defaultsDeep': true,
29998    'defaultsDeepAll': true,
29999    'merge': true,
30000    'mergeAll': true,
30001    'mergeAllWith': true,
30002    'mergeWith': true,
30003  },
30004  'set': {
30005    'set': true,
30006    'setWith': true,
30007    'unset': true,
30008    'update': true,
30009    'updateWith': true
30010  }
30011};
30012
30013/** Used to map real names to their aliases. */
30014exports.realToAlias = (function() {
30015  var hasOwnProperty = Object.prototype.hasOwnProperty,
30016      object = exports.aliasToReal,
30017      result = {};
30018
30019  for (var key in object) {
30020    var value = object[key];
30021    if (hasOwnProperty.call(result, value)) {
30022      result[value].push(key);
30023    } else {
30024      result[value] = [key];
30025    }
30026  }
30027  return result;
30028}());
30029
30030/** Used to map method names to other names. */
30031exports.remap = {
30032  'assignAll': 'assign',
30033  'assignAllWith': 'assignWith',
30034  'assignInAll': 'assignIn',
30035  'assignInAllWith': 'assignInWith',
30036  'curryN': 'curry',
30037  'curryRightN': 'curryRight',
30038  'defaultsAll': 'defaults',
30039  'defaultsDeepAll': 'defaultsDeep',
30040  'findFrom': 'find',
30041  'findIndexFrom': 'findIndex',
30042  'findLastFrom': 'findLast',
30043  'findLastIndexFrom': 'findLastIndex',
30044  'getOr': 'get',
30045  'includesFrom': 'includes',
30046  'indexOfFrom': 'indexOf',
30047  'invokeArgs': 'invoke',
30048  'invokeArgsMap': 'invokeMap',
30049  'lastIndexOfFrom': 'lastIndexOf',
30050  'mergeAll': 'merge',
30051  'mergeAllWith': 'mergeWith',
30052  'padChars': 'pad',
30053  'padCharsEnd': 'padEnd',
30054  'padCharsStart': 'padStart',
30055  'propertyOf': 'get',
30056  'rangeStep': 'range',
30057  'rangeStepRight': 'rangeRight',
30058  'restFrom': 'rest',
30059  'spreadFrom': 'spread',
30060  'trimChars': 'trim',
30061  'trimCharsEnd': 'trimEnd',
30062  'trimCharsStart': 'trimStart',
30063  'zipAll': 'zip'
30064};
30065
30066/** Used to track methods that skip fixing their arity. */
30067exports.skipFixed = {
30068  'castArray': true,
30069  'flow': true,
30070  'flowRight': true,
30071  'iteratee': true,
30072  'mixin': true,
30073  'rearg': true,
30074  'runInContext': true
30075};
30076
30077/** Used to track methods that skip rearranging arguments. */
30078exports.skipRearg = {
30079  'add': true,
30080  'assign': true,
30081  'assignIn': true,
30082  'bind': true,
30083  'bindKey': true,
30084  'concat': true,
30085  'difference': true,
30086  'divide': true,
30087  'eq': true,
30088  'gt': true,
30089  'gte': true,
30090  'isEqual': true,
30091  'lt': true,
30092  'lte': true,
30093  'matchesProperty': true,
30094  'merge': true,
30095  'multiply': true,
30096  'overArgs': true,
30097  'partial': true,
30098  'partialRight': true,
30099  'propertyOf': true,
30100  'random': true,
30101  'range': true,
30102  'rangeRight': true,
30103  'subtract': true,
30104  'zip': true,
30105  'zipObject': true,
30106  'zipObjectDeep': true
30107};
30108
30109
30110/***/ }),
30111
vendor: 1,542 bytes, lines 30112-30138
30112/***/ "./node_modules/lodash/fp/_util.js":
30113/*!*****************************************!*\
30114  !*** ./node_modules/lodash/fp/_util.js ***!
30115  \*****************************************/
30116/*! no static exports found */
30117/***/ (function(module, exports, __webpack_require__) {
30118
30119module.exports = {
30120  'ary': __webpack_require__(/*! ../ary */ "./node_modules/lodash/ary.js"),
30121  'assign': __webpack_require__(/*! ../_baseAssign */ "./node_modules/lodash/_baseAssign.js"),
30122  'clone': __webpack_require__(/*! ../clone */ "./node_modules/lodash/clone.js"),
30123  'curry': __webpack_require__(/*! ../curry */ "./node_modules/lodash/curry.js"),
30124  'forEach': __webpack_require__(/*! ../_arrayEach */ "./node_modules/lodash/_arrayEach.js"),
30125  'isArray': __webpack_require__(/*! ../isArray */ "./node_modules/lodash/isArray.js"),
30126  'isError': __webpack_require__(/*! ../isError */ "./node_modules/lodash/isError.js"),
30127  'isFunction': __webpack_require__(/*! ../isFunction */ "./node_modules/lodash/isFunction.js"),
30128  'isWeakMap': __webpack_require__(/*! ../isWeakMap */ "./node_modules/lodash/isWeakMap.js"),
30129  'iteratee': __webpack_require__(/*! ../iteratee */ "./node_modules/lodash/iteratee.js"),
30130  'keys': __webpack_require__(/*! ../_baseKeys */ "./node_modules/lodash/_baseKeys.js"),
30131  'rearg': __webpack_require__(/*! ../rearg */ "./node_modules/lodash/rearg.js"),
30132  'toInteger': __webpack_require__(/*! ../toInteger */ "./node_modules/lodash/toInteger.js"),
30133  'toPath': __webpack_require__(/*! ../toPath */ "./node_modules/lodash/toPath.js")
30134};
30135
30136
30137/***/ }),
30138
vendor: 1,062 bytes, lines 30139-30167
30139/***/ "./node_modules/lodash/fp/convert.js":
30140/*!*******************************************!*\
30141  !*** ./node_modules/lodash/fp/convert.js ***!
30142  \*******************************************/
30143/*! no static exports found */
30144/***/ (function(module, exports, __webpack_require__) {
30145
30146var baseConvert = __webpack_require__(/*! ./_baseConvert */ "./node_modules/lodash/fp/_baseConvert.js"),
30147    util = __webpack_require__(/*! ./_util */ "./node_modules/lodash/fp/_util.js");
30148
30149/**
30150 * Converts `func` of `name` to an immutable auto-curried iteratee-first data-last
30151 * version with conversion `options` applied. If `name` is an object its methods
30152 * will be converted.
30153 *
30154 * @param {string} name The name of the function to wrap.
30155 * @param {Function} [func] The function to wrap.
30156 * @param {Object} [options] The options object. See `baseConvert` for more details.
30157 * @returns {Function|Object} Returns the converted function or object.
30158 */
30159function convert(name, func, options) {
30160  return baseConvert(util, name, func, options);
30161}
30162
30163module.exports = convert;
30164
30165
30166/***/ }),
30167
vendor: 589 bytes, lines 30168-30183
30168/***/ "./node_modules/lodash/fp/map.js":
30169/*!***************************************!*\
30170  !*** ./node_modules/lodash/fp/map.js ***!
30171  \***************************************/
30172/*! no static exports found */
30173/***/ (function(module, exports, __webpack_require__) {
30174
30175var convert = __webpack_require__(/*! ./convert */ "./node_modules/lodash/fp/convert.js"),
30176    func = convert('map', __webpack_require__(/*! ../map */ "./node_modules/lodash/map.js"));
30177
30178func.placeholder = __webpack_require__(/*! ./placeholder */ "./node_modules/lodash/fp/placeholder.js");
30179module.exports = func;
30180
30181
30182/***/ }),
30183
vendor: 392 bytes, lines 30184-30200
30184/***/ "./node_modules/lodash/fp/placeholder.js":
30185/*!***********************************************!*\
30186  !*** ./node_modules/lodash/fp/placeholder.js ***!
30187  \***********************************************/
30188/*! no static exports found */
30189/***/ (function(module, exports) {
30190
30191/**
30192 * The default argument placeholder value for methods.
30193 *
30194 * @type {Object}
30195 */
30196module.exports = {};
30197
30198
30199/***/ }),
30200
vendor: 1,201 bytes, lines 30201-30244
30201/***/ "./node_modules/lodash/get.js":
30202/*!************************************!*\
30203  !*** ./node_modules/lodash/get.js ***!
30204  \************************************/
30205/*! no static exports found */
30206/***/ (function(module, exports, __webpack_require__) {
30207
30208var baseGet = __webpack_require__(/*! ./_baseGet */ "./node_modules/lodash/_baseGet.js");
30209
30210/**
30211 * Gets the value at `path` of `object`. If the resolved value is
30212 * `undefined`, the `defaultValue` is returned in its place.
30213 *
30214 * @static
30215 * @memberOf _
30216 * @since 3.7.0
30217 * @category Object
30218 * @param {Object} object The object to query.
30219 * @param {Array|string} path The path of the property to get.
30220 * @param {*} [defaultValue] The value returned for `undefined` resolved values.
30221 * @returns {*} Returns the resolved value.
30222 * @example
30223 *
30224 * var object = { 'a': [{ 'b': { 'c': 3 } }] };
30225 *
30226 * _.get(object, 'a[0].b.c');
30227 * // => 3
30228 *
30229 * _.get(object, ['a', '0', 'b', 'c']);
30230 * // => 3
30231 *
30232 * _.get(object, 'a.b.c', 'default');
30233 * // => 'default'
30234 */
30235function get(object, path, defaultValue) {
30236  var result = object == null ? undefined : baseGet(object, path);
30237  return result === undefined ? defaultValue : result;
30238}
30239
30240module.exports = get;
30241
30242
30243/***/ }),
30244
vendor: 1,133 bytes, lines 30245-30289
30245/***/ "./node_modules/lodash/hasIn.js":
30246/*!**************************************!*\
30247  !*** ./node_modules/lodash/hasIn.js ***!
30248  \**************************************/
30249/*! no static exports found */
30250/***/ (function(module, exports, __webpack_require__) {
30251
30252var baseHasIn = __webpack_require__(/*! ./_baseHasIn */ "./node_modules/lodash/_baseHasIn.js"),
30253    hasPath = __webpack_require__(/*! ./_hasPath */ "./node_modules/lodash/_hasPath.js");
30254
30255/**
30256 * Checks if `path` is a direct or inherited property of `object`.
30257 *
30258 * @static
30259 * @memberOf _
30260 * @since 4.0.0
30261 * @category Object
30262 * @param {Object} object The object to query.
30263 * @param {Array|string} path The path to check.
30264 * @returns {boolean} Returns `true` if `path` exists, else `false`.
30265 * @example
30266 *
30267 * var object = _.create({ 'a': _.create({ 'b': 2 }) });
30268 *
30269 * _.hasIn(object, 'a');
30270 * // => true
30271 *
30272 * _.hasIn(object, 'a.b');
30273 * // => true
30274 *
30275 * _.hasIn(object, ['a', 'b']);
30276 * // => true
30277 *
30278 * _.hasIn(object, 'b');
30279 * // => false
30280 */
30281function hasIn(object, path) {
30282  return object != null && hasPath(object, path, baseHasIn);
30283}
30284
30285module.exports = hasIn;
30286
30287
30288/***/ }),
30289
vendor: 633 bytes, lines 30290-30321
30290/***/ "./node_modules/lodash/identity.js":
30291/*!*****************************************!*\
30292  !*** ./node_modules/lodash/identity.js ***!
30293  \*****************************************/
30294/*! no static exports found */
30295/***/ (function(module, exports) {
30296
30297/**
30298 * This method returns the first argument it receives.
30299 *
30300 * @static
30301 * @since 0.1.0
30302 * @memberOf _
30303 * @category Util
30304 * @param {*} value Any value.
30305 * @returns {*} Returns `value`.
30306 * @example
30307 *
30308 * var object = { 'a': 1 };
30309 *
30310 * console.log(_.identity(object) === object);
30311 * // => true
30312 */
30313function identity(value) {
30314  return value;
30315}
30316
30317module.exports = identity;
30318
30319
30320/***/ }),
30321
vendor: 1,440 bytes, lines 30322-30368
30322/***/ "./node_modules/lodash/isArguments.js":
30323/*!********************************************!*\
30324  !*** ./node_modules/lodash/isArguments.js ***!
30325  \********************************************/
30326/*! no static exports found */
30327/***/ (function(module, exports, __webpack_require__) {
30328
30329var baseIsArguments = __webpack_require__(/*! ./_baseIsArguments */ "./node_modules/lodash/_baseIsArguments.js"),
30330    isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js");
30331
30332/** Used for built-in method references. */
30333var objectProto = Object.prototype;
30334
30335/** Used to check objects for own properties. */
30336var hasOwnProperty = objectProto.hasOwnProperty;
30337
30338/** Built-in value references. */
30339var propertyIsEnumerable = objectProto.propertyIsEnumerable;
30340
30341/**
30342 * Checks if `value` is likely an `arguments` object.
30343 *
30344 * @static
30345 * @memberOf _
30346 * @since 0.1.0
30347 * @category Lang
30348 * @param {*} value The value to check.
30349 * @returns {boolean} Returns `true` if `value` is an `arguments` object,
30350 *  else `false`.
30351 * @example
30352 *
30353 * _.isArguments(function() { return arguments; }());
30354 * // => true
30355 *
30356 * _.isArguments([1, 2, 3]);
30357 * // => false
30358 */
30359var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {
30360  return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&
30361    !propertyIsEnumerable.call(value, 'callee');
30362};
30363
30364module.exports = isArguments;
30365
30366
30367/***/ }),
30368
vendor: 747 bytes, lines 30369-30405
30369/***/ "./node_modules/lodash/isArray.js":
30370/*!****************************************!*\
30371  !*** ./node_modules/lodash/isArray.js ***!
30372  \****************************************/
30373/*! no static exports found */
30374/***/ (function(module, exports) {
30375
30376/**
30377 * Checks if `value` is classified as an `Array` object.
30378 *
30379 * @static
30380 * @memberOf _
30381 * @since 0.1.0
30382 * @category Lang
30383 * @param {*} value The value to check.
30384 * @returns {boolean} Returns `true` if `value` is an array, else `false`.
30385 * @example
30386 *
30387 * _.isArray([1, 2, 3]);
30388 * // => true
30389 *
30390 * _.isArray(document.body.children);
30391 * // => false
30392 *
30393 * _.isArray('abc');
30394 * // => false
30395 *
30396 * _.isArray(_.noop);
30397 * // => false
30398 */
30399var isArray = Array.isArray;
30400
30401module.exports = isArray;
30402
30403
30404/***/ }),
30405
vendor: 1,234 bytes, lines 30406-30449
30406/***/ "./node_modules/lodash/isArrayLike.js":
30407/*!********************************************!*\
30408  !*** ./node_modules/lodash/isArrayLike.js ***!
30409  \********************************************/
30410/*! no static exports found */
30411/***/ (function(module, exports, __webpack_require__) {
30412
30413var isFunction = __webpack_require__(/*! ./isFunction */ "./node_modules/lodash/isFunction.js"),
30414    isLength = __webpack_require__(/*! ./isLength */ "./node_modules/lodash/isLength.js");
30415
30416/**
30417 * Checks if `value` is array-like. A value is considered array-like if it's
30418 * not a function and has a `value.length` that's an integer greater than or
30419 * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.
30420 *
30421 * @static
30422 * @memberOf _
30423 * @since 4.0.0
30424 * @category Lang
30425 * @param {*} value The value to check.
30426 * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
30427 * @example
30428 *
30429 * _.isArrayLike([1, 2, 3]);
30430 * // => true
30431 *
30432 * _.isArrayLike(document.body.children);
30433 * // => true
30434 *
30435 * _.isArrayLike('abc');
30436 * // => true
30437 *
30438 * _.isArrayLike(_.noop);
30439 * // => false
30440 */
30441function isArrayLike(value) {
30442  return value != null && isLength(value.length) && !isFunction(value);
30443}
30444
30445module.exports = isArrayLike;
30446
30447
30448/***/ }),
30449
vendor: 1,679 bytes, lines 30450-30499
30450/***/ "./node_modules/lodash/isBuffer.js":
30451/*!*****************************************!*\
30452  !*** ./node_modules/lodash/isBuffer.js ***!
30453  \*****************************************/
30454/*! no static exports found */
30455/***/ (function(module, exports, __webpack_require__) {
30456
30457/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"),
30458    stubFalse = __webpack_require__(/*! ./stubFalse */ "./node_modules/lodash/stubFalse.js");
30459
30460/** Detect free variable `exports`. */
30461var freeExports =  true && exports && !exports.nodeType && exports;
30462
30463/** Detect free variable `module`. */
30464var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
30465
30466/** Detect the popular CommonJS extension `module.exports`. */
30467var moduleExports = freeModule && freeModule.exports === freeExports;
30468
30469/** Built-in value references. */
30470var Buffer = moduleExports ? root.Buffer : undefined;
30471
30472/* Built-in method references for those with the same name as other `lodash` methods. */
30473var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
30474
30475/**
30476 * Checks if `value` is a buffer.
30477 *
30478 * @static
30479 * @memberOf _
30480 * @since 4.3.0
30481 * @category Lang
30482 * @param {*} value The value to check.
30483 * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.
30484 * @example
30485 *
30486 * _.isBuffer(new Buffer(2));
30487 * // => true
30488 *
30489 * _.isBuffer(new Uint8Array(2));
30490 * // => false
30491 */
30492var isBuffer = nativeIsBuffer || stubFalse;
30493
30494module.exports = isBuffer;
30495
30496/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/module.js */ "./node_modules/webpack/buildin/module.js")(module)))
30497
30498/***/ }),
30499
vendor: 1,412 bytes, lines 30500-30546
30500/***/ "./node_modules/lodash/isError.js":
30501/*!****************************************!*\
30502  !*** ./node_modules/lodash/isError.js ***!
30503  \****************************************/
30504/*! no static exports found */
30505/***/ (function(module, exports, __webpack_require__) {
30506
30507var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"),
30508    isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"),
30509    isPlainObject = __webpack_require__(/*! ./isPlainObject */ "./node_modules/lodash/isPlainObject.js");
30510
30511/** `Object#toString` result references. */
30512var domExcTag = '[object DOMException]',
30513    errorTag = '[object Error]';
30514
30515/**
30516 * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,
30517 * `SyntaxError`, `TypeError`, or `URIError` object.
30518 *
30519 * @static
30520 * @memberOf _
30521 * @since 3.0.0
30522 * @category Lang
30523 * @param {*} value The value to check.
30524 * @returns {boolean} Returns `true` if `value` is an error object, else `false`.
30525 * @example
30526 *
30527 * _.isError(new Error);
30528 * // => true
30529 *
30530 * _.isError(Error);
30531 * // => false
30532 */
30533function isError(value) {
30534  if (!isObjectLike(value)) {
30535    return false;
30536  }
30537  var tag = baseGetTag(value);
30538  return tag == errorTag || tag == domExcTag ||
30539    (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));
30540}
30541
30542module.exports = isError;
30543
30544
30545/***/ }),
30546
vendor: 1,394 bytes, lines 30547-30594
30547/***/ "./node_modules/lodash/isFunction.js":
30548/*!*******************************************!*\
30549  !*** ./node_modules/lodash/isFunction.js ***!
30550  \*******************************************/
30551/*! no static exports found */
30552/***/ (function(module, exports, __webpack_require__) {
30553
30554var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"),
30555    isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js");
30556
30557/** `Object#toString` result references. */
30558var asyncTag = '[object AsyncFunction]',
30559    funcTag = '[object Function]',
30560    genTag = '[object GeneratorFunction]',
30561    proxyTag = '[object Proxy]';
30562
30563/**
30564 * Checks if `value` is classified as a `Function` object.
30565 *
30566 * @static
30567 * @memberOf _
30568 * @since 0.1.0
30569 * @category Lang
30570 * @param {*} value The value to check.
30571 * @returns {boolean} Returns `true` if `value` is a function, else `false`.
30572 * @example
30573 *
30574 * _.isFunction(_);
30575 * // => true
30576 *
30577 * _.isFunction(/abc/);
30578 * // => false
30579 */
30580function isFunction(value) {
30581  if (!isObject(value)) {
30582    return false;
30583  }
30584  // The use of `Object#toString` avoids issues with the `typeof` operator
30585  // in Safari 9 which returns 'object' for typed arrays and other constructors.
30586  var tag = baseGetTag(value);
30587  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
30588}
30589
30590module.exports = isFunction;
30591
30592
30593/***/ }),
30594
vendor: 1,065 bytes, lines 30595-30640
30595/***/ "./node_modules/lodash/isLength.js":
30596/*!*****************************************!*\
30597  !*** ./node_modules/lodash/isLength.js ***!
30598  \*****************************************/
30599/*! no static exports found */
30600/***/ (function(module, exports) {
30601
30602/** Used as references for various `Number` constants. */
30603var MAX_SAFE_INTEGER = 9007199254740991;
30604
30605/**
30606 * Checks if `value` is a valid array-like length.
30607 *
30608 * **Note:** This method is loosely based on
30609 * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).
30610 *
30611 * @static
30612 * @memberOf _
30613 * @since 4.0.0
30614 * @category Lang
30615 * @param {*} value The value to check.
30616 * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
30617 * @example
30618 *
30619 * _.isLength(3);
30620 * // => true
30621 *
30622 * _.isLength(Number.MIN_VALUE);
30623 * // => false
30624 *
30625 * _.isLength(Infinity);
30626 * // => false
30627 *
30628 * _.isLength('3');
30629 * // => false
30630 */
30631function isLength(value) {
30632  return typeof value == 'number' &&
30633    value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
30634}
30635
30636module.exports = isLength;
30637
30638
30639/***/ }),
30640
vendor: 1,049 bytes, lines 30641-30678
30641/***/ "./node_modules/lodash/isMap.js":
30642/*!**************************************!*\
30643  !*** ./node_modules/lodash/isMap.js ***!
30644  \**************************************/
30645/*! no static exports found */
30646/***/ (function(module, exports, __webpack_require__) {
30647
30648var baseIsMap = __webpack_require__(/*! ./_baseIsMap */ "./node_modules/lodash/_baseIsMap.js"),
30649    baseUnary = __webpack_require__(/*! ./_baseUnary */ "./node_modules/lodash/_baseUnary.js"),
30650    nodeUtil = __webpack_require__(/*! ./_nodeUtil */ "./node_modules/lodash/_nodeUtil.js");
30651
30652/* Node.js helper references. */
30653var nodeIsMap = nodeUtil && nodeUtil.isMap;
30654
30655/**
30656 * Checks if `value` is classified as a `Map` object.
30657 *
30658 * @static
30659 * @memberOf _
30660 * @since 4.3.0
30661 * @category Lang
30662 * @param {*} value The value to check.
30663 * @returns {boolean} Returns `true` if `value` is a map, else `false`.
30664 * @example
30665 *
30666 * _.isMap(new Map);
30667 * // => true
30668 *
30669 * _.isMap(new WeakMap);
30670 * // => false
30671 */
30672var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;
30673
30674module.exports = isMap;
30675
30676
30677/***/ }),
30678
vendor: 996 bytes, lines 30679-30720
30679/***/ "./node_modules/lodash/isObject.js":
30680/*!*****************************************!*\
30681  !*** ./node_modules/lodash/isObject.js ***!
30682  \*****************************************/
30683/*! no static exports found */
30684/***/ (function(module, exports) {
30685
30686/**
30687 * Checks if `value` is the
30688 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
30689 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
30690 *
30691 * @static
30692 * @memberOf _
30693 * @since 0.1.0
30694 * @category Lang
30695 * @param {*} value The value to check.
30696 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
30697 * @example
30698 *
30699 * _.isObject({});
30700 * // => true
30701 *
30702 * _.isObject([1, 2, 3]);
30703 * // => true
30704 *
30705 * _.isObject(_.noop);
30706 * // => true
30707 *
30708 * _.isObject(null);
30709 * // => false
30710 */
30711function isObject(value) {
30712  var type = typeof value;
30713  return value != null && (type == 'object' || type == 'function');
30714}
30715
30716module.exports = isObject;
30717
30718
30719/***/ }),
30720
vendor: 893 bytes, lines 30721-30760
30721/***/ "./node_modules/lodash/isObjectLike.js":
30722/*!*********************************************!*\
30723  !*** ./node_modules/lodash/isObjectLike.js ***!
30724  \*********************************************/
30725/*! no static exports found */
30726/***/ (function(module, exports) {
30727
30728/**
30729 * Checks if `value` is object-like. A value is object-like if it's not `null`
30730 * and has a `typeof` result of "object".
30731 *
30732 * @static
30733 * @memberOf _
30734 * @since 4.0.0
30735 * @category Lang
30736 * @param {*} value The value to check.
30737 * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
30738 * @example
30739 *
30740 * _.isObjectLike({});
30741 * // => true
30742 *
30743 * _.isObjectLike([1, 2, 3]);
30744 * // => true
30745 *
30746 * _.isObjectLike(_.noop);
30747 * // => false
30748 *
30749 * _.isObjectLike(null);
30750 * // => false
30751 */
30752function isObjectLike(value) {
30753  return value != null && typeof value == 'object';
30754}
30755
30756module.exports = isObjectLike;
30757
30758
30759/***/ }),
30760
vendor: 2,125 bytes, lines 30761-30833
30761/***/ "./node_modules/lodash/isPlainObject.js":
30762/*!**********************************************!*\
30763  !*** ./node_modules/lodash/isPlainObject.js ***!
30764  \**********************************************/
30765/*! no static exports found */
30766/***/ (function(module, exports, __webpack_require__) {
30767
30768var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"),
30769    getPrototype = __webpack_require__(/*! ./_getPrototype */ "./node_modules/lodash/_getPrototype.js"),
30770    isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js");
30771
30772/** `Object#toString` result references. */
30773var objectTag = '[object Object]';
30774
30775/** Used for built-in method references. */
30776var funcProto = Function.prototype,
30777    objectProto = Object.prototype;
30778
30779/** Used to resolve the decompiled source of functions. */
30780var funcToString = funcProto.toString;
30781
30782/** Used to check objects for own properties. */
30783var hasOwnProperty = objectProto.hasOwnProperty;
30784
30785/** Used to infer the `Object` constructor. */
30786var objectCtorString = funcToString.call(Object);
30787
30788/**
30789 * Checks if `value` is a plain object, that is, an object created by the
30790 * `Object` constructor or one with a `[[Prototype]]` of `null`.
30791 *
30792 * @static
30793 * @memberOf _
30794 * @since 0.8.0
30795 * @category Lang
30796 * @param {*} value The value to check.
30797 * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
30798 * @example
30799 *
30800 * function Foo() {
30801 *   this.a = 1;
30802 * }
30803 *
30804 * _.isPlainObject(new Foo);
30805 * // => false
30806 *
30807 * _.isPlainObject([1, 2, 3]);
30808 * // => false
30809 *
30810 * _.isPlainObject({ 'x': 0, 'y': 0 });
30811 * // => true
30812 *
30813 * _.isPlainObject(Object.create(null));
30814 * // => true
30815 */
30816function isPlainObject(value) {
30817  if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
30818    return false;
30819  }
30820  var proto = getPrototype(value);
30821  if (proto === null) {
30822    return true;
30823  }
30824  var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
30825  return typeof Ctor == 'function' && Ctor instanceof Ctor &&
30826    funcToString.call(Ctor) == objectCtorString;
30827}
30828
30829module.exports = isPlainObject;
30830
30831
30832/***/ }),
30833
vendor: 1,049 bytes, lines 30834-30871
30834/***/ "./node_modules/lodash/isSet.js":
30835/*!**************************************!*\
30836  !*** ./node_modules/lodash/isSet.js ***!
30837  \**************************************/
30838/*! no static exports found */
30839/***/ (function(module, exports, __webpack_require__) {
30840
30841var baseIsSet = __webpack_require__(/*! ./_baseIsSet */ "./node_modules/lodash/_baseIsSet.js"),
30842    baseUnary = __webpack_require__(/*! ./_baseUnary */ "./node_modules/lodash/_baseUnary.js"),
30843    nodeUtil = __webpack_require__(/*! ./_nodeUtil */ "./node_modules/lodash/_nodeUtil.js");
30844
30845/* Node.js helper references. */
30846var nodeIsSet = nodeUtil && nodeUtil.isSet;
30847
30848/**
30849 * Checks if `value` is classified as a `Set` object.
30850 *
30851 * @static
30852 * @memberOf _
30853 * @since 4.3.0
30854 * @category Lang
30855 * @param {*} value The value to check.
30856 * @returns {boolean} Returns `true` if `value` is a set, else `false`.
30857 * @example
30858 *
30859 * _.isSet(new Set);
30860 * // => true
30861 *
30862 * _.isSet(new WeakSet);
30863 * // => false
30864 */
30865var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;
30866
30867module.exports = isSet;
30868
30869
30870/***/ }),
30871
vendor: 1,079 bytes, lines 30872-30911
30872/***/ "./node_modules/lodash/isSymbol.js":
30873/*!*****************************************!*\
30874  !*** ./node_modules/lodash/isSymbol.js ***!
30875  \*****************************************/
30876/*! no static exports found */
30877/***/ (function(module, exports, __webpack_require__) {
30878
30879var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"),
30880    isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js");
30881
30882/** `Object#toString` result references. */
30883var symbolTag = '[object Symbol]';
30884
30885/**
30886 * Checks if `value` is classified as a `Symbol` primitive or object.
30887 *
30888 * @static
30889 * @memberOf _
30890 * @since 4.0.0
30891 * @category Lang
30892 * @param {*} value The value to check.
30893 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
30894 * @example
30895 *
30896 * _.isSymbol(Symbol.iterator);
30897 * // => true
30898 *
30899 * _.isSymbol('abc');
30900 * // => false
30901 */
30902function isSymbol(value) {
30903  return typeof value == 'symbol' ||
30904    (isObjectLike(value) && baseGetTag(value) == symbolTag);
30905}
30906
30907module.exports = isSymbol;
30908
30909
30910/***/ }),
30911
vendor: 1,166 bytes, lines 30912-30949
30912/***/ "./node_modules/lodash/isTypedArray.js":
30913/*!*********************************************!*\
30914  !*** ./node_modules/lodash/isTypedArray.js ***!
30915  \*********************************************/
30916/*! no static exports found */
30917/***/ (function(module, exports, __webpack_require__) {
30918
30919var baseIsTypedArray = __webpack_require__(/*! ./_baseIsTypedArray */ "./node_modules/lodash/_baseIsTypedArray.js"),
30920    baseUnary = __webpack_require__(/*! ./_baseUnary */ "./node_modules/lodash/_baseUnary.js"),
30921    nodeUtil = __webpack_require__(/*! ./_nodeUtil */ "./node_modules/lodash/_nodeUtil.js");
30922
30923/* Node.js helper references. */
30924var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
30925
30926/**
30927 * Checks if `value` is classified as a typed array.
30928 *
30929 * @static
30930 * @memberOf _
30931 * @since 3.0.0
30932 * @category Lang
30933 * @param {*} value The value to check.
30934 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.
30935 * @example
30936 *
30937 * _.isTypedArray(new Uint8Array);
30938 * // => true
30939 *
30940 * _.isTypedArray([]);
30941 * // => false
30942 */
30943var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
30944
30945module.exports = isTypedArray;
30946
30947
30948/***/ }),
30949
vendor: 1,028 bytes, lines 30950-30988
30950/***/ "./node_modules/lodash/isWeakMap.js":
30951/*!******************************************!*\
30952  !*** ./node_modules/lodash/isWeakMap.js ***!
30953  \******************************************/
30954/*! no static exports found */
30955/***/ (function(module, exports, __webpack_require__) {
30956
30957var getTag = __webpack_require__(/*! ./_getTag */ "./node_modules/lodash/_getTag.js"),
30958    isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js");
30959
30960/** `Object#toString` result references. */
30961var weakMapTag = '[object WeakMap]';
30962
30963/**
30964 * Checks if `value` is classified as a `WeakMap` object.
30965 *
30966 * @static
30967 * @memberOf _
30968 * @since 4.3.0
30969 * @category Lang
30970 * @param {*} value The value to check.
30971 * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.
30972 * @example
30973 *
30974 * _.isWeakMap(new WeakMap);
30975 * // => true
30976 *
30977 * _.isWeakMap(new Map);
30978 * // => false
30979 */
30980function isWeakMap(value) {
30981  return isObjectLike(value) && getTag(value) == weakMapTag;
30982}
30983
30984module.exports = isWeakMap;
30985
30986
30987/***/ }),
30988
vendor: 2,097 bytes, lines 30989-31052
30989/***/ "./node_modules/lodash/iteratee.js":
30990/*!*****************************************!*\
30991  !*** ./node_modules/lodash/iteratee.js ***!
30992  \*****************************************/
30993/*! no static exports found */
30994/***/ (function(module, exports, __webpack_require__) {
30995
30996var baseClone = __webpack_require__(/*! ./_baseClone */ "./node_modules/lodash/_baseClone.js"),
30997    baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "./node_modules/lodash/_baseIteratee.js");
30998
30999/** Used to compose bitmasks for cloning. */
31000var CLONE_DEEP_FLAG = 1;
31001
31002/**
31003 * Creates a function that invokes `func` with the arguments of the created
31004 * function. If `func` is a property name, the created function returns the
31005 * property value for a given element. If `func` is an array or object, the
31006 * created function returns `true` for elements that contain the equivalent
31007 * source properties, otherwise it returns `false`.
31008 *
31009 * @static
31010 * @since 4.0.0
31011 * @memberOf _
31012 * @category Util
31013 * @param {*} [func=_.identity] The value to convert to a callback.
31014 * @returns {Function} Returns the callback.
31015 * @example
31016 *
31017 * var users = [
31018 *   { 'user': 'barney', 'age': 36, 'active': true },
31019 *   { 'user': 'fred',   'age': 40, 'active': false }
31020 * ];
31021 *
31022 * // The `_.matches` iteratee shorthand.
31023 * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));
31024 * // => [{ 'user': 'barney', 'age': 36, 'active': true }]
31025 *
31026 * // The `_.matchesProperty` iteratee shorthand.
31027 * _.filter(users, _.iteratee(['user', 'fred']));
31028 * // => [{ 'user': 'fred', 'age': 40 }]
31029 *
31030 * // The `_.property` iteratee shorthand.
31031 * _.map(users, _.iteratee('user'));
31032 * // => ['barney', 'fred']
31033 *
31034 * // Create custom iteratee shorthands.
31035 * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {
31036 *   return !_.isRegExp(func) ? iteratee(func) : function(string) {
31037 *     return func.test(string);
31038 *   };
31039 * });
31040 *
31041 * _.filter(['abc', 'def'], /ef/);
31042 * // => ['def']
31043 */
31044function iteratee(func) {
31045  return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG));
31046}
31047
31048module.exports = iteratee;
31049
31050
31051/***/ }),
31052
vendor: 1,321 bytes, lines 31053-31100
31053/***/ "./node_modules/lodash/keys.js":
31054/*!*************************************!*\
31055  !*** ./node_modules/lodash/keys.js ***!
31056  \*************************************/
31057/*! no static exports found */
31058/***/ (function(module, exports, __webpack_require__) {
31059
31060var arrayLikeKeys = __webpack_require__(/*! ./_arrayLikeKeys */ "./node_modules/lodash/_arrayLikeKeys.js"),
31061    baseKeys = __webpack_require__(/*! ./_baseKeys */ "./node_modules/lodash/_baseKeys.js"),
31062    isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js");
31063
31064/**
31065 * Creates an array of the own enumerable property names of `object`.
31066 *
31067 * **Note:** Non-object values are coerced to objects. See the
31068 * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)
31069 * for more details.
31070 *
31071 * @static
31072 * @since 0.1.0
31073 * @memberOf _
31074 * @category Object
31075 * @param {Object} object The object to query.
31076 * @returns {Array} Returns the array of property names.
31077 * @example
31078 *
31079 * function Foo() {
31080 *   this.a = 1;
31081 *   this.b = 2;
31082 * }
31083 *
31084 * Foo.prototype.c = 3;
31085 *
31086 * _.keys(new Foo);
31087 * // => ['a', 'b'] (iteration order is not guaranteed)
31088 *
31089 * _.keys('hi');
31090 * // => ['0', '1']
31091 */
31092function keys(object) {
31093  return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
31094}
31095
31096module.exports = keys;
31097
31098
31099/***/ }),
31100
vendor: 1,225 bytes, lines 31101-31143
31101/***/ "./node_modules/lodash/keysIn.js":
31102/*!***************************************!*\
31103  !*** ./node_modules/lodash/keysIn.js ***!
31104  \***************************************/
31105/*! no static exports found */
31106/***/ (function(module, exports, __webpack_require__) {
31107
31108var arrayLikeKeys = __webpack_require__(/*! ./_arrayLikeKeys */ "./node_modules/lodash/_arrayLikeKeys.js"),
31109    baseKeysIn = __webpack_require__(/*! ./_baseKeysIn */ "./node_modules/lodash/_baseKeysIn.js"),
31110    isArrayLike = __webpack_require__(/*! ./isArrayLike */ "./node_modules/lodash/isArrayLike.js");
31111
31112/**
31113 * Creates an array of the own and inherited enumerable property names of `object`.
31114 *
31115 * **Note:** Non-object values are coerced to objects.
31116 *
31117 * @static
31118 * @memberOf _
31119 * @since 3.0.0
31120 * @category Object
31121 * @param {Object} object The object to query.
31122 * @returns {Array} Returns the array of property names.
31123 * @example
31124 *
31125 * function Foo() {
31126 *   this.a = 1;
31127 *   this.b = 2;
31128 * }
31129 *
31130 * Foo.prototype.c = 3;
31131 *
31132 * _.keysIn(new Foo);
31133 * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
31134 */
31135function keysIn(object) {
31136  return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
31137}
31138
31139module.exports = keysIn;
31140
31141
31142/***/ }),
31143
vendor: 2,102 bytes, lines 31144-31207
31144/***/ "./node_modules/lodash/map.js":
31145/*!************************************!*\
31146  !*** ./node_modules/lodash/map.js ***!
31147  \************************************/
31148/*! no static exports found */
31149/***/ (function(module, exports, __webpack_require__) {
31150
31151var arrayMap = __webpack_require__(/*! ./_arrayMap */ "./node_modules/lodash/_arrayMap.js"),
31152    baseIteratee = __webpack_require__(/*! ./_baseIteratee */ "./node_modules/lodash/_baseIteratee.js"),
31153    baseMap = __webpack_require__(/*! ./_baseMap */ "./node_modules/lodash/_baseMap.js"),
31154    isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js");
31155
31156/**
31157 * Creates an array of values by running each element in `collection` thru
31158 * `iteratee`. The iteratee is invoked with three arguments:
31159 * (value, index|key, collection).
31160 *
31161 * Many lodash methods are guarded to work as iteratees for methods like
31162 * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.
31163 *
31164 * The guarded methods are:
31165 * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,
31166 * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,
31167 * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,
31168 * `template`, `trim`, `trimEnd`, `trimStart`, and `words`
31169 *
31170 * @static
31171 * @memberOf _
31172 * @since 0.1.0
31173 * @category Collection
31174 * @param {Array|Object} collection The collection to iterate over.
31175 * @param {Function} [iteratee=_.identity] The function invoked per iteration.
31176 * @returns {Array} Returns the new mapped array.
31177 * @example
31178 *
31179 * function square(n) {
31180 *   return n * n;
31181 * }
31182 *
31183 * _.map([4, 8], square);
31184 * // => [16, 64]
31185 *
31186 * _.map({ 'a': 4, 'b': 8 }, square);
31187 * // => [16, 64] (iteration order is not guaranteed)
31188 *
31189 * var users = [
31190 *   { 'user': 'barney' },
31191 *   { 'user': 'fred' }
31192 * ];
31193 *
31194 * // The `_.property` iteratee shorthand.
31195 * _.map(users, 'user');
31196 * // => ['barney', 'fred']
31197 */
31198function map(collection, iteratee) {
31199  var func = isArray(collection) ? arrayMap : baseMap;
31200  return func(collection, baseIteratee(iteratee, 3));
31201}
31202
31203module.exports = map;
31204
31205
31206/***/ }),
31207
vendor: 2,558 bytes, lines 31208-31291
31208/***/ "./node_modules/lodash/memoize.js":
31209/*!****************************************!*\
31210  !*** ./node_modules/lodash/memoize.js ***!
31211  \****************************************/
31212/*! no static exports found */
31213/***/ (function(module, exports, __webpack_require__) {
31214
31215var MapCache = __webpack_require__(/*! ./_MapCache */ "./node_modules/lodash/_MapCache.js");
31216
31217/** Error message constants. */
31218var FUNC_ERROR_TEXT = 'Expected a function';
31219
31220/**
31221 * Creates a function that memoizes the result of `func`. If `resolver` is
31222 * provided, it determines the cache key for storing the result based on the
31223 * arguments provided to the memoized function. By default, the first argument
31224 * provided to the memoized function is used as the map cache key. The `func`
31225 * is invoked with the `this` binding of the memoized function.
31226 *
31227 * **Note:** The cache is exposed as the `cache` property on the memoized
31228 * function. Its creation may be customized by replacing the `_.memoize.Cache`
31229 * constructor with one whose instances implement the
31230 * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)
31231 * method interface of `clear`, `delete`, `get`, `has`, and `set`.
31232 *
31233 * @static
31234 * @memberOf _
31235 * @since 0.1.0
31236 * @category Function
31237 * @param {Function} func The function to have its output memoized.
31238 * @param {Function} [resolver] The function to resolve the cache key.
31239 * @returns {Function} Returns the new memoized function.
31240 * @example
31241 *
31242 * var object = { 'a': 1, 'b': 2 };
31243 * var other = { 'c': 3, 'd': 4 };
31244 *
31245 * var values = _.memoize(_.values);
31246 * values(object);
31247 * // => [1, 2]
31248 *
31249 * values(other);
31250 * // => [3, 4]
31251 *
31252 * object.a = 2;
31253 * values(object);
31254 * // => [1, 2]
31255 *
31256 * // Modify the result cache.
31257 * values.cache.set(object, ['a', 'b']);
31258 * values(object);
31259 * // => ['a', 'b']
31260 *
31261 * // Replace `_.memoize.Cache`.
31262 * _.memoize.Cache = WeakMap;
31263 */
31264function memoize(func, resolver) {
31265  if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {
31266    throw new TypeError(FUNC_ERROR_TEXT);
31267  }
31268  var memoized = function() {
31269    var args = arguments,
31270        key = resolver ? resolver.apply(this, args) : args[0],
31271        cache = memoized.cache;
31272
31273    if (cache.has(key)) {
31274      return cache.get(key);
31275    }
31276    var result = func.apply(this, args);
31277    memoized.cache = cache.set(key, result) || cache;
31278    return result;
31279  };
31280  memoized.cache = new (memoize.Cache || MapCache);
31281  return memoized;
31282}
31283
31284// Expose `MapCache`.
31285memoize.Cache = MapCache;
31286
31287module.exports = memoize;
31288
31289
31290/***/ }),
31291
vendor: 497 bytes, lines 31292-31319
31292/***/ "./node_modules/lodash/noop.js":
31293/*!*************************************!*\
31294  !*** ./node_modules/lodash/noop.js ***!
31295  \*************************************/
31296/*! no static exports found */
31297/***/ (function(module, exports) {
31298
31299/**
31300 * This method returns `undefined`.
31301 *
31302 * @static
31303 * @memberOf _
31304 * @since 2.3.0
31305 * @category Util
31306 * @example
31307 *
31308 * _.times(2, _.noop);
31309 * // => [undefined, undefined]
31310 */
31311function noop() {
31312  // No operation performed.
31313}
31314
31315module.exports = noop;
31316
31317
31318/***/ }),
31319
vendor: 1,299 bytes, lines 31320-31362
31320/***/ "./node_modules/lodash/property.js":
31321/*!*****************************************!*\
31322  !*** ./node_modules/lodash/property.js ***!
31323  \*****************************************/
31324/*! no static exports found */
31325/***/ (function(module, exports, __webpack_require__) {
31326
31327var baseProperty = __webpack_require__(/*! ./_baseProperty */ "./node_modules/lodash/_baseProperty.js"),
31328    basePropertyDeep = __webpack_require__(/*! ./_basePropertyDeep */ "./node_modules/lodash/_basePropertyDeep.js"),
31329    isKey = __webpack_require__(/*! ./_isKey */ "./node_modules/lodash/_isKey.js"),
31330    toKey = __webpack_require__(/*! ./_toKey */ "./node_modules/lodash/_toKey.js");
31331
31332/**
31333 * Creates a function that returns the value at `path` of a given object.
31334 *
31335 * @static
31336 * @memberOf _
31337 * @since 2.4.0
31338 * @category Util
31339 * @param {Array|string} path The path of the property to get.
31340 * @returns {Function} Returns the new accessor function.
31341 * @example
31342 *
31343 * var objects = [
31344 *   { 'a': { 'b': 2 } },
31345 *   { 'a': { 'b': 1 } }
31346 * ];
31347 *
31348 * _.map(objects, _.property('a.b'));
31349 * // => [2, 1]
31350 *
31351 * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');
31352 * // => [1, 2]
31353 */
31354function property(path) {
31355  return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
31356}
31357
31358module.exports = property;
31359
31360
31361/***/ }),
31362
vendor: 1,405 bytes, lines 31363-31406
31363/***/ "./node_modules/lodash/rearg.js":
31364/*!**************************************!*\
31365  !*** ./node_modules/lodash/rearg.js ***!
31366  \**************************************/
31367/*! no static exports found */
31368/***/ (function(module, exports, __webpack_require__) {
31369
31370var createWrap = __webpack_require__(/*! ./_createWrap */ "./node_modules/lodash/_createWrap.js"),
31371    flatRest = __webpack_require__(/*! ./_flatRest */ "./node_modules/lodash/_flatRest.js");
31372
31373/** Used to compose bitmasks for function metadata. */
31374var WRAP_REARG_FLAG = 256;
31375
31376/**
31377 * Creates a function that invokes `func` with arguments arranged according
31378 * to the specified `indexes` where the argument value at the first index is
31379 * provided as the first argument, the argument value at the second index is
31380 * provided as the second argument, and so on.
31381 *
31382 * @static
31383 * @memberOf _
31384 * @since 3.0.0
31385 * @category Function
31386 * @param {Function} func The function to rearrange arguments for.
31387 * @param {...(number|number[])} indexes The arranged argument indexes.
31388 * @returns {Function} Returns the new function.
31389 * @example
31390 *
31391 * var rearged = _.rearg(function(a, b, c) {
31392 *   return [a, b, c];
31393 * }, [2, 0, 1]);
31394 *
31395 * rearged('b', 'c', 'a')
31396 * // => ['a', 'b', 'c']
31397 */
31398var rearg = flatRest(function(func, indexes) {
31399  return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);
31400});
31401
31402module.exports = rearg;
31403
31404
31405/***/ }),
31406
vendor: 657 bytes, lines 31407-31440
31407/***/ "./node_modules/lodash/stubArray.js":
31408/*!******************************************!*\
31409  !*** ./node_modules/lodash/stubArray.js ***!
31410  \******************************************/
31411/*! no static exports found */
31412/***/ (function(module, exports) {
31413
31414/**
31415 * This method returns a new empty array.
31416 *
31417 * @static
31418 * @memberOf _
31419 * @since 4.13.0
31420 * @category Util
31421 * @returns {Array} Returns the new empty array.
31422 * @example
31423 *
31424 * var arrays = _.times(2, _.stubArray);
31425 *
31426 * console.log(arrays);
31427 * // => [[], []]
31428 *
31429 * console.log(arrays[0] === arrays[1]);
31430 * // => false
31431 */
31432function stubArray() {
31433  return [];
31434}
31435
31436module.exports = stubArray;
31437
31438
31439/***/ }),
31440
vendor: 547 bytes, lines 31441-31469
31441/***/ "./node_modules/lodash/stubFalse.js":
31442/*!******************************************!*\
31443  !*** ./node_modules/lodash/stubFalse.js ***!
31444  \******************************************/
31445/*! no static exports found */
31446/***/ (function(module, exports) {
31447
31448/**
31449 * This method returns `false`.
31450 *
31451 * @static
31452 * @memberOf _
31453 * @since 4.13.0
31454 * @category Util
31455 * @returns {boolean} Returns `false`.
31456 * @example
31457 *
31458 * _.times(2, _.stubFalse);
31459 * // => [false, false]
31460 */
31461function stubFalse() {
31462  return false;
31463}
31464
31465module.exports = stubFalse;
31466
31467
31468/***/ }),
31469
vendor: 1,205 bytes, lines 31470-31522
31470/***/ "./node_modules/lodash/toFinite.js":
31471/*!*****************************************!*\
31472  !*** ./node_modules/lodash/toFinite.js ***!
31473  \*****************************************/
31474/*! no static exports found */
31475/***/ (function(module, exports, __webpack_require__) {
31476
31477var toNumber = __webpack_require__(/*! ./toNumber */ "./node_modules/lodash/toNumber.js");
31478
31479/** Used as references for various `Number` constants. */
31480var INFINITY = 1 / 0,
31481    MAX_INTEGER = 1.7976931348623157e+308;
31482
31483/**
31484 * Converts `value` to a finite number.
31485 *
31486 * @static
31487 * @memberOf _
31488 * @since 4.12.0
31489 * @category Lang
31490 * @param {*} value The value to convert.
31491 * @returns {number} Returns the converted number.
31492 * @example
31493 *
31494 * _.toFinite(3.2);
31495 * // => 3.2
31496 *
31497 * _.toFinite(Number.MIN_VALUE);
31498 * // => 5e-324
31499 *
31500 * _.toFinite(Infinity);
31501 * // => 1.7976931348623157e+308
31502 *
31503 * _.toFinite('3.2');
31504 * // => 3.2
31505 */
31506function toFinite(value) {
31507  if (!value) {
31508    return value === 0 ? value : 0;
31509  }
31510  value = toNumber(value);
31511  if (value === INFINITY || value === -INFINITY) {
31512    var sign = (value < 0 ? -1 : 1);
31513    return sign * MAX_INTEGER;
31514  }
31515  return value === value ? value : 0;
31516}
31517
31518module.exports = toFinite;
31519
31520
31521/***/ }),
31522
vendor: 1,101 bytes, lines 31523-31569
31523/***/ "./node_modules/lodash/toInteger.js":
31524/*!******************************************!*\
31525  !*** ./node_modules/lodash/toInteger.js ***!
31526  \******************************************/
31527/*! no static exports found */
31528/***/ (function(module, exports, __webpack_require__) {
31529
31530var toFinite = __webpack_require__(/*! ./toFinite */ "./node_modules/lodash/toFinite.js");
31531
31532/**
31533 * Converts `value` to an integer.
31534 *
31535 * **Note:** This method is loosely based on
31536 * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
31537 *
31538 * @static
31539 * @memberOf _
31540 * @since 4.0.0
31541 * @category Lang
31542 * @param {*} value The value to convert.
31543 * @returns {number} Returns the converted integer.
31544 * @example
31545 *
31546 * _.toInteger(3.2);
31547 * // => 3
31548 *
31549 * _.toInteger(Number.MIN_VALUE);
31550 * // => 0
31551 *
31552 * _.toInteger(Infinity);
31553 * // => 1.7976931348623157e+308
31554 *
31555 * _.toInteger('3.2');
31556 * // => 3
31557 */
31558function toInteger(value) {
31559  var result = toFinite(value),
31560      remainder = result % 1;
31561
31562  return result === result ? (remainder ? result - remainder : result) : 0;
31563}
31564
31565module.exports = toInteger;
31566
31567
31568/***/ }),
31569
vendor: 1,962 bytes, lines 31570-31646
31570/***/ "./node_modules/lodash/toNumber.js":
31571/*!*****************************************!*\
31572  !*** ./node_modules/lodash/toNumber.js ***!
31573  \*****************************************/
31574/*! no static exports found */
31575/***/ (function(module, exports, __webpack_require__) {
31576
31577var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"),
31578    isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js");
31579
31580/** Used as references for various `Number` constants. */
31581var NAN = 0 / 0;
31582
31583/** Used to match leading and trailing whitespace. */
31584var reTrim = /^\s+|\s+$/g;
31585
31586/** Used to detect bad signed hexadecimal string values. */
31587var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
31588
31589/** Used to detect binary string values. */
31590var reIsBinary = /^0b[01]+$/i;
31591
31592/** Used to detect octal string values. */
31593var reIsOctal = /^0o[0-7]+$/i;
31594
31595/** Built-in method references without a dependency on `root`. */
31596var freeParseInt = parseInt;
31597
31598/**
31599 * Converts `value` to a number.
31600 *
31601 * @static
31602 * @memberOf _
31603 * @since 4.0.0
31604 * @category Lang
31605 * @param {*} value The value to process.
31606 * @returns {number} Returns the number.
31607 * @example
31608 *
31609 * _.toNumber(3.2);
31610 * // => 3.2
31611 *
31612 * _.toNumber(Number.MIN_VALUE);
31613 * // => 5e-324
31614 *
31615 * _.toNumber(Infinity);
31616 * // => Infinity
31617 *
31618 * _.toNumber('3.2');
31619 * // => 3.2
31620 */
31621function toNumber(value) {
31622  if (typeof value == 'number') {
31623    return value;
31624  }
31625  if (isSymbol(value)) {
31626    return NAN;
31627  }
31628  if (isObject(value)) {
31629    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
31630    value = isObject(other) ? (other + '') : other;
31631  }
31632  if (typeof value != 'string') {
31633    return value === 0 ? value : +value;
31634  }
31635  value = value.replace(reTrim, '');
31636  var isBinary = reIsBinary.test(value);
31637  return (isBinary || reIsOctal.test(value))
31638    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
31639    : (reIsBadHex.test(value) ? NAN : +value);
31640}
31641
31642module.exports = toNumber;
31643
31644
31645/***/ }),
31646
vendor: 1,456 bytes, lines 31647-31690
31647/***/ "./node_modules/lodash/toPath.js":
31648/*!***************************************!*\
31649  !*** ./node_modules/lodash/toPath.js ***!
31650  \***************************************/
31651/*! no static exports found */
31652/***/ (function(module, exports, __webpack_require__) {
31653
31654var arrayMap = __webpack_require__(/*! ./_arrayMap */ "./node_modules/lodash/_arrayMap.js"),
31655    copyArray = __webpack_require__(/*! ./_copyArray */ "./node_modules/lodash/_copyArray.js"),
31656    isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"),
31657    isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js"),
31658    stringToPath = __webpack_require__(/*! ./_stringToPath */ "./node_modules/lodash/_stringToPath.js"),
31659    toKey = __webpack_require__(/*! ./_toKey */ "./node_modules/lodash/_toKey.js"),
31660    toString = __webpack_require__(/*! ./toString */ "./node_modules/lodash/toString.js");
31661
31662/**
31663 * Converts `value` to a property path array.
31664 *
31665 * @static
31666 * @memberOf _
31667 * @since 4.0.0
31668 * @category Util
31669 * @param {*} value The value to convert.
31670 * @returns {Array} Returns the new property path array.
31671 * @example
31672 *
31673 * _.toPath('a.b.c');
31674 * // => ['a', 'b', 'c']
31675 *
31676 * _.toPath('a[0].b.c');
31677 * // => ['a', '0', 'b', 'c']
31678 */
31679function toPath(value) {
31680  if (isArray(value)) {
31681    return arrayMap(value, toKey);
31682  }
31683  return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));
31684}
31685
31686module.exports = toPath;
31687
31688
31689/***/ }),
31690
vendor: 922 bytes, lines 31691-31729
31691/***/ "./node_modules/lodash/toString.js":
31692/*!*****************************************!*\
31693  !*** ./node_modules/lodash/toString.js ***!
31694  \*****************************************/
31695/*! no static exports found */
31696/***/ (function(module, exports, __webpack_require__) {
31697
31698var baseToString = __webpack_require__(/*! ./_baseToString */ "./node_modules/lodash/_baseToString.js");
31699
31700/**
31701 * Converts `value` to a string. An empty string is returned for `null`
31702 * and `undefined` values. The sign of `-0` is preserved.
31703 *
31704 * @static
31705 * @memberOf _
31706 * @since 4.0.0
31707 * @category Lang
31708 * @param {*} value The value to convert.
31709 * @returns {string} Returns the converted string.
31710 * @example
31711 *
31712 * _.toString(null);
31713 * // => ''
31714 *
31715 * _.toString(-0);
31716 * // => '-0'
31717 *
31718 * _.toString([1, 2, 3]);
31719 * // => '1,2,3'
31720 */
31721function toString(value) {
31722  return value == null ? '' : baseToString(value);
31723}
31724
31725module.exports = toString;
31726
31727
31728/***/ }),
31729
vendor: 7,585 bytes, lines 31730-31887
31730/***/ "./node_modules/lodash/wrapperLodash.js":
31731/*!**********************************************!*\
31732  !*** ./node_modules/lodash/wrapperLodash.js ***!
31733  \**********************************************/
31734/*! no static exports found */
31735/***/ (function(module, exports, __webpack_require__) {
31736
31737var LazyWrapper = __webpack_require__(/*! ./_LazyWrapper */ "./node_modules/lodash/_LazyWrapper.js"),
31738    LodashWrapper = __webpack_require__(/*! ./_LodashWrapper */ "./node_modules/lodash/_LodashWrapper.js"),
31739    baseLodash = __webpack_require__(/*! ./_baseLodash */ "./node_modules/lodash/_baseLodash.js"),
31740    isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"),
31741    isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"),
31742    wrapperClone = __webpack_require__(/*! ./_wrapperClone */ "./node_modules/lodash/_wrapperClone.js");
31743
31744/** Used for built-in method references. */
31745var objectProto = Object.prototype;
31746
31747/** Used to check objects for own properties. */
31748var hasOwnProperty = objectProto.hasOwnProperty;
31749
31750/**
31751 * Creates a `lodash` object which wraps `value` to enable implicit method
31752 * chain sequences. Methods that operate on and return arrays, collections,
31753 * and functions can be chained together. Methods that retrieve a single value
31754 * or may return a primitive value will automatically end the chain sequence
31755 * and return the unwrapped value. Otherwise, the value must be unwrapped
31756 * with `_#value`.
31757 *
31758 * Explicit chain sequences, which must be unwrapped with `_#value`, may be
31759 * enabled using `_.chain`.
31760 *
31761 * The execution of chained methods is lazy, that is, it's deferred until
31762 * `_#value` is implicitly or explicitly called.
31763 *
31764 * Lazy evaluation allows several methods to support shortcut fusion.
31765 * Shortcut fusion is an optimization to merge iteratee calls; this avoids
31766 * the creation of intermediate arrays and can greatly reduce the number of
31767 * iteratee executions. Sections of a chain sequence qualify for shortcut
31768 * fusion if the section is applied to an array and iteratees accept only
31769 * one argument. The heuristic for whether a section qualifies for shortcut
31770 * fusion is subject to change.
31771 *
31772 * Chaining is supported in custom builds as long as the `_#value` method is
31773 * directly or indirectly included in the build.
31774 *
31775 * In addition to lodash methods, wrappers have `Array` and `String` methods.
31776 *
31777 * The wrapper `Array` methods are:
31778 * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`
31779 *
31780 * The wrapper `String` methods are:
31781 * `replace` and `split`
31782 *
31783 * The wrapper methods that support shortcut fusion are:
31784 * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,
31785 * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,
31786 * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`
31787 *
31788 * The chainable wrapper methods are:
31789 * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,
31790 * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,
31791 * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,
31792 * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,
31793 * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,
31794 * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,
31795 * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,
31796 * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,
31797 * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,
31798 * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,
31799 * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,
31800 * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,
31801 * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,
31802 * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,
31803 * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,
31804 * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,
31805 * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,
31806 * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,
31807 * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,
31808 * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,
31809 * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,
31810 * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,
31811 * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,
31812 * `zipObject`, `zipObjectDeep`, and `zipWith`
31813 *
31814 * The wrapper methods that are **not** chainable by default are:
31815 * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,
31816 * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,
31817 * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,
31818 * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,
31819 * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,
31820 * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,
31821 * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,
31822 * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,
31823 * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,
31824 * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,
31825 * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,
31826 * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,
31827 * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,
31828 * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,
31829 * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,
31830 * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,
31831 * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,
31832 * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,
31833 * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,
31834 * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,
31835 * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,
31836 * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,
31837 * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,
31838 * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,
31839 * `upperFirst`, `value`, and `words`
31840 *
31841 * @name _
31842 * @constructor
31843 * @category Seq
31844 * @param {*} value The value to wrap in a `lodash` instance.
31845 * @returns {Object} Returns the new `lodash` wrapper instance.
31846 * @example
31847 *
31848 * function square(n) {
31849 *   return n * n;
31850 * }
31851 *
31852 * var wrapped = _([1, 2, 3]);
31853 *
31854 * // Returns an unwrapped value.
31855 * wrapped.reduce(_.add);
31856 * // => 6
31857 *
31858 * // Returns a wrapped value.
31859 * var squares = wrapped.map(square);
31860 *
31861 * _.isArray(squares);
31862 * // => false
31863 *
31864 * _.isArray(squares.value());
31865 * // => true
31866 */
31867function lodash(value) {
31868  if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {
31869    if (value instanceof LodashWrapper) {
31870      return value;
31871    }
31872    if (hasOwnProperty.call(value, '__wrapped__')) {
31873      return wrapperClone(value);
31874    }
31875  }
31876  return new LodashWrapper(value);
31877}
31878
31879// Ensure wrappers are instances of `baseLodash`.
31880lodash.prototype = baseLodash.prototype;
31881lodash.prototype.constructor = lodash;
31882
31883module.exports = lodash;
31884
31885
31886/***/ }),
31887
vendor: 2,409 bytes, lines 31888-31989
31888/***/ "./node_modules/object-assign/index.js":
31889/*!*********************************************!*\
31890  !*** ./node_modules/object-assign/index.js ***!
31891  \*********************************************/
31892/*! no static exports found */
31893/***/ (function(module, exports, __webpack_require__) {
31894
31895"use strict";
31896/*
31897object-assign
31898(c) Sindre Sorhus
31899@license MIT
31900*/
31901
31902
31903/* eslint-disable no-unused-vars */
31904var getOwnPropertySymbols = Object.getOwnPropertySymbols;
31905var hasOwnProperty = Object.prototype.hasOwnProperty;
31906var propIsEnumerable = Object.prototype.propertyIsEnumerable;
31907
31908function toObject(val) {
31909	if (val === null || val === undefined) {
31910		throw new TypeError('Object.assign cannot be called with null or undefined');
31911	}
31912
31913	return Object(val);
31914}
31915
31916function shouldUseNative() {
31917	try {
31918		if (!Object.assign) {
31919			return false;
31920		}
31921
31922		// Detect buggy property enumeration order in older V8 versions.
31923
31924		// https://bugs.chromium.org/p/v8/issues/detail?id=4118
31925		var test1 = new String('abc');  // eslint-disable-line no-new-wrappers
31926		test1[5] = 'de';
31927		if (Object.getOwnPropertyNames(test1)[0] === '5') {
31928			return false;
31929		}
31930
31931		// https://bugs.chromium.org/p/v8/issues/detail?id=3056
31932		var test2 = {};
31933		for (var i = 0; i < 10; i++) {
31934			test2['_' + String.fromCharCode(i)] = i;
31935		}
31936		var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
31937			return test2[n];
31938		});
31939		if (order2.join('') !== '0123456789') {
31940			return false;
31941		}
31942
31943		// https://bugs.chromium.org/p/v8/issues/detail?id=3056
31944		var test3 = {};
31945		'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
31946			test3[letter] = letter;
31947		});
31948		if (Object.keys(Object.assign({}, test3)).join('') !==
31949				'abcdefghijklmnopqrst') {
31950			return false;
31951		}
31952
31953		return true;
31954	} catch (err) {
31955		// We don't expect any of the above to throw, but better to be safe.
31956		return false;
31957	}
31958}
31959
31960module.exports = shouldUseNative() ? Object.assign : function (target, source) {
31961	var from;
31962	var to = toObject(target);
31963	var symbols;
31964
31965	for (var s = 1; s < arguments.length; s++) {
31966		from = Object(arguments[s]);
31967
31968		for (var key in from) {
31969			if (hasOwnProperty.call(from, key)) {
31970				to[key] = from[key];
31971			}
31972		}
31973
31974		if (getOwnPropertySymbols) {
31975			symbols = getOwnPropertySymbols(from);
31976			for (var i = 0; i < symbols.length; i++) {
31977				if (propIsEnumerable.call(from, symbols[i])) {
31978					to[symbols[i]] = from[symbols[i]];
31979				}
31980			}
31981		}
31982	}
31983
31984	return to;
31985};
31986
31987
31988/***/ }),
31989
vendor: 4,080 bytes, lines 31990-32103
31990/***/ "./node_modules/prop-types/checkPropTypes.js":
31991/*!***************************************************!*\
31992  !*** ./node_modules/prop-types/checkPropTypes.js ***!
31993  \***************************************************/
31994/*! no static exports found */
31995/***/ (function(module, exports, __webpack_require__) {
31996
31997"use strict";
31998/**
31999 * Copyright (c) 2013-present, Facebook, Inc.
32000 *
32001 * This source code is licensed under the MIT license found in the
32002 * LICENSE file in the root directory of this source tree.
32003 */
32004
32005
32006
32007var printWarning = function() {};
32008
32009if (true) {
32010  var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js");
32011  var loggedTypeFailures = {};
32012  var has = Function.call.bind(Object.prototype.hasOwnProperty);
32013
32014  printWarning = function(text) {
32015    var message = 'Warning: ' + text;
32016    if (typeof console !== 'undefined') {
32017      console.error(message);
32018    }
32019    try {
32020      // --- Welcome to debugging React ---
32021      // This error was thrown as a convenience so that you can use this stack
32022      // to find the callsite that caused this warning to fire.
32023      throw new Error(message);
32024    } catch (x) {}
32025  };
32026}
32027
32028/**
32029 * Assert that the values match with the type specs.
32030 * Error messages are memorized and will only be shown once.
32031 *
32032 * @param {object} typeSpecs Map of name to a ReactPropType
32033 * @param {object} values Runtime values that need to be type-checked
32034 * @param {string} location e.g. "prop", "context", "child context"
32035 * @param {string} componentName Name of the component for error messages.
32036 * @param {?Function} getStack Returns the component stack.
32037 * @private
32038 */
32039function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
32040  if (true) {
32041    for (var typeSpecName in typeSpecs) {
32042      if (has(typeSpecs, typeSpecName)) {
32043        var error;
32044        // Prop type validation may throw. In case they do, we don't want to
32045        // fail the render phase where it didn't fail before. So we log it.
32046        // After these have been cleaned up, we'll let them throw.
32047        try {
32048          // This is intentionally an invariant that gets caught. It's the same
32049          // behavior as without this statement except with a better message.
32050          if (typeof typeSpecs[typeSpecName] !== 'function') {
32051            var err = Error(
32052              (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
32053              'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'
32054            );
32055            err.name = 'Invariant Violation';
32056            throw err;
32057          }
32058          error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
32059        } catch (ex) {
32060          error = ex;
32061        }
32062        if (error && !(error instanceof Error)) {
32063          printWarning(
32064            (componentName || 'React class') + ': type specification of ' +
32065            location + ' `' + typeSpecName + '` is invalid; the type checker ' +
32066            'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
32067            'You may have forgotten to pass an argument to the type checker ' +
32068            'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
32069            'shape all require an argument).'
32070          );
32071        }
32072        if (error instanceof Error && !(error.message in loggedTypeFailures)) {
32073          // Only monitor this failure once because there tends to be a lot of the
32074          // same error.
32075          loggedTypeFailures[error.message] = true;
32076
32077          var stack = getStack ? getStack() : '';
32078
32079          printWarning(
32080            'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
32081          );
32082        }
32083      }
32084    }
32085  }
32086}
32087
32088/**
32089 * Resets warning cache when testing.
32090 *
32091 * @private
32092 */
32093checkPropTypes.resetWarningCache = function() {
32094  if (true) {
32095    loggedTypeFailures = {};
32096  }
32097}
32098
32099module.exports = checkPropTypes;
32100
32101
32102/***/ }),
32103
vendor: 22,009 bytes, lines 32104-32706
32104/***/ "./node_modules/prop-types/factoryWithTypeCheckers.js":
32105/*!************************************************************!*\
32106  !*** ./node_modules/prop-types/factoryWithTypeCheckers.js ***!
32107  \************************************************************/
32108/*! no static exports found */
32109/***/ (function(module, exports, __webpack_require__) {
32110
32111"use strict";
32112/**
32113 * Copyright (c) 2013-present, Facebook, Inc.
32114 *
32115 * This source code is licensed under the MIT license found in the
32116 * LICENSE file in the root directory of this source tree.
32117 */
32118
32119
32120
32121var ReactIs = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js");
32122var assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js");
32123
32124var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js");
32125var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "./node_modules/prop-types/checkPropTypes.js");
32126
32127var has = Function.call.bind(Object.prototype.hasOwnProperty);
32128var printWarning = function() {};
32129
32130if (true) {
32131  printWarning = function(text) {
32132    var message = 'Warning: ' + text;
32133    if (typeof console !== 'undefined') {
32134      console.error(message);
32135    }
32136    try {
32137      // --- Welcome to debugging React ---
32138      // This error was thrown as a convenience so that you can use this stack
32139      // to find the callsite that caused this warning to fire.
32140      throw new Error(message);
32141    } catch (x) {}
32142  };
32143}
32144
32145function emptyFunctionThatReturnsNull() {
32146  return null;
32147}
32148
32149module.exports = function(isValidElement, throwOnDirectAccess) {
32150  /* global Symbol */
32151  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
32152  var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
32153
32154  /**
32155   * Returns the iterator method function contained on the iterable object.
32156   *
32157   * Be sure to invoke the function with the iterable as context:
32158   *
32159   *     var iteratorFn = getIteratorFn(myIterable);
32160   *     if (iteratorFn) {
32161   *       var iterator = iteratorFn.call(myIterable);
32162   *       ...
32163   *     }
32164   *
32165   * @param {?object} maybeIterable
32166   * @return {?function}
32167   */
32168  function getIteratorFn(maybeIterable) {
32169    var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
32170    if (typeof iteratorFn === 'function') {
32171      return iteratorFn;
32172    }
32173  }
32174
32175  /**
32176   * Collection of methods that allow declaration and validation of props that are
32177   * supplied to React components. Example usage:
32178   *
32179   *   var Props = require('ReactPropTypes');
32180   *   var MyArticle = React.createClass({
32181   *     propTypes: {
32182   *       // An optional string prop named "description".
32183   *       description: Props.string,
32184   *
32185   *       // A required enum prop named "category".
32186   *       category: Props.oneOf(['News','Photos']).isRequired,
32187   *
32188   *       // A prop named "dialog" that requires an instance of Dialog.
32189   *       dialog: Props.instanceOf(Dialog).isRequired
32190   *     },
32191   *     render: function() { ... }
32192   *   });
32193   *
32194   * A more formal specification of how these methods are used:
32195   *
32196   *   type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
32197   *   decl := ReactPropTypes.{type}(.isRequired)?
32198   *
32199   * Each and every declaration produces a function with the same signature. This
32200   * allows the creation of custom validation functions. For example:
32201   *
32202   *  var MyLink = React.createClass({
32203   *    propTypes: {
32204   *      // An optional string or URI prop named "href".
32205   *      href: function(props, propName, componentName) {
32206   *        var propValue = props[propName];
32207   *        if (propValue != null && typeof propValue !== 'string' &&
32208   *            !(propValue instanceof URI)) {
32209   *          return new Error(
32210   *            'Expected a string or an URI for ' + propName + ' in ' +
32211   *            componentName
32212   *          );
32213   *        }
32214   *      }
32215   *    },
32216   *    render: function() {...}
32217   *  });
32218   *
32219   * @internal
32220   */
32221
32222  var ANONYMOUS = '<<anonymous>>';
32223
32224  // Important!
32225  // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
32226  var ReactPropTypes = {
32227    array: createPrimitiveTypeChecker('array'),
32228    bool: createPrimitiveTypeChecker('boolean'),
32229    func: createPrimitiveTypeChecker('function'),
32230    number: createPrimitiveTypeChecker('number'),
32231    object: createPrimitiveTypeChecker('object'),
32232    string: createPrimitiveTypeChecker('string'),
32233    symbol: createPrimitiveTypeChecker('symbol'),
32234
32235    any: createAnyTypeChecker(),
32236    arrayOf: createArrayOfTypeChecker,
32237    element: createElementTypeChecker(),
32238    elementType: createElementTypeTypeChecker(),
32239    instanceOf: createInstanceTypeChecker,
32240    node: createNodeChecker(),
32241    objectOf: createObjectOfTypeChecker,
32242    oneOf: createEnumTypeChecker,
32243    oneOfType: createUnionTypeChecker,
32244    shape: createShapeTypeChecker,
32245    exact: createStrictShapeTypeChecker,
32246  };
32247
32248  /**
32249   * inlined Object.is polyfill to avoid requiring consumers ship their own
32250   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
32251   */
32252  /*eslint-disable no-self-compare*/
32253  function is(x, y) {
32254    // SameValue algorithm
32255    if (x === y) {
32256      // Steps 1-5, 7-10
32257      // Steps 6.b-6.e: +0 != -0
32258      return x !== 0 || 1 / x === 1 / y;
32259    } else {
32260      // Step 6.a: NaN == NaN
32261      return x !== x && y !== y;
32262    }
32263  }
32264  /*eslint-enable no-self-compare*/
32265
32266  /**
32267   * We use an Error-like object for backward compatibility as people may call
32268   * PropTypes directly and inspect their output. However, we don't use real
32269   * Errors anymore. We don't inspect their stack anyway, and creating them
32270   * is prohibitively expensive if they are created too often, such as what
32271   * happens in oneOfType() for any type before the one that matched.
32272   */
32273  function PropTypeError(message) {
32274    this.message = message;
32275    this.stack = '';
32276  }
32277  // Make `instanceof Error` still work for returned errors.
32278  PropTypeError.prototype = Error.prototype;
32279
32280  function createChainableTypeChecker(validate) {
32281    if (true) {
32282      var manualPropTypeCallCache = {};
32283      var manualPropTypeWarningCount = 0;
32284    }
32285    function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
32286      componentName = componentName || ANONYMOUS;
32287      propFullName = propFullName || propName;
32288
32289      if (secret !== ReactPropTypesSecret) {
32290        if (throwOnDirectAccess) {
32291          // New behavior only for users of `prop-types` package
32292          var err = new Error(
32293            'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
32294            'Use `PropTypes.checkPropTypes()` to call them. ' +
32295            'Read more at http://fb.me/use-check-prop-types'
32296          );
32297          err.name = 'Invariant Violation';
32298          throw err;
32299        } else if ( true && typeof console !== 'undefined') {
32300          // Old behavior for people using React.PropTypes
32301          var cacheKey = componentName + ':' + propName;
32302          if (
32303            !manualPropTypeCallCache[cacheKey] &&
32304            // Avoid spamming the console because they are often not actionable except for lib authors
32305            manualPropTypeWarningCount < 3
32306          ) {
32307            printWarning(
32308              'You are manually calling a React.PropTypes validation ' +
32309              'function for the `' + propFullName + '` prop on `' + componentName  + '`. This is deprecated ' +
32310              'and will throw in the standalone `prop-types` package. ' +
32311              'You may be seeing this warning due to a third-party PropTypes ' +
32312              'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
32313            );
32314            manualPropTypeCallCache[cacheKey] = true;
32315            manualPropTypeWarningCount++;
32316          }
32317        }
32318      }
32319      if (props[propName] == null) {
32320        if (isRequired) {
32321          if (props[propName] === null) {
32322            return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
32323          }
32324          return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
32325        }
32326        return null;
32327      } else {
32328        return validate(props, propName, componentName, location, propFullName);
32329      }
32330    }
32331
32332    var chainedCheckType = checkType.bind(null, false);
32333    chainedCheckType.isRequired = checkType.bind(null, true);
32334
32335    return chainedCheckType;
32336  }
32337
32338  function createPrimitiveTypeChecker(expectedType) {
32339    function validate(props, propName, componentName, location, propFullName, secret) {
32340      var propValue = props[propName];
32341      var propType = getPropType(propValue);
32342      if (propType !== expectedType) {
32343        // `propValue` being instance of, say, date/regexp, pass the 'object'
32344        // check, but we can offer a more precise error message here rather than
32345        // 'of type `object`'.
32346        var preciseType = getPreciseType(propValue);
32347
32348        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
32349      }
32350      return null;
32351    }
32352    return createChainableTypeChecker(validate);
32353  }
32354
32355  function createAnyTypeChecker() {
32356    return createChainableTypeChecker(emptyFunctionThatReturnsNull);
32357  }
32358
32359  function createArrayOfTypeChecker(typeChecker) {
32360    function validate(props, propName, componentName, location, propFullName) {
32361      if (typeof typeChecker !== 'function') {
32362        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
32363      }
32364      var propValue = props[propName];
32365      if (!Array.isArray(propValue)) {
32366        var propType = getPropType(propValue);
32367        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
32368      }
32369      for (var i = 0; i < propValue.length; i++) {
32370        var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
32371        if (error instanceof Error) {
32372          return error;
32373        }
32374      }
32375      return null;
32376    }
32377    return createChainableTypeChecker(validate);
32378  }
32379
32380  function createElementTypeChecker() {
32381    function validate(props, propName, componentName, location, propFullName) {
32382      var propValue = props[propName];
32383      if (!isValidElement(propValue)) {
32384        var propType = getPropType(propValue);
32385        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
32386      }
32387      return null;
32388    }
32389    return createChainableTypeChecker(validate);
32390  }
32391
32392  function createElementTypeTypeChecker() {
32393    function validate(props, propName, componentName, location, propFullName) {
32394      var propValue = props[propName];
32395      if (!ReactIs.isValidElementType(propValue)) {
32396        var propType = getPropType(propValue);
32397        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
32398      }
32399      return null;
32400    }
32401    return createChainableTypeChecker(validate);
32402  }
32403
32404  function createInstanceTypeChecker(expectedClass) {
32405    function validate(props, propName, componentName, location, propFullName) {
32406      if (!(props[propName] instanceof expectedClass)) {
32407        var expectedClassName = expectedClass.name || ANONYMOUS;
32408        var actualClassName = getClassName(props[propName]);
32409        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
32410      }
32411      return null;
32412    }
32413    return createChainableTypeChecker(validate);
32414  }
32415
32416  function createEnumTypeChecker(expectedValues) {
32417    if (!Array.isArray(expectedValues)) {
32418      if (true) {
32419        if (arguments.length > 1) {
32420          printWarning(
32421            'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
32422            'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
32423          );
32424        } else {
32425          printWarning('Invalid argument supplied to oneOf, expected an array.');
32426        }
32427      }
32428      return emptyFunctionThatReturnsNull;
32429    }
32430
32431    function validate(props, propName, componentName, location, propFullName) {
32432      var propValue = props[propName];
32433      for (var i = 0; i < expectedValues.length; i++) {
32434        if (is(propValue, expectedValues[i])) {
32435          return null;
32436        }
32437      }
32438
32439      var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
32440        var type = getPreciseType(value);
32441        if (type === 'symbol') {
32442          return String(value);
32443        }
32444        return value;
32445      });
32446      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
32447    }
32448    return createChainableTypeChecker(validate);
32449  }
32450
32451  function createObjectOfTypeChecker(typeChecker) {
32452    function validate(props, propName, componentName, location, propFullName) {
32453      if (typeof typeChecker !== 'function') {
32454        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
32455      }
32456      var propValue = props[propName];
32457      var propType = getPropType(propValue);
32458      if (propType !== 'object') {
32459        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
32460      }
32461      for (var key in propValue) {
32462        if (has(propValue, key)) {
32463          var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
32464          if (error instanceof Error) {
32465            return error;
32466          }
32467        }
32468      }
32469      return null;
32470    }
32471    return createChainableTypeChecker(validate);
32472  }
32473
32474  function createUnionTypeChecker(arrayOfTypeCheckers) {
32475    if (!Array.isArray(arrayOfTypeCheckers)) {
32476       true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : undefined;
32477      return emptyFunctionThatReturnsNull;
32478    }
32479
32480    for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
32481      var checker = arrayOfTypeCheckers[i];
32482      if (typeof checker !== 'function') {
32483        printWarning(
32484          'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
32485          'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
32486        );
32487        return emptyFunctionThatReturnsNull;
32488      }
32489    }
32490
32491    function validate(props, propName, componentName, location, propFullName) {
32492      for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
32493        var checker = arrayOfTypeCheckers[i];
32494        if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {
32495          return null;
32496        }
32497      }
32498
32499      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
32500    }
32501    return createChainableTypeChecker(validate);
32502  }
32503
32504  function createNodeChecker() {
32505    function validate(props, propName, componentName, location, propFullName) {
32506      if (!isNode(props[propName])) {
32507        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
32508      }
32509      return null;
32510    }
32511    return createChainableTypeChecker(validate);
32512  }
32513
32514  function createShapeTypeChecker(shapeTypes) {
32515    function validate(props, propName, componentName, location, propFullName) {
32516      var propValue = props[propName];
32517      var propType = getPropType(propValue);
32518      if (propType !== 'object') {
32519        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
32520      }
32521      for (var key in shapeTypes) {
32522        var checker = shapeTypes[key];
32523        if (!checker) {
32524          continue;
32525        }
32526        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
32527        if (error) {
32528          return error;
32529        }
32530      }
32531      return null;
32532    }
32533    return createChainableTypeChecker(validate);
32534  }
32535
32536  function createStrictShapeTypeChecker(shapeTypes) {
32537    function validate(props, propName, componentName, location, propFullName) {
32538      var propValue = props[propName];
32539      var propType = getPropType(propValue);
32540      if (propType !== 'object') {
32541        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
32542      }
32543      // We need to check all keys in case some are required but missing from
32544      // props.
32545      var allKeys = assign({}, props[propName], shapeTypes);
32546      for (var key in allKeys) {
32547        var checker = shapeTypes[key];
32548        if (!checker) {
32549          return new PropTypeError(
32550            'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
32551            '\nBad object: ' + JSON.stringify(props[propName], null, '  ') +
32552            '\nValid keys: ' +  JSON.stringify(Object.keys(shapeTypes), null, '  ')
32553          );
32554        }
32555        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
32556        if (error) {
32557          return error;
32558        }
32559      }
32560      return null;
32561    }
32562
32563    return createChainableTypeChecker(validate);
32564  }
32565
32566  function isNode(propValue) {
32567    switch (typeof propValue) {
32568      case 'number':
32569      case 'string':
32570      case 'undefined':
32571        return true;
32572      case 'boolean':
32573        return !propValue;
32574      case 'object':
32575        if (Array.isArray(propValue)) {
32576          return propValue.every(isNode);
32577        }
32578        if (propValue === null || isValidElement(propValue)) {
32579          return true;
32580        }
32581
32582        var iteratorFn = getIteratorFn(propValue);
32583        if (iteratorFn) {
32584          var iterator = iteratorFn.call(propValue);
32585          var step;
32586          if (iteratorFn !== propValue.entries) {
32587            while (!(step = iterator.next()).done) {
32588              if (!isNode(step.value)) {
32589                return false;
32590              }
32591            }
32592          } else {
32593            // Iterator will provide entry [k,v] tuples rather than values.
32594            while (!(step = iterator.next()).done) {
32595              var entry = step.value;
32596              if (entry) {
32597                if (!isNode(entry[1])) {
32598                  return false;
32599                }
32600              }
32601            }
32602          }
32603        } else {
32604          return false;
32605        }
32606
32607        return true;
32608      default:
32609        return false;
32610    }
32611  }
32612
32613  function isSymbol(propType, propValue) {
32614    // Native Symbol.
32615    if (propType === 'symbol') {
32616      return true;
32617    }
32618
32619    // falsy value can't be a Symbol
32620    if (!propValue) {
32621      return false;
32622    }
32623
32624    // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
32625    if (propValue['@@toStringTag'] === 'Symbol') {
32626      return true;
32627    }
32628
32629    // Fallback for non-spec compliant Symbols which are polyfilled.
32630    if (typeof Symbol === 'function' && propValue instanceof Symbol) {
32631      return true;
32632    }
32633
32634    return false;
32635  }
32636
32637  // Equivalent of `typeof` but with special handling for array and regexp.
32638  function getPropType(propValue) {
32639    var propType = typeof propValue;
32640    if (Array.isArray(propValue)) {
32641      return 'array';
32642    }
32643    if (propValue instanceof RegExp) {
32644      // Old webkits (at least until Android 4.0) return 'function' rather than
32645      // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
32646      // passes PropTypes.object.
32647      return 'object';
32648    }
32649    if (isSymbol(propType, propValue)) {
32650      return 'symbol';
32651    }
32652    return propType;
32653  }
32654
32655  // This handles more types than `getPropType`. Only used for error messages.
32656  // See `createPrimitiveTypeChecker`.
32657  function getPreciseType(propValue) {
32658    if (typeof propValue === 'undefined' || propValue === null) {
32659      return '' + propValue;
32660    }
32661    var propType = getPropType(propValue);
32662    if (propType === 'object') {
32663      if (propValue instanceof Date) {
32664        return 'date';
32665      } else if (propValue instanceof RegExp) {
32666        return 'regexp';
32667      }
32668    }
32669    return propType;
32670  }
32671
32672  // Returns a string that is postfixed to a warning about an invalid type.
32673  // For example, "undefined" or "of type array"
32674  function getPostfixForTypeWarning(value) {
32675    var type = getPreciseType(value);
32676    switch (type) {
32677      case 'array':
32678      case 'object':
32679        return 'an ' + type;
32680      case 'boolean':
32681      case 'date':
32682      case 'regexp':
32683        return 'a ' + type;
32684      default:
32685        return type;
32686    }
32687  }
32688
32689  // Returns class name of the object, if any.
32690  function getClassName(propValue) {
32691    if (!propValue.constructor || !propValue.constructor.name) {
32692      return ANONYMOUS;
32693    }
32694    return propValue.constructor.name;
32695  }
32696
32697  ReactPropTypes.checkPropTypes = checkPropTypes;
32698  ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
32699  ReactPropTypes.PropTypes = ReactPropTypes;
32700
32701  return ReactPropTypes;
32702};
32703
32704
32705/***/ }),
32706
vendor: 908 bytes, lines 32707-32732
32707/***/ "./node_modules/prop-types/index.js":
32708/*!******************************************!*\
32709  !*** ./node_modules/prop-types/index.js ***!
32710  \******************************************/
32711/*! no static exports found */
32712/***/ (function(module, exports, __webpack_require__) {
32713
32714/**
32715 * Copyright (c) 2013-present, Facebook, Inc.
32716 *
32717 * This source code is licensed under the MIT license found in the
32718 * LICENSE file in the root directory of this source tree.
32719 */
32720
32721if (true) {
32722  var ReactIs = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js");
32723
32724  // By explicitly using `prop-types` you are opting into new development behavior.
32725  // http://fb.me/prop-types-in-prod
32726  var throwOnDirectAccess = true;
32727  module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "./node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess);
32728} else {}
32729
32730
32731/***/ }),
32732
vendor: 679 bytes, lines 32733-32756
32733/***/ "./node_modules/prop-types/lib/ReactPropTypesSecret.js":
32734/*!*************************************************************!*\
32735  !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
32736  \*************************************************************/
32737/*! no static exports found */
32738/***/ (function(module, exports, __webpack_require__) {
32739
32740"use strict";
32741/**
32742 * Copyright (c) 2013-present, Facebook, Inc.
32743 *
32744 * This source code is licensed under the MIT license found in the
32745 * LICENSE file in the root directory of this source tree.
32746 */
32747
32748
32749
32750var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
32751
32752module.exports = ReactPropTypesSecret;
32753
32754
32755/***/ }),
32756
vendor: 859,423 bytes, lines 32757-57780
32757/***/ "./node_modules/react-dom/cjs/react-dom.development.js":
32758/*!*************************************************************!*\
32759  !*** ./node_modules/react-dom/cjs/react-dom.development.js ***!
32760  \*************************************************************/
32761/*! no static exports found */
32762/***/ (function(module, exports, __webpack_require__) {
32763
32764"use strict";
32765/** @license React v16.14.0
32766 * react-dom.development.js
32767 *
32768 * Copyright (c) Facebook, Inc. and its affiliates.
32769 *
32770 * This source code is licensed under the MIT license found in the
32771 * LICENSE file in the root directory of this source tree.
32772 */
32773
32774
32775
32776
32777
32778if (true) {
32779  (function() {
32780'use strict';
32781
32782var React = __webpack_require__(/*! react */ "./node_modules/react/index.js");
32783var _assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js");
32784var Scheduler = __webpack_require__(/*! scheduler */ "./node_modules/scheduler/index.js");
32785var checkPropTypes = __webpack_require__(/*! prop-types/checkPropTypes */ "./node_modules/prop-types/checkPropTypes.js");
32786var tracing = __webpack_require__(/*! scheduler/tracing */ "./node_modules/scheduler/tracing.js");
32787
32788var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; // Prevent newer renderers from RTE when used with older react package versions.
32789// Current owner and dispatcher used to share the same ref,
32790// but PR #14548 split them out to better support the react-debug-tools package.
32791
32792if (!ReactSharedInternals.hasOwnProperty('ReactCurrentDispatcher')) {
32793  ReactSharedInternals.ReactCurrentDispatcher = {
32794    current: null
32795  };
32796}
32797
32798if (!ReactSharedInternals.hasOwnProperty('ReactCurrentBatchConfig')) {
32799  ReactSharedInternals.ReactCurrentBatchConfig = {
32800    suspense: null
32801  };
32802}
32803
32804// by calls to these methods by a Babel plugin.
32805//
32806// In PROD (or in packages without access to React internals),
32807// they are left as they are instead.
32808
32809function warn(format) {
32810  {
32811    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
32812      args[_key - 1] = arguments[_key];
32813    }
32814
32815    printWarning('warn', format, args);
32816  }
32817}
32818function error(format) {
32819  {
32820    for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
32821      args[_key2 - 1] = arguments[_key2];
32822    }
32823
32824    printWarning('error', format, args);
32825  }
32826}
32827
32828function printWarning(level, format, args) {
32829  // When changing this logic, you might want to also
32830  // update consoleWithStackDev.www.js as well.
32831  {
32832    var hasExistingStack = args.length > 0 && typeof args[args.length - 1] === 'string' && args[args.length - 1].indexOf('\n    in') === 0;
32833
32834    if (!hasExistingStack) {
32835      var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
32836      var stack = ReactDebugCurrentFrame.getStackAddendum();
32837
32838      if (stack !== '') {
32839        format += '%s';
32840        args = args.concat([stack]);
32841      }
32842    }
32843
32844    var argsWithFormat = args.map(function (item) {
32845      return '' + item;
32846    }); // Careful: RN currently depends on this prefix
32847
32848    argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it
32849    // breaks IE9: https://github.com/facebook/react/issues/13610
32850    // eslint-disable-next-line react-internal/no-production-logging
32851
32852    Function.prototype.apply.call(console[level], console, argsWithFormat);
32853
32854    try {
32855      // --- Welcome to debugging React ---
32856      // This error was thrown as a convenience so that you can use this stack
32857      // to find the callsite that caused this warning to fire.
32858      var argIndex = 0;
32859      var message = 'Warning: ' + format.replace(/%s/g, function () {
32860        return args[argIndex++];
32861      });
32862      throw new Error(message);
32863    } catch (x) {}
32864  }
32865}
32866
32867if (!React) {
32868  {
32869    throw Error( "ReactDOM was loaded before React. Make sure you load the React package before loading ReactDOM." );
32870  }
32871}
32872
32873var invokeGuardedCallbackImpl = function (name, func, context, a, b, c, d, e, f) {
32874  var funcArgs = Array.prototype.slice.call(arguments, 3);
32875
32876  try {
32877    func.apply(context, funcArgs);
32878  } catch (error) {
32879    this.onError(error);
32880  }
32881};
32882
32883{
32884  // In DEV mode, we swap out invokeGuardedCallback for a special version
32885  // that plays more nicely with the browser's DevTools. The idea is to preserve
32886  // "Pause on exceptions" behavior. Because React wraps all user-provided
32887  // functions in invokeGuardedCallback, and the production version of
32888  // invokeGuardedCallback uses a try-catch, all user exceptions are treated
32889  // like caught exceptions, and the DevTools won't pause unless the developer
32890  // takes the extra step of enabling pause on caught exceptions. This is
32891  // unintuitive, though, because even though React has caught the error, from
32892  // the developer's perspective, the error is uncaught.
32893  //
32894  // To preserve the expected "Pause on exceptions" behavior, we don't use a
32895  // try-catch in DEV. Instead, we synchronously dispatch a fake event to a fake
32896  // DOM node, and call the user-provided callback from inside an event handler
32897  // for that fake event. If the callback throws, the error is "captured" using
32898  // a global event handler. But because the error happens in a different
32899  // event loop context, it does not interrupt the normal program flow.
32900  // Effectively, this gives us try-catch behavior without actually using
32901  // try-catch. Neat!
32902  // Check that the browser supports the APIs we need to implement our special
32903  // DEV version of invokeGuardedCallback
32904  if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') {
32905    var fakeNode = document.createElement('react');
32906
32907    var invokeGuardedCallbackDev = function (name, func, context, a, b, c, d, e, f) {
32908      // If document doesn't exist we know for sure we will crash in this method
32909      // when we call document.createEvent(). However this can cause confusing
32910      // errors: https://github.com/facebookincubator/create-react-app/issues/3482
32911      // So we preemptively throw with a better message instead.
32912      if (!(typeof document !== 'undefined')) {
32913        {
32914          throw Error( "The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`), or you can change the test itself to be asynchronous." );
32915        }
32916      }
32917
32918      var evt = document.createEvent('Event'); // Keeps track of whether the user-provided callback threw an error. We
32919      // set this to true at the beginning, then set it to false right after
32920      // calling the function. If the function errors, `didError` will never be
32921      // set to false. This strategy works even if the browser is flaky and
32922      // fails to call our global error handler, because it doesn't rely on
32923      // the error event at all.
32924
32925      var didError = true; // Keeps track of the value of window.event so that we can reset it
32926      // during the callback to let user code access window.event in the
32927      // browsers that support it.
32928
32929      var windowEvent = window.event; // Keeps track of the descriptor of window.event to restore it after event
32930      // dispatching: https://github.com/facebook/react/issues/13688
32931
32932      var windowEventDescriptor = Object.getOwnPropertyDescriptor(window, 'event'); // Create an event handler for our fake event. We will synchronously
32933      // dispatch our fake event using `dispatchEvent`. Inside the handler, we
32934      // call the user-provided callback.
32935
32936      var funcArgs = Array.prototype.slice.call(arguments, 3);
32937
32938      function callCallback() {
32939        // We immediately remove the callback from event listeners so that
32940        // nested `invokeGuardedCallback` calls do not clash. Otherwise, a
32941        // nested call would trigger the fake event handlers of any call higher
32942        // in the stack.
32943        fakeNode.removeEventListener(evtType, callCallback, false); // We check for window.hasOwnProperty('event') to prevent the
32944        // window.event assignment in both IE <= 10 as they throw an error
32945        // "Member not found" in strict mode, and in Firefox which does not
32946        // support window.event.
32947
32948        if (typeof window.event !== 'undefined' && window.hasOwnProperty('event')) {
32949          window.event = windowEvent;
32950        }
32951
32952        func.apply(context, funcArgs);
32953        didError = false;
32954      } // Create a global error event handler. We use this to capture the value
32955      // that was thrown. It's possible that this error handler will fire more
32956      // than once; for example, if non-React code also calls `dispatchEvent`
32957      // and a handler for that event throws. We should be resilient to most of
32958      // those cases. Even if our error event handler fires more than once, the
32959      // last error event is always used. If the callback actually does error,
32960      // we know that the last error event is the correct one, because it's not
32961      // possible for anything else to have happened in between our callback
32962      // erroring and the code that follows the `dispatchEvent` call below. If
32963      // the callback doesn't error, but the error event was fired, we know to
32964      // ignore it because `didError` will be false, as described above.
32965
32966
32967      var error; // Use this to track whether the error event is ever called.
32968
32969      var didSetError = false;
32970      var isCrossOriginError = false;
32971
32972      function handleWindowError(event) {
32973        error = event.error;
32974        didSetError = true;
32975
32976        if (error === null && event.colno === 0 && event.lineno === 0) {
32977          isCrossOriginError = true;
32978        }
32979
32980        if (event.defaultPrevented) {
32981          // Some other error handler has prevented default.
32982          // Browsers silence the error report if this happens.
32983          // We'll remember this to later decide whether to log it or not.
32984          if (error != null && typeof error === 'object') {
32985            try {
32986              error._suppressLogging = true;
32987            } catch (inner) {// Ignore.
32988            }
32989          }
32990        }
32991      } // Create a fake event type.
32992
32993
32994      var evtType = "react-" + (name ? name : 'invokeguardedcallback'); // Attach our event handlers
32995
32996      window.addEventListener('error', handleWindowError);
32997      fakeNode.addEventListener(evtType, callCallback, false); // Synchronously dispatch our fake event. If the user-provided function
32998      // errors, it will trigger our global error handler.
32999
33000      evt.initEvent(evtType, false, false);
33001      fakeNode.dispatchEvent(evt);
33002
33003      if (windowEventDescriptor) {
33004        Object.defineProperty(window, 'event', windowEventDescriptor);
33005      }
33006
33007      if (didError) {
33008        if (!didSetError) {
33009          // The callback errored, but the error event never fired.
33010          error = new Error('An error was thrown inside one of your components, but React ' + "doesn't know what it was. This is likely due to browser " + 'flakiness. React does its best to preserve the "Pause on ' + 'exceptions" behavior of the DevTools, which requires some ' + "DEV-mode only tricks. It's possible that these don't work in " + 'your browser. Try triggering the error in production mode, ' + 'or switching to a modern browser. If you suspect that this is ' + 'actually an issue with React, please file an issue.');
33011        } else if (isCrossOriginError) {
33012          error = new Error("A cross-origin error was thrown. React doesn't have access to " + 'the actual error object in development. ' + 'See https://fb.me/react-crossorigin-error for more information.');
33013        }
33014
33015        this.onError(error);
33016      } // Remove our event listeners
33017
33018
33019      window.removeEventListener('error', handleWindowError);
33020    };
33021
33022    invokeGuardedCallbackImpl = invokeGuardedCallbackDev;
33023  }
33024}
33025
33026var invokeGuardedCallbackImpl$1 = invokeGuardedCallbackImpl;
33027
33028var hasError = false;
33029var caughtError = null; // Used by event system to capture/rethrow the first error.
33030
33031var hasRethrowError = false;
33032var rethrowError = null;
33033var reporter = {
33034  onError: function (error) {
33035    hasError = true;
33036    caughtError = error;
33037  }
33038};
33039/**
33040 * Call a function while guarding against errors that happens within it.
33041 * Returns an error if it throws, otherwise null.
33042 *
33043 * In production, this is implemented using a try-catch. The reason we don't
33044 * use a try-catch directly is so that we can swap out a different
33045 * implementation in DEV mode.
33046 *
33047 * @param {String} name of the guard to use for logging or debugging
33048 * @param {Function} func The function to invoke
33049 * @param {*} context The context to use when calling the function
33050 * @param {...*} args Arguments for function
33051 */
33052
33053function invokeGuardedCallback(name, func, context, a, b, c, d, e, f) {
33054  hasError = false;
33055  caughtError = null;
33056  invokeGuardedCallbackImpl$1.apply(reporter, arguments);
33057}
33058/**
33059 * Same as invokeGuardedCallback, but instead of returning an error, it stores
33060 * it in a global so it can be rethrown by `rethrowCaughtError` later.
33061 * TODO: See if caughtError and rethrowError can be unified.
33062 *
33063 * @param {String} name of the guard to use for logging or debugging
33064 * @param {Function} func The function to invoke
33065 * @param {*} context The context to use when calling the function
33066 * @param {...*} args Arguments for function
33067 */
33068
33069function invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) {
33070  invokeGuardedCallback.apply(this, arguments);
33071
33072  if (hasError) {
33073    var error = clearCaughtError();
33074
33075    if (!hasRethrowError) {
33076      hasRethrowError = true;
33077      rethrowError = error;
33078    }
33079  }
33080}
33081/**
33082 * During execution of guarded functions we will capture the first error which
33083 * we will rethrow to be handled by the top level error handler.
33084 */
33085
33086function rethrowCaughtError() {
33087  if (hasRethrowError) {
33088    var error = rethrowError;
33089    hasRethrowError = false;
33090    rethrowError = null;
33091    throw error;
33092  }
33093}
33094function hasCaughtError() {
33095  return hasError;
33096}
33097function clearCaughtError() {
33098  if (hasError) {
33099    var error = caughtError;
33100    hasError = false;
33101    caughtError = null;
33102    return error;
33103  } else {
33104    {
33105      {
33106        throw Error( "clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue." );
33107      }
33108    }
33109  }
33110}
33111
33112var getFiberCurrentPropsFromNode = null;
33113var getInstanceFromNode = null;
33114var getNodeFromInstance = null;
33115function setComponentTree(getFiberCurrentPropsFromNodeImpl, getInstanceFromNodeImpl, getNodeFromInstanceImpl) {
33116  getFiberCurrentPropsFromNode = getFiberCurrentPropsFromNodeImpl;
33117  getInstanceFromNode = getInstanceFromNodeImpl;
33118  getNodeFromInstance = getNodeFromInstanceImpl;
33119
33120  {
33121    if (!getNodeFromInstance || !getInstanceFromNode) {
33122      error('EventPluginUtils.setComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.');
33123    }
33124  }
33125}
33126var validateEventDispatches;
33127
33128{
33129  validateEventDispatches = function (event) {
33130    var dispatchListeners = event._dispatchListeners;
33131    var dispatchInstances = event._dispatchInstances;
33132    var listenersIsArr = Array.isArray(dispatchListeners);
33133    var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0;
33134    var instancesIsArr = Array.isArray(dispatchInstances);
33135    var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0;
33136
33137    if (instancesIsArr !== listenersIsArr || instancesLen !== listenersLen) {
33138      error('EventPluginUtils: Invalid `event`.');
33139    }
33140  };
33141}
33142/**
33143 * Dispatch the event to the listener.
33144 * @param {SyntheticEvent} event SyntheticEvent to handle
33145 * @param {function} listener Application-level callback
33146 * @param {*} inst Internal component instance
33147 */
33148
33149
33150function executeDispatch(event, listener, inst) {
33151  var type = event.type || 'unknown-event';
33152  event.currentTarget = getNodeFromInstance(inst);
33153  invokeGuardedCallbackAndCatchFirstError(type, listener, undefined, event);
33154  event.currentTarget = null;
33155}
33156/**
33157 * Standard/simple iteration through an event's collected dispatches.
33158 */
33159
33160function executeDispatchesInOrder(event) {
33161  var dispatchListeners = event._dispatchListeners;
33162  var dispatchInstances = event._dispatchInstances;
33163
33164  {
33165    validateEventDispatches(event);
33166  }
33167
33168  if (Array.isArray(dispatchListeners)) {
33169    for (var i = 0; i < dispatchListeners.length; i++) {
33170      if (event.isPropagationStopped()) {
33171        break;
33172      } // Listeners and Instances are two parallel arrays that are always in sync.
33173
33174
33175      executeDispatch(event, dispatchListeners[i], dispatchInstances[i]);
33176    }
33177  } else if (dispatchListeners) {
33178    executeDispatch(event, dispatchListeners, dispatchInstances);
33179  }
33180
33181  event._dispatchListeners = null;
33182  event._dispatchInstances = null;
33183}
33184
33185var FunctionComponent = 0;
33186var ClassComponent = 1;
33187var IndeterminateComponent = 2; // Before we know whether it is function or class
33188
33189var HostRoot = 3; // Root of a host tree. Could be nested inside another node.
33190
33191var HostPortal = 4; // A subtree. Could be an entry point to a different renderer.
33192
33193var HostComponent = 5;
33194var HostText = 6;
33195var Fragment = 7;
33196var Mode = 8;
33197var ContextConsumer = 9;
33198var ContextProvider = 10;
33199var ForwardRef = 11;
33200var Profiler = 12;
33201var SuspenseComponent = 13;
33202var MemoComponent = 14;
33203var SimpleMemoComponent = 15;
33204var LazyComponent = 16;
33205var IncompleteClassComponent = 17;
33206var DehydratedFragment = 18;
33207var SuspenseListComponent = 19;
33208var FundamentalComponent = 20;
33209var ScopeComponent = 21;
33210var Block = 22;
33211
33212/**
33213 * Injectable ordering of event plugins.
33214 */
33215var eventPluginOrder = null;
33216/**
33217 * Injectable mapping from names to event plugin modules.
33218 */
33219
33220var namesToPlugins = {};
33221/**
33222 * Recomputes the plugin list using the injected plugins and plugin ordering.
33223 *
33224 * @private
33225 */
33226
33227function recomputePluginOrdering() {
33228  if (!eventPluginOrder) {
33229    // Wait until an `eventPluginOrder` is injected.
33230    return;
33231  }
33232
33233  for (var pluginName in namesToPlugins) {
33234    var pluginModule = namesToPlugins[pluginName];
33235    var pluginIndex = eventPluginOrder.indexOf(pluginName);
33236
33237    if (!(pluginIndex > -1)) {
33238      {
33239        throw Error( "EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `" + pluginName + "`." );
33240      }
33241    }
33242
33243    if (plugins[pluginIndex]) {
33244      continue;
33245    }
33246
33247    if (!pluginModule.extractEvents) {
33248      {
33249        throw Error( "EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `" + pluginName + "` does not." );
33250      }
33251    }
33252
33253    plugins[pluginIndex] = pluginModule;
33254    var publishedEvents = pluginModule.eventTypes;
33255
33256    for (var eventName in publishedEvents) {
33257      if (!publishEventForPlugin(publishedEvents[eventName], pluginModule, eventName)) {
33258        {
33259          throw Error( "EventPluginRegistry: Failed to publish event `" + eventName + "` for plugin `" + pluginName + "`." );
33260        }
33261      }
33262    }
33263  }
33264}
33265/**
33266 * Publishes an event so that it can be dispatched by the supplied plugin.
33267 *
33268 * @param {object} dispatchConfig Dispatch configuration for the event.
33269 * @param {object} PluginModule Plugin publishing the event.
33270 * @return {boolean} True if the event was successfully published.
33271 * @private
33272 */
33273
33274
33275function publishEventForPlugin(dispatchConfig, pluginModule, eventName) {
33276  if (!!eventNameDispatchConfigs.hasOwnProperty(eventName)) {
33277    {
33278      throw Error( "EventPluginRegistry: More than one plugin attempted to publish the same event name, `" + eventName + "`." );
33279    }
33280  }
33281
33282  eventNameDispatchConfigs[eventName] = dispatchConfig;
33283  var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;
33284
33285  if (phasedRegistrationNames) {
33286    for (var phaseName in phasedRegistrationNames) {
33287      if (phasedRegistrationNames.hasOwnProperty(phaseName)) {
33288        var phasedRegistrationName = phasedRegistrationNames[phaseName];
33289        publishRegistrationName(phasedRegistrationName, pluginModule, eventName);
33290      }
33291    }
33292
33293    return true;
33294  } else if (dispatchConfig.registrationName) {
33295    publishRegistrationName(dispatchConfig.registrationName, pluginModule, eventName);
33296    return true;
33297  }
33298
33299  return false;
33300}
33301/**
33302 * Publishes a registration name that is used to identify dispatched events.
33303 *
33304 * @param {string} registrationName Registration name to add.
33305 * @param {object} PluginModule Plugin publishing the event.
33306 * @private
33307 */
33308
33309
33310function publishRegistrationName(registrationName, pluginModule, eventName) {
33311  if (!!registrationNameModules[registrationName]) {
33312    {
33313      throw Error( "EventPluginRegistry: More than one plugin attempted to publish the same registration name, `" + registrationName + "`." );
33314    }
33315  }
33316
33317  registrationNameModules[registrationName] = pluginModule;
33318  registrationNameDependencies[registrationName] = pluginModule.eventTypes[eventName].dependencies;
33319
33320  {
33321    var lowerCasedName = registrationName.toLowerCase();
33322    possibleRegistrationNames[lowerCasedName] = registrationName;
33323
33324    if (registrationName === 'onDoubleClick') {
33325      possibleRegistrationNames.ondblclick = registrationName;
33326    }
33327  }
33328}
33329/**
33330 * Registers plugins so that they can extract and dispatch events.
33331 */
33332
33333/**
33334 * Ordered list of injected plugins.
33335 */
33336
33337
33338var plugins = [];
33339/**
33340 * Mapping from event name to dispatch config
33341 */
33342
33343var eventNameDispatchConfigs = {};
33344/**
33345 * Mapping from registration name to plugin module
33346 */
33347
33348var registrationNameModules = {};
33349/**
33350 * Mapping from registration name to event name
33351 */
33352
33353var registrationNameDependencies = {};
33354/**
33355 * Mapping from lowercase registration names to the properly cased version,
33356 * used to warn in the case of missing event handlers. Available
33357 * only in true.
33358 * @type {Object}
33359 */
33360
33361var possibleRegistrationNames =  {} ; // Trust the developer to only use possibleRegistrationNames in true
33362
33363/**
33364 * Injects an ordering of plugins (by plugin name). This allows the ordering
33365 * to be decoupled from injection of the actual plugins so that ordering is
33366 * always deterministic regardless of packaging, on-the-fly injection, etc.
33367 *
33368 * @param {array} InjectedEventPluginOrder
33369 * @internal
33370 */
33371
33372function injectEventPluginOrder(injectedEventPluginOrder) {
33373  if (!!eventPluginOrder) {
33374    {
33375      throw Error( "EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React." );
33376    }
33377  } // Clone the ordering so it cannot be dynamically mutated.
33378
33379
33380  eventPluginOrder = Array.prototype.slice.call(injectedEventPluginOrder);
33381  recomputePluginOrdering();
33382}
33383/**
33384 * Injects plugins to be used by plugin event system. The plugin names must be
33385 * in the ordering injected by `injectEventPluginOrder`.
33386 *
33387 * Plugins can be injected as part of page initialization or on-the-fly.
33388 *
33389 * @param {object} injectedNamesToPlugins Map from names to plugin modules.
33390 * @internal
33391 */
33392
33393function injectEventPluginsByName(injectedNamesToPlugins) {
33394  var isOrderingDirty = false;
33395
33396  for (var pluginName in injectedNamesToPlugins) {
33397    if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) {
33398      continue;
33399    }
33400
33401    var pluginModule = injectedNamesToPlugins[pluginName];
33402
33403    if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== pluginModule) {
33404      if (!!namesToPlugins[pluginName]) {
33405        {
33406          throw Error( "EventPluginRegistry: Cannot inject two different event plugins using the same name, `" + pluginName + "`." );
33407        }
33408      }
33409
33410      namesToPlugins[pluginName] = pluginModule;
33411      isOrderingDirty = true;
33412    }
33413  }
33414
33415  if (isOrderingDirty) {
33416    recomputePluginOrdering();
33417  }
33418}
33419
33420var canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');
33421
33422var PLUGIN_EVENT_SYSTEM = 1;
33423var IS_REPLAYED = 1 << 5;
33424var IS_FIRST_ANCESTOR = 1 << 6;
33425
33426var restoreImpl = null;
33427var restoreTarget = null;
33428var restoreQueue = null;
33429
33430function restoreStateOfTarget(target) {
33431  // We perform this translation at the end of the event loop so that we
33432  // always receive the correct fiber here
33433  var internalInstance = getInstanceFromNode(target);
33434
33435  if (!internalInstance) {
33436    // Unmounted
33437    return;
33438  }
33439
33440  if (!(typeof restoreImpl === 'function')) {
33441    {
33442      throw Error( "setRestoreImplementation() needs to be called to handle a target for controlled events. This error is likely caused by a bug in React. Please file an issue." );
33443    }
33444  }
33445
33446  var stateNode = internalInstance.stateNode; // Guard against Fiber being unmounted.
33447
33448  if (stateNode) {
33449    var _props = getFiberCurrentPropsFromNode(stateNode);
33450
33451    restoreImpl(internalInstance.stateNode, internalInstance.type, _props);
33452  }
33453}
33454
33455function setRestoreImplementation(impl) {
33456  restoreImpl = impl;
33457}
33458function enqueueStateRestore(target) {
33459  if (restoreTarget) {
33460    if (restoreQueue) {
33461      restoreQueue.push(target);
33462    } else {
33463      restoreQueue = [target];
33464    }
33465  } else {
33466    restoreTarget = target;
33467  }
33468}
33469function needsStateRestore() {
33470  return restoreTarget !== null || restoreQueue !== null;
33471}
33472function restoreStateIfNeeded() {
33473  if (!restoreTarget) {
33474    return;
33475  }
33476
33477  var target = restoreTarget;
33478  var queuedTargets = restoreQueue;
33479  restoreTarget = null;
33480  restoreQueue = null;
33481  restoreStateOfTarget(target);
33482
33483  if (queuedTargets) {
33484    for (var i = 0; i < queuedTargets.length; i++) {
33485      restoreStateOfTarget(queuedTargets[i]);
33486    }
33487  }
33488}
33489
33490var enableProfilerTimer = true; // Trace which interactions trigger each commit.
33491
33492var enableDeprecatedFlareAPI = false; // Experimental Host Component support.
33493
33494var enableFundamentalAPI = false; // Experimental Scope support.
33495var warnAboutStringRefs = false;
33496
33497// the renderer. Such as when we're dispatching events or if third party
33498// libraries need to call batchedUpdates. Eventually, this API will go away when
33499// everything is batched by default. We'll then have a similar API to opt-out of
33500// scheduled work and instead do synchronous work.
33501// Defaults
33502
33503var batchedUpdatesImpl = function (fn, bookkeeping) {
33504  return fn(bookkeeping);
33505};
33506
33507var discreteUpdatesImpl = function (fn, a, b, c, d) {
33508  return fn(a, b, c, d);
33509};
33510
33511var flushDiscreteUpdatesImpl = function () {};
33512
33513var batchedEventUpdatesImpl = batchedUpdatesImpl;
33514var isInsideEventHandler = false;
33515var isBatchingEventUpdates = false;
33516
33517function finishEventHandler() {
33518  // Here we wait until all updates have propagated, which is important
33519  // when using controlled components within layers:
33520  // https://github.com/facebook/react/issues/1698
33521  // Then we restore state of any controlled component.
33522  var controlledComponentsHavePendingUpdates = needsStateRestore();
33523
33524  if (controlledComponentsHavePendingUpdates) {
33525    // If a controlled event was fired, we may need to restore the state of
33526    // the DOM node back to the controlled value. This is necessary when React
33527    // bails out of the update without touching the DOM.
33528    flushDiscreteUpdatesImpl();
33529    restoreStateIfNeeded();
33530  }
33531}
33532
33533function batchedUpdates(fn, bookkeeping) {
33534  if (isInsideEventHandler) {
33535    // If we are currently inside another batch, we need to wait until it
33536    // fully completes before restoring state.
33537    return fn(bookkeeping);
33538  }
33539
33540  isInsideEventHandler = true;
33541
33542  try {
33543    return batchedUpdatesImpl(fn, bookkeeping);
33544  } finally {
33545    isInsideEventHandler = false;
33546    finishEventHandler();
33547  }
33548}
33549function batchedEventUpdates(fn, a, b) {
33550  if (isBatchingEventUpdates) {
33551    // If we are currently inside another batch, we need to wait until it
33552    // fully completes before restoring state.
33553    return fn(a, b);
33554  }
33555
33556  isBatchingEventUpdates = true;
33557
33558  try {
33559    return batchedEventUpdatesImpl(fn, a, b);
33560  } finally {
33561    isBatchingEventUpdates = false;
33562    finishEventHandler();
33563  }
33564} // This is for the React Flare event system
33565function discreteUpdates(fn, a, b, c, d) {
33566  var prevIsInsideEventHandler = isInsideEventHandler;
33567  isInsideEventHandler = true;
33568
33569  try {
33570    return discreteUpdatesImpl(fn, a, b, c, d);
33571  } finally {
33572    isInsideEventHandler = prevIsInsideEventHandler;
33573
33574    if (!isInsideEventHandler) {
33575      finishEventHandler();
33576    }
33577  }
33578}
33579function flushDiscreteUpdatesIfNeeded(timeStamp) {
33580  // event.timeStamp isn't overly reliable due to inconsistencies in
33581  // how different browsers have historically provided the time stamp.
33582  // Some browsers provide high-resolution time stamps for all events,
33583  // some provide low-resolution time stamps for all events. FF < 52
33584  // even mixes both time stamps together. Some browsers even report
33585  // negative time stamps or time stamps that are 0 (iOS9) in some cases.
33586  // Given we are only comparing two time stamps with equality (!==),
33587  // we are safe from the resolution differences. If the time stamp is 0
33588  // we bail-out of preventing the flush, which can affect semantics,
33589  // such as if an earlier flush removes or adds event listeners that
33590  // are fired in the subsequent flush. However, this is the same
33591  // behaviour as we had before this change, so the risks are low.
33592  if (!isInsideEventHandler && (!enableDeprecatedFlareAPI  )) {
33593    flushDiscreteUpdatesImpl();
33594  }
33595}
33596function setBatchingImplementation(_batchedUpdatesImpl, _discreteUpdatesImpl, _flushDiscreteUpdatesImpl, _batchedEventUpdatesImpl) {
33597  batchedUpdatesImpl = _batchedUpdatesImpl;
33598  discreteUpdatesImpl = _discreteUpdatesImpl;
33599  flushDiscreteUpdatesImpl = _flushDiscreteUpdatesImpl;
33600  batchedEventUpdatesImpl = _batchedEventUpdatesImpl;
33601}
33602
33603var DiscreteEvent = 0;
33604var UserBlockingEvent = 1;
33605var ContinuousEvent = 2;
33606
33607// A reserved attribute.
33608// It is handled by React separately and shouldn't be written to the DOM.
33609var RESERVED = 0; // A simple string attribute.
33610// Attributes that aren't in the whitelist are presumed to have this type.
33611
33612var STRING = 1; // A string attribute that accepts booleans in React. In HTML, these are called
33613// "enumerated" attributes with "true" and "false" as possible values.
33614// When true, it should be set to a "true" string.
33615// When false, it should be set to a "false" string.
33616
33617var BOOLEANISH_STRING = 2; // A real boolean attribute.
33618// When true, it should be present (set either to an empty string or its name).
33619// When false, it should be omitted.
33620
33621var BOOLEAN = 3; // An attribute that can be used as a flag as well as with a value.
33622// When true, it should be present (set either to an empty string or its name).
33623// When false, it should be omitted.
33624// For any other value, should be present with that value.
33625
33626var OVERLOADED_BOOLEAN = 4; // An attribute that must be numeric or parse as a numeric.
33627// When falsy, it should be removed.
33628
33629var NUMERIC = 5; // An attribute that must be positive numeric or parse as a positive numeric.
33630// When falsy, it should be removed.
33631
33632var POSITIVE_NUMERIC = 6;
33633
33634/* eslint-disable max-len */
33635var ATTRIBUTE_NAME_START_CHAR = ":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD";
33636/* eslint-enable max-len */
33637
33638var ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + "\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040";
33639var ROOT_ATTRIBUTE_NAME = 'data-reactroot';
33640var VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + ATTRIBUTE_NAME_START_CHAR + '][' + ATTRIBUTE_NAME_CHAR + ']*$');
33641var hasOwnProperty = Object.prototype.hasOwnProperty;
33642var illegalAttributeNameCache = {};
33643var validatedAttributeNameCache = {};
33644function isAttributeNameSafe(attributeName) {
33645  if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) {
33646    return true;
33647  }
33648
33649  if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) {
33650    return false;
33651  }
33652
33653  if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {
33654    validatedAttributeNameCache[attributeName] = true;
33655    return true;
33656  }
33657
33658  illegalAttributeNameCache[attributeName] = true;
33659
33660  {
33661    error('Invalid attribute name: `%s`', attributeName);
33662  }
33663
33664  return false;
33665}
33666function shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag) {
33667  if (propertyInfo !== null) {
33668    return propertyInfo.type === RESERVED;
33669  }
33670
33671  if (isCustomComponentTag) {
33672    return false;
33673  }
33674
33675  if (name.length > 2 && (name[0] === 'o' || name[0] === 'O') && (name[1] === 'n' || name[1] === 'N')) {
33676    return true;
33677  }
33678
33679  return false;
33680}
33681function shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag) {
33682  if (propertyInfo !== null && propertyInfo.type === RESERVED) {
33683    return false;
33684  }
33685
33686  switch (typeof value) {
33687    case 'function': // $FlowIssue symbol is perfectly valid here
33688
33689    case 'symbol':
33690      // eslint-disable-line
33691      return true;
33692
33693    case 'boolean':
33694      {
33695        if (isCustomComponentTag) {
33696          return false;
33697        }
33698
33699        if (propertyInfo !== null) {
33700          return !propertyInfo.acceptsBooleans;
33701        } else {
33702          var prefix = name.toLowerCase().slice(0, 5);
33703          return prefix !== 'data-' && prefix !== 'aria-';
33704        }
33705      }
33706
33707    default:
33708      return false;
33709  }
33710}
33711function shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag) {
33712  if (value === null || typeof value === 'undefined') {
33713    return true;
33714  }
33715
33716  if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag)) {
33717    return true;
33718  }
33719
33720  if (isCustomComponentTag) {
33721    return false;
33722  }
33723
33724  if (propertyInfo !== null) {
33725    switch (propertyInfo.type) {
33726      case BOOLEAN:
33727        return !value;
33728
33729      case OVERLOADED_BOOLEAN:
33730        return value === false;
33731
33732      case NUMERIC:
33733        return isNaN(value);
33734
33735      case POSITIVE_NUMERIC:
33736        return isNaN(value) || value < 1;
33737    }
33738  }
33739
33740  return false;
33741}
33742function getPropertyInfo(name) {
33743  return properties.hasOwnProperty(name) ? properties[name] : null;
33744}
33745
33746function PropertyInfoRecord(name, type, mustUseProperty, attributeName, attributeNamespace, sanitizeURL) {
33747  this.acceptsBooleans = type === BOOLEANISH_STRING || type === BOOLEAN || type === OVERLOADED_BOOLEAN;
33748  this.attributeName = attributeName;
33749  this.attributeNamespace = attributeNamespace;
33750  this.mustUseProperty = mustUseProperty;
33751  this.propertyName = name;
33752  this.type = type;
33753  this.sanitizeURL = sanitizeURL;
33754} // When adding attributes to this list, be sure to also add them to
33755// the `possibleStandardNames` module to ensure casing and incorrect
33756// name warnings.
33757
33758
33759var properties = {}; // These props are reserved by React. They shouldn't be written to the DOM.
33760
33761var reservedProps = ['children', 'dangerouslySetInnerHTML', // TODO: This prevents the assignment of defaultValue to regular
33762// elements (not just inputs). Now that ReactDOMInput assigns to the
33763// defaultValue property -- do we need this?
33764'defaultValue', 'defaultChecked', 'innerHTML', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'style'];
33765
33766reservedProps.forEach(function (name) {
33767  properties[name] = new PropertyInfoRecord(name, RESERVED, false, // mustUseProperty
33768  name, // attributeName
33769  null, // attributeNamespace
33770  false);
33771}); // A few React string attributes have a different name.
33772// This is a mapping from React prop names to the attribute names.
33773
33774[['acceptCharset', 'accept-charset'], ['className', 'class'], ['htmlFor', 'for'], ['httpEquiv', 'http-equiv']].forEach(function (_ref) {
33775  var name = _ref[0],
33776      attributeName = _ref[1];
33777  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty
33778  attributeName, // attributeName
33779  null, // attributeNamespace
33780  false);
33781}); // These are "enumerated" HTML attributes that accept "true" and "false".
33782// In React, we let users pass `true` and `false` even though technically
33783// these aren't boolean attributes (they are coerced to strings).
33784
33785['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(function (name) {
33786  properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty
33787  name.toLowerCase(), // attributeName
33788  null, // attributeNamespace
33789  false);
33790}); // These are "enumerated" SVG attributes that accept "true" and "false".
33791// In React, we let users pass `true` and `false` even though technically
33792// these aren't boolean attributes (they are coerced to strings).
33793// Since these are SVG attributes, their attribute names are case-sensitive.
33794
33795['autoReverse', 'externalResourcesRequired', 'focusable', 'preserveAlpha'].forEach(function (name) {
33796  properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty
33797  name, // attributeName
33798  null, // attributeNamespace
33799  false);
33800}); // These are HTML boolean attributes.
33801
33802['allowFullScreen', 'async', // Note: there is a special case that prevents it from being written to the DOM
33803// on the client side because the browsers are inconsistent. Instead we call focus().
33804'autoFocus', 'autoPlay', 'controls', 'default', 'defer', 'disabled', 'disablePictureInPicture', 'formNoValidate', 'hidden', 'loop', 'noModule', 'noValidate', 'open', 'playsInline', 'readOnly', 'required', 'reversed', 'scoped', 'seamless', // Microdata
33805'itemScope'].forEach(function (name) {
33806  properties[name] = new PropertyInfoRecord(name, BOOLEAN, false, // mustUseProperty
33807  name.toLowerCase(), // attributeName
33808  null, // attributeNamespace
33809  false);
33810}); // These are the few React props that we set as DOM properties
33811// rather than attributes. These are all booleans.
33812
33813['checked', // Note: `option.selected` is not updated if `select.multiple` is
33814// disabled with `removeAttribute`. We have special logic for handling this.
33815'multiple', 'muted', 'selected' // NOTE: if you add a camelCased prop to this list,
33816// you'll need to set attributeName to name.toLowerCase()
33817// instead in the assignment below.
33818].forEach(function (name) {
33819  properties[name] = new PropertyInfoRecord(name, BOOLEAN, true, // mustUseProperty
33820  name, // attributeName
33821  null, // attributeNamespace
33822  false);
33823}); // These are HTML attributes that are "overloaded booleans": they behave like
33824// booleans, but can also accept a string value.
33825
33826['capture', 'download' // NOTE: if you add a camelCased prop to this list,
33827// you'll need to set attributeName to name.toLowerCase()
33828// instead in the assignment below.
33829].forEach(function (name) {
33830  properties[name] = new PropertyInfoRecord(name, OVERLOADED_BOOLEAN, false, // mustUseProperty
33831  name, // attributeName
33832  null, // attributeNamespace
33833  false);
33834}); // These are HTML attributes that must be positive numbers.
33835
33836['cols', 'rows', 'size', 'span' // NOTE: if you add a camelCased prop to this list,
33837// you'll need to set attributeName to name.toLowerCase()
33838// instead in the assignment below.
33839].forEach(function (name) {
33840  properties[name] = new PropertyInfoRecord(name, POSITIVE_NUMERIC, false, // mustUseProperty
33841  name, // attributeName
33842  null, // attributeNamespace
33843  false);
33844}); // These are HTML attributes that must be numbers.
33845
33846['rowSpan', 'start'].forEach(function (name) {
33847  properties[name] = new PropertyInfoRecord(name, NUMERIC, false, // mustUseProperty
33848  name.toLowerCase(), // attributeName
33849  null, // attributeNamespace
33850  false);
33851});
33852var CAMELIZE = /[\-\:]([a-z])/g;
33853
33854var capitalize = function (token) {
33855  return token[1].toUpperCase();
33856}; // This is a list of all SVG attributes that need special casing, namespacing,
33857// or boolean value assignment. Regular attributes that just accept strings
33858// and have the same names are omitted, just like in the HTML whitelist.
33859// Some of these attributes can be hard to find. This list was created by
33860// scraping the MDN documentation.
33861
33862
33863['accent-height', 'alignment-baseline', 'arabic-form', 'baseline-shift', 'cap-height', 'clip-path', 'clip-rule', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'dominant-baseline', 'enable-background', 'fill-opacity', 'fill-rule', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'glyph-name', 'glyph-orientation-horizontal', 'glyph-orientation-vertical', 'horiz-adv-x', 'horiz-origin-x', 'image-rendering', 'letter-spacing', 'lighting-color', 'marker-end', 'marker-mid', 'marker-start', 'overline-position', 'overline-thickness', 'paint-order', 'panose-1', 'pointer-events', 'rendering-intent', 'shape-rendering', 'stop-color', 'stop-opacity', 'strikethrough-position', 'strikethrough-thickness', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'text-anchor', 'text-decoration', 'text-rendering', 'underline-position', 'underline-thickness', 'unicode-bidi', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'vector-effect', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'word-spacing', 'writing-mode', 'xmlns:xlink', 'x-height' // NOTE: if you add a camelCased prop to this list,
33864// you'll need to set attributeName to name.toLowerCase()
33865// instead in the assignment below.
33866].forEach(function (attributeName) {
33867  var name = attributeName.replace(CAMELIZE, capitalize);
33868  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty
33869  attributeName, null, // attributeNamespace
33870  false);
33871}); // String SVG attributes with the xlink namespace.
33872
33873['xlink:actuate', 'xlink:arcrole', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type' // NOTE: if you add a camelCased prop to this list,
33874// you'll need to set attributeName to name.toLowerCase()
33875// instead in the assignment below.
33876].forEach(function (attributeName) {
33877  var name = attributeName.replace(CAMELIZE, capitalize);
33878  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty
33879  attributeName, 'http://www.w3.org/1999/xlink', false);
33880}); // String SVG attributes with the xml namespace.
33881
33882['xml:base', 'xml:lang', 'xml:space' // NOTE: if you add a camelCased prop to this list,
33883// you'll need to set attributeName to name.toLowerCase()
33884// instead in the assignment below.
33885].forEach(function (attributeName) {
33886  var name = attributeName.replace(CAMELIZE, capitalize);
33887  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty
33888  attributeName, 'http://www.w3.org/XML/1998/namespace', false);
33889}); // These attribute exists both in HTML and SVG.
33890// The attribute name is case-sensitive in SVG so we can't just use
33891// the React name like we do for attributes that exist only in HTML.
33892
33893['tabIndex', 'crossOrigin'].forEach(function (attributeName) {
33894  properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty
33895  attributeName.toLowerCase(), // attributeName
33896  null, // attributeNamespace
33897  false);
33898}); // These attributes accept URLs. These must not allow javascript: URLS.
33899// These will also need to accept Trusted Types object in the future.
33900
33901var xlinkHref = 'xlinkHref';
33902properties[xlinkHref] = new PropertyInfoRecord('xlinkHref', STRING, false, // mustUseProperty
33903'xlink:href', 'http://www.w3.org/1999/xlink', true);
33904['src', 'href', 'action', 'formAction'].forEach(function (attributeName) {
33905  properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty
33906  attributeName.toLowerCase(), // attributeName
33907  null, // attributeNamespace
33908  true);
33909});
33910
33911var ReactDebugCurrentFrame = null;
33912
33913{
33914  ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
33915} // A javascript: URL can contain leading C0 control or \u0020 SPACE,
33916// and any newline or tab are filtered out as if they're not part of the URL.
33917// https://url.spec.whatwg.org/#url-parsing
33918// Tab or newline are defined as \r\n\t:
33919// https://infra.spec.whatwg.org/#ascii-tab-or-newline
33920// A C0 control is a code point in the range \u0000 NULL to \u001F
33921// INFORMATION SEPARATOR ONE, inclusive:
33922// https://infra.spec.whatwg.org/#c0-control-or-space
33923
33924/* eslint-disable max-len */
33925
33926
33927var isJavaScriptProtocol = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i;
33928var didWarn = false;
33929
33930function sanitizeURL(url) {
33931  {
33932    if (!didWarn && isJavaScriptProtocol.test(url)) {
33933      didWarn = true;
33934
33935      error('A future version of React will block javascript: URLs as a security precaution. ' + 'Use event handlers instead if you can. If you need to generate unsafe HTML try ' + 'using dangerouslySetInnerHTML instead. React was passed %s.', JSON.stringify(url));
33936    }
33937  }
33938}
33939
33940/**
33941 * Get the value for a property on a node. Only used in DEV for SSR validation.
33942 * The "expected" argument is used as a hint of what the expected value is.
33943 * Some properties have multiple equivalent values.
33944 */
33945function getValueForProperty(node, name, expected, propertyInfo) {
33946  {
33947    if (propertyInfo.mustUseProperty) {
33948      var propertyName = propertyInfo.propertyName;
33949      return node[propertyName];
33950    } else {
33951      if ( propertyInfo.sanitizeURL) {
33952        // If we haven't fully disabled javascript: URLs, and if
33953        // the hydration is successful of a javascript: URL, we
33954        // still want to warn on the client.
33955        sanitizeURL('' + expected);
33956      }
33957
33958      var attributeName = propertyInfo.attributeName;
33959      var stringValue = null;
33960
33961      if (propertyInfo.type === OVERLOADED_BOOLEAN) {
33962        if (node.hasAttribute(attributeName)) {
33963          var value = node.getAttribute(attributeName);
33964
33965          if (value === '') {
33966            return true;
33967          }
33968
33969          if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {
33970            return value;
33971          }
33972
33973          if (value === '' + expected) {
33974            return expected;
33975          }
33976
33977          return value;
33978        }
33979      } else if (node.hasAttribute(attributeName)) {
33980        if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {
33981          // We had an attribute but shouldn't have had one, so read it
33982          // for the error message.
33983          return node.getAttribute(attributeName);
33984        }
33985
33986        if (propertyInfo.type === BOOLEAN) {
33987          // If this was a boolean, it doesn't matter what the value is
33988          // the fact that we have it is the same as the expected.
33989          return expected;
33990        } // Even if this property uses a namespace we use getAttribute
33991        // because we assume its namespaced name is the same as our config.
33992        // To use getAttributeNS we need the local name which we don't have
33993        // in our config atm.
33994
33995
33996        stringValue = node.getAttribute(attributeName);
33997      }
33998
33999      if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {
34000        return stringValue === null ? expected : stringValue;
34001      } else if (stringValue === '' + expected) {
34002        return expected;
34003      } else {
34004        return stringValue;
34005      }
34006    }
34007  }
34008}
34009/**
34010 * Get the value for a attribute on a node. Only used in DEV for SSR validation.
34011 * The third argument is used as a hint of what the expected value is. Some
34012 * attributes have multiple equivalent values.
34013 */
34014
34015function getValueForAttribute(node, name, expected) {
34016  {
34017    if (!isAttributeNameSafe(name)) {
34018      return;
34019    }
34020
34021    if (!node.hasAttribute(name)) {
34022      return expected === undefined ? undefined : null;
34023    }
34024
34025    var value = node.getAttribute(name);
34026
34027    if (value === '' + expected) {
34028      return expected;
34029    }
34030
34031    return value;
34032  }
34033}
34034/**
34035 * Sets the value for a property on a node.
34036 *
34037 * @param {DOMElement} node
34038 * @param {string} name
34039 * @param {*} value
34040 */
34041
34042function setValueForProperty(node, name, value, isCustomComponentTag) {
34043  var propertyInfo = getPropertyInfo(name);
34044
34045  if (shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag)) {
34046    return;
34047  }
34048
34049  if (shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag)) {
34050    value = null;
34051  } // If the prop isn't in the special list, treat it as a simple attribute.
34052
34053
34054  if (isCustomComponentTag || propertyInfo === null) {
34055    if (isAttributeNameSafe(name)) {
34056      var _attributeName = name;
34057
34058      if (value === null) {
34059        node.removeAttribute(_attributeName);
34060      } else {
34061        node.setAttribute(_attributeName,  '' + value);
34062      }
34063    }
34064
34065    return;
34066  }
34067
34068  var mustUseProperty = propertyInfo.mustUseProperty;
34069
34070  if (mustUseProperty) {
34071    var propertyName = propertyInfo.propertyName;
34072
34073    if (value === null) {
34074      var type = propertyInfo.type;
34075      node[propertyName] = type === BOOLEAN ? false : '';
34076    } else {
34077      // Contrary to `setAttribute`, object properties are properly
34078      // `toString`ed by IE8/9.
34079      node[propertyName] = value;
34080    }
34081
34082    return;
34083  } // The rest are treated as attributes with special cases.
34084
34085
34086  var attributeName = propertyInfo.attributeName,
34087      attributeNamespace = propertyInfo.attributeNamespace;
34088
34089  if (value === null) {
34090    node.removeAttribute(attributeName);
34091  } else {
34092    var _type = propertyInfo.type;
34093    var attributeValue;
34094
34095    if (_type === BOOLEAN || _type === OVERLOADED_BOOLEAN && value === true) {
34096      // If attribute type is boolean, we know for sure it won't be an execution sink
34097      // and we won't require Trusted Type here.
34098      attributeValue = '';
34099    } else {
34100      // `setAttribute` with objects becomes only `[object]` in IE8/9,
34101      // ('' + value) makes it output the correct toString()-value.
34102      {
34103        attributeValue = '' + value;
34104      }
34105
34106      if (propertyInfo.sanitizeURL) {
34107        sanitizeURL(attributeValue.toString());
34108      }
34109    }
34110
34111    if (attributeNamespace) {
34112      node.setAttributeNS(attributeNamespace, attributeName, attributeValue);
34113    } else {
34114      node.setAttribute(attributeName, attributeValue);
34115    }
34116  }
34117}
34118
34119var BEFORE_SLASH_RE = /^(.*)[\\\/]/;
34120function describeComponentFrame (name, source, ownerName) {
34121  var sourceInfo = '';
34122
34123  if (source) {
34124    var path = source.fileName;
34125    var fileName = path.replace(BEFORE_SLASH_RE, '');
34126
34127    {
34128      // In DEV, include code for a common special case:
34129      // prefer "folder/index.js" instead of just "index.js".
34130      if (/^index\./.test(fileName)) {
34131        var match = path.match(BEFORE_SLASH_RE);
34132
34133        if (match) {
34134          var pathBeforeSlash = match[1];
34135
34136          if (pathBeforeSlash) {
34137            var folderName = pathBeforeSlash.replace(BEFORE_SLASH_RE, '');
34138            fileName = folderName + '/' + fileName;
34139          }
34140        }
34141      }
34142    }
34143
34144    sourceInfo = ' (at ' + fileName + ':' + source.lineNumber + ')';
34145  } else if (ownerName) {
34146    sourceInfo = ' (created by ' + ownerName + ')';
34147  }
34148
34149  return '\n    in ' + (name || 'Unknown') + sourceInfo;
34150}
34151
34152// The Symbol used to tag the ReactElement-like types. If there is no native Symbol
34153// nor polyfill, then a plain number is used for performance.
34154var hasSymbol = typeof Symbol === 'function' && Symbol.for;
34155var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
34156var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
34157var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
34158var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
34159var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
34160var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
34161var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
34162var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
34163var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
34164var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
34165var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
34166var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
34167var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
34168var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
34169var MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
34170var FAUX_ITERATOR_SYMBOL = '@@iterator';
34171function getIteratorFn(maybeIterable) {
34172  if (maybeIterable === null || typeof maybeIterable !== 'object') {
34173    return null;
34174  }
34175
34176  var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];
34177
34178  if (typeof maybeIterator === 'function') {
34179    return maybeIterator;
34180  }
34181
34182  return null;
34183}
34184
34185var Uninitialized = -1;
34186var Pending = 0;
34187var Resolved = 1;
34188var Rejected = 2;
34189function refineResolvedLazyComponent(lazyComponent) {
34190  return lazyComponent._status === Resolved ? lazyComponent._result : null;
34191}
34192function initializeLazyComponentType(lazyComponent) {
34193  if (lazyComponent._status === Uninitialized) {
34194    lazyComponent._status = Pending;
34195    var ctor = lazyComponent._ctor;
34196    var thenable = ctor();
34197    lazyComponent._result = thenable;
34198    thenable.then(function (moduleObject) {
34199      if (lazyComponent._status === Pending) {
34200        var defaultExport = moduleObject.default;
34201
34202        {
34203          if (defaultExport === undefined) {
34204            error('lazy: Expected the result of a dynamic import() call. ' + 'Instead received: %s\n\nYour code should look like: \n  ' + "const MyComponent = lazy(() => import('./MyComponent'))", moduleObject);
34205          }
34206        }
34207
34208        lazyComponent._status = Resolved;
34209        lazyComponent._result = defaultExport;
34210      }
34211    }, function (error) {
34212      if (lazyComponent._status === Pending) {
34213        lazyComponent._status = Rejected;
34214        lazyComponent._result = error;
34215      }
34216    });
34217  }
34218}
34219
34220function getWrappedName(outerType, innerType, wrapperName) {
34221  var functionName = innerType.displayName || innerType.name || '';
34222  return outerType.displayName || (functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName);
34223}
34224
34225function getComponentName(type) {
34226  if (type == null) {
34227    // Host root, text node or just invalid type.
34228    return null;
34229  }
34230
34231  {
34232    if (typeof type.tag === 'number') {
34233      error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.');
34234    }
34235  }
34236
34237  if (typeof type === 'function') {
34238    return type.displayName || type.name || null;
34239  }
34240
34241  if (typeof type === 'string') {
34242    return type;
34243  }
34244
34245  switch (type) {
34246    case REACT_FRAGMENT_TYPE:
34247      return 'Fragment';
34248
34249    case REACT_PORTAL_TYPE:
34250      return 'Portal';
34251
34252    case REACT_PROFILER_TYPE:
34253      return "Profiler";
34254
34255    case REACT_STRICT_MODE_TYPE:
34256      return 'StrictMode';
34257
34258    case REACT_SUSPENSE_TYPE:
34259      return 'Suspense';
34260
34261    case REACT_SUSPENSE_LIST_TYPE:
34262      return 'SuspenseList';
34263  }
34264
34265  if (typeof type === 'object') {
34266    switch (type.$$typeof) {
34267      case REACT_CONTEXT_TYPE:
34268        return 'Context.Consumer';
34269
34270      case REACT_PROVIDER_TYPE:
34271        return 'Context.Provider';
34272
34273      case REACT_FORWARD_REF_TYPE:
34274        return getWrappedName(type, type.render, 'ForwardRef');
34275
34276      case REACT_MEMO_TYPE:
34277        return getComponentName(type.type);
34278
34279      case REACT_BLOCK_TYPE:
34280        return getComponentName(type.render);
34281
34282      case REACT_LAZY_TYPE:
34283        {
34284          var thenable = type;
34285          var resolvedThenable = refineResolvedLazyComponent(thenable);
34286
34287          if (resolvedThenable) {
34288            return getComponentName(resolvedThenable);
34289          }
34290
34291          break;
34292        }
34293    }
34294  }
34295
34296  return null;
34297}
34298
34299var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;
34300
34301function describeFiber(fiber) {
34302  switch (fiber.tag) {
34303    case HostRoot:
34304    case HostPortal:
34305    case HostText:
34306    case Fragment:
34307    case ContextProvider:
34308    case ContextConsumer:
34309      return '';
34310
34311    default:
34312      var owner = fiber._debugOwner;
34313      var source = fiber._debugSource;
34314      var name = getComponentName(fiber.type);
34315      var ownerName = null;
34316
34317      if (owner) {
34318        ownerName = getComponentName(owner.type);
34319      }
34320
34321      return describeComponentFrame(name, source, ownerName);
34322  }
34323}
34324
34325function getStackByFiberInDevAndProd(workInProgress) {
34326  var info = '';
34327  var node = workInProgress;
34328
34329  do {
34330    info += describeFiber(node);
34331    node = node.return;
34332  } while (node);
34333
34334  return info;
34335}
34336var current = null;
34337var isRendering = false;
34338function getCurrentFiberOwnerNameInDevOrNull() {
34339  {
34340    if (current === null) {
34341      return null;
34342    }
34343
34344    var owner = current._debugOwner;
34345
34346    if (owner !== null && typeof owner !== 'undefined') {
34347      return getComponentName(owner.type);
34348    }
34349  }
34350
34351  return null;
34352}
34353function getCurrentFiberStackInDev() {
34354  {
34355    if (current === null) {
34356      return '';
34357    } // Safe because if current fiber exists, we are reconciling,
34358    // and it is guaranteed to be the work-in-progress version.
34359
34360
34361    return getStackByFiberInDevAndProd(current);
34362  }
34363}
34364function resetCurrentFiber() {
34365  {
34366    ReactDebugCurrentFrame$1.getCurrentStack = null;
34367    current = null;
34368    isRendering = false;
34369  }
34370}
34371function setCurrentFiber(fiber) {
34372  {
34373    ReactDebugCurrentFrame$1.getCurrentStack = getCurrentFiberStackInDev;
34374    current = fiber;
34375    isRendering = false;
34376  }
34377}
34378function setIsRendering(rendering) {
34379  {
34380    isRendering = rendering;
34381  }
34382}
34383
34384// Flow does not allow string concatenation of most non-string types. To work
34385// around this limitation, we use an opaque type that can only be obtained by
34386// passing the value through getToStringValue first.
34387function toString(value) {
34388  return '' + value;
34389}
34390function getToStringValue(value) {
34391  switch (typeof value) {
34392    case 'boolean':
34393    case 'number':
34394    case 'object':
34395    case 'string':
34396    case 'undefined':
34397      return value;
34398
34399    default:
34400      // function, symbol are assigned as empty strings
34401      return '';
34402  }
34403}
34404
34405var ReactDebugCurrentFrame$2 = null;
34406var ReactControlledValuePropTypes = {
34407  checkPropTypes: null
34408};
34409
34410{
34411  ReactDebugCurrentFrame$2 = ReactSharedInternals.ReactDebugCurrentFrame;
34412  var hasReadOnlyValue = {
34413    button: true,
34414    checkbox: true,
34415    image: true,
34416    hidden: true,
34417    radio: true,
34418    reset: true,
34419    submit: true
34420  };
34421  var propTypes = {
34422    value: function (props, propName, componentName) {
34423      if (hasReadOnlyValue[props.type] || props.onChange || props.readOnly || props.disabled || props[propName] == null || enableDeprecatedFlareAPI ) {
34424        return null;
34425      }
34426
34427      return new Error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.');
34428    },
34429    checked: function (props, propName, componentName) {
34430      if (props.onChange || props.readOnly || props.disabled || props[propName] == null || enableDeprecatedFlareAPI ) {
34431        return null;
34432      }
34433
34434      return new Error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.');
34435    }
34436  };
34437  /**
34438   * Provide a linked `value` attribute for controlled forms. You should not use
34439   * this outside of the ReactDOM controlled form components.
34440   */
34441
34442  ReactControlledValuePropTypes.checkPropTypes = function (tagName, props) {
34443    checkPropTypes(propTypes, props, 'prop', tagName, ReactDebugCurrentFrame$2.getStackAddendum);
34444  };
34445}
34446
34447function isCheckable(elem) {
34448  var type = elem.type;
34449  var nodeName = elem.nodeName;
34450  return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio');
34451}
34452
34453function getTracker(node) {
34454  return node._valueTracker;
34455}
34456
34457function detachTracker(node) {
34458  node._valueTracker = null;
34459}
34460
34461function getValueFromNode(node) {
34462  var value = '';
34463
34464  if (!node) {
34465    return value;
34466  }
34467
34468  if (isCheckable(node)) {
34469    value = node.checked ? 'true' : 'false';
34470  } else {
34471    value = node.value;
34472  }
34473
34474  return value;
34475}
34476
34477function trackValueOnNode(node) {
34478  var valueField = isCheckable(node) ? 'checked' : 'value';
34479  var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField);
34480  var currentValue = '' + node[valueField]; // if someone has already defined a value or Safari, then bail
34481  // and don't track value will cause over reporting of changes,
34482  // but it's better then a hard failure
34483  // (needed for certain tests that spyOn input values and Safari)
34484
34485  if (node.hasOwnProperty(valueField) || typeof descriptor === 'undefined' || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') {
34486    return;
34487  }
34488
34489  var get = descriptor.get,
34490      set = descriptor.set;
34491  Object.defineProperty(node, valueField, {
34492    configurable: true,
34493    get: function () {
34494      return get.call(this);
34495    },
34496    set: function (value) {
34497      currentValue = '' + value;
34498      set.call(this, value);
34499    }
34500  }); // We could've passed this the first time
34501  // but it triggers a bug in IE11 and Edge 14/15.
34502  // Calling defineProperty() again should be equivalent.
34503  // https://github.com/facebook/react/issues/11768
34504
34505  Object.defineProperty(node, valueField, {
34506    enumerable: descriptor.enumerable
34507  });
34508  var tracker = {
34509    getValue: function () {
34510      return currentValue;
34511    },
34512    setValue: function (value) {
34513      currentValue = '' + value;
34514    },
34515    stopTracking: function () {
34516      detachTracker(node);
34517      delete node[valueField];
34518    }
34519  };
34520  return tracker;
34521}
34522
34523function track(node) {
34524  if (getTracker(node)) {
34525    return;
34526  } // TODO: Once it's just Fiber we can move this to node._wrapperState
34527
34528
34529  node._valueTracker = trackValueOnNode(node);
34530}
34531function updateValueIfChanged(node) {
34532  if (!node) {
34533    return false;
34534  }
34535
34536  var tracker = getTracker(node); // if there is no tracker at this point it's unlikely
34537  // that trying again will succeed
34538
34539  if (!tracker) {
34540    return true;
34541  }
34542
34543  var lastValue = tracker.getValue();
34544  var nextValue = getValueFromNode(node);
34545
34546  if (nextValue !== lastValue) {
34547    tracker.setValue(nextValue);
34548    return true;
34549  }
34550
34551  return false;
34552}
34553
34554var didWarnValueDefaultValue = false;
34555var didWarnCheckedDefaultChecked = false;
34556var didWarnControlledToUncontrolled = false;
34557var didWarnUncontrolledToControlled = false;
34558
34559function isControlled(props) {
34560  var usesChecked = props.type === 'checkbox' || props.type === 'radio';
34561  return usesChecked ? props.checked != null : props.value != null;
34562}
34563/**
34564 * Implements an <input> host component that allows setting these optional
34565 * props: `checked`, `value`, `defaultChecked`, and `defaultValue`.
34566 *
34567 * If `checked` or `value` are not supplied (or null/undefined), user actions
34568 * that affect the checked state or value will trigger updates to the element.
34569 *
34570 * If they are supplied (and not null/undefined), the rendered element will not
34571 * trigger updates to the element. Instead, the props must change in order for
34572 * the rendered element to be updated.
34573 *
34574 * The rendered element will be initialized as unchecked (or `defaultChecked`)
34575 * with an empty value (or `defaultValue`).
34576 *
34577 * See http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html
34578 */
34579
34580
34581function getHostProps(element, props) {
34582  var node = element;
34583  var checked = props.checked;
34584
34585  var hostProps = _assign({}, props, {
34586    defaultChecked: undefined,
34587    defaultValue: undefined,
34588    value: undefined,
34589    checked: checked != null ? checked : node._wrapperState.initialChecked
34590  });
34591
34592  return hostProps;
34593}
34594function initWrapperState(element, props) {
34595  {
34596    ReactControlledValuePropTypes.checkPropTypes('input', props);
34597
34598    if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) {
34599      error('%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type);
34600
34601      didWarnCheckedDefaultChecked = true;
34602    }
34603
34604    if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {
34605      error('%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type);
34606
34607      didWarnValueDefaultValue = true;
34608    }
34609  }
34610
34611  var node = element;
34612  var defaultValue = props.defaultValue == null ? '' : props.defaultValue;
34613  node._wrapperState = {
34614    initialChecked: props.checked != null ? props.checked : props.defaultChecked,
34615    initialValue: getToStringValue(props.value != null ? props.value : defaultValue),
34616    controlled: isControlled(props)
34617  };
34618}
34619function updateChecked(element, props) {
34620  var node = element;
34621  var checked = props.checked;
34622
34623  if (checked != null) {
34624    setValueForProperty(node, 'checked', checked, false);
34625  }
34626}
34627function updateWrapper(element, props) {
34628  var node = element;
34629
34630  {
34631    var controlled = isControlled(props);
34632
34633    if (!node._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) {
34634      error('A component is changing an uncontrolled input of type %s to be controlled. ' + 'Input elements should not switch from uncontrolled to controlled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', props.type);
34635
34636      didWarnUncontrolledToControlled = true;
34637    }
34638
34639    if (node._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) {
34640      error('A component is changing a controlled input of type %s to be uncontrolled. ' + 'Input elements should not switch from controlled to uncontrolled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', props.type);
34641
34642      didWarnControlledToUncontrolled = true;
34643    }
34644  }
34645
34646  updateChecked(element, props);
34647  var value = getToStringValue(props.value);
34648  var type = props.type;
34649
34650  if (value != null) {
34651    if (type === 'number') {
34652      if (value === 0 && node.value === '' || // We explicitly want to coerce to number here if possible.
34653      // eslint-disable-next-line
34654      node.value != value) {
34655        node.value = toString(value);
34656      }
34657    } else if (node.value !== toString(value)) {
34658      node.value = toString(value);
34659    }
34660  } else if (type === 'submit' || type === 'reset') {
34661    // Submit/reset inputs need the attribute removed completely to avoid
34662    // blank-text buttons.
34663    node.removeAttribute('value');
34664    return;
34665  }
34666
34667  {
34668    // When syncing the value attribute, the value comes from a cascade of
34669    // properties:
34670    //  1. The value React property
34671    //  2. The defaultValue React property
34672    //  3. Otherwise there should be no change
34673    if (props.hasOwnProperty('value')) {
34674      setDefaultValue(node, props.type, value);
34675    } else if (props.hasOwnProperty('defaultValue')) {
34676      setDefaultValue(node, props.type, getToStringValue(props.defaultValue));
34677    }
34678  }
34679
34680  {
34681    // When syncing the checked attribute, it only changes when it needs
34682    // to be removed, such as transitioning from a checkbox into a text input
34683    if (props.checked == null && props.defaultChecked != null) {
34684      node.defaultChecked = !!props.defaultChecked;
34685    }
34686  }
34687}
34688function postMountWrapper(element, props, isHydrating) {
34689  var node = element; // Do not assign value if it is already set. This prevents user text input
34690  // from being lost during SSR hydration.
34691
34692  if (props.hasOwnProperty('value') || props.hasOwnProperty('defaultValue')) {
34693    var type = props.type;
34694    var isButton = type === 'submit' || type === 'reset'; // Avoid setting value attribute on submit/reset inputs as it overrides the
34695    // default value provided by the browser. See: #12872
34696
34697    if (isButton && (props.value === undefined || props.value === null)) {
34698      return;
34699    }
34700
34701    var initialValue = toString(node._wrapperState.initialValue); // Do not assign value if it is already set. This prevents user text input
34702    // from being lost during SSR hydration.
34703
34704    if (!isHydrating) {
34705      {
34706        // When syncing the value attribute, the value property should use
34707        // the wrapperState._initialValue property. This uses:
34708        //
34709        //   1. The value React property when present
34710        //   2. The defaultValue React property when present
34711        //   3. An empty string
34712        if (initialValue !== node.value) {
34713          node.value = initialValue;
34714        }
34715      }
34716    }
34717
34718    {
34719      // Otherwise, the value attribute is synchronized to the property,
34720      // so we assign defaultValue to the same thing as the value property
34721      // assignment step above.
34722      node.defaultValue = initialValue;
34723    }
34724  } // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug
34725  // this is needed to work around a chrome bug where setting defaultChecked
34726  // will sometimes influence the value of checked (even after detachment).
34727  // Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416
34728  // We need to temporarily unset name to avoid disrupting radio button groups.
34729
34730
34731  var name = node.name;
34732
34733  if (name !== '') {
34734    node.name = '';
34735  }
34736
34737  {
34738    // When syncing the checked attribute, both the checked property and
34739    // attribute are assigned at the same time using defaultChecked. This uses:
34740    //
34741    //   1. The checked React property when present
34742    //   2. The defaultChecked React property when present
34743    //   3. Otherwise, false
34744    node.defaultChecked = !node.defaultChecked;
34745    node.defaultChecked = !!node._wrapperState.initialChecked;
34746  }
34747
34748  if (name !== '') {
34749    node.name = name;
34750  }
34751}
34752function restoreControlledState(element, props) {
34753  var node = element;
34754  updateWrapper(node, props);
34755  updateNamedCousins(node, props);
34756}
34757
34758function updateNamedCousins(rootNode, props) {
34759  var name = props.name;
34760
34761  if (props.type === 'radio' && name != null) {
34762    var queryRoot = rootNode;
34763
34764    while (queryRoot.parentNode) {
34765      queryRoot = queryRoot.parentNode;
34766    } // If `rootNode.form` was non-null, then we could try `form.elements`,
34767    // but that sometimes behaves strangely in IE8. We could also try using
34768    // `form.getElementsByName`, but that will only return direct children
34769    // and won't include inputs that use the HTML5 `form=` attribute. Since
34770    // the input might not even be in a form. It might not even be in the
34771    // document. Let's just use the local `querySelectorAll` to ensure we don't
34772    // miss anything.
34773
34774
34775    var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type="radio"]');
34776
34777    for (var i = 0; i < group.length; i++) {
34778      var otherNode = group[i];
34779
34780      if (otherNode === rootNode || otherNode.form !== rootNode.form) {
34781        continue;
34782      } // This will throw if radio buttons rendered by different copies of React
34783      // and the same name are rendered into the same form (same as #1939).
34784      // That's probably okay; we don't support it just as we don't support
34785      // mixing React radio buttons with non-React ones.
34786
34787
34788      var otherProps = getFiberCurrentPropsFromNode$1(otherNode);
34789
34790      if (!otherProps) {
34791        {
34792          throw Error( "ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported." );
34793        }
34794      } // We need update the tracked value on the named cousin since the value
34795      // was changed but the input saw no event or value set
34796
34797
34798      updateValueIfChanged(otherNode); // If this is a controlled radio button group, forcing the input that
34799      // was previously checked to update will cause it to be come re-checked
34800      // as appropriate.
34801
34802      updateWrapper(otherNode, otherProps);
34803    }
34804  }
34805} // In Chrome, assigning defaultValue to certain input types triggers input validation.
34806// For number inputs, the display value loses trailing decimal points. For email inputs,
34807// Chrome raises "The specified value <x> is not a valid email address".
34808//
34809// Here we check to see if the defaultValue has actually changed, avoiding these problems
34810// when the user is inputting text
34811//
34812// https://github.com/facebook/react/issues/7253
34813
34814
34815function setDefaultValue(node, type, value) {
34816  if ( // Focused number inputs synchronize on blur. See ChangeEventPlugin.js
34817  type !== 'number' || node.ownerDocument.activeElement !== node) {
34818    if (value == null) {
34819      node.defaultValue = toString(node._wrapperState.initialValue);
34820    } else if (node.defaultValue !== toString(value)) {
34821      node.defaultValue = toString(value);
34822    }
34823  }
34824}
34825
34826var didWarnSelectedSetOnOption = false;
34827var didWarnInvalidChild = false;
34828
34829function flattenChildren(children) {
34830  var content = ''; // Flatten children. We'll warn if they are invalid
34831  // during validateProps() which runs for hydration too.
34832  // Note that this would throw on non-element objects.
34833  // Elements are stringified (which is normally irrelevant
34834  // but matters for <fbt>).
34835
34836  React.Children.forEach(children, function (child) {
34837    if (child == null) {
34838      return;
34839    }
34840
34841    content += child; // Note: we don't warn about invalid children here.
34842    // Instead, this is done separately below so that
34843    // it happens during the hydration codepath too.
34844  });
34845  return content;
34846}
34847/**
34848 * Implements an <option> host component that warns when `selected` is set.
34849 */
34850
34851
34852function validateProps(element, props) {
34853  {
34854    // This mirrors the codepath above, but runs for hydration too.
34855    // Warn about invalid children here so that client and hydration are consistent.
34856    // TODO: this seems like it could cause a DEV-only throw for hydration
34857    // if children contains a non-element object. We should try to avoid that.
34858    if (typeof props.children === 'object' && props.children !== null) {
34859      React.Children.forEach(props.children, function (child) {
34860        if (child == null) {
34861          return;
34862        }
34863
34864        if (typeof child === 'string' || typeof child === 'number') {
34865          return;
34866        }
34867
34868        if (typeof child.type !== 'string') {
34869          return;
34870        }
34871
34872        if (!didWarnInvalidChild) {
34873          didWarnInvalidChild = true;
34874
34875          error('Only strings and numbers are supported as <option> children.');
34876        }
34877      });
34878    } // TODO: Remove support for `selected` in <option>.
34879
34880
34881    if (props.selected != null && !didWarnSelectedSetOnOption) {
34882      error('Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.');
34883
34884      didWarnSelectedSetOnOption = true;
34885    }
34886  }
34887}
34888function postMountWrapper$1(element, props) {
34889  // value="" should make a value attribute (#6219)
34890  if (props.value != null) {
34891    element.setAttribute('value', toString(getToStringValue(props.value)));
34892  }
34893}
34894function getHostProps$1(element, props) {
34895  var hostProps = _assign({
34896    children: undefined
34897  }, props);
34898
34899  var content = flattenChildren(props.children);
34900
34901  if (content) {
34902    hostProps.children = content;
34903  }
34904
34905  return hostProps;
34906}
34907
34908var didWarnValueDefaultValue$1;
34909
34910{
34911  didWarnValueDefaultValue$1 = false;
34912}
34913
34914function getDeclarationErrorAddendum() {
34915  var ownerName = getCurrentFiberOwnerNameInDevOrNull();
34916
34917  if (ownerName) {
34918    return '\n\nCheck the render method of `' + ownerName + '`.';
34919  }
34920
34921  return '';
34922}
34923
34924var valuePropNames = ['value', 'defaultValue'];
34925/**
34926 * Validation function for `value` and `defaultValue`.
34927 */
34928
34929function checkSelectPropTypes(props) {
34930  {
34931    ReactControlledValuePropTypes.checkPropTypes('select', props);
34932
34933    for (var i = 0; i < valuePropNames.length; i++) {
34934      var propName = valuePropNames[i];
34935
34936      if (props[propName] == null) {
34937        continue;
34938      }
34939
34940      var isArray = Array.isArray(props[propName]);
34941
34942      if (props.multiple && !isArray) {
34943        error('The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum());
34944      } else if (!props.multiple && isArray) {
34945        error('The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum());
34946      }
34947    }
34948  }
34949}
34950
34951function updateOptions(node, multiple, propValue, setDefaultSelected) {
34952  var options = node.options;
34953
34954  if (multiple) {
34955    var selectedValues = propValue;
34956    var selectedValue = {};
34957
34958    for (var i = 0; i < selectedValues.length; i++) {
34959      // Prefix to avoid chaos with special keys.
34960      selectedValue['$' + selectedValues[i]] = true;
34961    }
34962
34963    for (var _i = 0; _i < options.length; _i++) {
34964      var selected = selectedValue.hasOwnProperty('$' + options[_i].value);
34965
34966      if (options[_i].selected !== selected) {
34967        options[_i].selected = selected;
34968      }
34969
34970      if (selected && setDefaultSelected) {
34971        options[_i].defaultSelected = true;
34972      }
34973    }
34974  } else {
34975    // Do not set `select.value` as exact behavior isn't consistent across all
34976    // browsers for all cases.
34977    var _selectedValue = toString(getToStringValue(propValue));
34978
34979    var defaultSelected = null;
34980
34981    for (var _i2 = 0; _i2 < options.length; _i2++) {
34982      if (options[_i2].value === _selectedValue) {
34983        options[_i2].selected = true;
34984
34985        if (setDefaultSelected) {
34986          options[_i2].defaultSelected = true;
34987        }
34988
34989        return;
34990      }
34991
34992      if (defaultSelected === null && !options[_i2].disabled) {
34993        defaultSelected = options[_i2];
34994      }
34995    }
34996
34997    if (defaultSelected !== null) {
34998      defaultSelected.selected = true;
34999    }
35000  }
35001}
35002/**
35003 * Implements a <select> host component that allows optionally setting the
35004 * props `value` and `defaultValue`. If `multiple` is false, the prop must be a
35005 * stringable. If `multiple` is true, the prop must be an array of stringables.
35006 *
35007 * If `value` is not supplied (or null/undefined), user actions that change the
35008 * selected option will trigger updates to the rendered options.
35009 *
35010 * If it is supplied (and not null/undefined), the rendered options will not
35011 * update in response to user actions. Instead, the `value` prop must change in
35012 * order for the rendered options to update.
35013 *
35014 * If `defaultValue` is provided, any options with the supplied values will be
35015 * selected.
35016 */
35017
35018
35019function getHostProps$2(element, props) {
35020  return _assign({}, props, {
35021    value: undefined
35022  });
35023}
35024function initWrapperState$1(element, props) {
35025  var node = element;
35026
35027  {
35028    checkSelectPropTypes(props);
35029  }
35030
35031  node._wrapperState = {
35032    wasMultiple: !!props.multiple
35033  };
35034
35035  {
35036    if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue$1) {
35037      error('Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components');
35038
35039      didWarnValueDefaultValue$1 = true;
35040    }
35041  }
35042}
35043function postMountWrapper$2(element, props) {
35044  var node = element;
35045  node.multiple = !!props.multiple;
35046  var value = props.value;
35047
35048  if (value != null) {
35049    updateOptions(node, !!props.multiple, value, false);
35050  } else if (props.defaultValue != null) {
35051    updateOptions(node, !!props.multiple, props.defaultValue, true);
35052  }
35053}
35054function postUpdateWrapper(element, props) {
35055  var node = element;
35056  var wasMultiple = node._wrapperState.wasMultiple;
35057  node._wrapperState.wasMultiple = !!props.multiple;
35058  var value = props.value;
35059
35060  if (value != null) {
35061    updateOptions(node, !!props.multiple, value, false);
35062  } else if (wasMultiple !== !!props.multiple) {
35063    // For simplicity, reapply `defaultValue` if `multiple` is toggled.
35064    if (props.defaultValue != null) {
35065      updateOptions(node, !!props.multiple, props.defaultValue, true);
35066    } else {
35067      // Revert the select back to its default unselected state.
35068      updateOptions(node, !!props.multiple, props.multiple ? [] : '', false);
35069    }
35070  }
35071}
35072function restoreControlledState$1(element, props) {
35073  var node = element;
35074  var value = props.value;
35075
35076  if (value != null) {
35077    updateOptions(node, !!props.multiple, value, false);
35078  }
35079}
35080
35081var didWarnValDefaultVal = false;
35082
35083/**
35084 * Implements a <textarea> host component that allows setting `value`, and
35085 * `defaultValue`. This differs from the traditional DOM API because value is
35086 * usually set as PCDATA children.
35087 *
35088 * If `value` is not supplied (or null/undefined), user actions that affect the
35089 * value will trigger updates to the element.
35090 *
35091 * If `value` is supplied (and not null/undefined), the rendered element will
35092 * not trigger updates to the element. Instead, the `value` prop must change in
35093 * order for the rendered element to be updated.
35094 *
35095 * The rendered element will be initialized with an empty value, the prop
35096 * `defaultValue` if specified, or the children content (deprecated).
35097 */
35098function getHostProps$3(element, props) {
35099  var node = element;
35100
35101  if (!(props.dangerouslySetInnerHTML == null)) {
35102    {
35103      throw Error( "`dangerouslySetInnerHTML` does not make sense on <textarea>." );
35104    }
35105  } // Always set children to the same thing. In IE9, the selection range will
35106  // get reset if `textContent` is mutated.  We could add a check in setTextContent
35107  // to only set the value if/when the value differs from the node value (which would
35108  // completely solve this IE9 bug), but Sebastian+Sophie seemed to like this
35109  // solution. The value can be a boolean or object so that's why it's forced
35110  // to be a string.
35111
35112
35113  var hostProps = _assign({}, props, {
35114    value: undefined,
35115    defaultValue: undefined,
35116    children: toString(node._wrapperState.initialValue)
35117  });
35118
35119  return hostProps;
35120}
35121function initWrapperState$2(element, props) {
35122  var node = element;
35123
35124  {
35125    ReactControlledValuePropTypes.checkPropTypes('textarea', props);
35126
35127    if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValDefaultVal) {
35128      error('%s contains a textarea with both value and defaultValue props. ' + 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component');
35129
35130      didWarnValDefaultVal = true;
35131    }
35132  }
35133
35134  var initialValue = props.value; // Only bother fetching default value if we're going to use it
35135
35136  if (initialValue == null) {
35137    var children = props.children,
35138        defaultValue = props.defaultValue;
35139
35140    if (children != null) {
35141      {
35142        error('Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.');
35143      }
35144
35145      {
35146        if (!(defaultValue == null)) {
35147          {
35148            throw Error( "If you supply `defaultValue` on a <textarea>, do not pass children." );
35149          }
35150        }
35151
35152        if (Array.isArray(children)) {
35153          if (!(children.length <= 1)) {
35154            {
35155              throw Error( "<textarea> can only have at most one child." );
35156            }
35157          }
35158
35159          children = children[0];
35160        }
35161
35162        defaultValue = children;
35163      }
35164    }
35165
35166    if (defaultValue == null) {
35167      defaultValue = '';
35168    }
35169
35170    initialValue = defaultValue;
35171  }
35172
35173  node._wrapperState = {
35174    initialValue: getToStringValue(initialValue)
35175  };
35176}
35177function updateWrapper$1(element, props) {
35178  var node = element;
35179  var value = getToStringValue(props.value);
35180  var defaultValue = getToStringValue(props.defaultValue);
35181
35182  if (value != null) {
35183    // Cast `value` to a string to ensure the value is set correctly. While
35184    // browsers typically do this as necessary, jsdom doesn't.
35185    var newValue = toString(value); // To avoid side effects (such as losing text selection), only set value if changed
35186
35187    if (newValue !== node.value) {
35188      node.value = newValue;
35189    }
35190
35191    if (props.defaultValue == null && node.defaultValue !== newValue) {
35192      node.defaultValue = newValue;
35193    }
35194  }
35195
35196  if (defaultValue != null) {
35197    node.defaultValue = toString(defaultValue);
35198  }
35199}
35200function postMountWrapper$3(element, props) {
35201  var node = element; // This is in postMount because we need access to the DOM node, which is not
35202  // available until after the component has mounted.
35203
35204  var textContent = node.textContent; // Only set node.value if textContent is equal to the expected
35205  // initial value. In IE10/IE11 there is a bug where the placeholder attribute
35206  // will populate textContent as well.
35207  // https://developer.microsoft.com/microsoft-edge/platform/issues/101525/
35208
35209  if (textContent === node._wrapperState.initialValue) {
35210    if (textContent !== '' && textContent !== null) {
35211      node.value = textContent;
35212    }
35213  }
35214}
35215function restoreControlledState$2(element, props) {
35216  // DOM component is still mounted; update
35217  updateWrapper$1(element, props);
35218}
35219
35220var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';
35221var MATH_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';
35222var SVG_NAMESPACE = 'http://www.w3.org/2000/svg';
35223var Namespaces = {
35224  html: HTML_NAMESPACE,
35225  mathml: MATH_NAMESPACE,
35226  svg: SVG_NAMESPACE
35227}; // Assumes there is no parent namespace.
35228
35229function getIntrinsicNamespace(type) {
35230  switch (type) {
35231    case 'svg':
35232      return SVG_NAMESPACE;
35233
35234    case 'math':
35235      return MATH_NAMESPACE;
35236
35237    default:
35238      return HTML_NAMESPACE;
35239  }
35240}
35241function getChildNamespace(parentNamespace, type) {
35242  if (parentNamespace == null || parentNamespace === HTML_NAMESPACE) {
35243    // No (or default) parent namespace: potential entry point.
35244    return getIntrinsicNamespace(type);
35245  }
35246
35247  if (parentNamespace === SVG_NAMESPACE && type === 'foreignObject') {
35248    // We're leaving SVG.
35249    return HTML_NAMESPACE;
35250  } // By default, pass namespace below.
35251
35252
35253  return parentNamespace;
35254}
35255
35256/* globals MSApp */
35257
35258/**
35259 * Create a function which has 'unsafe' privileges (required by windows8 apps)
35260 */
35261var createMicrosoftUnsafeLocalFunction = function (func) {
35262  if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {
35263    return function (arg0, arg1, arg2, arg3) {
35264      MSApp.execUnsafeLocalFunction(function () {
35265        return func(arg0, arg1, arg2, arg3);
35266      });
35267    };
35268  } else {
35269    return func;
35270  }
35271};
35272
35273var reusableSVGContainer;
35274/**
35275 * Set the innerHTML property of a node
35276 *
35277 * @param {DOMElement} node
35278 * @param {string} html
35279 * @internal
35280 */
35281
35282var setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) {
35283  if (node.namespaceURI === Namespaces.svg) {
35284
35285    if (!('innerHTML' in node)) {
35286      // IE does not have innerHTML for SVG nodes, so instead we inject the
35287      // new markup in a temp node and then move the child nodes across into
35288      // the target node
35289      reusableSVGContainer = reusableSVGContainer || document.createElement('div');
35290      reusableSVGContainer.innerHTML = '<svg>' + html.valueOf().toString() + '</svg>';
35291      var svgNode = reusableSVGContainer.firstChild;
35292
35293      while (node.firstChild) {
35294        node.removeChild(node.firstChild);
35295      }
35296
35297      while (svgNode.firstChild) {
35298        node.appendChild(svgNode.firstChild);
35299      }
35300
35301      return;
35302    }
35303  }
35304
35305  node.innerHTML = html;
35306});
35307
35308/**
35309 * HTML nodeType values that represent the type of the node
35310 */
35311var ELEMENT_NODE = 1;
35312var TEXT_NODE = 3;
35313var COMMENT_NODE = 8;
35314var DOCUMENT_NODE = 9;
35315var DOCUMENT_FRAGMENT_NODE = 11;
35316
35317/**
35318 * Set the textContent property of a node. For text updates, it's faster
35319 * to set the `nodeValue` of the Text node directly instead of using
35320 * `.textContent` which will remove the existing node and create a new one.
35321 *
35322 * @param {DOMElement} node
35323 * @param {string} text
35324 * @internal
35325 */
35326
35327var setTextContent = function (node, text) {
35328  if (text) {
35329    var firstChild = node.firstChild;
35330
35331    if (firstChild && firstChild === node.lastChild && firstChild.nodeType === TEXT_NODE) {
35332      firstChild.nodeValue = text;
35333      return;
35334    }
35335  }
35336
35337  node.textContent = text;
35338};
35339
35340// Do not use the below two methods directly!
35341// Instead use constants exported from DOMTopLevelEventTypes in ReactDOM.
35342// (It is the only module that is allowed to access these methods.)
35343function unsafeCastStringToDOMTopLevelType(topLevelType) {
35344  return topLevelType;
35345}
35346function unsafeCastDOMTopLevelTypeToString(topLevelType) {
35347  return topLevelType;
35348}
35349
35350/**
35351 * Generate a mapping of standard vendor prefixes using the defined style property and event name.
35352 *
35353 * @param {string} styleProp
35354 * @param {string} eventName
35355 * @returns {object}
35356 */
35357
35358function makePrefixMap(styleProp, eventName) {
35359  var prefixes = {};
35360  prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();
35361  prefixes['Webkit' + styleProp] = 'webkit' + eventName;
35362  prefixes['Moz' + styleProp] = 'moz' + eventName;
35363  return prefixes;
35364}
35365/**
35366 * A list of event names to a configurable list of vendor prefixes.
35367 */
35368
35369
35370var vendorPrefixes = {
35371  animationend: makePrefixMap('Animation', 'AnimationEnd'),
35372  animationiteration: makePrefixMap('Animation', 'AnimationIteration'),
35373  animationstart: makePrefixMap('Animation', 'AnimationStart'),
35374  transitionend: makePrefixMap('Transition', 'TransitionEnd')
35375};
35376/**
35377 * Event names that have already been detected and prefixed (if applicable).
35378 */
35379
35380var prefixedEventNames = {};
35381/**
35382 * Element to check for prefixes on.
35383 */
35384
35385var style = {};
35386/**
35387 * Bootstrap if a DOM exists.
35388 */
35389
35390if (canUseDOM) {
35391  style = document.createElement('div').style; // On some platforms, in particular some releases of Android 4.x,
35392  // the un-prefixed "animation" and "transition" properties are defined on the
35393  // style object but the events that fire will still be prefixed, so we need
35394  // to check if the un-prefixed events are usable, and if not remove them from the map.
35395
35396  if (!('AnimationEvent' in window)) {
35397    delete vendorPrefixes.animationend.animation;
35398    delete vendorPrefixes.animationiteration.animation;
35399    delete vendorPrefixes.animationstart.animation;
35400  } // Same as above
35401
35402
35403  if (!('TransitionEvent' in window)) {
35404    delete vendorPrefixes.transitionend.transition;
35405  }
35406}
35407/**
35408 * Attempts to determine the correct vendor prefixed event name.
35409 *
35410 * @param {string} eventName
35411 * @returns {string}
35412 */
35413
35414
35415function getVendorPrefixedEventName(eventName) {
35416  if (prefixedEventNames[eventName]) {
35417    return prefixedEventNames[eventName];
35418  } else if (!vendorPrefixes[eventName]) {
35419    return eventName;
35420  }
35421
35422  var prefixMap = vendorPrefixes[eventName];
35423
35424  for (var styleProp in prefixMap) {
35425    if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) {
35426      return prefixedEventNames[eventName] = prefixMap[styleProp];
35427    }
35428  }
35429
35430  return eventName;
35431}
35432
35433/**
35434 * To identify top level events in ReactDOM, we use constants defined by this
35435 * module. This is the only module that uses the unsafe* methods to express
35436 * that the constants actually correspond to the browser event names. This lets
35437 * us save some bundle size by avoiding a top level type -> event name map.
35438 * The rest of ReactDOM code should import top level types from this file.
35439 */
35440
35441var TOP_ABORT = unsafeCastStringToDOMTopLevelType('abort');
35442var TOP_ANIMATION_END = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationend'));
35443var TOP_ANIMATION_ITERATION = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationiteration'));
35444var TOP_ANIMATION_START = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationstart'));
35445var TOP_BLUR = unsafeCastStringToDOMTopLevelType('blur');
35446var TOP_CAN_PLAY = unsafeCastStringToDOMTopLevelType('canplay');
35447var TOP_CAN_PLAY_THROUGH = unsafeCastStringToDOMTopLevelType('canplaythrough');
35448var TOP_CANCEL = unsafeCastStringToDOMTopLevelType('cancel');
35449var TOP_CHANGE = unsafeCastStringToDOMTopLevelType('change');
35450var TOP_CLICK = unsafeCastStringToDOMTopLevelType('click');
35451var TOP_CLOSE = unsafeCastStringToDOMTopLevelType('close');
35452var TOP_COMPOSITION_END = unsafeCastStringToDOMTopLevelType('compositionend');
35453var TOP_COMPOSITION_START = unsafeCastStringToDOMTopLevelType('compositionstart');
35454var TOP_COMPOSITION_UPDATE = unsafeCastStringToDOMTopLevelType('compositionupdate');
35455var TOP_CONTEXT_MENU = unsafeCastStringToDOMTopLevelType('contextmenu');
35456var TOP_COPY = unsafeCastStringToDOMTopLevelType('copy');
35457var TOP_CUT = unsafeCastStringToDOMTopLevelType('cut');
35458var TOP_DOUBLE_CLICK = unsafeCastStringToDOMTopLevelType('dblclick');
35459var TOP_AUX_CLICK = unsafeCastStringToDOMTopLevelType('auxclick');
35460var TOP_DRAG = unsafeCastStringToDOMTopLevelType('drag');
35461var TOP_DRAG_END = unsafeCastStringToDOMTopLevelType('dragend');
35462var TOP_DRAG_ENTER = unsafeCastStringToDOMTopLevelType('dragenter');
35463var TOP_DRAG_EXIT = unsafeCastStringToDOMTopLevelType('dragexit');
35464var TOP_DRAG_LEAVE = unsafeCastStringToDOMTopLevelType('dragleave');
35465var TOP_DRAG_OVER = unsafeCastStringToDOMTopLevelType('dragover');
35466var TOP_DRAG_START = unsafeCastStringToDOMTopLevelType('dragstart');
35467var TOP_DROP = unsafeCastStringToDOMTopLevelType('drop');
35468var TOP_DURATION_CHANGE = unsafeCastStringToDOMTopLevelType('durationchange');
35469var TOP_EMPTIED = unsafeCastStringToDOMTopLevelType('emptied');
35470var TOP_ENCRYPTED = unsafeCastStringToDOMTopLevelType('encrypted');
35471var TOP_ENDED = unsafeCastStringToDOMTopLevelType('ended');
35472var TOP_ERROR = unsafeCastStringToDOMTopLevelType('error');
35473var TOP_FOCUS = unsafeCastStringToDOMTopLevelType('focus');
35474var TOP_GOT_POINTER_CAPTURE = unsafeCastStringToDOMTopLevelType('gotpointercapture');
35475var TOP_INPUT = unsafeCastStringToDOMTopLevelType('input');
35476var TOP_INVALID = unsafeCastStringToDOMTopLevelType('invalid');
35477var TOP_KEY_DOWN = unsafeCastStringToDOMTopLevelType('keydown');
35478var TOP_KEY_PRESS = unsafeCastStringToDOMTopLevelType('keypress');
35479var TOP_KEY_UP = unsafeCastStringToDOMTopLevelType('keyup');
35480var TOP_LOAD = unsafeCastStringToDOMTopLevelType('load');
35481var TOP_LOAD_START = unsafeCastStringToDOMTopLevelType('loadstart');
35482var TOP_LOADED_DATA = unsafeCastStringToDOMTopLevelType('loadeddata');
35483var TOP_LOADED_METADATA = unsafeCastStringToDOMTopLevelType('loadedmetadata');
35484var TOP_LOST_POINTER_CAPTURE = unsafeCastStringToDOMTopLevelType('lostpointercapture');
35485var TOP_MOUSE_DOWN = unsafeCastStringToDOMTopLevelType('mousedown');
35486var TOP_MOUSE_MOVE = unsafeCastStringToDOMTopLevelType('mousemove');
35487var TOP_MOUSE_OUT = unsafeCastStringToDOMTopLevelType('mouseout');
35488var TOP_MOUSE_OVER = unsafeCastStringToDOMTopLevelType('mouseover');
35489var TOP_MOUSE_UP = unsafeCastStringToDOMTopLevelType('mouseup');
35490var TOP_PASTE = unsafeCastStringToDOMTopLevelType('paste');
35491var TOP_PAUSE = unsafeCastStringToDOMTopLevelType('pause');
35492var TOP_PLAY = unsafeCastStringToDOMTopLevelType('play');
35493var TOP_PLAYING = unsafeCastStringToDOMTopLevelType('playing');
35494var TOP_POINTER_CANCEL = unsafeCastStringToDOMTopLevelType('pointercancel');
35495var TOP_POINTER_DOWN = unsafeCastStringToDOMTopLevelType('pointerdown');
35496var TOP_POINTER_MOVE = unsafeCastStringToDOMTopLevelType('pointermove');
35497var TOP_POINTER_OUT = unsafeCastStringToDOMTopLevelType('pointerout');
35498var TOP_POINTER_OVER = unsafeCastStringToDOMTopLevelType('pointerover');
35499var TOP_POINTER_UP = unsafeCastStringToDOMTopLevelType('pointerup');
35500var TOP_PROGRESS = unsafeCastStringToDOMTopLevelType('progress');
35501var TOP_RATE_CHANGE = unsafeCastStringToDOMTopLevelType('ratechange');
35502var TOP_RESET = unsafeCastStringToDOMTopLevelType('reset');
35503var TOP_SCROLL = unsafeCastStringToDOMTopLevelType('scroll');
35504var TOP_SEEKED = unsafeCastStringToDOMTopLevelType('seeked');
35505var TOP_SEEKING = unsafeCastStringToDOMTopLevelType('seeking');
35506var TOP_SELECTION_CHANGE = unsafeCastStringToDOMTopLevelType('selectionchange');
35507var TOP_STALLED = unsafeCastStringToDOMTopLevelType('stalled');
35508var TOP_SUBMIT = unsafeCastStringToDOMTopLevelType('submit');
35509var TOP_SUSPEND = unsafeCastStringToDOMTopLevelType('suspend');
35510var TOP_TEXT_INPUT = unsafeCastStringToDOMTopLevelType('textInput');
35511var TOP_TIME_UPDATE = unsafeCastStringToDOMTopLevelType('timeupdate');
35512var TOP_TOGGLE = unsafeCastStringToDOMTopLevelType('toggle');
35513var TOP_TOUCH_CANCEL = unsafeCastStringToDOMTopLevelType('touchcancel');
35514var TOP_TOUCH_END = unsafeCastStringToDOMTopLevelType('touchend');
35515var TOP_TOUCH_MOVE = unsafeCastStringToDOMTopLevelType('touchmove');
35516var TOP_TOUCH_START = unsafeCastStringToDOMTopLevelType('touchstart');
35517var TOP_TRANSITION_END = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('transitionend'));
35518var TOP_VOLUME_CHANGE = unsafeCastStringToDOMTopLevelType('volumechange');
35519var TOP_WAITING = unsafeCastStringToDOMTopLevelType('waiting');
35520var TOP_WHEEL = unsafeCastStringToDOMTopLevelType('wheel'); // List of events that need to be individually attached to media elements.
35521// Note that events in this list will *not* be listened to at the top level
35522// unless they're explicitly whitelisted in `ReactBrowserEventEmitter.listenTo`.
35523
35524var mediaEventTypes = [TOP_ABORT, TOP_CAN_PLAY, TOP_CAN_PLAY_THROUGH, TOP_DURATION_CHANGE, TOP_EMPTIED, TOP_ENCRYPTED, TOP_ENDED, TOP_ERROR, TOP_LOADED_DATA, TOP_LOADED_METADATA, TOP_LOAD_START, TOP_PAUSE, TOP_PLAY, TOP_PLAYING, TOP_PROGRESS, TOP_RATE_CHANGE, TOP_SEEKED, TOP_SEEKING, TOP_STALLED, TOP_SUSPEND, TOP_TIME_UPDATE, TOP_VOLUME_CHANGE, TOP_WAITING];
35525function getRawEventName(topLevelType) {
35526  return unsafeCastDOMTopLevelTypeToString(topLevelType);
35527}
35528
35529var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; // prettier-ignore
35530
35531var elementListenerMap = new PossiblyWeakMap();
35532function getListenerMapForElement(element) {
35533  var listenerMap = elementListenerMap.get(element);
35534
35535  if (listenerMap === undefined) {
35536    listenerMap = new Map();
35537    elementListenerMap.set(element, listenerMap);
35538  }
35539
35540  return listenerMap;
35541}
35542
35543/**
35544 * `ReactInstanceMap` maintains a mapping from a public facing stateful
35545 * instance (key) and the internal representation (value). This allows public
35546 * methods to accept the user facing instance as an argument and map them back
35547 * to internal methods.
35548 *
35549 * Note that this module is currently shared and assumed to be stateless.
35550 * If this becomes an actual Map, that will break.
35551 */
35552function get(key) {
35553  return key._reactInternalFiber;
35554}
35555function has(key) {
35556  return key._reactInternalFiber !== undefined;
35557}
35558function set(key, value) {
35559  key._reactInternalFiber = value;
35560}
35561
35562// Don't change these two values. They're used by React Dev Tools.
35563var NoEffect =
35564/*              */
355650;
35566var PerformedWork =
35567/*         */
355681; // You can change the rest (and add more).
35569
35570var Placement =
35571/*             */
355722;
35573var Update =
35574/*                */
355754;
35576var PlacementAndUpdate =
35577/*    */
355786;
35579var Deletion =
35580/*              */
355818;
35582var ContentReset =
35583/*          */
3558416;
35585var Callback =
35586/*              */
3558732;
35588var DidCapture =
35589/*            */
3559064;
35591var Ref =
35592/*                   */
35593128;
35594var Snapshot =
35595/*              */
35596256;
35597var Passive =
35598/*               */
35599512;
35600var Hydrating =
35601/*             */
356021024;
35603var HydratingAndUpdate =
35604/*    */
356051028; // Passive & Update & Callback & Ref & Snapshot
35606
35607var LifecycleEffectMask =
35608/*   */
35609932; // Union of all host effects
35610
35611var HostEffectMask =
35612/*        */
356132047;
35614var Incomplete =
35615/*            */
356162048;
35617var ShouldCapture =
35618/*         */
356194096;
35620
35621var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;
35622function getNearestMountedFiber(fiber) {
35623  var node = fiber;
35624  var nearestMounted = fiber;
35625
35626  if (!fiber.alternate) {
35627    // If there is no alternate, this might be a new tree that isn't inserted
35628    // yet. If it is, then it will have a pending insertion effect on it.
35629    var nextNode = node;
35630
35631    do {
35632      node = nextNode;
35633
35634      if ((node.effectTag & (Placement | Hydrating)) !== NoEffect) {
35635        // This is an insertion or in-progress hydration. The nearest possible
35636        // mounted fiber is the parent but we need to continue to figure out
35637        // if that one is still mounted.
35638        nearestMounted = node.return;
35639      }
35640
35641      nextNode = node.return;
35642    } while (nextNode);
35643  } else {
35644    while (node.return) {
35645      node = node.return;
35646    }
35647  }
35648
35649  if (node.tag === HostRoot) {
35650    // TODO: Check if this was a nested HostRoot when used with
35651    // renderContainerIntoSubtree.
35652    return nearestMounted;
35653  } // If we didn't hit the root, that means that we're in an disconnected tree
35654  // that has been unmounted.
35655
35656
35657  return null;
35658}
35659function getSuspenseInstanceFromFiber(fiber) {
35660  if (fiber.tag === SuspenseComponent) {
35661    var suspenseState = fiber.memoizedState;
35662
35663    if (suspenseState === null) {
35664      var current = fiber.alternate;
35665
35666      if (current !== null) {
35667        suspenseState = current.memoizedState;
35668      }
35669    }
35670
35671    if (suspenseState !== null) {
35672      return suspenseState.dehydrated;
35673    }
35674  }
35675
35676  return null;
35677}
35678function getContainerFromFiber(fiber) {
35679  return fiber.tag === HostRoot ? fiber.stateNode.containerInfo : null;
35680}
35681function isFiberMounted(fiber) {
35682  return getNearestMountedFiber(fiber) === fiber;
35683}
35684function isMounted(component) {
35685  {
35686    var owner = ReactCurrentOwner.current;
35687
35688    if (owner !== null && owner.tag === ClassComponent) {
35689      var ownerFiber = owner;
35690      var instance = ownerFiber.stateNode;
35691
35692      if (!instance._warnedAboutRefsInRender) {
35693        error('%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentName(ownerFiber.type) || 'A component');
35694      }
35695
35696      instance._warnedAboutRefsInRender = true;
35697    }
35698  }
35699
35700  var fiber = get(component);
35701
35702  if (!fiber) {
35703    return false;
35704  }
35705
35706  return getNearestMountedFiber(fiber) === fiber;
35707}
35708
35709function assertIsMounted(fiber) {
35710  if (!(getNearestMountedFiber(fiber) === fiber)) {
35711    {
35712      throw Error( "Unable to find node on an unmounted component." );
35713    }
35714  }
35715}
35716
35717function findCurrentFiberUsingSlowPath(fiber) {
35718  var alternate = fiber.alternate;
35719
35720  if (!alternate) {
35721    // If there is no alternate, then we only need to check if it is mounted.
35722    var nearestMounted = getNearestMountedFiber(fiber);
35723
35724    if (!(nearestMounted !== null)) {
35725      {
35726        throw Error( "Unable to find node on an unmounted component." );
35727      }
35728    }
35729
35730    if (nearestMounted !== fiber) {
35731      return null;
35732    }
35733
35734    return fiber;
35735  } // If we have two possible branches, we'll walk backwards up to the root
35736  // to see what path the root points to. On the way we may hit one of the
35737  // special cases and we'll deal with them.
35738
35739
35740  var a = fiber;
35741  var b = alternate;
35742
35743  while (true) {
35744    var parentA = a.return;
35745
35746    if (parentA === null) {
35747      // We're at the root.
35748      break;
35749    }
35750
35751    var parentB = parentA.alternate;
35752
35753    if (parentB === null) {
35754      // There is no alternate. This is an unusual case. Currently, it only
35755      // happens when a Suspense component is hidden. An extra fragment fiber
35756      // is inserted in between the Suspense fiber and its children. Skip
35757      // over this extra fragment fiber and proceed to the next parent.
35758      var nextParent = parentA.return;
35759
35760      if (nextParent !== null) {
35761        a = b = nextParent;
35762        continue;
35763      } // If there's no parent, we're at the root.
35764
35765
35766      break;
35767    } // If both copies of the parent fiber point to the same child, we can
35768    // assume that the child is current. This happens when we bailout on low
35769    // priority: the bailed out fiber's child reuses the current child.
35770
35771
35772    if (parentA.child === parentB.child) {
35773      var child = parentA.child;
35774
35775      while (child) {
35776        if (child === a) {
35777          // We've determined that A is the current branch.
35778          assertIsMounted(parentA);
35779          return fiber;
35780        }
35781
35782        if (child === b) {
35783          // We've determined that B is the current branch.
35784          assertIsMounted(parentA);
35785          return alternate;
35786        }
35787
35788        child = child.sibling;
35789      } // We should never have an alternate for any mounting node. So the only
35790      // way this could possibly happen is if this was unmounted, if at all.
35791
35792
35793      {
35794        {
35795          throw Error( "Unable to find node on an unmounted component." );
35796        }
35797      }
35798    }
35799
35800    if (a.return !== b.return) {
35801      // The return pointer of A and the return pointer of B point to different
35802      // fibers. We assume that return pointers never criss-cross, so A must
35803      // belong to the child set of A.return, and B must belong to the child
35804      // set of B.return.
35805      a = parentA;
35806      b = parentB;
35807    } else {
35808      // The return pointers point to the same fiber. We'll have to use the
35809      // default, slow path: scan the child sets of each parent alternate to see
35810      // which child belongs to which set.
35811      //
35812      // Search parent A's child set
35813      var didFindChild = false;
35814      var _child = parentA.child;
35815
35816      while (_child) {
35817        if (_child === a) {
35818          didFindChild = true;
35819          a = parentA;
35820          b = parentB;
35821          break;
35822        }
35823
35824        if (_child === b) {
35825          didFindChild = true;
35826          b = parentA;
35827          a = parentB;
35828          break;
35829        }
35830
35831        _child = _child.sibling;
35832      }
35833
35834      if (!didFindChild) {
35835        // Search parent B's child set
35836        _child = parentB.child;
35837
35838        while (_child) {
35839          if (_child === a) {
35840            didFindChild = true;
35841            a = parentB;
35842            b = parentA;
35843            break;
35844          }
35845
35846          if (_child === b) {
35847            didFindChild = true;
35848            b = parentB;
35849            a = parentA;
35850            break;
35851          }
35852
35853          _child = _child.sibling;
35854        }
35855
35856        if (!didFindChild) {
35857          {
35858            throw Error( "Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue." );
35859          }
35860        }
35861      }
35862    }
35863
35864    if (!(a.alternate === b)) {
35865      {
35866        throw Error( "Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue." );
35867      }
35868    }
35869  } // If the root is not a host container, we're in a disconnected tree. I.e.
35870  // unmounted.
35871
35872
35873  if (!(a.tag === HostRoot)) {
35874    {
35875      throw Error( "Unable to find node on an unmounted component." );
35876    }
35877  }
35878
35879  if (a.stateNode.current === a) {
35880    // We've determined that A is the current branch.
35881    return fiber;
35882  } // Otherwise B has to be current branch.
35883
35884
35885  return alternate;
35886}
35887function findCurrentHostFiber(parent) {
35888  var currentParent = findCurrentFiberUsingSlowPath(parent);
35889
35890  if (!currentParent) {
35891    return null;
35892  } // Next we'll drill down this component to find the first HostComponent/Text.
35893
35894
35895  var node = currentParent;
35896
35897  while (true) {
35898    if (node.tag === HostComponent || node.tag === HostText) {
35899      return node;
35900    } else if (node.child) {
35901      node.child.return = node;
35902      node = node.child;
35903      continue;
35904    }
35905
35906    if (node === currentParent) {
35907      return null;
35908    }
35909
35910    while (!node.sibling) {
35911      if (!node.return || node.return === currentParent) {
35912        return null;
35913      }
35914
35915      node = node.return;
35916    }
35917
35918    node.sibling.return = node.return;
35919    node = node.sibling;
35920  } // Flow needs the return null here, but ESLint complains about it.
35921  // eslint-disable-next-line no-unreachable
35922
35923
35924  return null;
35925}
35926function findCurrentHostFiberWithNoPortals(parent) {
35927  var currentParent = findCurrentFiberUsingSlowPath(parent);
35928
35929  if (!currentParent) {
35930    return null;
35931  } // Next we'll drill down this component to find the first HostComponent/Text.
35932
35933
35934  var node = currentParent;
35935
35936  while (true) {
35937    if (node.tag === HostComponent || node.tag === HostText || enableFundamentalAPI ) {
35938      return node;
35939    } else if (node.child && node.tag !== HostPortal) {
35940      node.child.return = node;
35941      node = node.child;
35942      continue;
35943    }
35944
35945    if (node === currentParent) {
35946      return null;
35947    }
35948
35949    while (!node.sibling) {
35950      if (!node.return || node.return === currentParent) {
35951        return null;
35952      }
35953
35954      node = node.return;
35955    }
35956
35957    node.sibling.return = node.return;
35958    node = node.sibling;
35959  } // Flow needs the return null here, but ESLint complains about it.
35960  // eslint-disable-next-line no-unreachable
35961
35962
35963  return null;
35964}
35965
35966/**
35967 * Accumulates items that must not be null or undefined into the first one. This
35968 * is used to conserve memory by avoiding array allocations, and thus sacrifices
35969 * API cleanness. Since `current` can be null before being passed in and not
35970 * null after this function, make sure to assign it back to `current`:
35971 *
35972 * `a = accumulateInto(a, b);`
35973 *
35974 * This API should be sparingly used. Try `accumulate` for something cleaner.
35975 *
35976 * @return {*|array<*>} An accumulation of items.
35977 */
35978
35979function accumulateInto(current, next) {
35980  if (!(next != null)) {
35981    {
35982      throw Error( "accumulateInto(...): Accumulated items must not be null or undefined." );
35983    }
35984  }
35985
35986  if (current == null) {
35987    return next;
35988  } // Both are not empty. Warning: Never call x.concat(y) when you are not
35989  // certain that x is an Array (x could be a string with concat method).
35990
35991
35992  if (Array.isArray(current)) {
35993    if (Array.isArray(next)) {
35994      current.push.apply(current, next);
35995      return current;
35996    }
35997
35998    current.push(next);
35999    return current;
36000  }
36001
36002  if (Array.isArray(next)) {
36003    // A bit too dangerous to mutate `next`.
36004    return [current].concat(next);
36005  }
36006
36007  return [current, next];
36008}
36009
36010/**
36011 * @param {array} arr an "accumulation" of items which is either an Array or
36012 * a single item. Useful when paired with the `accumulate` module. This is a
36013 * simple utility that allows us to reason about a collection of items, but
36014 * handling the case when there is exactly one item (and we do not need to
36015 * allocate an array).
36016 * @param {function} cb Callback invoked with each element or a collection.
36017 * @param {?} [scope] Scope used as `this` in a callback.
36018 */
36019function forEachAccumulated(arr, cb, scope) {
36020  if (Array.isArray(arr)) {
36021    arr.forEach(cb, scope);
36022  } else if (arr) {
36023    cb.call(scope, arr);
36024  }
36025}
36026
36027/**
36028 * Internal queue of events that have accumulated their dispatches and are
36029 * waiting to have their dispatches executed.
36030 */
36031
36032var eventQueue = null;
36033/**
36034 * Dispatches an event and releases it back into the pool, unless persistent.
36035 *
36036 * @param {?object} event Synthetic event to be dispatched.
36037 * @private
36038 */
36039
36040var executeDispatchesAndRelease = function (event) {
36041  if (event) {
36042    executeDispatchesInOrder(event);
36043
36044    if (!event.isPersistent()) {
36045      event.constructor.release(event);
36046    }
36047  }
36048};
36049
36050var executeDispatchesAndReleaseTopLevel = function (e) {
36051  return executeDispatchesAndRelease(e);
36052};
36053
36054function runEventsInBatch(events) {
36055  if (events !== null) {
36056    eventQueue = accumulateInto(eventQueue, events);
36057  } // Set `eventQueue` to null before processing it so that we can tell if more
36058  // events get enqueued while processing.
36059
36060
36061  var processingEventQueue = eventQueue;
36062  eventQueue = null;
36063
36064  if (!processingEventQueue) {
36065    return;
36066  }
36067
36068  forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel);
36069
36070  if (!!eventQueue) {
36071    {
36072      throw Error( "processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented." );
36073    }
36074  } // This would be a good time to rethrow if any of the event handlers threw.
36075
36076
36077  rethrowCaughtError();
36078}
36079
36080/**
36081 * Gets the target node from a native browser event by accounting for
36082 * inconsistencies in browser DOM APIs.
36083 *
36084 * @param {object} nativeEvent Native browser event.
36085 * @return {DOMEventTarget} Target node.
36086 */
36087
36088function getEventTarget(nativeEvent) {
36089  // Fallback to nativeEvent.srcElement for IE9
36090  // https://github.com/facebook/react/issues/12506
36091  var target = nativeEvent.target || nativeEvent.srcElement || window; // Normalize SVG <use> element events #4963
36092
36093  if (target.correspondingUseElement) {
36094    target = target.correspondingUseElement;
36095  } // Safari may fire events on text nodes (Node.TEXT_NODE is 3).
36096  // @see http://www.quirksmode.org/js/events_properties.html
36097
36098
36099  return target.nodeType === TEXT_NODE ? target.parentNode : target;
36100}
36101
36102/**
36103 * Checks if an event is supported in the current execution environment.
36104 *
36105 * NOTE: This will not work correctly for non-generic events such as `change`,
36106 * `reset`, `load`, `error`, and `select`.
36107 *
36108 * Borrows from Modernizr.
36109 *
36110 * @param {string} eventNameSuffix Event name, e.g. "click".
36111 * @return {boolean} True if the event is supported.
36112 * @internal
36113 * @license Modernizr 3.0.0pre (Custom Build) | MIT
36114 */
36115
36116function isEventSupported(eventNameSuffix) {
36117  if (!canUseDOM) {
36118    return false;
36119  }
36120
36121  var eventName = 'on' + eventNameSuffix;
36122  var isSupported = eventName in document;
36123
36124  if (!isSupported) {
36125    var element = document.createElement('div');
36126    element.setAttribute(eventName, 'return;');
36127    isSupported = typeof element[eventName] === 'function';
36128  }
36129
36130  return isSupported;
36131}
36132
36133/**
36134 * Summary of `DOMEventPluginSystem` event handling:
36135 *
36136 *  - Top-level delegation is used to trap most native browser events. This
36137 *    may only occur in the main thread and is the responsibility of
36138 *    ReactDOMEventListener, which is injected and can therefore support
36139 *    pluggable event sources. This is the only work that occurs in the main
36140 *    thread.
36141 *
36142 *  - We normalize and de-duplicate events to account for browser quirks. This
36143 *    may be done in the worker thread.
36144 *
36145 *  - Forward these native events (with the associated top-level type used to
36146 *    trap it) to `EventPluginRegistry`, which in turn will ask plugins if they want
36147 *    to extract any synthetic events.
36148 *
36149 *  - The `EventPluginRegistry` will then process each event by annotating them with
36150 *    "dispatches", a sequence of listeners and IDs that care about that event.
36151 *
36152 *  - The `EventPluginRegistry` then dispatches the events.
36153 *
36154 * Overview of React and the event system:
36155 *
36156 * +------------+    .
36157 * |    DOM     |    .
36158 * +------------+    .
36159 *       |           .
36160 *       v           .
36161 * +------------+    .
36162 * | ReactEvent |    .
36163 * |  Listener  |    .
36164 * +------------+    .                         +-----------+
36165 *       |           .               +--------+|SimpleEvent|
36166 *       |           .               |         |Plugin     |
36167 * +-----|------+    .               v         +-----------+
36168 * |     |      |    .    +--------------+                    +------------+
36169 * |     +-----------.--->|PluginRegistry|                    |    Event   |
36170 * |            |    .    |              |     +-----------+  | Propagators|
36171 * | ReactEvent |    .    |              |     |TapEvent   |  |------------|
36172 * |  Emitter   |    .    |              |<---+|Plugin     |  |other plugin|
36173 * |            |    .    |              |     +-----------+  |  utilities |
36174 * |     +-----------.--->|              |                    +------------+
36175 * |     |      |    .    +--------------+
36176 * +-----|------+    .                ^        +-----------+
36177 *       |           .                |        |Enter/Leave|
36178 *       +           .                +-------+|Plugin     |
36179 * +-------------+   .                         +-----------+
36180 * | application |   .
36181 * |-------------|   .
36182 * |             |   .
36183 * |             |   .
36184 * +-------------+   .
36185 *                   .
36186 *    React Core     .  General Purpose Event Plugin System
36187 */
36188
36189var CALLBACK_BOOKKEEPING_POOL_SIZE = 10;
36190var callbackBookkeepingPool = [];
36191
36192function releaseTopLevelCallbackBookKeeping(instance) {
36193  instance.topLevelType = null;
36194  instance.nativeEvent = null;
36195  instance.targetInst = null;
36196  instance.ancestors.length = 0;
36197
36198  if (callbackBookkeepingPool.length < CALLBACK_BOOKKEEPING_POOL_SIZE) {
36199    callbackBookkeepingPool.push(instance);
36200  }
36201} // Used to store ancestor hierarchy in top level callback
36202
36203
36204function getTopLevelCallbackBookKeeping(topLevelType, nativeEvent, targetInst, eventSystemFlags) {
36205  if (callbackBookkeepingPool.length) {
36206    var instance = callbackBookkeepingPool.pop();
36207    instance.topLevelType = topLevelType;
36208    instance.eventSystemFlags = eventSystemFlags;
36209    instance.nativeEvent = nativeEvent;
36210    instance.targetInst = targetInst;
36211    return instance;
36212  }
36213
36214  return {
36215    topLevelType: topLevelType,
36216    eventSystemFlags: eventSystemFlags,
36217    nativeEvent: nativeEvent,
36218    targetInst: targetInst,
36219    ancestors: []
36220  };
36221}
36222/**
36223 * Find the deepest React component completely containing the root of the
36224 * passed-in instance (for use when entire React trees are nested within each
36225 * other). If React trees are not nested, returns null.
36226 */
36227
36228
36229function findRootContainerNode(inst) {
36230  if (inst.tag === HostRoot) {
36231    return inst.stateNode.containerInfo;
36232  } // TODO: It may be a good idea to cache this to prevent unnecessary DOM
36233  // traversal, but caching is difficult to do correctly without using a
36234  // mutation observer to listen for all DOM changes.
36235
36236
36237  while (inst.return) {
36238    inst = inst.return;
36239  }
36240
36241  if (inst.tag !== HostRoot) {
36242    // This can happen if we're in a detached tree.
36243    return null;
36244  }
36245
36246  return inst.stateNode.containerInfo;
36247}
36248/**
36249 * Allows registered plugins an opportunity to extract events from top-level
36250 * native browser events.
36251 *
36252 * @return {*} An accumulation of synthetic events.
36253 * @internal
36254 */
36255
36256
36257function extractPluginEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) {
36258  var events = null;
36259
36260  for (var i = 0; i < plugins.length; i++) {
36261    // Not every plugin in the ordering may be loaded at runtime.
36262    var possiblePlugin = plugins[i];
36263
36264    if (possiblePlugin) {
36265      var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags);
36266
36267      if (extractedEvents) {
36268        events = accumulateInto(events, extractedEvents);
36269      }
36270    }
36271  }
36272
36273  return events;
36274}
36275
36276function runExtractedPluginEventsInBatch(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) {
36277  var events = extractPluginEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags);
36278  runEventsInBatch(events);
36279}
36280
36281function handleTopLevel(bookKeeping) {
36282  var targetInst = bookKeeping.targetInst; // Loop through the hierarchy, in case there's any nested components.
36283  // It's important that we build the array of ancestors before calling any
36284  // event handlers, because event handlers can modify the DOM, leading to
36285  // inconsistencies with ReactMount's node cache. See #1105.
36286
36287  var ancestor = targetInst;
36288
36289  do {
36290    if (!ancestor) {
36291      var ancestors = bookKeeping.ancestors;
36292      ancestors.push(ancestor);
36293      break;
36294    }
36295
36296    var root = findRootContainerNode(ancestor);
36297
36298    if (!root) {
36299      break;
36300    }
36301
36302    var tag = ancestor.tag;
36303
36304    if (tag === HostComponent || tag === HostText) {
36305      bookKeeping.ancestors.push(ancestor);
36306    }
36307
36308    ancestor = getClosestInstanceFromNode(root);
36309  } while (ancestor);
36310
36311  for (var i = 0; i < bookKeeping.ancestors.length; i++) {
36312    targetInst = bookKeeping.ancestors[i];
36313    var eventTarget = getEventTarget(bookKeeping.nativeEvent);
36314    var topLevelType = bookKeeping.topLevelType;
36315    var nativeEvent = bookKeeping.nativeEvent;
36316    var eventSystemFlags = bookKeeping.eventSystemFlags; // If this is the first ancestor, we mark it on the system flags
36317
36318    if (i === 0) {
36319      eventSystemFlags |= IS_FIRST_ANCESTOR;
36320    }
36321
36322    runExtractedPluginEventsInBatch(topLevelType, targetInst, nativeEvent, eventTarget, eventSystemFlags);
36323  }
36324}
36325
36326function dispatchEventForLegacyPluginEventSystem(topLevelType, eventSystemFlags, nativeEvent, targetInst) {
36327  var bookKeeping = getTopLevelCallbackBookKeeping(topLevelType, nativeEvent, targetInst, eventSystemFlags);
36328
36329  try {
36330    // Event queue being processed in the same cycle allows
36331    // `preventDefault`.
36332    batchedEventUpdates(handleTopLevel, bookKeeping);
36333  } finally {
36334    releaseTopLevelCallbackBookKeeping(bookKeeping);
36335  }
36336}
36337/**
36338 * We listen for bubbled touch events on the document object.
36339 *
36340 * Firefox v8.01 (and possibly others) exhibited strange behavior when
36341 * mounting `onmousemove` events at some node that was not the document
36342 * element. The symptoms were that if your mouse is not moving over something
36343 * contained within that mount point (for example on the background) the
36344 * top-level listeners for `onmousemove` won't be called. However, if you
36345 * register the `mousemove` on the document object, then it will of course
36346 * catch all `mousemove`s. This along with iOS quirks, justifies restricting
36347 * top-level listeners to the document object only, at least for these
36348 * movement types of events and possibly all events.
36349 *
36350 * @see http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html
36351 *
36352 * Also, `keyup`/`keypress`/`keydown` do not bubble to the window on IE, but
36353 * they bubble to document.
36354 *
36355 * @param {string} registrationName Name of listener (e.g. `onClick`).
36356 * @param {object} mountAt Container where to mount the listener
36357 */
36358
36359function legacyListenToEvent(registrationName, mountAt) {
36360  var listenerMap = getListenerMapForElement(mountAt);
36361  var dependencies = registrationNameDependencies[registrationName];
36362
36363  for (var i = 0; i < dependencies.length; i++) {
36364    var dependency = dependencies[i];
36365    legacyListenToTopLevelEvent(dependency, mountAt, listenerMap);
36366  }
36367}
36368function legacyListenToTopLevelEvent(topLevelType, mountAt, listenerMap) {
36369  if (!listenerMap.has(topLevelType)) {
36370    switch (topLevelType) {
36371      case TOP_SCROLL:
36372        trapCapturedEvent(TOP_SCROLL, mountAt);
36373        break;
36374
36375      case TOP_FOCUS:
36376      case TOP_BLUR:
36377        trapCapturedEvent(TOP_FOCUS, mountAt);
36378        trapCapturedEvent(TOP_BLUR, mountAt); // We set the flag for a single dependency later in this function,
36379        // but this ensures we mark both as attached rather than just one.
36380
36381        listenerMap.set(TOP_BLUR, null);
36382        listenerMap.set(TOP_FOCUS, null);
36383        break;
36384
36385      case TOP_CANCEL:
36386      case TOP_CLOSE:
36387        if (isEventSupported(getRawEventName(topLevelType))) {
36388          trapCapturedEvent(topLevelType, mountAt);
36389        }
36390
36391        break;
36392
36393      case TOP_INVALID:
36394      case TOP_SUBMIT:
36395      case TOP_RESET:
36396        // We listen to them on the target DOM elements.
36397        // Some of them bubble so we don't want them to fire twice.
36398        break;
36399
36400      default:
36401        // By default, listen on the top level to all non-media events.
36402        // Media events don't bubble so adding the listener wouldn't do anything.
36403        var isMediaEvent = mediaEventTypes.indexOf(topLevelType) !== -1;
36404
36405        if (!isMediaEvent) {
36406          trapBubbledEvent(topLevelType, mountAt);
36407        }
36408
36409        break;
36410    }
36411
36412    listenerMap.set(topLevelType, null);
36413  }
36414}
36415function isListeningToAllDependencies(registrationName, mountAt) {
36416  var listenerMap = getListenerMapForElement(mountAt);
36417  var dependencies = registrationNameDependencies[registrationName];
36418
36419  for (var i = 0; i < dependencies.length; i++) {
36420    var dependency = dependencies[i];
36421
36422    if (!listenerMap.has(dependency)) {
36423      return false;
36424    }
36425  }
36426
36427  return true;
36428}
36429
36430var attemptUserBlockingHydration;
36431function setAttemptUserBlockingHydration(fn) {
36432  attemptUserBlockingHydration = fn;
36433}
36434var attemptContinuousHydration;
36435function setAttemptContinuousHydration(fn) {
36436  attemptContinuousHydration = fn;
36437}
36438var attemptHydrationAtCurrentPriority;
36439function setAttemptHydrationAtCurrentPriority(fn) {
36440  attemptHydrationAtCurrentPriority = fn;
36441} // TODO: Upgrade this definition once we're on a newer version of Flow that
36442var hasScheduledReplayAttempt = false; // The queue of discrete events to be replayed.
36443
36444var queuedDiscreteEvents = []; // Indicates if any continuous event targets are non-null for early bailout.
36445// if the last target was dehydrated.
36446
36447var queuedFocus = null;
36448var queuedDrag = null;
36449var queuedMouse = null; // For pointer events there can be one latest event per pointerId.
36450
36451var queuedPointers = new Map();
36452var queuedPointerCaptures = new Map(); // We could consider replaying selectionchange and touchmoves too.
36453
36454var queuedExplicitHydrationTargets = [];
36455function hasQueuedDiscreteEvents() {
36456  return queuedDiscreteEvents.length > 0;
36457}
36458var discreteReplayableEvents = [TOP_MOUSE_DOWN, TOP_MOUSE_UP, TOP_TOUCH_CANCEL, TOP_TOUCH_END, TOP_TOUCH_START, TOP_AUX_CLICK, TOP_DOUBLE_CLICK, TOP_POINTER_CANCEL, TOP_POINTER_DOWN, TOP_POINTER_UP, TOP_DRAG_END, TOP_DRAG_START, TOP_DROP, TOP_COMPOSITION_END, TOP_COMPOSITION_START, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_INPUT, TOP_TEXT_INPUT, TOP_CLOSE, TOP_CANCEL, TOP_COPY, TOP_CUT, TOP_PASTE, TOP_CLICK, TOP_CHANGE, TOP_CONTEXT_MENU, TOP_RESET, TOP_SUBMIT];
36459var continuousReplayableEvents = [TOP_FOCUS, TOP_BLUR, TOP_DRAG_ENTER, TOP_DRAG_LEAVE, TOP_MOUSE_OVER, TOP_MOUSE_OUT, TOP_POINTER_OVER, TOP_POINTER_OUT, TOP_GOT_POINTER_CAPTURE, TOP_LOST_POINTER_CAPTURE];
36460function isReplayableDiscreteEvent(eventType) {
36461  return discreteReplayableEvents.indexOf(eventType) > -1;
36462}
36463
36464function trapReplayableEventForDocument(topLevelType, document, listenerMap) {
36465  legacyListenToTopLevelEvent(topLevelType, document, listenerMap);
36466}
36467
36468function eagerlyTrapReplayableEvents(container, document) {
36469  var listenerMapForDoc = getListenerMapForElement(document); // Discrete
36470
36471  discreteReplayableEvents.forEach(function (topLevelType) {
36472    trapReplayableEventForDocument(topLevelType, document, listenerMapForDoc);
36473  }); // Continuous
36474
36475  continuousReplayableEvents.forEach(function (topLevelType) {
36476    trapReplayableEventForDocument(topLevelType, document, listenerMapForDoc);
36477  });
36478}
36479
36480function createQueuedReplayableEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) {
36481  return {
36482    blockedOn: blockedOn,
36483    topLevelType: topLevelType,
36484    eventSystemFlags: eventSystemFlags | IS_REPLAYED,
36485    nativeEvent: nativeEvent,
36486    container: container
36487  };
36488}
36489
36490function queueDiscreteEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) {
36491  var queuedEvent = createQueuedReplayableEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent);
36492  queuedDiscreteEvents.push(queuedEvent);
36493} // Resets the replaying for this type of continuous event to no event.
36494
36495function clearIfContinuousEvent(topLevelType, nativeEvent) {
36496  switch (topLevelType) {
36497    case TOP_FOCUS:
36498    case TOP_BLUR:
36499      queuedFocus = null;
36500      break;
36501
36502    case TOP_DRAG_ENTER:
36503    case TOP_DRAG_LEAVE:
36504      queuedDrag = null;
36505      break;
36506
36507    case TOP_MOUSE_OVER:
36508    case TOP_MOUSE_OUT:
36509      queuedMouse = null;
36510      break;
36511
36512    case TOP_POINTER_OVER:
36513    case TOP_POINTER_OUT:
36514      {
36515        var pointerId = nativeEvent.pointerId;
36516        queuedPointers.delete(pointerId);
36517        break;
36518      }
36519
36520    case TOP_GOT_POINTER_CAPTURE:
36521    case TOP_LOST_POINTER_CAPTURE:
36522      {
36523        var _pointerId = nativeEvent.pointerId;
36524        queuedPointerCaptures.delete(_pointerId);
36525        break;
36526      }
36527  }
36528}
36529
36530function accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) {
36531  if (existingQueuedEvent === null || existingQueuedEvent.nativeEvent !== nativeEvent) {
36532    var queuedEvent = createQueuedReplayableEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent);
36533
36534    if (blockedOn !== null) {
36535      var _fiber2 = getInstanceFromNode$1(blockedOn);
36536
36537      if (_fiber2 !== null) {
36538        // Attempt to increase the priority of this target.
36539        attemptContinuousHydration(_fiber2);
36540      }
36541    }
36542
36543    return queuedEvent;
36544  } // If we have already queued this exact event, then it's because
36545  // the different event systems have different DOM event listeners.
36546  // We can accumulate the flags and store a single event to be
36547  // replayed.
36548
36549
36550  existingQueuedEvent.eventSystemFlags |= eventSystemFlags;
36551  return existingQueuedEvent;
36552}
36553
36554function queueIfContinuousEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) {
36555  // These set relatedTarget to null because the replayed event will be treated as if we
36556  // moved from outside the window (no target) onto the target once it hydrates.
36557  // Instead of mutating we could clone the event.
36558  switch (topLevelType) {
36559    case TOP_FOCUS:
36560      {
36561        var focusEvent = nativeEvent;
36562        queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(queuedFocus, blockedOn, topLevelType, eventSystemFlags, container, focusEvent);
36563        return true;
36564      }
36565
36566    case TOP_DRAG_ENTER:
36567      {
36568        var dragEvent = nativeEvent;
36569        queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(queuedDrag, blockedOn, topLevelType, eventSystemFlags, container, dragEvent);
36570        return true;
36571      }
36572
36573    case TOP_MOUSE_OVER:
36574      {
36575        var mouseEvent = nativeEvent;
36576        queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(queuedMouse, blockedOn, topLevelType, eventSystemFlags, container, mouseEvent);
36577        return true;
36578      }
36579
36580    case TOP_POINTER_OVER:
36581      {
36582        var pointerEvent = nativeEvent;
36583        var pointerId = pointerEvent.pointerId;
36584        queuedPointers.set(pointerId, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointers.get(pointerId) || null, blockedOn, topLevelType, eventSystemFlags, container, pointerEvent));
36585        return true;
36586      }
36587
36588    case TOP_GOT_POINTER_CAPTURE:
36589      {
36590        var _pointerEvent = nativeEvent;
36591        var _pointerId2 = _pointerEvent.pointerId;
36592        queuedPointerCaptures.set(_pointerId2, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointerCaptures.get(_pointerId2) || null, blockedOn, topLevelType, eventSystemFlags, container, _pointerEvent));
36593        return true;
36594      }
36595  }
36596
36597  return false;
36598} // Check if this target is unblocked. Returns true if it's unblocked.
36599
36600function attemptExplicitHydrationTarget(queuedTarget) {
36601  // TODO: This function shares a lot of logic with attemptToDispatchEvent.
36602  // Try to unify them. It's a bit tricky since it would require two return
36603  // values.
36604  var targetInst = getClosestInstanceFromNode(queuedTarget.target);
36605
36606  if (targetInst !== null) {
36607    var nearestMounted = getNearestMountedFiber(targetInst);
36608
36609    if (nearestMounted !== null) {
36610      var tag = nearestMounted.tag;
36611
36612      if (tag === SuspenseComponent) {
36613        var instance = getSuspenseInstanceFromFiber(nearestMounted);
36614
36615        if (instance !== null) {
36616          // We're blocked on hydrating this boundary.
36617          // Increase its priority.
36618          queuedTarget.blockedOn = instance;
36619          Scheduler.unstable_runWithPriority(queuedTarget.priority, function () {
36620            attemptHydrationAtCurrentPriority(nearestMounted);
36621          });
36622          return;
36623        }
36624      } else if (tag === HostRoot) {
36625        var root = nearestMounted.stateNode;
36626
36627        if (root.hydrate) {
36628          queuedTarget.blockedOn = getContainerFromFiber(nearestMounted); // We don't currently have a way to increase the priority of
36629          // a root other than sync.
36630
36631          return;
36632        }
36633      }
36634    }
36635  }
36636
36637  queuedTarget.blockedOn = null;
36638}
36639
36640function attemptReplayContinuousQueuedEvent(queuedEvent) {
36641  if (queuedEvent.blockedOn !== null) {
36642    return false;
36643  }
36644
36645  var nextBlockedOn = attemptToDispatchEvent(queuedEvent.topLevelType, queuedEvent.eventSystemFlags, queuedEvent.container, queuedEvent.nativeEvent);
36646
36647  if (nextBlockedOn !== null) {
36648    // We're still blocked. Try again later.
36649    var _fiber3 = getInstanceFromNode$1(nextBlockedOn);
36650
36651    if (_fiber3 !== null) {
36652      attemptContinuousHydration(_fiber3);
36653    }
36654
36655    queuedEvent.blockedOn = nextBlockedOn;
36656    return false;
36657  }
36658
36659  return true;
36660}
36661
36662function attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {
36663  if (attemptReplayContinuousQueuedEvent(queuedEvent)) {
36664    map.delete(key);
36665  }
36666}
36667
36668function replayUnblockedEvents() {
36669  hasScheduledReplayAttempt = false; // First replay discrete events.
36670
36671  while (queuedDiscreteEvents.length > 0) {
36672    var nextDiscreteEvent = queuedDiscreteEvents[0];
36673
36674    if (nextDiscreteEvent.blockedOn !== null) {
36675      // We're still blocked.
36676      // Increase the priority of this boundary to unblock
36677      // the next discrete event.
36678      var _fiber4 = getInstanceFromNode$1(nextDiscreteEvent.blockedOn);
36679
36680      if (_fiber4 !== null) {
36681        attemptUserBlockingHydration(_fiber4);
36682      }
36683
36684      break;
36685    }
36686
36687    var nextBlockedOn = attemptToDispatchEvent(nextDiscreteEvent.topLevelType, nextDiscreteEvent.eventSystemFlags, nextDiscreteEvent.container, nextDiscreteEvent.nativeEvent);
36688
36689    if (nextBlockedOn !== null) {
36690      // We're still blocked. Try again later.
36691      nextDiscreteEvent.blockedOn = nextBlockedOn;
36692    } else {
36693      // We've successfully replayed the first event. Let's try the next one.
36694      queuedDiscreteEvents.shift();
36695    }
36696  } // Next replay any continuous events.
36697
36698
36699  if (queuedFocus !== null && attemptReplayContinuousQueuedEvent(queuedFocus)) {
36700    queuedFocus = null;
36701  }
36702
36703  if (queuedDrag !== null && attemptReplayContinuousQueuedEvent(queuedDrag)) {
36704    queuedDrag = null;
36705  }
36706
36707  if (queuedMouse !== null && attemptReplayContinuousQueuedEvent(queuedMouse)) {
36708    queuedMouse = null;
36709  }
36710
36711  queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);
36712  queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);
36713}
36714
36715function scheduleCallbackIfUnblocked(queuedEvent, unblocked) {
36716  if (queuedEvent.blockedOn === unblocked) {
36717    queuedEvent.blockedOn = null;
36718
36719    if (!hasScheduledReplayAttempt) {
36720      hasScheduledReplayAttempt = true; // Schedule a callback to attempt replaying as many events as are
36721      // now unblocked. This first might not actually be unblocked yet.
36722      // We could check it early to avoid scheduling an unnecessary callback.
36723
36724      Scheduler.unstable_scheduleCallback(Scheduler.unstable_NormalPriority, replayUnblockedEvents);
36725    }
36726  }
36727}
36728
36729function retryIfBlockedOn(unblocked) {
36730  // Mark anything that was blocked on this as no longer blocked
36731  // and eligible for a replay.
36732  if (queuedDiscreteEvents.length > 0) {
36733    scheduleCallbackIfUnblocked(queuedDiscreteEvents[0], unblocked); // This is a exponential search for each boundary that commits. I think it's
36734    // worth it because we expect very few discrete events to queue up and once
36735    // we are actually fully unblocked it will be fast to replay them.
36736
36737    for (var i = 1; i < queuedDiscreteEvents.length; i++) {
36738      var queuedEvent = queuedDiscreteEvents[i];
36739
36740      if (queuedEvent.blockedOn === unblocked) {
36741        queuedEvent.blockedOn = null;
36742      }
36743    }
36744  }
36745
36746  if (queuedFocus !== null) {
36747    scheduleCallbackIfUnblocked(queuedFocus, unblocked);
36748  }
36749
36750  if (queuedDrag !== null) {
36751    scheduleCallbackIfUnblocked(queuedDrag, unblocked);
36752  }
36753
36754  if (queuedMouse !== null) {
36755    scheduleCallbackIfUnblocked(queuedMouse, unblocked);
36756  }
36757
36758  var unblock = function (queuedEvent) {
36759    return scheduleCallbackIfUnblocked(queuedEvent, unblocked);
36760  };
36761
36762  queuedPointers.forEach(unblock);
36763  queuedPointerCaptures.forEach(unblock);
36764
36765  for (var _i = 0; _i < queuedExplicitHydrationTargets.length; _i++) {
36766    var queuedTarget = queuedExplicitHydrationTargets[_i];
36767
36768    if (queuedTarget.blockedOn === unblocked) {
36769      queuedTarget.blockedOn = null;
36770    }
36771  }
36772
36773  while (queuedExplicitHydrationTargets.length > 0) {
36774    var nextExplicitTarget = queuedExplicitHydrationTargets[0];
36775
36776    if (nextExplicitTarget.blockedOn !== null) {
36777      // We're still blocked.
36778      break;
36779    } else {
36780      attemptExplicitHydrationTarget(nextExplicitTarget);
36781
36782      if (nextExplicitTarget.blockedOn === null) {
36783        // We're unblocked.
36784        queuedExplicitHydrationTargets.shift();
36785      }
36786    }
36787  }
36788}
36789
36790function addEventBubbleListener(element, eventType, listener) {
36791  element.addEventListener(eventType, listener, false);
36792}
36793function addEventCaptureListener(element, eventType, listener) {
36794  element.addEventListener(eventType, listener, true);
36795}
36796
36797// do it in two places, which duplicates logic
36798// and increases the bundle size, we do it all
36799// here once. If we remove or refactor the
36800// SimpleEventPlugin, we should also remove or
36801// update the below line.
36802
36803var simpleEventPluginEventTypes = {};
36804var topLevelEventsToDispatchConfig = new Map();
36805var eventPriorities = new Map(); // We store most of the events in this module in pairs of two strings so we can re-use
36806// the code required to apply the same logic for event prioritization and that of the
36807// SimpleEventPlugin. This complicates things slightly, but the aim is to reduce code
36808// duplication (for which there would be quite a bit). For the events that are not needed
36809// for the SimpleEventPlugin (otherDiscreteEvents) we process them separately as an
36810// array of top level events.
36811// Lastly, we ignore prettier so we can keep the formatting sane.
36812// prettier-ignore
36813
36814var discreteEventPairsForSimpleEventPlugin = [TOP_BLUR, 'blur', TOP_CANCEL, 'cancel', TOP_CLICK, 'click', TOP_CLOSE, 'close', TOP_CONTEXT_MENU, 'contextMenu', TOP_COPY, 'copy', TOP_CUT, 'cut', TOP_AUX_CLICK, 'auxClick', TOP_DOUBLE_CLICK, 'doubleClick', TOP_DRAG_END, 'dragEnd', TOP_DRAG_START, 'dragStart', TOP_DROP, 'drop', TOP_FOCUS, 'focus', TOP_INPUT, 'input', TOP_INVALID, 'invalid', TOP_KEY_DOWN, 'keyDown', TOP_KEY_PRESS, 'keyPress', TOP_KEY_UP, 'keyUp', TOP_MOUSE_DOWN, 'mouseDown', TOP_MOUSE_UP, 'mouseUp', TOP_PASTE, 'paste', TOP_PAUSE, 'pause', TOP_PLAY, 'play', TOP_POINTER_CANCEL, 'pointerCancel', TOP_POINTER_DOWN, 'pointerDown', TOP_POINTER_UP, 'pointerUp', TOP_RATE_CHANGE, 'rateChange', TOP_RESET, 'reset', TOP_SEEKED, 'seeked', TOP_SUBMIT, 'submit', TOP_TOUCH_CANCEL, 'touchCancel', TOP_TOUCH_END, 'touchEnd', TOP_TOUCH_START, 'touchStart', TOP_VOLUME_CHANGE, 'volumeChange'];
36815var otherDiscreteEvents = [TOP_CHANGE, TOP_SELECTION_CHANGE, TOP_TEXT_INPUT, TOP_COMPOSITION_START, TOP_COMPOSITION_END, TOP_COMPOSITION_UPDATE]; // prettier-ignore
36816
36817var userBlockingPairsForSimpleEventPlugin = [TOP_DRAG, 'drag', TOP_DRAG_ENTER, 'dragEnter', TOP_DRAG_EXIT, 'dragExit', TOP_DRAG_LEAVE, 'dragLeave', TOP_DRAG_OVER, 'dragOver', TOP_MOUSE_MOVE, 'mouseMove', TOP_MOUSE_OUT, 'mouseOut', TOP_MOUSE_OVER, 'mouseOver', TOP_POINTER_MOVE, 'pointerMove', TOP_POINTER_OUT, 'pointerOut', TOP_POINTER_OVER, 'pointerOver', TOP_SCROLL, 'scroll', TOP_TOGGLE, 'toggle', TOP_TOUCH_MOVE, 'touchMove', TOP_WHEEL, 'wheel']; // prettier-ignore
36818
36819var continuousPairsForSimpleEventPlugin = [TOP_ABORT, 'abort', TOP_ANIMATION_END, 'animationEnd', TOP_ANIMATION_ITERATION, 'animationIteration', TOP_ANIMATION_START, 'animationStart', TOP_CAN_PLAY, 'canPlay', TOP_CAN_PLAY_THROUGH, 'canPlayThrough', TOP_DURATION_CHANGE, 'durationChange', TOP_EMPTIED, 'emptied', TOP_ENCRYPTED, 'encrypted', TOP_ENDED, 'ended', TOP_ERROR, 'error', TOP_GOT_POINTER_CAPTURE, 'gotPointerCapture', TOP_LOAD, 'load', TOP_LOADED_DATA, 'loadedData', TOP_LOADED_METADATA, 'loadedMetadata', TOP_LOAD_START, 'loadStart', TOP_LOST_POINTER_CAPTURE, 'lostPointerCapture', TOP_PLAYING, 'playing', TOP_PROGRESS, 'progress', TOP_SEEKING, 'seeking', TOP_STALLED, 'stalled', TOP_SUSPEND, 'suspend', TOP_TIME_UPDATE, 'timeUpdate', TOP_TRANSITION_END, 'transitionEnd', TOP_WAITING, 'waiting'];
36820/**
36821 * Turns
36822 * ['abort', ...]
36823 * into
36824 * eventTypes = {
36825 *   'abort': {
36826 *     phasedRegistrationNames: {
36827 *       bubbled: 'onAbort',
36828 *       captured: 'onAbortCapture',
36829 *     },
36830 *     dependencies: [TOP_ABORT],
36831 *   },
36832 *   ...
36833 * };
36834 * topLevelEventsToDispatchConfig = new Map([
36835 *   [TOP_ABORT, { sameConfig }],
36836 * ]);
36837 */
36838
36839function processSimpleEventPluginPairsByPriority(eventTypes, priority) {
36840  // As the event types are in pairs of two, we need to iterate
36841  // through in twos. The events are in pairs of two to save code
36842  // and improve init perf of processing this array, as it will
36843  // result in far fewer object allocations and property accesses
36844  // if we only use three arrays to process all the categories of
36845  // instead of tuples.
36846  for (var i = 0; i < eventTypes.length; i += 2) {
36847    var topEvent = eventTypes[i];
36848    var event = eventTypes[i + 1];
36849    var capitalizedEvent = event[0].toUpperCase() + event.slice(1);
36850    var onEvent = 'on' + capitalizedEvent;
36851    var config = {
36852      phasedRegistrationNames: {
36853        bubbled: onEvent,
36854        captured: onEvent + 'Capture'
36855      },
36856      dependencies: [topEvent],
36857      eventPriority: priority
36858    };
36859    eventPriorities.set(topEvent, priority);
36860    topLevelEventsToDispatchConfig.set(topEvent, config);
36861    simpleEventPluginEventTypes[event] = config;
36862  }
36863}
36864
36865function processTopEventPairsByPriority(eventTypes, priority) {
36866  for (var i = 0; i < eventTypes.length; i++) {
36867    eventPriorities.set(eventTypes[i], priority);
36868  }
36869} // SimpleEventPlugin
36870
36871
36872processSimpleEventPluginPairsByPriority(discreteEventPairsForSimpleEventPlugin, DiscreteEvent);
36873processSimpleEventPluginPairsByPriority(userBlockingPairsForSimpleEventPlugin, UserBlockingEvent);
36874processSimpleEventPluginPairsByPriority(continuousPairsForSimpleEventPlugin, ContinuousEvent); // Not used by SimpleEventPlugin
36875
36876processTopEventPairsByPriority(otherDiscreteEvents, DiscreteEvent);
36877function getEventPriorityForPluginSystem(topLevelType) {
36878  var priority = eventPriorities.get(topLevelType); // Default to a ContinuousEvent. Note: we might
36879  // want to warn if we can't detect the priority
36880  // for the event.
36881
36882  return priority === undefined ? ContinuousEvent : priority;
36883}
36884
36885// Intentionally not named imports because Rollup would use dynamic dispatch for
36886var UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,
36887    runWithPriority = Scheduler.unstable_runWithPriority; // TODO: can we stop exporting these?
36888
36889var _enabled = true;
36890function setEnabled(enabled) {
36891  _enabled = !!enabled;
36892}
36893function isEnabled() {
36894  return _enabled;
36895}
36896function trapBubbledEvent(topLevelType, element) {
36897  trapEventForPluginEventSystem(element, topLevelType, false);
36898}
36899function trapCapturedEvent(topLevelType, element) {
36900  trapEventForPluginEventSystem(element, topLevelType, true);
36901}
36902
36903function trapEventForPluginEventSystem(container, topLevelType, capture) {
36904  var listener;
36905
36906  switch (getEventPriorityForPluginSystem(topLevelType)) {
36907    case DiscreteEvent:
36908      listener = dispatchDiscreteEvent.bind(null, topLevelType, PLUGIN_EVENT_SYSTEM, container);
36909      break;
36910
36911    case UserBlockingEvent:
36912      listener = dispatchUserBlockingUpdate.bind(null, topLevelType, PLUGIN_EVENT_SYSTEM, container);
36913      break;
36914
36915    case ContinuousEvent:
36916    default:
36917      listener = dispatchEvent.bind(null, topLevelType, PLUGIN_EVENT_SYSTEM, container);
36918      break;
36919  }
36920
36921  var rawEventName = getRawEventName(topLevelType);
36922
36923  if (capture) {
36924    addEventCaptureListener(container, rawEventName, listener);
36925  } else {
36926    addEventBubbleListener(container, rawEventName, listener);
36927  }
36928}
36929
36930function dispatchDiscreteEvent(topLevelType, eventSystemFlags, container, nativeEvent) {
36931  flushDiscreteUpdatesIfNeeded(nativeEvent.timeStamp);
36932  discreteUpdates(dispatchEvent, topLevelType, eventSystemFlags, container, nativeEvent);
36933}
36934
36935function dispatchUserBlockingUpdate(topLevelType, eventSystemFlags, container, nativeEvent) {
36936  runWithPriority(UserBlockingPriority, dispatchEvent.bind(null, topLevelType, eventSystemFlags, container, nativeEvent));
36937}
36938
36939function dispatchEvent(topLevelType, eventSystemFlags, container, nativeEvent) {
36940  if (!_enabled) {
36941    return;
36942  }
36943
36944  if (hasQueuedDiscreteEvents() && isReplayableDiscreteEvent(topLevelType)) {
36945    // If we already have a queue of discrete events, and this is another discrete
36946    // event, then we can't dispatch it regardless of its target, since they
36947    // need to dispatch in order.
36948    queueDiscreteEvent(null, // Flags that we're not actually blocked on anything as far as we know.
36949    topLevelType, eventSystemFlags, container, nativeEvent);
36950    return;
36951  }
36952
36953  var blockedOn = attemptToDispatchEvent(topLevelType, eventSystemFlags, container, nativeEvent);
36954
36955  if (blockedOn === null) {
36956    // We successfully dispatched this event.
36957    clearIfContinuousEvent(topLevelType, nativeEvent);
36958    return;
36959  }
36960
36961  if (isReplayableDiscreteEvent(topLevelType)) {
36962    // This this to be replayed later once the target is available.
36963    queueDiscreteEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent);
36964    return;
36965  }
36966
36967  if (queueIfContinuousEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent)) {
36968    return;
36969  } // We need to clear only if we didn't queue because
36970  // queueing is accummulative.
36971
36972
36973  clearIfContinuousEvent(topLevelType, nativeEvent); // This is not replayable so we'll invoke it but without a target,
36974  // in case the event system needs to trace it.
36975
36976  {
36977    dispatchEventForLegacyPluginEventSystem(topLevelType, eventSystemFlags, nativeEvent, null);
36978  }
36979} // Attempt dispatching an event. Returns a SuspenseInstance or Container if it's blocked.
36980
36981function attemptToDispatchEvent(topLevelType, eventSystemFlags, container, nativeEvent) {
36982  // TODO: Warn if _enabled is false.
36983  var nativeEventTarget = getEventTarget(nativeEvent);
36984  var targetInst = getClosestInstanceFromNode(nativeEventTarget);
36985
36986  if (targetInst !== null) {
36987    var nearestMounted = getNearestMountedFiber(targetInst);
36988
36989    if (nearestMounted === null) {
36990      // This tree has been unmounted already. Dispatch without a target.
36991      targetInst = null;
36992    } else {
36993      var tag = nearestMounted.tag;
36994
36995      if (tag === SuspenseComponent) {
36996        var instance = getSuspenseInstanceFromFiber(nearestMounted);
36997
36998        if (instance !== null) {
36999          // Queue the event to be replayed later. Abort dispatching since we
37000          // don't want this event dispatched twice through the event system.
37001          // TODO: If this is the first discrete event in the queue. Schedule an increased
37002          // priority for this boundary.
37003          return instance;
37004        } // This shouldn't happen, something went wrong but to avoid blocking
37005        // the whole system, dispatch the event without a target.
37006        // TODO: Warn.
37007
37008
37009        targetInst = null;
37010      } else if (tag === HostRoot) {
37011        var root = nearestMounted.stateNode;
37012
37013        if (root.hydrate) {
37014          // If this happens during a replay something went wrong and it might block
37015          // the whole system.
37016          return getContainerFromFiber(nearestMounted);
37017        }
37018
37019        targetInst = null;
37020      } else if (nearestMounted !== targetInst) {
37021        // If we get an event (ex: img onload) before committing that
37022        // component's mount, ignore it for now (that is, treat it as if it was an
37023        // event on a non-React tree). We might also consider queueing events and
37024        // dispatching them after the mount.
37025        targetInst = null;
37026      }
37027    }
37028  }
37029
37030  {
37031    dispatchEventForLegacyPluginEventSystem(topLevelType, eventSystemFlags, nativeEvent, targetInst);
37032  } // We're not blocked on anything.
37033
37034
37035  return null;
37036}
37037
37038// List derived from Gecko source code:
37039// https://github.com/mozilla/gecko-dev/blob/4e638efc71/layout/style/test/property_database.js
37040var shorthandToLonghand = {
37041  animation: ['animationDelay', 'animationDirection', 'animationDuration', 'animationFillMode', 'animationIterationCount', 'animationName', 'animationPlayState', 'animationTimingFunction'],
37042  background: ['backgroundAttachment', 'backgroundClip', 'backgroundColor', 'backgroundImage', 'backgroundOrigin', 'backgroundPositionX', 'backgroundPositionY', 'backgroundRepeat', 'backgroundSize'],
37043  backgroundPosition: ['backgroundPositionX', 'backgroundPositionY'],
37044  border: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth', 'borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderTopColor', 'borderTopStyle', 'borderTopWidth'],
37045  borderBlockEnd: ['borderBlockEndColor', 'borderBlockEndStyle', 'borderBlockEndWidth'],
37046  borderBlockStart: ['borderBlockStartColor', 'borderBlockStartStyle', 'borderBlockStartWidth'],
37047  borderBottom: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth'],
37048  borderColor: ['borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor'],
37049  borderImage: ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth'],
37050  borderInlineEnd: ['borderInlineEndColor', 'borderInlineEndStyle', 'borderInlineEndWidth'],
37051  borderInlineStart: ['borderInlineStartColor', 'borderInlineStartStyle', 'borderInlineStartWidth'],
37052  borderLeft: ['borderLeftColor', 'borderLeftStyle', 'borderLeftWidth'],
37053  borderRadius: ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius'],
37054  borderRight: ['borderRightColor', 'borderRightStyle', 'borderRightWidth'],
37055  borderStyle: ['borderBottomStyle', 'borderLeftStyle', 'borderRightStyle', 'borderTopStyle'],
37056  borderTop: ['borderTopColor', 'borderTopStyle', 'borderTopWidth'],
37057  borderWidth: ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth'],
37058  columnRule: ['columnRuleColor', 'columnRuleStyle', 'columnRuleWidth'],
37059  columns: ['columnCount', 'columnWidth'],
37060  flex: ['flexBasis', 'flexGrow', 'flexShrink'],
37061  flexFlow: ['flexDirection', 'flexWrap'],
37062  font: ['fontFamily', 'fontFeatureSettings', 'fontKerning', 'fontLanguageOverride', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition', 'fontWeight', 'lineHeight'],
37063  fontVariant: ['fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition'],
37064  gap: ['columnGap', 'rowGap'],
37065  grid: ['gridAutoColumns', 'gridAutoFlow', 'gridAutoRows', 'gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],
37066  gridArea: ['gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart'],
37067  gridColumn: ['gridColumnEnd', 'gridColumnStart'],
37068  gridColumnGap: ['columnGap'],
37069  gridGap: ['columnGap', 'rowGap'],
37070  gridRow: ['gridRowEnd', 'gridRowStart'],
37071  gridRowGap: ['rowGap'],
37072  gridTemplate: ['gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],
37073  listStyle: ['listStyleImage', 'listStylePosition', 'listStyleType'],
37074  margin: ['marginBottom', 'marginLeft', 'marginRight', 'marginTop'],
37075  marker: ['markerEnd', 'markerMid', 'markerStart'],
37076  mask: ['maskClip', 'maskComposite', 'maskImage', 'maskMode', 'maskOrigin', 'maskPositionX', 'maskPositionY', 'maskRepeat', 'maskSize'],
37077  maskPosition: ['maskPositionX', 'maskPositionY'],
37078  outline: ['outlineColor', 'outlineStyle', 'outlineWidth'],
37079  overflow: ['overflowX', 'overflowY'],
37080  padding: ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop'],
37081  placeContent: ['alignContent', 'justifyContent'],
37082  placeItems: ['alignItems', 'justifyItems'],
37083  placeSelf: ['alignSelf', 'justifySelf'],
37084  textDecoration: ['textDecorationColor', 'textDecorationLine', 'textDecorationStyle'],
37085  textEmphasis: ['textEmphasisColor', 'textEmphasisStyle'],
37086  transition: ['transitionDelay', 'transitionDuration', 'transitionProperty', 'transitionTimingFunction'],
37087  wordWrap: ['overflowWrap']
37088};
37089
37090/**
37091 * CSS properties which accept numbers but are not in units of "px".
37092 */
37093var isUnitlessNumber = {
37094  animationIterationCount: true,
37095  borderImageOutset: true,
37096  borderImageSlice: true,
37097  borderImageWidth: true,
37098  boxFlex: true,
37099  boxFlexGroup: true,
37100  boxOrdinalGroup: true,
37101  columnCount: true,
37102  columns: true,
37103  flex: true,
37104  flexGrow: true,
37105  flexPositive: true,
37106  flexShrink: true,
37107  flexNegative: true,
37108  flexOrder: true,
37109  gridArea: true,
37110  gridRow: true,
37111  gridRowEnd: true,
37112  gridRowSpan: true,
37113  gridRowStart: true,
37114  gridColumn: true,
37115  gridColumnEnd: true,
37116  gridColumnSpan: true,
37117  gridColumnStart: true,
37118  fontWeight: true,
37119  lineClamp: true,
37120  lineHeight: true,
37121  opacity: true,
37122  order: true,
37123  orphans: true,
37124  tabSize: true,
37125  widows: true,
37126  zIndex: true,
37127  zoom: true,
37128  // SVG-related properties
37129  fillOpacity: true,
37130  floodOpacity: true,
37131  stopOpacity: true,
37132  strokeDasharray: true,
37133  strokeDashoffset: true,
37134  strokeMiterlimit: true,
37135  strokeOpacity: true,
37136  strokeWidth: true
37137};
37138/**
37139 * @param {string} prefix vendor-specific prefix, eg: Webkit
37140 * @param {string} key style name, eg: transitionDuration
37141 * @return {string} style name prefixed with `prefix`, properly camelCased, eg:
37142 * WebkitTransitionDuration
37143 */
37144
37145function prefixKey(prefix, key) {
37146  return prefix + key.charAt(0).toUpperCase() + key.substring(1);
37147}
37148/**
37149 * Support style names that may come passed in prefixed by adding permutations
37150 * of vendor prefixes.
37151 */
37152
37153
37154var prefixes = ['Webkit', 'ms', 'Moz', 'O']; // Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an
37155// infinite loop, because it iterates over the newly added props too.
37156
37157Object.keys(isUnitlessNumber).forEach(function (prop) {
37158  prefixes.forEach(function (prefix) {
37159    isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop];
37160  });
37161});
37162
37163/**
37164 * Convert a value into the proper css writable value. The style name `name`
37165 * should be logical (no hyphens), as specified
37166 * in `CSSProperty.isUnitlessNumber`.
37167 *
37168 * @param {string} name CSS property name such as `topMargin`.
37169 * @param {*} value CSS property value such as `10px`.
37170 * @return {string} Normalized style value with dimensions applied.
37171 */
37172
37173function dangerousStyleValue(name, value, isCustomProperty) {
37174  // Note that we've removed escapeTextForBrowser() calls here since the
37175  // whole string will be escaped when the attribute is injected into
37176  // the markup. If you provide unsafe user data here they can inject
37177  // arbitrary CSS which may be problematic (I couldn't repro this):
37178  // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
37179  // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/
37180  // This is not an XSS hole but instead a potential CSS injection issue
37181  // which has lead to a greater discussion about how we're going to
37182  // trust URLs moving forward. See #2115901
37183  var isEmpty = value == null || typeof value === 'boolean' || value === '';
37184
37185  if (isEmpty) {
37186    return '';
37187  }
37188
37189  if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) {
37190    return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers
37191  }
37192
37193  return ('' + value).trim();
37194}
37195
37196var uppercasePattern = /([A-Z])/g;
37197var msPattern = /^ms-/;
37198/**
37199 * Hyphenates a camelcased CSS property name, for example:
37200 *
37201 *   > hyphenateStyleName('backgroundColor')
37202 *   < "background-color"
37203 *   > hyphenateStyleName('MozTransition')
37204 *   < "-moz-transition"
37205 *   > hyphenateStyleName('msTransition')
37206 *   < "-ms-transition"
37207 *
37208 * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix
37209 * is converted to `-ms-`.
37210 */
37211
37212function hyphenateStyleName(name) {
37213  return name.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern, '-ms-');
37214}
37215
37216var warnValidStyle = function () {};
37217
37218{
37219  // 'msTransform' is correct, but the other prefixes should be capitalized
37220  var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/;
37221  var msPattern$1 = /^-ms-/;
37222  var hyphenPattern = /-(.)/g; // style values shouldn't contain a semicolon
37223
37224  var badStyleValueWithSemicolonPattern = /;\s*$/;
37225  var warnedStyleNames = {};
37226  var warnedStyleValues = {};
37227  var warnedForNaNValue = false;
37228  var warnedForInfinityValue = false;
37229
37230  var camelize = function (string) {
37231    return string.replace(hyphenPattern, function (_, character) {
37232      return character.toUpperCase();
37233    });
37234  };
37235
37236  var warnHyphenatedStyleName = function (name) {
37237    if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {
37238      return;
37239    }
37240
37241    warnedStyleNames[name] = true;
37242
37243    error('Unsupported style property %s. Did you mean %s?', name, // As Andi Smith suggests
37244    // (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix
37245    // is converted to lowercase `ms`.
37246    camelize(name.replace(msPattern$1, 'ms-')));
37247  };
37248
37249  var warnBadVendoredStyleName = function (name) {
37250    if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {
37251      return;
37252    }
37253
37254    warnedStyleNames[name] = true;
37255
37256    error('Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1));
37257  };
37258
37259  var warnStyleValueWithSemicolon = function (name, value) {
37260    if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {
37261      return;
37262    }
37263
37264    warnedStyleValues[value] = true;
37265
37266    error("Style property values shouldn't contain a semicolon. " + 'Try "%s: %s" instead.', name, value.replace(badStyleValueWithSemicolonPattern, ''));
37267  };
37268
37269  var warnStyleValueIsNaN = function (name, value) {
37270    if (warnedForNaNValue) {
37271      return;
37272    }
37273
37274    warnedForNaNValue = true;
37275
37276    error('`NaN` is an invalid value for the `%s` css style property.', name);
37277  };
37278
37279  var warnStyleValueIsInfinity = function (name, value) {
37280    if (warnedForInfinityValue) {
37281      return;
37282    }
37283
37284    warnedForInfinityValue = true;
37285
37286    error('`Infinity` is an invalid value for the `%s` css style property.', name);
37287  };
37288
37289  warnValidStyle = function (name, value) {
37290    if (name.indexOf('-') > -1) {
37291      warnHyphenatedStyleName(name);
37292    } else if (badVendoredStyleNamePattern.test(name)) {
37293      warnBadVendoredStyleName(name);
37294    } else if (badStyleValueWithSemicolonPattern.test(value)) {
37295      warnStyleValueWithSemicolon(name, value);
37296    }
37297
37298    if (typeof value === 'number') {
37299      if (isNaN(value)) {
37300        warnStyleValueIsNaN(name, value);
37301      } else if (!isFinite(value)) {
37302        warnStyleValueIsInfinity(name, value);
37303      }
37304    }
37305  };
37306}
37307
37308var warnValidStyle$1 = warnValidStyle;
37309
37310/**
37311 * Operations for dealing with CSS properties.
37312 */
37313
37314/**
37315 * This creates a string that is expected to be equivalent to the style
37316 * attribute generated by server-side rendering. It by-passes warnings and
37317 * security checks so it's not safe to use this value for anything other than
37318 * comparison. It is only used in DEV for SSR validation.
37319 */
37320
37321function createDangerousStringForStyles(styles) {
37322  {
37323    var serialized = '';
37324    var delimiter = '';
37325
37326    for (var styleName in styles) {
37327      if (!styles.hasOwnProperty(styleName)) {
37328        continue;
37329      }
37330
37331      var styleValue = styles[styleName];
37332
37333      if (styleValue != null) {
37334        var isCustomProperty = styleName.indexOf('--') === 0;
37335        serialized += delimiter + (isCustomProperty ? styleName : hyphenateStyleName(styleName)) + ':';
37336        serialized += dangerousStyleValue(styleName, styleValue, isCustomProperty);
37337        delimiter = ';';
37338      }
37339    }
37340
37341    return serialized || null;
37342  }
37343}
37344/**
37345 * Sets the value for multiple styles on a node.  If a value is specified as
37346 * '' (empty string), the corresponding style property will be unset.
37347 *
37348 * @param {DOMElement} node
37349 * @param {object} styles
37350 */
37351
37352function setValueForStyles(node, styles) {
37353  var style = node.style;
37354
37355  for (var styleName in styles) {
37356    if (!styles.hasOwnProperty(styleName)) {
37357      continue;
37358    }
37359
37360    var isCustomProperty = styleName.indexOf('--') === 0;
37361
37362    {
37363      if (!isCustomProperty) {
37364        warnValidStyle$1(styleName, styles[styleName]);
37365      }
37366    }
37367
37368    var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);
37369
37370    if (styleName === 'float') {
37371      styleName = 'cssFloat';
37372    }
37373
37374    if (isCustomProperty) {
37375      style.setProperty(styleName, styleValue);
37376    } else {
37377      style[styleName] = styleValue;
37378    }
37379  }
37380}
37381
37382function isValueEmpty(value) {
37383  return value == null || typeof value === 'boolean' || value === '';
37384}
37385/**
37386 * Given {color: 'red', overflow: 'hidden'} returns {
37387 *   color: 'color',
37388 *   overflowX: 'overflow',
37389 *   overflowY: 'overflow',
37390 * }. This can be read as "the overflowY property was set by the overflow
37391 * shorthand". That is, the values are the property that each was derived from.
37392 */
37393
37394
37395function expandShorthandMap(styles) {
37396  var expanded = {};
37397
37398  for (var key in styles) {
37399    var longhands = shorthandToLonghand[key] || [key];
37400
37401    for (var i = 0; i < longhands.length; i++) {
37402      expanded[longhands[i]] = key;
37403    }
37404  }
37405
37406  return expanded;
37407}
37408/**
37409 * When mixing shorthand and longhand property names, we warn during updates if
37410 * we expect an incorrect result to occur. In particular, we warn for:
37411 *
37412 * Updating a shorthand property (longhand gets overwritten):
37413 *   {font: 'foo', fontVariant: 'bar'} -> {font: 'baz', fontVariant: 'bar'}
37414 *   becomes .style.font = 'baz'
37415 * Removing a shorthand property (longhand gets lost too):
37416 *   {font: 'foo', fontVariant: 'bar'} -> {fontVariant: 'bar'}
37417 *   becomes .style.font = ''
37418 * Removing a longhand property (should revert to shorthand; doesn't):
37419 *   {font: 'foo', fontVariant: 'bar'} -> {font: 'foo'}
37420 *   becomes .style.fontVariant = ''
37421 */
37422
37423
37424function validateShorthandPropertyCollisionInDev(styleUpdates, nextStyles) {
37425  {
37426
37427    if (!nextStyles) {
37428      return;
37429    }
37430
37431    var expandedUpdates = expandShorthandMap(styleUpdates);
37432    var expandedStyles = expandShorthandMap(nextStyles);
37433    var warnedAbout = {};
37434
37435    for (var key in expandedUpdates) {
37436      var originalKey = expandedUpdates[key];
37437      var correctOriginalKey = expandedStyles[key];
37438
37439      if (correctOriginalKey && originalKey !== correctOriginalKey) {
37440        var warningKey = originalKey + ',' + correctOriginalKey;
37441
37442        if (warnedAbout[warningKey]) {
37443          continue;
37444        }
37445
37446        warnedAbout[warningKey] = true;
37447
37448        error('%s a style property during rerender (%s) when a ' + 'conflicting property is set (%s) can lead to styling bugs. To ' + "avoid this, don't mix shorthand and non-shorthand properties " + 'for the same value; instead, replace the shorthand with ' + 'separate values.', isValueEmpty(styleUpdates[originalKey]) ? 'Removing' : 'Updating', originalKey, correctOriginalKey);
37449      }
37450    }
37451  }
37452}
37453
37454// For HTML, certain tags should omit their close tag. We keep a whitelist for
37455// those special-case tags.
37456var omittedCloseTags = {
37457  area: true,
37458  base: true,
37459  br: true,
37460  col: true,
37461  embed: true,
37462  hr: true,
37463  img: true,
37464  input: true,
37465  keygen: true,
37466  link: true,
37467  meta: true,
37468  param: true,
37469  source: true,
37470  track: true,
37471  wbr: true // NOTE: menuitem's close tag should be omitted, but that causes problems.
37472
37473};
37474
37475// `omittedCloseTags` except that `menuitem` should still have its closing tag.
37476
37477var voidElementTags = _assign({
37478  menuitem: true
37479}, omittedCloseTags);
37480
37481var HTML = '__html';
37482var ReactDebugCurrentFrame$3 = null;
37483
37484{
37485  ReactDebugCurrentFrame$3 = ReactSharedInternals.ReactDebugCurrentFrame;
37486}
37487
37488function assertValidProps(tag, props) {
37489  if (!props) {
37490    return;
37491  } // Note the use of `==` which checks for null or undefined.
37492
37493
37494  if (voidElementTags[tag]) {
37495    if (!(props.children == null && props.dangerouslySetInnerHTML == null)) {
37496      {
37497        throw Error( tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ( ReactDebugCurrentFrame$3.getStackAddendum() ) );
37498      }
37499    }
37500  }
37501
37502  if (props.dangerouslySetInnerHTML != null) {
37503    if (!(props.children == null)) {
37504      {
37505        throw Error( "Can only set one of `children` or `props.dangerouslySetInnerHTML`." );
37506      }
37507    }
37508
37509    if (!(typeof props.dangerouslySetInnerHTML === 'object' && HTML in props.dangerouslySetInnerHTML)) {
37510      {
37511        throw Error( "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information." );
37512      }
37513    }
37514  }
37515
37516  {
37517    if (!props.suppressContentEditableWarning && props.contentEditable && props.children != null) {
37518      error('A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.');
37519    }
37520  }
37521
37522  if (!(props.style == null || typeof props.style === 'object')) {
37523    {
37524      throw Error( "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX." + ( ReactDebugCurrentFrame$3.getStackAddendum() ) );
37525    }
37526  }
37527}
37528
37529function isCustomComponent(tagName, props) {
37530  if (tagName.indexOf('-') === -1) {
37531    return typeof props.is === 'string';
37532  }
37533
37534  switch (tagName) {
37535    // These are reserved SVG and MathML elements.
37536    // We don't mind this whitelist too much because we expect it to never grow.
37537    // The alternative is to track the namespace in a few places which is convoluted.
37538    // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-core-concepts
37539    case 'annotation-xml':
37540    case 'color-profile':
37541    case 'font-face':
37542    case 'font-face-src':
37543    case 'font-face-uri':
37544    case 'font-face-format':
37545    case 'font-face-name':
37546    case 'missing-glyph':
37547      return false;
37548
37549    default:
37550      return true;
37551  }
37552}
37553
37554// When adding attributes to the HTML or SVG whitelist, be sure to
37555// also add them to this module to ensure casing and incorrect name
37556// warnings.
37557var possibleStandardNames = {
37558  // HTML
37559  accept: 'accept',
37560  acceptcharset: 'acceptCharset',
37561  'accept-charset': 'acceptCharset',
37562  accesskey: 'accessKey',
37563  action: 'action',
37564  allowfullscreen: 'allowFullScreen',
37565  alt: 'alt',
37566  as: 'as',
37567  async: 'async',
37568  autocapitalize: 'autoCapitalize',
37569  autocomplete: 'autoComplete',
37570  autocorrect: 'autoCorrect',
37571  autofocus: 'autoFocus',
37572  autoplay: 'autoPlay',
37573  autosave: 'autoSave',
37574  capture: 'capture',
37575  cellpadding: 'cellPadding',
37576  cellspacing: 'cellSpacing',
37577  challenge: 'challenge',
37578  charset: 'charSet',
37579  checked: 'checked',
37580  children: 'children',
37581  cite: 'cite',
37582  class: 'className',
37583  classid: 'classID',
37584  classname: 'className',
37585  cols: 'cols',
37586  colspan: 'colSpan',
37587  content: 'content',
37588  contenteditable: 'contentEditable',
37589  contextmenu: 'contextMenu',
37590  controls: 'controls',
37591  controlslist: 'controlsList',
37592  coords: 'coords',
37593  crossorigin: 'crossOrigin',
37594  dangerouslysetinnerhtml: 'dangerouslySetInnerHTML',
37595  data: 'data',
37596  datetime: 'dateTime',
37597  default: 'default',
37598  defaultchecked: 'defaultChecked',
37599  defaultvalue: 'defaultValue',
37600  defer: 'defer',
37601  dir: 'dir',
37602  disabled: 'disabled',
37603  disablepictureinpicture: 'disablePictureInPicture',
37604  download: 'download',
37605  draggable: 'draggable',
37606  enctype: 'encType',
37607  for: 'htmlFor',
37608  form: 'form',
37609  formmethod: 'formMethod',
37610  formaction: 'formAction',
37611  formenctype: 'formEncType',
37612  formnovalidate: 'formNoValidate',
37613  formtarget: 'formTarget',
37614  frameborder: 'frameBorder',
37615  headers: 'headers',
37616  height: 'height',
37617  hidden: 'hidden',
37618  high: 'high',
37619  href: 'href',
37620  hreflang: 'hrefLang',
37621  htmlfor: 'htmlFor',
37622  httpequiv: 'httpEquiv',
37623  'http-equiv': 'httpEquiv',
37624  icon: 'icon',
37625  id: 'id',
37626  innerhtml: 'innerHTML',
37627  inputmode: 'inputMode',
37628  integrity: 'integrity',
37629  is: 'is',
37630  itemid: 'itemID',
37631  itemprop: 'itemProp',
37632  itemref: 'itemRef',
37633  itemscope: 'itemScope',
37634  itemtype: 'itemType',
37635  keyparams: 'keyParams',
37636  keytype: 'keyType',
37637  kind: 'kind',
37638  label: 'label',
37639  lang: 'lang',
37640  list: 'list',
37641  loop: 'loop',
37642  low: 'low',
37643  manifest: 'manifest',
37644  marginwidth: 'marginWidth',
37645  marginheight: 'marginHeight',
37646  max: 'max',
37647  maxlength: 'maxLength',
37648  media: 'media',
37649  mediagroup: 'mediaGroup',
37650  method: 'method',
37651  min: 'min',
37652  minlength: 'minLength',
37653  multiple: 'multiple',
37654  muted: 'muted',
37655  name: 'name',
37656  nomodule: 'noModule',
37657  nonce: 'nonce',
37658  novalidate: 'noValidate',
37659  open: 'open',
37660  optimum: 'optimum',
37661  pattern: 'pattern',
37662  placeholder: 'placeholder',
37663  playsinline: 'playsInline',
37664  poster: 'poster',
37665  preload: 'preload',
37666  profile: 'profile',
37667  radiogroup: 'radioGroup',
37668  readonly: 'readOnly',
37669  referrerpolicy: 'referrerPolicy',
37670  rel: 'rel',
37671  required: 'required',
37672  reversed: 'reversed',
37673  role: 'role',
37674  rows: 'rows',
37675  rowspan: 'rowSpan',
37676  sandbox: 'sandbox',
37677  scope: 'scope',
37678  scoped: 'scoped',
37679  scrolling: 'scrolling',
37680  seamless: 'seamless',
37681  selected: 'selected',
37682  shape: 'shape',
37683  size: 'size',
37684  sizes: 'sizes',
37685  span: 'span',
37686  spellcheck: 'spellCheck',
37687  src: 'src',
37688  srcdoc: 'srcDoc',
37689  srclang: 'srcLang',
37690  srcset: 'srcSet',
37691  start: 'start',
37692  step: 'step',
37693  style: 'style',
37694  summary: 'summary',
37695  tabindex: 'tabIndex',
37696  target: 'target',
37697  title: 'title',
37698  type: 'type',
37699  usemap: 'useMap',
37700  value: 'value',
37701  width: 'width',
37702  wmode: 'wmode',
37703  wrap: 'wrap',
37704  // SVG
37705  about: 'about',
37706  accentheight: 'accentHeight',
37707  'accent-height': 'accentHeight',
37708  accumulate: 'accumulate',
37709  additive: 'additive',
37710  alignmentbaseline: 'alignmentBaseline',
37711  'alignment-baseline': 'alignmentBaseline',
37712  allowreorder: 'allowReorder',
37713  alphabetic: 'alphabetic',
37714  amplitude: 'amplitude',
37715  arabicform: 'arabicForm',
37716  'arabic-form': 'arabicForm',
37717  ascent: 'ascent',
37718  attributename: 'attributeName',
37719  attributetype: 'attributeType',
37720  autoreverse: 'autoReverse',
37721  azimuth: 'azimuth',
37722  basefrequency: 'baseFrequency',
37723  baselineshift: 'baselineShift',
37724  'baseline-shift': 'baselineShift',
37725  baseprofile: 'baseProfile',
37726  bbox: 'bbox',
37727  begin: 'begin',
37728  bias: 'bias',
37729  by: 'by',
37730  calcmode: 'calcMode',
37731  capheight: 'capHeight',
37732  'cap-height': 'capHeight',
37733  clip: 'clip',
37734  clippath: 'clipPath',
37735  'clip-path': 'clipPath',
37736  clippathunits: 'clipPathUnits',
37737  cliprule: 'clipRule',
37738  'clip-rule': 'clipRule',
37739  color: 'color',
37740  colorinterpolation: 'colorInterpolation',
37741  'color-interpolation': 'colorInterpolation',
37742  colorinterpolationfilters: 'colorInterpolationFilters',
37743  'color-interpolation-filters': 'colorInterpolationFilters',
37744  colorprofile: 'colorProfile',
37745  'color-profile': 'colorProfile',
37746  colorrendering: 'colorRendering',
37747  'color-rendering': 'colorRendering',
37748  contentscripttype: 'contentScriptType',
37749  contentstyletype: 'contentStyleType',
37750  cursor: 'cursor',
37751  cx: 'cx',
37752  cy: 'cy',
37753  d: 'd',
37754  datatype: 'datatype',
37755  decelerate: 'decelerate',
37756  descent: 'descent',
37757  diffuseconstant: 'diffuseConstant',
37758  direction: 'direction',
37759  display: 'display',
37760  divisor: 'divisor',
37761  dominantbaseline: 'dominantBaseline',
37762  'dominant-baseline': 'dominantBaseline',
37763  dur: 'dur',
37764  dx: 'dx',
37765  dy: 'dy',
37766  edgemode: 'edgeMode',
37767  elevation: 'elevation',
37768  enablebackground: 'enableBackground',
37769  'enable-background': 'enableBackground',
37770  end: 'end',
37771  exponent: 'exponent',
37772  externalresourcesrequired: 'externalResourcesRequired',
37773  fill: 'fill',
37774  fillopacity: 'fillOpacity',
37775  'fill-opacity': 'fillOpacity',
37776  fillrule: 'fillRule',
37777  'fill-rule': 'fillRule',
37778  filter: 'filter',
37779  filterres: 'filterRes',
37780  filterunits: 'filterUnits',
37781  floodopacity: 'floodOpacity',
37782  'flood-opacity': 'floodOpacity',
37783  floodcolor: 'floodColor',
37784  'flood-color': 'floodColor',
37785  focusable: 'focusable',
37786  fontfamily: 'fontFamily',
37787  'font-family': 'fontFamily',
37788  fontsize: 'fontSize',
37789  'font-size': 'fontSize',
37790  fontsizeadjust: 'fontSizeAdjust',
37791  'font-size-adjust': 'fontSizeAdjust',
37792  fontstretch: 'fontStretch',
37793  'font-stretch': 'fontStretch',
37794  fontstyle: 'fontStyle',
37795  'font-style': 'fontStyle',
37796  fontvariant: 'fontVariant',
37797  'font-variant': 'fontVariant',
37798  fontweight: 'fontWeight',
37799  'font-weight': 'fontWeight',
37800  format: 'format',
37801  from: 'from',
37802  fx: 'fx',
37803  fy: 'fy',
37804  g1: 'g1',
37805  g2: 'g2',
37806  glyphname: 'glyphName',
37807  'glyph-name': 'glyphName',
37808  glyphorientationhorizontal: 'glyphOrientationHorizontal',
37809  'glyph-orientation-horizontal': 'glyphOrientationHorizontal',
37810  glyphorientationvertical: 'glyphOrientationVertical',
37811  'glyph-orientation-vertical': 'glyphOrientationVertical',
37812  glyphref: 'glyphRef',
37813  gradienttransform: 'gradientTransform',
37814  gradientunits: 'gradientUnits',
37815  hanging: 'hanging',
37816  horizadvx: 'horizAdvX',
37817  'horiz-adv-x': 'horizAdvX',
37818  horizoriginx: 'horizOriginX',
37819  'horiz-origin-x': 'horizOriginX',
37820  ideographic: 'ideographic',
37821  imagerendering: 'imageRendering',
37822  'image-rendering': 'imageRendering',
37823  in2: 'in2',
37824  in: 'in',
37825  inlist: 'inlist',
37826  intercept: 'intercept',
37827  k1: 'k1',
37828  k2: 'k2',
37829  k3: 'k3',
37830  k4: 'k4',
37831  k: 'k',
37832  kernelmatrix: 'kernelMatrix',
37833  kernelunitlength: 'kernelUnitLength',
37834  kerning: 'kerning',
37835  keypoints: 'keyPoints',
37836  keysplines: 'keySplines',
37837  keytimes: 'keyTimes',
37838  lengthadjust: 'lengthAdjust',
37839  letterspacing: 'letterSpacing',
37840  'letter-spacing': 'letterSpacing',
37841  lightingcolor: 'lightingColor',
37842  'lighting-color': 'lightingColor',
37843  limitingconeangle: 'limitingConeAngle',
37844  local: 'local',
37845  markerend: 'markerEnd',
37846  'marker-end': 'markerEnd',
37847  markerheight: 'markerHeight',
37848  markermid: 'markerMid',
37849  'marker-mid': 'markerMid',
37850  markerstart: 'markerStart',
37851  'marker-start': 'markerStart',
37852  markerunits: 'markerUnits',
37853  markerwidth: 'markerWidth',
37854  mask: 'mask',
37855  maskcontentunits: 'maskContentUnits',
37856  maskunits: 'maskUnits',
37857  mathematical: 'mathematical',
37858  mode: 'mode',
37859  numoctaves: 'numOctaves',
37860  offset: 'offset',
37861  opacity: 'opacity',
37862  operator: 'operator',
37863  order: 'order',
37864  orient: 'orient',
37865  orientation: 'orientation',
37866  origin: 'origin',
37867  overflow: 'overflow',
37868  overlineposition: 'overlinePosition',
37869  'overline-position': 'overlinePosition',
37870  overlinethickness: 'overlineThickness',
37871  'overline-thickness': 'overlineThickness',
37872  paintorder: 'paintOrder',
37873  'paint-order': 'paintOrder',
37874  panose1: 'panose1',
37875  'panose-1': 'panose1',
37876  pathlength: 'pathLength',
37877  patterncontentunits: 'patternContentUnits',
37878  patterntransform: 'patternTransform',
37879  patternunits: 'patternUnits',
37880  pointerevents: 'pointerEvents',
37881  'pointer-events': 'pointerEvents',
37882  points: 'points',
37883  pointsatx: 'pointsAtX',
37884  pointsaty: 'pointsAtY',
37885  pointsatz: 'pointsAtZ',
37886  prefix: 'prefix',
37887  preservealpha: 'preserveAlpha',
37888  preserveaspectratio: 'preserveAspectRatio',
37889  primitiveunits: 'primitiveUnits',
37890  property: 'property',
37891  r: 'r',
37892  radius: 'radius',
37893  refx: 'refX',
37894  refy: 'refY',
37895  renderingintent: 'renderingIntent',
37896  'rendering-intent': 'renderingIntent',
37897  repeatcount: 'repeatCount',
37898  repeatdur: 'repeatDur',
37899  requiredextensions: 'requiredExtensions',
37900  requiredfeatures: 'requiredFeatures',
37901  resource: 'resource',
37902  restart: 'restart',
37903  result: 'result',
37904  results: 'results',
37905  rotate: 'rotate',
37906  rx: 'rx',
37907  ry: 'ry',
37908  scale: 'scale',
37909  security: 'security',
37910  seed: 'seed',
37911  shaperendering: 'shapeRendering',
37912  'shape-rendering': 'shapeRendering',
37913  slope: 'slope',
37914  spacing: 'spacing',
37915  specularconstant: 'specularConstant',
37916  specularexponent: 'specularExponent',
37917  speed: 'speed',
37918  spreadmethod: 'spreadMethod',
37919  startoffset: 'startOffset',
37920  stddeviation: 'stdDeviation',
37921  stemh: 'stemh',
37922  stemv: 'stemv',
37923  stitchtiles: 'stitchTiles',
37924  stopcolor: 'stopColor',
37925  'stop-color': 'stopColor',
37926  stopopacity: 'stopOpacity',
37927  'stop-opacity': 'stopOpacity',
37928  strikethroughposition: 'strikethroughPosition',
37929  'strikethrough-position': 'strikethroughPosition',
37930  strikethroughthickness: 'strikethroughThickness',
37931  'strikethrough-thickness': 'strikethroughThickness',
37932  string: 'string',
37933  stroke: 'stroke',
37934  strokedasharray: 'strokeDasharray',
37935  'stroke-dasharray': 'strokeDasharray',
37936  strokedashoffset: 'strokeDashoffset',
37937  'stroke-dashoffset': 'strokeDashoffset',
37938  strokelinecap: 'strokeLinecap',
37939  'stroke-linecap': 'strokeLinecap',
37940  strokelinejoin: 'strokeLinejoin',
37941  'stroke-linejoin': 'strokeLinejoin',
37942  strokemiterlimit: 'strokeMiterlimit',
37943  'stroke-miterlimit': 'strokeMiterlimit',
37944  strokewidth: 'strokeWidth',
37945  'stroke-width': 'strokeWidth',
37946  strokeopacity: 'strokeOpacity',
37947  'stroke-opacity': 'strokeOpacity',
37948  suppresscontenteditablewarning: 'suppressContentEditableWarning',
37949  suppresshydrationwarning: 'suppressHydrationWarning',
37950  surfacescale: 'surfaceScale',
37951  systemlanguage: 'systemLanguage',
37952  tablevalues: 'tableValues',
37953  targetx: 'targetX',
37954  targety: 'targetY',
37955  textanchor: 'textAnchor',
37956  'text-anchor': 'textAnchor',
37957  textdecoration: 'textDecoration',
37958  'text-decoration': 'textDecoration',
37959  textlength: 'textLength',
37960  textrendering: 'textRendering',
37961  'text-rendering': 'textRendering',
37962  to: 'to',
37963  transform: 'transform',
37964  typeof: 'typeof',
37965  u1: 'u1',
37966  u2: 'u2',
37967  underlineposition: 'underlinePosition',
37968  'underline-position': 'underlinePosition',
37969  underlinethickness: 'underlineThickness',
37970  'underline-thickness': 'underlineThickness',
37971  unicode: 'unicode',
37972  unicodebidi: 'unicodeBidi',
37973  'unicode-bidi': 'unicodeBidi',
37974  unicoderange: 'unicodeRange',
37975  'unicode-range': 'unicodeRange',
37976  unitsperem: 'unitsPerEm',
37977  'units-per-em': 'unitsPerEm',
37978  unselectable: 'unselectable',
37979  valphabetic: 'vAlphabetic',
37980  'v-alphabetic': 'vAlphabetic',
37981  values: 'values',
37982  vectoreffect: 'vectorEffect',
37983  'vector-effect': 'vectorEffect',
37984  version: 'version',
37985  vertadvy: 'vertAdvY',
37986  'vert-adv-y': 'vertAdvY',
37987  vertoriginx: 'vertOriginX',
37988  'vert-origin-x': 'vertOriginX',
37989  vertoriginy: 'vertOriginY',
37990  'vert-origin-y': 'vertOriginY',
37991  vhanging: 'vHanging',
37992  'v-hanging': 'vHanging',
37993  videographic: 'vIdeographic',
37994  'v-ideographic': 'vIdeographic',
37995  viewbox: 'viewBox',
37996  viewtarget: 'viewTarget',
37997  visibility: 'visibility',
37998  vmathematical: 'vMathematical',
37999  'v-mathematical': 'vMathematical',
38000  vocab: 'vocab',
38001  widths: 'widths',
38002  wordspacing: 'wordSpacing',
38003  'word-spacing': 'wordSpacing',
38004  writingmode: 'writingMode',
38005  'writing-mode': 'writingMode',
38006  x1: 'x1',
38007  x2: 'x2',
38008  x: 'x',
38009  xchannelselector: 'xChannelSelector',
38010  xheight: 'xHeight',
38011  'x-height': 'xHeight',
38012  xlinkactuate: 'xlinkActuate',
38013  'xlink:actuate': 'xlinkActuate',
38014  xlinkarcrole: 'xlinkArcrole',
38015  'xlink:arcrole': 'xlinkArcrole',
38016  xlinkhref: 'xlinkHref',
38017  'xlink:href': 'xlinkHref',
38018  xlinkrole: 'xlinkRole',
38019  'xlink:role': 'xlinkRole',
38020  xlinkshow: 'xlinkShow',
38021  'xlink:show': 'xlinkShow',
38022  xlinktitle: 'xlinkTitle',
38023  'xlink:title': 'xlinkTitle',
38024  xlinktype: 'xlinkType',
38025  'xlink:type': 'xlinkType',
38026  xmlbase: 'xmlBase',
38027  'xml:base': 'xmlBase',
38028  xmllang: 'xmlLang',
38029  'xml:lang': 'xmlLang',
38030  xmlns: 'xmlns',
38031  'xml:space': 'xmlSpace',
38032  xmlnsxlink: 'xmlnsXlink',
38033  'xmlns:xlink': 'xmlnsXlink',
38034  xmlspace: 'xmlSpace',
38035  y1: 'y1',
38036  y2: 'y2',
38037  y: 'y',
38038  ychannelselector: 'yChannelSelector',
38039  z: 'z',
38040  zoomandpan: 'zoomAndPan'
38041};
38042
38043var ariaProperties = {
38044  'aria-current': 0,
38045  // state
38046  'aria-details': 0,
38047  'aria-disabled': 0,
38048  // state
38049  'aria-hidden': 0,
38050  // state
38051  'aria-invalid': 0,
38052  // state
38053  'aria-keyshortcuts': 0,
38054  'aria-label': 0,
38055  'aria-roledescription': 0,
38056  // Widget Attributes
38057  'aria-autocomplete': 0,
38058  'aria-checked': 0,
38059  'aria-expanded': 0,
38060  'aria-haspopup': 0,
38061  'aria-level': 0,
38062  'aria-modal': 0,
38063  'aria-multiline': 0,
38064  'aria-multiselectable': 0,
38065  'aria-orientation': 0,
38066  'aria-placeholder': 0,
38067  'aria-pressed': 0,
38068  'aria-readonly': 0,
38069  'aria-required': 0,
38070  'aria-selected': 0,
38071  'aria-sort': 0,
38072  'aria-valuemax': 0,
38073  'aria-valuemin': 0,
38074  'aria-valuenow': 0,
38075  'aria-valuetext': 0,
38076  // Live Region Attributes
38077  'aria-atomic': 0,
38078  'aria-busy': 0,
38079  'aria-live': 0,
38080  'aria-relevant': 0,
38081  // Drag-and-Drop Attributes
38082  'aria-dropeffect': 0,
38083  'aria-grabbed': 0,
38084  // Relationship Attributes
38085  'aria-activedescendant': 0,
38086  'aria-colcount': 0,
38087  'aria-colindex': 0,
38088  'aria-colspan': 0,
38089  'aria-controls': 0,
38090  'aria-describedby': 0,
38091  'aria-errormessage': 0,
38092  'aria-flowto': 0,
38093  'aria-labelledby': 0,
38094  'aria-owns': 0,
38095  'aria-posinset': 0,
38096  'aria-rowcount': 0,
38097  'aria-rowindex': 0,
38098  'aria-rowspan': 0,
38099  'aria-setsize': 0
38100};
38101
38102var warnedProperties = {};
38103var rARIA = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');
38104var rARIACamel = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');
38105var hasOwnProperty$1 = Object.prototype.hasOwnProperty;
38106
38107function validateProperty(tagName, name) {
38108  {
38109    if (hasOwnProperty$1.call(warnedProperties, name) && warnedProperties[name]) {
38110      return true;
38111    }
38112
38113    if (rARIACamel.test(name)) {
38114      var ariaName = 'aria-' + name.slice(4).toLowerCase();
38115      var correctName = ariaProperties.hasOwnProperty(ariaName) ? ariaName : null; // If this is an aria-* attribute, but is not listed in the known DOM
38116      // DOM properties, then it is an invalid aria-* attribute.
38117
38118      if (correctName == null) {
38119        error('Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.', name);
38120
38121        warnedProperties[name] = true;
38122        return true;
38123      } // aria-* attributes should be lowercase; suggest the lowercase version.
38124
38125
38126      if (name !== correctName) {
38127        error('Invalid ARIA attribute `%s`. Did you mean `%s`?', name, correctName);
38128
38129        warnedProperties[name] = true;
38130        return true;
38131      }
38132    }
38133
38134    if (rARIA.test(name)) {
38135      var lowerCasedName = name.toLowerCase();
38136      var standardName = ariaProperties.hasOwnProperty(lowerCasedName) ? lowerCasedName : null; // If this is an aria-* attribute, but is not listed in the known DOM
38137      // DOM properties, then it is an invalid aria-* attribute.
38138
38139      if (standardName == null) {
38140        warnedProperties[name] = true;
38141        return false;
38142      } // aria-* attributes should be lowercase; suggest the lowercase version.
38143
38144
38145      if (name !== standardName) {
38146        error('Unknown ARIA attribute `%s`. Did you mean `%s`?', name, standardName);
38147
38148        warnedProperties[name] = true;
38149        return true;
38150      }
38151    }
38152  }
38153
38154  return true;
38155}
38156
38157function warnInvalidARIAProps(type, props) {
38158  {
38159    var invalidProps = [];
38160
38161    for (var key in props) {
38162      var isValid = validateProperty(type, key);
38163
38164      if (!isValid) {
38165        invalidProps.push(key);
38166      }
38167    }
38168
38169    var unknownPropString = invalidProps.map(function (prop) {
38170      return '`' + prop + '`';
38171    }).join(', ');
38172
38173    if (invalidProps.length === 1) {
38174      error('Invalid aria prop %s on <%s> tag. ' + 'For details, see https://fb.me/invalid-aria-prop', unknownPropString, type);
38175    } else if (invalidProps.length > 1) {
38176      error('Invalid aria props %s on <%s> tag. ' + 'For details, see https://fb.me/invalid-aria-prop', unknownPropString, type);
38177    }
38178  }
38179}
38180
38181function validateProperties(type, props) {
38182  if (isCustomComponent(type, props)) {
38183    return;
38184  }
38185
38186  warnInvalidARIAProps(type, props);
38187}
38188
38189var didWarnValueNull = false;
38190function validateProperties$1(type, props) {
38191  {
38192    if (type !== 'input' && type !== 'textarea' && type !== 'select') {
38193      return;
38194    }
38195
38196    if (props != null && props.value === null && !didWarnValueNull) {
38197      didWarnValueNull = true;
38198
38199      if (type === 'select' && props.multiple) {
38200        error('`value` prop on `%s` should not be null. ' + 'Consider using an empty array when `multiple` is set to `true` ' + 'to clear the component or `undefined` for uncontrolled components.', type);
38201      } else {
38202        error('`value` prop on `%s` should not be null. ' + 'Consider using an empty string to clear the component or `undefined` ' + 'for uncontrolled components.', type);
38203      }
38204    }
38205  }
38206}
38207
38208var validateProperty$1 = function () {};
38209
38210{
38211  var warnedProperties$1 = {};
38212  var _hasOwnProperty = Object.prototype.hasOwnProperty;
38213  var EVENT_NAME_REGEX = /^on./;
38214  var INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/;
38215  var rARIA$1 = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');
38216  var rARIACamel$1 = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');
38217
38218  validateProperty$1 = function (tagName, name, value, canUseEventSystem) {
38219    if (_hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) {
38220      return true;
38221    }
38222
38223    var lowerCasedName = name.toLowerCase();
38224
38225    if (lowerCasedName === 'onfocusin' || lowerCasedName === 'onfocusout') {
38226      error('React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.');
38227
38228      warnedProperties$1[name] = true;
38229      return true;
38230    } // We can't rely on the event system being injected on the server.
38231
38232
38233    if (canUseEventSystem) {
38234      if (registrationNameModules.hasOwnProperty(name)) {
38235        return true;
38236      }
38237
38238      var registrationName = possibleRegistrationNames.hasOwnProperty(lowerCasedName) ? possibleRegistrationNames[lowerCasedName] : null;
38239
38240      if (registrationName != null) {
38241        error('Invalid event handler property `%s`. Did you mean `%s`?', name, registrationName);
38242
38243        warnedProperties$1[name] = true;
38244        return true;
38245      }
38246
38247      if (EVENT_NAME_REGEX.test(name)) {
38248        error('Unknown event handler property `%s`. It will be ignored.', name);
38249
38250        warnedProperties$1[name] = true;
38251        return true;
38252      }
38253    } else if (EVENT_NAME_REGEX.test(name)) {
38254      // If no event plugins have been injected, we are in a server environment.
38255      // So we can't tell if the event name is correct for sure, but we can filter
38256      // out known bad ones like `onclick`. We can't suggest a specific replacement though.
38257      if (INVALID_EVENT_NAME_REGEX.test(name)) {
38258        error('Invalid event handler property `%s`. ' + 'React events use the camelCase naming convention, for example `onClick`.', name);
38259      }
38260
38261      warnedProperties$1[name] = true;
38262      return true;
38263    } // Let the ARIA attribute hook validate ARIA attributes
38264
38265
38266    if (rARIA$1.test(name) || rARIACamel$1.test(name)) {
38267      return true;
38268    }
38269
38270    if (lowerCasedName === 'innerhtml') {
38271      error('Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.');
38272
38273      warnedProperties$1[name] = true;
38274      return true;
38275    }
38276
38277    if (lowerCasedName === 'aria') {
38278      error('The `aria` attribute is reserved for future use in React. ' + 'Pass individual `aria-` attributes instead.');
38279
38280      warnedProperties$1[name] = true;
38281      return true;
38282    }
38283
38284    if (lowerCasedName === 'is' && value !== null && value !== undefined && typeof value !== 'string') {
38285      error('Received a `%s` for a string attribute `is`. If this is expected, cast ' + 'the value to a string.', typeof value);
38286
38287      warnedProperties$1[name] = true;
38288      return true;
38289    }
38290
38291    if (typeof value === 'number' && isNaN(value)) {
38292      error('Received NaN for the `%s` attribute. If this is expected, cast ' + 'the value to a string.', name);
38293
38294      warnedProperties$1[name] = true;
38295      return true;
38296    }
38297
38298    var propertyInfo = getPropertyInfo(name);
38299    var isReserved = propertyInfo !== null && propertyInfo.type === RESERVED; // Known attributes should match the casing specified in the property config.
38300
38301    if (possibleStandardNames.hasOwnProperty(lowerCasedName)) {
38302      var standardName = possibleStandardNames[lowerCasedName];
38303
38304      if (standardName !== name) {
38305        error('Invalid DOM property `%s`. Did you mean `%s`?', name, standardName);
38306
38307        warnedProperties$1[name] = true;
38308        return true;
38309      }
38310    } else if (!isReserved && name !== lowerCasedName) {
38311      // Unknown attributes should have lowercase casing since that's how they
38312      // will be cased anyway with server rendering.
38313      error('React does not recognize the `%s` prop on a DOM element. If you ' + 'intentionally want it to appear in the DOM as a custom ' + 'attribute, spell it as lowercase `%s` instead. ' + 'If you accidentally passed it from a parent component, remove ' + 'it from the DOM element.', name, lowerCasedName);
38314
38315      warnedProperties$1[name] = true;
38316      return true;
38317    }
38318
38319    if (typeof value === 'boolean' && shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {
38320      if (value) {
38321        error('Received `%s` for a non-boolean attribute `%s`.\n\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s="%s" or %s={value.toString()}.', value, name, name, value, name);
38322      } else {
38323        error('Received `%s` for a non-boolean attribute `%s`.\n\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s="%s" or %s={value.toString()}.\n\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', value, name, name, value, name, name, name);
38324      }
38325
38326      warnedProperties$1[name] = true;
38327      return true;
38328    } // Now that we've validated casing, do not validate
38329    // data types for reserved props
38330
38331
38332    if (isReserved) {
38333      return true;
38334    } // Warn when a known attribute is a bad type
38335
38336
38337    if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {
38338      warnedProperties$1[name] = true;
38339      return false;
38340    } // Warn when passing the strings 'false' or 'true' into a boolean prop
38341
38342
38343    if ((value === 'false' || value === 'true') && propertyInfo !== null && propertyInfo.type === BOOLEAN) {
38344      error('Received the string `%s` for the boolean attribute `%s`. ' + '%s ' + 'Did you mean %s={%s}?', value, name, value === 'false' ? 'The browser will interpret it as a truthy value.' : 'Although this works, it will not work as expected if you pass the string "false".', name, value);
38345
38346      warnedProperties$1[name] = true;
38347      return true;
38348    }
38349
38350    return true;
38351  };
38352}
38353
38354var warnUnknownProperties = function (type, props, canUseEventSystem) {
38355  {
38356    var unknownProps = [];
38357
38358    for (var key in props) {
38359      var isValid = validateProperty$1(type, key, props[key], canUseEventSystem);
38360
38361      if (!isValid) {
38362        unknownProps.push(key);
38363      }
38364    }
38365
38366    var unknownPropString = unknownProps.map(function (prop) {
38367      return '`' + prop + '`';
38368    }).join(', ');
38369
38370    if (unknownProps.length === 1) {
38371      error('Invalid value for prop %s on <%s> tag. Either remove it from the element, ' + 'or pass a string or number value to keep it in the DOM. ' + 'For details, see https://fb.me/react-attribute-behavior', unknownPropString, type);
38372    } else if (unknownProps.length > 1) {
38373      error('Invalid values for props %s on <%s> tag. Either remove them from the element, ' + 'or pass a string or number value to keep them in the DOM. ' + 'For details, see https://fb.me/react-attribute-behavior', unknownPropString, type);
38374    }
38375  }
38376};
38377
38378function validateProperties$2(type, props, canUseEventSystem) {
38379  if (isCustomComponent(type, props)) {
38380    return;
38381  }
38382
38383  warnUnknownProperties(type, props, canUseEventSystem);
38384}
38385
38386var didWarnInvalidHydration = false;
38387var DANGEROUSLY_SET_INNER_HTML = 'dangerouslySetInnerHTML';
38388var SUPPRESS_CONTENT_EDITABLE_WARNING = 'suppressContentEditableWarning';
38389var SUPPRESS_HYDRATION_WARNING = 'suppressHydrationWarning';
38390var AUTOFOCUS = 'autoFocus';
38391var CHILDREN = 'children';
38392var STYLE = 'style';
38393var HTML$1 = '__html';
38394var HTML_NAMESPACE$1 = Namespaces.html;
38395var warnedUnknownTags;
38396var suppressHydrationWarning;
38397var validatePropertiesInDevelopment;
38398var warnForTextDifference;
38399var warnForPropDifference;
38400var warnForExtraAttributes;
38401var warnForInvalidEventListener;
38402var canDiffStyleForHydrationWarning;
38403var normalizeMarkupForTextOrAttribute;
38404var normalizeHTML;
38405
38406{
38407  warnedUnknownTags = {
38408    // Chrome is the only major browser not shipping <time>. But as of July
38409    // 2017 it intends to ship it due to widespread usage. We intentionally
38410    // *don't* warn for <time> even if it's unrecognized by Chrome because
38411    // it soon will be, and many apps have been using it anyway.
38412    time: true,
38413    // There are working polyfills for <dialog>. Let people use it.
38414    dialog: true,
38415    // Electron ships a custom <webview> tag to display external web content in
38416    // an isolated frame and process.
38417    // This tag is not present in non Electron environments such as JSDom which
38418    // is often used for testing purposes.
38419    // @see https://electronjs.org/docs/api/webview-tag
38420    webview: true
38421  };
38422
38423  validatePropertiesInDevelopment = function (type, props) {
38424    validateProperties(type, props);
38425    validateProperties$1(type, props);
38426    validateProperties$2(type, props,
38427    /* canUseEventSystem */
38428    true);
38429  }; // IE 11 parses & normalizes the style attribute as opposed to other
38430  // browsers. It adds spaces and sorts the properties in some
38431  // non-alphabetical order. Handling that would require sorting CSS
38432  // properties in the client & server versions or applying
38433  // `expectedStyle` to a temporary DOM node to read its `style` attribute
38434  // normalized. Since it only affects IE, we're skipping style warnings
38435  // in that browser completely in favor of doing all that work.
38436  // See https://github.com/facebook/react/issues/11807
38437
38438
38439  canDiffStyleForHydrationWarning = canUseDOM && !document.documentMode; // HTML parsing normalizes CR and CRLF to LF.
38440  // It also can turn \u0000 into \uFFFD inside attributes.
38441  // https://www.w3.org/TR/html5/single-page.html#preprocessing-the-input-stream
38442  // If we have a mismatch, it might be caused by that.
38443  // We will still patch up in this case but not fire the warning.
38444
38445  var NORMALIZE_NEWLINES_REGEX = /\r\n?/g;
38446  var NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\u0000|\uFFFD/g;
38447
38448  normalizeMarkupForTextOrAttribute = function (markup) {
38449    var markupString = typeof markup === 'string' ? markup : '' + markup;
38450    return markupString.replace(NORMALIZE_NEWLINES_REGEX, '\n').replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, '');
38451  };
38452
38453  warnForTextDifference = function (serverText, clientText) {
38454    if (didWarnInvalidHydration) {
38455      return;
38456    }
38457
38458    var normalizedClientText = normalizeMarkupForTextOrAttribute(clientText);
38459    var normalizedServerText = normalizeMarkupForTextOrAttribute(serverText);
38460
38461    if (normalizedServerText === normalizedClientText) {
38462      return;
38463    }
38464
38465    didWarnInvalidHydration = true;
38466
38467    error('Text content did not match. Server: "%s" Client: "%s"', normalizedServerText, normalizedClientText);
38468  };
38469
38470  warnForPropDifference = function (propName, serverValue, clientValue) {
38471    if (didWarnInvalidHydration) {
38472      return;
38473    }
38474
38475    var normalizedClientValue = normalizeMarkupForTextOrAttribute(clientValue);
38476    var normalizedServerValue = normalizeMarkupForTextOrAttribute(serverValue);
38477
38478    if (normalizedServerValue === normalizedClientValue) {
38479      return;
38480    }
38481
38482    didWarnInvalidHydration = true;
38483
38484    error('Prop `%s` did not match. Server: %s Client: %s', propName, JSON.stringify(normalizedServerValue), JSON.stringify(normalizedClientValue));
38485  };
38486
38487  warnForExtraAttributes = function (attributeNames) {
38488    if (didWarnInvalidHydration) {
38489      return;
38490    }
38491
38492    didWarnInvalidHydration = true;
38493    var names = [];
38494    attributeNames.forEach(function (name) {
38495      names.push(name);
38496    });
38497
38498    error('Extra attributes from the server: %s', names);
38499  };
38500
38501  warnForInvalidEventListener = function (registrationName, listener) {
38502    if (listener === false) {
38503      error('Expected `%s` listener to be a function, instead got `false`.\n\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', registrationName, registrationName, registrationName);
38504    } else {
38505      error('Expected `%s` listener to be a function, instead got a value of `%s` type.', registrationName, typeof listener);
38506    }
38507  }; // Parse the HTML and read it back to normalize the HTML string so that it
38508  // can be used for comparison.
38509
38510
38511  normalizeHTML = function (parent, html) {
38512    // We could have created a separate document here to avoid
38513    // re-initializing custom elements if they exist. But this breaks
38514    // how <noscript> is being handled. So we use the same document.
38515    // See the discussion in https://github.com/facebook/react/pull/11157.
38516    var testElement = parent.namespaceURI === HTML_NAMESPACE$1 ? parent.ownerDocument.createElement(parent.tagName) : parent.ownerDocument.createElementNS(parent.namespaceURI, parent.tagName);
38517    testElement.innerHTML = html;
38518    return testElement.innerHTML;
38519  };
38520}
38521
38522function ensureListeningTo(rootContainerElement, registrationName) {
38523  var isDocumentOrFragment = rootContainerElement.nodeType === DOCUMENT_NODE || rootContainerElement.nodeType === DOCUMENT_FRAGMENT_NODE;
38524  var doc = isDocumentOrFragment ? rootContainerElement : rootContainerElement.ownerDocument;
38525  legacyListenToEvent(registrationName, doc);
38526}
38527
38528function getOwnerDocumentFromRootContainer(rootContainerElement) {
38529  return rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument;
38530}
38531
38532function noop() {}
38533
38534function trapClickOnNonInteractiveElement(node) {
38535  // Mobile Safari does not fire properly bubble click events on
38536  // non-interactive elements, which means delegated click listeners do not
38537  // fire. The workaround for this bug involves attaching an empty click
38538  // listener on the target node.
38539  // http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html
38540  // Just set it using the onclick property so that we don't have to manage any
38541  // bookkeeping for it. Not sure if we need to clear it when the listener is
38542  // removed.
38543  // TODO: Only do this for the relevant Safaris maybe?
38544  node.onclick = noop;
38545}
38546
38547function setInitialDOMProperties(tag, domElement, rootContainerElement, nextProps, isCustomComponentTag) {
38548  for (var propKey in nextProps) {
38549    if (!nextProps.hasOwnProperty(propKey)) {
38550      continue;
38551    }
38552
38553    var nextProp = nextProps[propKey];
38554
38555    if (propKey === STYLE) {
38556      {
38557        if (nextProp) {
38558          // Freeze the next style object so that we can assume it won't be
38559          // mutated. We have already warned for this in the past.
38560          Object.freeze(nextProp);
38561        }
38562      } // Relies on `updateStylesByID` not mutating `styleUpdates`.
38563
38564
38565      setValueForStyles(domElement, nextProp);
38566    } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {
38567      var nextHtml = nextProp ? nextProp[HTML$1] : undefined;
38568
38569      if (nextHtml != null) {
38570        setInnerHTML(domElement, nextHtml);
38571      }
38572    } else if (propKey === CHILDREN) {
38573      if (typeof nextProp === 'string') {
38574        // Avoid setting initial textContent when the text is empty. In IE11 setting
38575        // textContent on a <textarea> will cause the placeholder to not
38576        // show within the <textarea> until it has been focused and blurred again.
38577        // https://github.com/facebook/react/issues/6731#issuecomment-254874553
38578        var canSetTextContent = tag !== 'textarea' || nextProp !== '';
38579
38580        if (canSetTextContent) {
38581          setTextContent(domElement, nextProp);
38582        }
38583      } else if (typeof nextProp === 'number') {
38584        setTextContent(domElement, '' + nextProp);
38585      }
38586    } else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameModules.hasOwnProperty(propKey)) {
38587      if (nextProp != null) {
38588        if ( typeof nextProp !== 'function') {
38589          warnForInvalidEventListener(propKey, nextProp);
38590        }
38591
38592        ensureListeningTo(rootContainerElement, propKey);
38593      }
38594    } else if (nextProp != null) {
38595      setValueForProperty(domElement, propKey, nextProp, isCustomComponentTag);
38596    }
38597  }
38598}
38599
38600function updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag) {
38601  // TODO: Handle wasCustomComponentTag
38602  for (var i = 0; i < updatePayload.length; i += 2) {
38603    var propKey = updatePayload[i];
38604    var propValue = updatePayload[i + 1];
38605
38606    if (propKey === STYLE) {
38607      setValueForStyles(domElement, propValue);
38608    } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {
38609      setInnerHTML(domElement, propValue);
38610    } else if (propKey === CHILDREN) {
38611      setTextContent(domElement, propValue);
38612    } else {
38613      setValueForProperty(domElement, propKey, propValue, isCustomComponentTag);
38614    }
38615  }
38616}
38617
38618function createElement(type, props, rootContainerElement, parentNamespace) {
38619  var isCustomComponentTag; // We create tags in the namespace of their parent container, except HTML
38620  // tags get no namespace.
38621
38622  var ownerDocument = getOwnerDocumentFromRootContainer(rootContainerElement);
38623  var domElement;
38624  var namespaceURI = parentNamespace;
38625
38626  if (namespaceURI === HTML_NAMESPACE$1) {
38627    namespaceURI = getIntrinsicNamespace(type);
38628  }
38629
38630  if (namespaceURI === HTML_NAMESPACE$1) {
38631    {
38632      isCustomComponentTag = isCustomComponent(type, props); // Should this check be gated by parent namespace? Not sure we want to
38633      // allow <SVG> or <mATH>.
38634
38635      if (!isCustomComponentTag && type !== type.toLowerCase()) {
38636        error('<%s /> is using incorrect casing. ' + 'Use PascalCase for React components, ' + 'or lowercase for HTML elements.', type);
38637      }
38638    }
38639
38640    if (type === 'script') {
38641      // Create the script via .innerHTML so its "parser-inserted" flag is
38642      // set to true and it does not execute
38643      var div = ownerDocument.createElement('div');
38644
38645      div.innerHTML = '<script><' + '/script>'; // eslint-disable-line
38646      // This is guaranteed to yield a script element.
38647
38648      var firstChild = div.firstChild;
38649      domElement = div.removeChild(firstChild);
38650    } else if (typeof props.is === 'string') {
38651      // $FlowIssue `createElement` should be updated for Web Components
38652      domElement = ownerDocument.createElement(type, {
38653        is: props.is
38654      });
38655    } else {
38656      // Separate else branch instead of using `props.is || undefined` above because of a Firefox bug.
38657      // See discussion in https://github.com/facebook/react/pull/6896
38658      // and discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1276240
38659      domElement = ownerDocument.createElement(type); // Normally attributes are assigned in `setInitialDOMProperties`, however the `multiple` and `size`
38660      // attributes on `select`s needs to be added before `option`s are inserted.
38661      // This prevents:
38662      // - a bug where the `select` does not scroll to the correct option because singular
38663      //  `select` elements automatically pick the first item #13222
38664      // - a bug where the `select` set the first item as selected despite the `size` attribute #14239
38665      // See https://github.com/facebook/react/issues/13222
38666      // and https://github.com/facebook/react/issues/14239
38667
38668      if (type === 'select') {
38669        var node = domElement;
38670
38671        if (props.multiple) {
38672          node.multiple = true;
38673        } else if (props.size) {
38674          // Setting a size greater than 1 causes a select to behave like `multiple=true`, where
38675          // it is possible that no option is selected.
38676          //
38677          // This is only necessary when a select in "single selection mode".
38678          node.size = props.size;
38679        }
38680      }
38681    }
38682  } else {
38683    domElement = ownerDocument.createElementNS(namespaceURI, type);
38684  }
38685
38686  {
38687    if (namespaceURI === HTML_NAMESPACE$1) {
38688      if (!isCustomComponentTag && Object.prototype.toString.call(domElement) === '[object HTMLUnknownElement]' && !Object.prototype.hasOwnProperty.call(warnedUnknownTags, type)) {
38689        warnedUnknownTags[type] = true;
38690
38691        error('The tag <%s> is unrecognized in this browser. ' + 'If you meant to render a React component, start its name with ' + 'an uppercase letter.', type);
38692      }
38693    }
38694  }
38695
38696  return domElement;
38697}
38698function createTextNode(text, rootContainerElement) {
38699  return getOwnerDocumentFromRootContainer(rootContainerElement).createTextNode(text);
38700}
38701function setInitialProperties(domElement, tag, rawProps, rootContainerElement) {
38702  var isCustomComponentTag = isCustomComponent(tag, rawProps);
38703
38704  {
38705    validatePropertiesInDevelopment(tag, rawProps);
38706  } // TODO: Make sure that we check isMounted before firing any of these events.
38707
38708
38709  var props;
38710
38711  switch (tag) {
38712    case 'iframe':
38713    case 'object':
38714    case 'embed':
38715      trapBubbledEvent(TOP_LOAD, domElement);
38716      props = rawProps;
38717      break;
38718
38719    case 'video':
38720    case 'audio':
38721      // Create listener for each media event
38722      for (var i = 0; i < mediaEventTypes.length; i++) {
38723        trapBubbledEvent(mediaEventTypes[i], domElement);
38724      }
38725
38726      props = rawProps;
38727      break;
38728
38729    case 'source':
38730      trapBubbledEvent(TOP_ERROR, domElement);
38731      props = rawProps;
38732      break;
38733
38734    case 'img':
38735    case 'image':
38736    case 'link':
38737      trapBubbledEvent(TOP_ERROR, domElement);
38738      trapBubbledEvent(TOP_LOAD, domElement);
38739      props = rawProps;
38740      break;
38741
38742    case 'form':
38743      trapBubbledEvent(TOP_RESET, domElement);
38744      trapBubbledEvent(TOP_SUBMIT, domElement);
38745      props = rawProps;
38746      break;
38747
38748    case 'details':
38749      trapBubbledEvent(TOP_TOGGLE, domElement);
38750      props = rawProps;
38751      break;
38752
38753    case 'input':
38754      initWrapperState(domElement, rawProps);
38755      props = getHostProps(domElement, rawProps);
38756      trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening
38757      // to onChange. Even if there is no listener.
38758
38759      ensureListeningTo(rootContainerElement, 'onChange');
38760      break;
38761
38762    case 'option':
38763      validateProps(domElement, rawProps);
38764      props = getHostProps$1(domElement, rawProps);
38765      break;
38766
38767    case 'select':
38768      initWrapperState$1(domElement, rawProps);
38769      props = getHostProps$2(domElement, rawProps);
38770      trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening
38771      // to onChange. Even if there is no listener.
38772
38773      ensureListeningTo(rootContainerElement, 'onChange');
38774      break;
38775
38776    case 'textarea':
38777      initWrapperState$2(domElement, rawProps);
38778      props = getHostProps$3(domElement, rawProps);
38779      trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening
38780      // to onChange. Even if there is no listener.
38781
38782      ensureListeningTo(rootContainerElement, 'onChange');
38783      break;
38784
38785    default:
38786      props = rawProps;
38787  }
38788
38789  assertValidProps(tag, props);
38790  setInitialDOMProperties(tag, domElement, rootContainerElement, props, isCustomComponentTag);
38791
38792  switch (tag) {
38793    case 'input':
38794      // TODO: Make sure we check if this is still unmounted or do any clean
38795      // up necessary since we never stop tracking anymore.
38796      track(domElement);
38797      postMountWrapper(domElement, rawProps, false);
38798      break;
38799
38800    case 'textarea':
38801      // TODO: Make sure we check if this is still unmounted or do any clean
38802      // up necessary since we never stop tracking anymore.
38803      track(domElement);
38804      postMountWrapper$3(domElement);
38805      break;
38806
38807    case 'option':
38808      postMountWrapper$1(domElement, rawProps);
38809      break;
38810
38811    case 'select':
38812      postMountWrapper$2(domElement, rawProps);
38813      break;
38814
38815    default:
38816      if (typeof props.onClick === 'function') {
38817        // TODO: This cast may not be sound for SVG, MathML or custom elements.
38818        trapClickOnNonInteractiveElement(domElement);
38819      }
38820
38821      break;
38822  }
38823} // Calculate the diff between the two objects.
38824
38825function diffProperties(domElement, tag, lastRawProps, nextRawProps, rootContainerElement) {
38826  {
38827    validatePropertiesInDevelopment(tag, nextRawProps);
38828  }
38829
38830  var updatePayload = null;
38831  var lastProps;
38832  var nextProps;
38833
38834  switch (tag) {
38835    case 'input':
38836      lastProps = getHostProps(domElement, lastRawProps);
38837      nextProps = getHostProps(domElement, nextRawProps);
38838      updatePayload = [];
38839      break;
38840
38841    case 'option':
38842      lastProps = getHostProps$1(domElement, lastRawProps);
38843      nextProps = getHostProps$1(domElement, nextRawProps);
38844      updatePayload = [];
38845      break;
38846
38847    case 'select':
38848      lastProps = getHostProps$2(domElement, lastRawProps);
38849      nextProps = getHostProps$2(domElement, nextRawProps);
38850      updatePayload = [];
38851      break;
38852
38853    case 'textarea':
38854      lastProps = getHostProps$3(domElement, lastRawProps);
38855      nextProps = getHostProps$3(domElement, nextRawProps);
38856      updatePayload = [];
38857      break;
38858
38859    default:
38860      lastProps = lastRawProps;
38861      nextProps = nextRawProps;
38862
38863      if (typeof lastProps.onClick !== 'function' && typeof nextProps.onClick === 'function') {
38864        // TODO: This cast may not be sound for SVG, MathML or custom elements.
38865        trapClickOnNonInteractiveElement(domElement);
38866      }
38867
38868      break;
38869  }
38870
38871  assertValidProps(tag, nextProps);
38872  var propKey;
38873  var styleName;
38874  var styleUpdates = null;
38875
38876  for (propKey in lastProps) {
38877    if (nextProps.hasOwnProperty(propKey) || !lastProps.hasOwnProperty(propKey) || lastProps[propKey] == null) {
38878      continue;
38879    }
38880
38881    if (propKey === STYLE) {
38882      var lastStyle = lastProps[propKey];
38883
38884      for (styleName in lastStyle) {
38885        if (lastStyle.hasOwnProperty(styleName)) {
38886          if (!styleUpdates) {
38887            styleUpdates = {};
38888          }
38889
38890          styleUpdates[styleName] = '';
38891        }
38892      }
38893    } else if (propKey === DANGEROUSLY_SET_INNER_HTML || propKey === CHILDREN) ; else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameModules.hasOwnProperty(propKey)) {
38894      // This is a special case. If any listener updates we need to ensure
38895      // that the "current" fiber pointer gets updated so we need a commit
38896      // to update this element.
38897      if (!updatePayload) {
38898        updatePayload = [];
38899      }
38900    } else {
38901      // For all other deleted properties we add it to the queue. We use
38902      // the whitelist in the commit phase instead.
38903      (updatePayload = updatePayload || []).push(propKey, null);
38904    }
38905  }
38906
38907  for (propKey in nextProps) {
38908    var nextProp = nextProps[propKey];
38909    var lastProp = lastProps != null ? lastProps[propKey] : undefined;
38910
38911    if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp || nextProp == null && lastProp == null) {
38912      continue;
38913    }
38914
38915    if (propKey === STYLE) {
38916      {
38917        if (nextProp) {
38918          // Freeze the next style object so that we can assume it won't be
38919          // mutated. We have already warned for this in the past.
38920          Object.freeze(nextProp);
38921        }
38922      }
38923
38924      if (lastProp) {
38925        // Unset styles on `lastProp` but not on `nextProp`.
38926        for (styleName in lastProp) {
38927          if (lastProp.hasOwnProperty(styleName) && (!nextProp || !nextProp.hasOwnProperty(styleName))) {
38928            if (!styleUpdates) {
38929              styleUpdates = {};
38930            }
38931
38932            styleUpdates[styleName] = '';
38933          }
38934        } // Update styles that changed since `lastProp`.
38935
38936
38937        for (styleName in nextProp) {
38938          if (nextProp.hasOwnProperty(styleName) && lastProp[styleName] !== nextProp[styleName]) {
38939            if (!styleUpdates) {
38940              styleUpdates = {};
38941            }
38942
38943            styleUpdates[styleName] = nextProp[styleName];
38944          }
38945        }
38946      } else {
38947        // Relies on `updateStylesByID` not mutating `styleUpdates`.
38948        if (!styleUpdates) {
38949          if (!updatePayload) {
38950            updatePayload = [];
38951          }
38952
38953          updatePayload.push(propKey, styleUpdates);
38954        }
38955
38956        styleUpdates = nextProp;
38957      }
38958    } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {
38959      var nextHtml = nextProp ? nextProp[HTML$1] : undefined;
38960      var lastHtml = lastProp ? lastProp[HTML$1] : undefined;
38961
38962      if (nextHtml != null) {
38963        if (lastHtml !== nextHtml) {
38964          (updatePayload = updatePayload || []).push(propKey, nextHtml);
38965        }
38966      }
38967    } else if (propKey === CHILDREN) {
38968      if (lastProp !== nextProp && (typeof nextProp === 'string' || typeof nextProp === 'number')) {
38969        (updatePayload = updatePayload || []).push(propKey, '' + nextProp);
38970      }
38971    } else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (registrationNameModules.hasOwnProperty(propKey)) {
38972      if (nextProp != null) {
38973        // We eagerly listen to this even though we haven't committed yet.
38974        if ( typeof nextProp !== 'function') {
38975          warnForInvalidEventListener(propKey, nextProp);
38976        }
38977
38978        ensureListeningTo(rootContainerElement, propKey);
38979      }
38980
38981      if (!updatePayload && lastProp !== nextProp) {
38982        // This is a special case. If any listener updates we need to ensure
38983        // that the "current" props pointer gets updated so we need a commit
38984        // to update this element.
38985        updatePayload = [];
38986      }
38987    } else {
38988      // For any other property we always add it to the queue and then we
38989      // filter it out using the whitelist during the commit.
38990      (updatePayload = updatePayload || []).push(propKey, nextProp);
38991    }
38992  }
38993
38994  if (styleUpdates) {
38995    {
38996      validateShorthandPropertyCollisionInDev(styleUpdates, nextProps[STYLE]);
38997    }
38998
38999    (updatePayload = updatePayload || []).push(STYLE, styleUpdates);
39000  }
39001
39002  return updatePayload;
39003} // Apply the diff.
39004
39005function updateProperties(domElement, updatePayload, tag, lastRawProps, nextRawProps) {
39006  // Update checked *before* name.
39007  // In the middle of an update, it is possible to have multiple checked.
39008  // When a checked radio tries to change name, browser makes another radio's checked false.
39009  if (tag === 'input' && nextRawProps.type === 'radio' && nextRawProps.name != null) {
39010    updateChecked(domElement, nextRawProps);
39011  }
39012
39013  var wasCustomComponentTag = isCustomComponent(tag, lastRawProps);
39014  var isCustomComponentTag = isCustomComponent(tag, nextRawProps); // Apply the diff.
39015
39016  updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag); // TODO: Ensure that an update gets scheduled if any of the special props
39017  // changed.
39018
39019  switch (tag) {
39020    case 'input':
39021      // Update the wrapper around inputs *after* updating props. This has to
39022      // happen after `updateDOMProperties`. Otherwise HTML5 input validations
39023      // raise warnings and prevent the new value from being assigned.
39024      updateWrapper(domElement, nextRawProps);
39025      break;
39026
39027    case 'textarea':
39028      updateWrapper$1(domElement, nextRawProps);
39029      break;
39030
39031    case 'select':
39032      // <select> value update needs to occur after <option> children
39033      // reconciliation
39034      postUpdateWrapper(domElement, nextRawProps);
39035      break;
39036  }
39037}
39038
39039function getPossibleStandardName(propName) {
39040  {
39041    var lowerCasedName = propName.toLowerCase();
39042
39043    if (!possibleStandardNames.hasOwnProperty(lowerCasedName)) {
39044      return null;
39045    }
39046
39047    return possibleStandardNames[lowerCasedName] || null;
39048  }
39049}
39050
39051function diffHydratedProperties(domElement, tag, rawProps, parentNamespace, rootContainerElement) {
39052  var isCustomComponentTag;
39053  var extraAttributeNames;
39054
39055  {
39056    suppressHydrationWarning = rawProps[SUPPRESS_HYDRATION_WARNING] === true;
39057    isCustomComponentTag = isCustomComponent(tag, rawProps);
39058    validatePropertiesInDevelopment(tag, rawProps);
39059  } // TODO: Make sure that we check isMounted before firing any of these events.
39060
39061
39062  switch (tag) {
39063    case 'iframe':
39064    case 'object':
39065    case 'embed':
39066      trapBubbledEvent(TOP_LOAD, domElement);
39067      break;
39068
39069    case 'video':
39070    case 'audio':
39071      // Create listener for each media event
39072      for (var i = 0; i < mediaEventTypes.length; i++) {
39073        trapBubbledEvent(mediaEventTypes[i], domElement);
39074      }
39075
39076      break;
39077
39078    case 'source':
39079      trapBubbledEvent(TOP_ERROR, domElement);
39080      break;
39081
39082    case 'img':
39083    case 'image':
39084    case 'link':
39085      trapBubbledEvent(TOP_ERROR, domElement);
39086      trapBubbledEvent(TOP_LOAD, domElement);
39087      break;
39088
39089    case 'form':
39090      trapBubbledEvent(TOP_RESET, domElement);
39091      trapBubbledEvent(TOP_SUBMIT, domElement);
39092      break;
39093
39094    case 'details':
39095      trapBubbledEvent(TOP_TOGGLE, domElement);
39096      break;
39097
39098    case 'input':
39099      initWrapperState(domElement, rawProps);
39100      trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening
39101      // to onChange. Even if there is no listener.
39102
39103      ensureListeningTo(rootContainerElement, 'onChange');
39104      break;
39105
39106    case 'option':
39107      validateProps(domElement, rawProps);
39108      break;
39109
39110    case 'select':
39111      initWrapperState$1(domElement, rawProps);
39112      trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening
39113      // to onChange. Even if there is no listener.
39114
39115      ensureListeningTo(rootContainerElement, 'onChange');
39116      break;
39117
39118    case 'textarea':
39119      initWrapperState$2(domElement, rawProps);
39120      trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening
39121      // to onChange. Even if there is no listener.
39122
39123      ensureListeningTo(rootContainerElement, 'onChange');
39124      break;
39125  }
39126
39127  assertValidProps(tag, rawProps);
39128
39129  {
39130    extraAttributeNames = new Set();
39131    var attributes = domElement.attributes;
39132
39133    for (var _i = 0; _i < attributes.length; _i++) {
39134      var name = attributes[_i].name.toLowerCase();
39135
39136      switch (name) {
39137        // Built-in SSR attribute is whitelisted
39138        case 'data-reactroot':
39139          break;
39140        // Controlled attributes are not validated
39141        // TODO: Only ignore them on controlled tags.
39142
39143        case 'value':
39144          break;
39145
39146        case 'checked':
39147          break;
39148
39149        case 'selected':
39150          break;
39151
39152        default:
39153          // Intentionally use the original name.
39154          // See discussion in https://github.com/facebook/react/pull/10676.
39155          extraAttributeNames.add(attributes[_i].name);
39156      }
39157    }
39158  }
39159
39160  var updatePayload = null;
39161
39162  for (var propKey in rawProps) {
39163    if (!rawProps.hasOwnProperty(propKey)) {
39164      continue;
39165    }
39166
39167    var nextProp = rawProps[propKey];
39168
39169    if (propKey === CHILDREN) {
39170      // For text content children we compare against textContent. This
39171      // might match additional HTML that is hidden when we read it using
39172      // textContent. E.g. "foo" will match "f<span>oo</span>" but that still
39173      // satisfies our requirement. Our requirement is not to produce perfect
39174      // HTML and attributes. Ideally we should preserve structure but it's
39175      // ok not to if the visible content is still enough to indicate what
39176      // even listeners these nodes might be wired up to.
39177      // TODO: Warn if there is more than a single textNode as a child.
39178      // TODO: Should we use domElement.firstChild.nodeValue to compare?
39179      if (typeof nextProp === 'string') {
39180        if (domElement.textContent !== nextProp) {
39181          if ( !suppressHydrationWarning) {
39182            warnForTextDifference(domElement.textContent, nextProp);
39183          }
39184
39185          updatePayload = [CHILDREN, nextProp];
39186        }
39187      } else if (typeof nextProp === 'number') {
39188        if (domElement.textContent !== '' + nextProp) {
39189          if ( !suppressHydrationWarning) {
39190            warnForTextDifference(domElement.textContent, nextProp);
39191          }
39192
39193          updatePayload = [CHILDREN, '' + nextProp];
39194        }
39195      }
39196    } else if (registrationNameModules.hasOwnProperty(propKey)) {
39197      if (nextProp != null) {
39198        if ( typeof nextProp !== 'function') {
39199          warnForInvalidEventListener(propKey, nextProp);
39200        }
39201
39202        ensureListeningTo(rootContainerElement, propKey);
39203      }
39204    } else if ( // Convince Flow we've calculated it (it's DEV-only in this method.)
39205    typeof isCustomComponentTag === 'boolean') {
39206      // Validate that the properties correspond to their expected values.
39207      var serverValue = void 0;
39208      var propertyInfo = getPropertyInfo(propKey);
39209
39210      if (suppressHydrationWarning) ; else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING || // Controlled attributes are not validated
39211      // TODO: Only ignore them on controlled tags.
39212      propKey === 'value' || propKey === 'checked' || propKey === 'selected') ; else if (propKey === DANGEROUSLY_SET_INNER_HTML) {
39213        var serverHTML = domElement.innerHTML;
39214        var nextHtml = nextProp ? nextProp[HTML$1] : undefined;
39215        var expectedHTML = normalizeHTML(domElement, nextHtml != null ? nextHtml : '');
39216
39217        if (expectedHTML !== serverHTML) {
39218          warnForPropDifference(propKey, serverHTML, expectedHTML);
39219        }
39220      } else if (propKey === STYLE) {
39221        // $FlowFixMe - Should be inferred as not undefined.
39222        extraAttributeNames.delete(propKey);
39223
39224        if (canDiffStyleForHydrationWarning) {
39225          var expectedStyle = createDangerousStringForStyles(nextProp);
39226          serverValue = domElement.getAttribute('style');
39227
39228          if (expectedStyle !== serverValue) {
39229            warnForPropDifference(propKey, serverValue, expectedStyle);
39230          }
39231        }
39232      } else if (isCustomComponentTag) {
39233        // $FlowFixMe - Should be inferred as not undefined.
39234        extraAttributeNames.delete(propKey.toLowerCase());
39235        serverValue = getValueForAttribute(domElement, propKey, nextProp);
39236
39237        if (nextProp !== serverValue) {
39238          warnForPropDifference(propKey, serverValue, nextProp);
39239        }
39240      } else if (!shouldIgnoreAttribute(propKey, propertyInfo, isCustomComponentTag) && !shouldRemoveAttribute(propKey, nextProp, propertyInfo, isCustomComponentTag)) {
39241        var isMismatchDueToBadCasing = false;
39242
39243        if (propertyInfo !== null) {
39244          // $FlowFixMe - Should be inferred as not undefined.
39245          extraAttributeNames.delete(propertyInfo.attributeName);
39246          serverValue = getValueForProperty(domElement, propKey, nextProp, propertyInfo);
39247        } else {
39248          var ownNamespace = parentNamespace;
39249
39250          if (ownNamespace === HTML_NAMESPACE$1) {
39251            ownNamespace = getIntrinsicNamespace(tag);
39252          }
39253
39254          if (ownNamespace === HTML_NAMESPACE$1) {
39255            // $FlowFixMe - Should be inferred as not undefined.
39256            extraAttributeNames.delete(propKey.toLowerCase());
39257          } else {
39258            var standardName = getPossibleStandardName(propKey);
39259
39260            if (standardName !== null && standardName !== propKey) {
39261              // If an SVG prop is supplied with bad casing, it will
39262              // be successfully parsed from HTML, but will produce a mismatch
39263              // (and would be incorrectly rendered on the client).
39264              // However, we already warn about bad casing elsewhere.
39265              // So we'll skip the misleading extra mismatch warning in this case.
39266              isMismatchDueToBadCasing = true; // $FlowFixMe - Should be inferred as not undefined.
39267
39268              extraAttributeNames.delete(standardName);
39269            } // $FlowFixMe - Should be inferred as not undefined.
39270
39271
39272            extraAttributeNames.delete(propKey);
39273          }
39274
39275          serverValue = getValueForAttribute(domElement, propKey, nextProp);
39276        }
39277
39278        if (nextProp !== serverValue && !isMismatchDueToBadCasing) {
39279          warnForPropDifference(propKey, serverValue, nextProp);
39280        }
39281      }
39282    }
39283  }
39284
39285  {
39286    // $FlowFixMe - Should be inferred as not undefined.
39287    if (extraAttributeNames.size > 0 && !suppressHydrationWarning) {
39288      // $FlowFixMe - Should be inferred as not undefined.
39289      warnForExtraAttributes(extraAttributeNames);
39290    }
39291  }
39292
39293  switch (tag) {
39294    case 'input':
39295      // TODO: Make sure we check if this is still unmounted or do any clean
39296      // up necessary since we never stop tracking anymore.
39297      track(domElement);
39298      postMountWrapper(domElement, rawProps, true);
39299      break;
39300
39301    case 'textarea':
39302      // TODO: Make sure we check if this is still unmounted or do any clean
39303      // up necessary since we never stop tracking anymore.
39304      track(domElement);
39305      postMountWrapper$3(domElement);
39306      break;
39307
39308    case 'select':
39309    case 'option':
39310      // For input and textarea we current always set the value property at
39311      // post mount to force it to diverge from attributes. However, for
39312      // option and select we don't quite do the same thing and select
39313      // is not resilient to the DOM state changing so we don't do that here.
39314      // TODO: Consider not doing this for input and textarea.
39315      break;
39316
39317    default:
39318      if (typeof rawProps.onClick === 'function') {
39319        // TODO: This cast may not be sound for SVG, MathML or custom elements.
39320        trapClickOnNonInteractiveElement(domElement);
39321      }
39322
39323      break;
39324  }
39325
39326  return updatePayload;
39327}
39328function diffHydratedText(textNode, text) {
39329  var isDifferent = textNode.nodeValue !== text;
39330  return isDifferent;
39331}
39332function warnForUnmatchedText(textNode, text) {
39333  {
39334    warnForTextDifference(textNode.nodeValue, text);
39335  }
39336}
39337function warnForDeletedHydratableElement(parentNode, child) {
39338  {
39339    if (didWarnInvalidHydration) {
39340      return;
39341    }
39342
39343    didWarnInvalidHydration = true;
39344
39345    error('Did not expect server HTML to contain a <%s> in <%s>.', child.nodeName.toLowerCase(), parentNode.nodeName.toLowerCase());
39346  }
39347}
39348function warnForDeletedHydratableText(parentNode, child) {
39349  {
39350    if (didWarnInvalidHydration) {
39351      return;
39352    }
39353
39354    didWarnInvalidHydration = true;
39355
39356    error('Did not expect server HTML to contain the text node "%s" in <%s>.', child.nodeValue, parentNode.nodeName.toLowerCase());
39357  }
39358}
39359function warnForInsertedHydratedElement(parentNode, tag, props) {
39360  {
39361    if (didWarnInvalidHydration) {
39362      return;
39363    }
39364
39365    didWarnInvalidHydration = true;
39366
39367    error('Expected server HTML to contain a matching <%s> in <%s>.', tag, parentNode.nodeName.toLowerCase());
39368  }
39369}
39370function warnForInsertedHydratedText(parentNode, text) {
39371  {
39372    if (text === '') {
39373      // We expect to insert empty text nodes since they're not represented in
39374      // the HTML.
39375      // TODO: Remove this special case if we can just avoid inserting empty
39376      // text nodes.
39377      return;
39378    }
39379
39380    if (didWarnInvalidHydration) {
39381      return;
39382    }
39383
39384    didWarnInvalidHydration = true;
39385
39386    error('Expected server HTML to contain a matching text node for "%s" in <%s>.', text, parentNode.nodeName.toLowerCase());
39387  }
39388}
39389function restoreControlledState$3(domElement, tag, props) {
39390  switch (tag) {
39391    case 'input':
39392      restoreControlledState(domElement, props);
39393      return;
39394
39395    case 'textarea':
39396      restoreControlledState$2(domElement, props);
39397      return;
39398
39399    case 'select':
39400      restoreControlledState$1(domElement, props);
39401      return;
39402  }
39403}
39404
39405function getActiveElement(doc) {
39406  doc = doc || (typeof document !== 'undefined' ? document : undefined);
39407
39408  if (typeof doc === 'undefined') {
39409    return null;
39410  }
39411
39412  try {
39413    return doc.activeElement || doc.body;
39414  } catch (e) {
39415    return doc.body;
39416  }
39417}
39418
39419/**
39420 * Given any node return the first leaf node without children.
39421 *
39422 * @param {DOMElement|DOMTextNode} node
39423 * @return {DOMElement|DOMTextNode}
39424 */
39425
39426function getLeafNode(node) {
39427  while (node && node.firstChild) {
39428    node = node.firstChild;
39429  }
39430
39431  return node;
39432}
39433/**
39434 * Get the next sibling within a container. This will walk up the
39435 * DOM if a node's siblings have been exhausted.
39436 *
39437 * @param {DOMElement|DOMTextNode} node
39438 * @return {?DOMElement|DOMTextNode}
39439 */
39440
39441
39442function getSiblingNode(node) {
39443  while (node) {
39444    if (node.nextSibling) {
39445      return node.nextSibling;
39446    }
39447
39448    node = node.parentNode;
39449  }
39450}
39451/**
39452 * Get object describing the nodes which contain characters at offset.
39453 *
39454 * @param {DOMElement|DOMTextNode} root
39455 * @param {number} offset
39456 * @return {?object}
39457 */
39458
39459
39460function getNodeForCharacterOffset(root, offset) {
39461  var node = getLeafNode(root);
39462  var nodeStart = 0;
39463  var nodeEnd = 0;
39464
39465  while (node) {
39466    if (node.nodeType === TEXT_NODE) {
39467      nodeEnd = nodeStart + node.textContent.length;
39468
39469      if (nodeStart <= offset && nodeEnd >= offset) {
39470        return {
39471          node: node,
39472          offset: offset - nodeStart
39473        };
39474      }
39475
39476      nodeStart = nodeEnd;
39477    }
39478
39479    node = getLeafNode(getSiblingNode(node));
39480  }
39481}
39482
39483/**
39484 * @param {DOMElement} outerNode
39485 * @return {?object}
39486 */
39487
39488function getOffsets(outerNode) {
39489  var ownerDocument = outerNode.ownerDocument;
39490  var win = ownerDocument && ownerDocument.defaultView || window;
39491  var selection = win.getSelection && win.getSelection();
39492
39493  if (!selection || selection.rangeCount === 0) {
39494    return null;
39495  }
39496
39497  var anchorNode = selection.anchorNode,
39498      anchorOffset = selection.anchorOffset,
39499      focusNode = selection.focusNode,
39500      focusOffset = selection.focusOffset; // In Firefox, anchorNode and focusNode can be "anonymous divs", e.g. the
39501  // up/down buttons on an <input type="number">. Anonymous divs do not seem to
39502  // expose properties, triggering a "Permission denied error" if any of its
39503  // properties are accessed. The only seemingly possible way to avoid erroring
39504  // is to access a property that typically works for non-anonymous divs and
39505  // catch any error that may otherwise arise. See
39506  // https://bugzilla.mozilla.org/show_bug.cgi?id=208427
39507
39508  try {
39509    /* eslint-disable no-unused-expressions */
39510    anchorNode.nodeType;
39511    focusNode.nodeType;
39512    /* eslint-enable no-unused-expressions */
39513  } catch (e) {
39514    return null;
39515  }
39516
39517  return getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset);
39518}
39519/**
39520 * Returns {start, end} where `start` is the character/codepoint index of
39521 * (anchorNode, anchorOffset) within the textContent of `outerNode`, and
39522 * `end` is the index of (focusNode, focusOffset).
39523 *
39524 * Returns null if you pass in garbage input but we should probably just crash.
39525 *
39526 * Exported only for testing.
39527 */
39528
39529function getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset) {
39530  var length = 0;
39531  var start = -1;
39532  var end = -1;
39533  var indexWithinAnchor = 0;
39534  var indexWithinFocus = 0;
39535  var node = outerNode;
39536  var parentNode = null;
39537
39538  outer: while (true) {
39539    var next = null;
39540
39541    while (true) {
39542      if (node === anchorNode && (anchorOffset === 0 || node.nodeType === TEXT_NODE)) {
39543        start = length + anchorOffset;
39544      }
39545
39546      if (node === focusNode && (focusOffset === 0 || node.nodeType === TEXT_NODE)) {
39547        end = length + focusOffset;
39548      }
39549
39550      if (node.nodeType === TEXT_NODE) {
39551        length += node.nodeValue.length;
39552      }
39553
39554      if ((next = node.firstChild) === null) {
39555        break;
39556      } // Moving from `node` to its first child `next`.
39557
39558
39559      parentNode = node;
39560      node = next;
39561    }
39562
39563    while (true) {
39564      if (node === outerNode) {
39565        // If `outerNode` has children, this is always the second time visiting
39566        // it. If it has no children, this is still the first loop, and the only
39567        // valid selection is anchorNode and focusNode both equal to this node
39568        // and both offsets 0, in which case we will have handled above.
39569        break outer;
39570      }
39571
39572      if (parentNode === anchorNode && ++indexWithinAnchor === anchorOffset) {
39573        start = length;
39574      }
39575
39576      if (parentNode === focusNode && ++indexWithinFocus === focusOffset) {
39577        end = length;
39578      }
39579
39580      if ((next = node.nextSibling) !== null) {
39581        break;
39582      }
39583
39584      node = parentNode;
39585      parentNode = node.parentNode;
39586    } // Moving from `node` to its next sibling `next`.
39587
39588
39589    node = next;
39590  }
39591
39592  if (start === -1 || end === -1) {
39593    // This should never happen. (Would happen if the anchor/focus nodes aren't
39594    // actually inside the passed-in node.)
39595    return null;
39596  }
39597
39598  return {
39599    start: start,
39600    end: end
39601  };
39602}
39603/**
39604 * In modern non-IE browsers, we can support both forward and backward
39605 * selections.
39606 *
39607 * Note: IE10+ supports the Selection object, but it does not support
39608 * the `extend` method, which means that even in modern IE, it's not possible
39609 * to programmatically create a backward selection. Thus, for all IE
39610 * versions, we use the old IE API to create our selections.
39611 *
39612 * @param {DOMElement|DOMTextNode} node
39613 * @param {object} offsets
39614 */
39615
39616function setOffsets(node, offsets) {
39617  var doc = node.ownerDocument || document;
39618  var win = doc && doc.defaultView || window; // Edge fails with "Object expected" in some scenarios.
39619  // (For instance: TinyMCE editor used in a list component that supports pasting to add more,
39620  // fails when pasting 100+ items)
39621
39622  if (!win.getSelection) {
39623    return;
39624  }
39625
39626  var selection = win.getSelection();
39627  var length = node.textContent.length;
39628  var start = Math.min(offsets.start, length);
39629  var end = offsets.end === undefined ? start : Math.min(offsets.end, length); // IE 11 uses modern selection, but doesn't support the extend method.
39630  // Flip backward selections, so we can set with a single range.
39631
39632  if (!selection.extend && start > end) {
39633    var temp = end;
39634    end = start;
39635    start = temp;
39636  }
39637
39638  var startMarker = getNodeForCharacterOffset(node, start);
39639  var endMarker = getNodeForCharacterOffset(node, end);
39640
39641  if (startMarker && endMarker) {
39642    if (selection.rangeCount === 1 && selection.anchorNode === startMarker.node && selection.anchorOffset === startMarker.offset && selection.focusNode === endMarker.node && selection.focusOffset === endMarker.offset) {
39643      return;
39644    }
39645
39646    var range = doc.createRange();
39647    range.setStart(startMarker.node, startMarker.offset);
39648    selection.removeAllRanges();
39649
39650    if (start > end) {
39651      selection.addRange(range);
39652      selection.extend(endMarker.node, endMarker.offset);
39653    } else {
39654      range.setEnd(endMarker.node, endMarker.offset);
39655      selection.addRange(range);
39656    }
39657  }
39658}
39659
39660function isTextNode(node) {
39661  return node && node.nodeType === TEXT_NODE;
39662}
39663
39664function containsNode(outerNode, innerNode) {
39665  if (!outerNode || !innerNode) {
39666    return false;
39667  } else if (outerNode === innerNode) {
39668    return true;
39669  } else if (isTextNode(outerNode)) {
39670    return false;
39671  } else if (isTextNode(innerNode)) {
39672    return containsNode(outerNode, innerNode.parentNode);
39673  } else if ('contains' in outerNode) {
39674    return outerNode.contains(innerNode);
39675  } else if (outerNode.compareDocumentPosition) {
39676    return !!(outerNode.compareDocumentPosition(innerNode) & 16);
39677  } else {
39678    return false;
39679  }
39680}
39681
39682function isInDocument(node) {
39683  return node && node.ownerDocument && containsNode(node.ownerDocument.documentElement, node);
39684}
39685
39686function isSameOriginFrame(iframe) {
39687  try {
39688    // Accessing the contentDocument of a HTMLIframeElement can cause the browser
39689    // to throw, e.g. if it has a cross-origin src attribute.
39690    // Safari will show an error in the console when the access results in "Blocked a frame with origin". e.g:
39691    // iframe.contentDocument.defaultView;
39692    // A safety way is to access one of the cross origin properties: Window or Location
39693    // Which might result in "SecurityError" DOM Exception and it is compatible to Safari.
39694    // https://html.spec.whatwg.org/multipage/browsers.html#integration-with-idl
39695    return typeof iframe.contentWindow.location.href === 'string';
39696  } catch (err) {
39697    return false;
39698  }
39699}
39700
39701function getActiveElementDeep() {
39702  var win = window;
39703  var element = getActiveElement();
39704
39705  while (element instanceof win.HTMLIFrameElement) {
39706    if (isSameOriginFrame(element)) {
39707      win = element.contentWindow;
39708    } else {
39709      return element;
39710    }
39711
39712    element = getActiveElement(win.document);
39713  }
39714
39715  return element;
39716}
39717/**
39718 * @ReactInputSelection: React input selection module. Based on Selection.js,
39719 * but modified to be suitable for react and has a couple of bug fixes (doesn't
39720 * assume buttons have range selections allowed).
39721 * Input selection module for React.
39722 */
39723
39724/**
39725 * @hasSelectionCapabilities: we get the element types that support selection
39726 * from https://html.spec.whatwg.org/#do-not-apply, looking at `selectionStart`
39727 * and `selectionEnd` rows.
39728 */
39729
39730
39731function hasSelectionCapabilities(elem) {
39732  var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
39733  return nodeName && (nodeName === 'input' && (elem.type === 'text' || elem.type === 'search' || elem.type === 'tel' || elem.type === 'url' || elem.type === 'password') || nodeName === 'textarea' || elem.contentEditable === 'true');
39734}
39735function getSelectionInformation() {
39736  var focusedElem = getActiveElementDeep();
39737  return {
39738    // Used by Flare
39739    activeElementDetached: null,
39740    focusedElem: focusedElem,
39741    selectionRange: hasSelectionCapabilities(focusedElem) ? getSelection(focusedElem) : null
39742  };
39743}
39744/**
39745 * @restoreSelection: If any selection information was potentially lost,
39746 * restore it. This is useful when performing operations that could remove dom
39747 * nodes and place them back in, resulting in focus being lost.
39748 */
39749
39750function restoreSelection(priorSelectionInformation) {
39751  var curFocusedElem = getActiveElementDeep();
39752  var priorFocusedElem = priorSelectionInformation.focusedElem;
39753  var priorSelectionRange = priorSelectionInformation.selectionRange;
39754
39755  if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) {
39756    if (priorSelectionRange !== null && hasSelectionCapabilities(priorFocusedElem)) {
39757      setSelection(priorFocusedElem, priorSelectionRange);
39758    } // Focusing a node can change the scroll position, which is undesirable
39759
39760
39761    var ancestors = [];
39762    var ancestor = priorFocusedElem;
39763
39764    while (ancestor = ancestor.parentNode) {
39765      if (ancestor.nodeType === ELEMENT_NODE) {
39766        ancestors.push({
39767          element: ancestor,
39768          left: ancestor.scrollLeft,
39769          top: ancestor.scrollTop
39770        });
39771      }
39772    }
39773
39774    if (typeof priorFocusedElem.focus === 'function') {
39775      priorFocusedElem.focus();
39776    }
39777
39778    for (var i = 0; i < ancestors.length; i++) {
39779      var info = ancestors[i];
39780      info.element.scrollLeft = info.left;
39781      info.element.scrollTop = info.top;
39782    }
39783  }
39784}
39785/**
39786 * @getSelection: Gets the selection bounds of a focused textarea, input or
39787 * contentEditable node.
39788 * -@input: Look up selection bounds of this input
39789 * -@return {start: selectionStart, end: selectionEnd}
39790 */
39791
39792function getSelection(input) {
39793  var selection;
39794
39795  if ('selectionStart' in input) {
39796    // Modern browser with input or textarea.
39797    selection = {
39798      start: input.selectionStart,
39799      end: input.selectionEnd
39800    };
39801  } else {
39802    // Content editable or old IE textarea.
39803    selection = getOffsets(input);
39804  }
39805
39806  return selection || {
39807    start: 0,
39808    end: 0
39809  };
39810}
39811/**
39812 * @setSelection: Sets the selection bounds of a textarea or input and focuses
39813 * the input.
39814 * -@input     Set selection bounds of this input or textarea
39815 * -@offsets   Object of same form that is returned from get*
39816 */
39817
39818function setSelection(input, offsets) {
39819  var start = offsets.start,
39820      end = offsets.end;
39821
39822  if (end === undefined) {
39823    end = start;
39824  }
39825
39826  if ('selectionStart' in input) {
39827    input.selectionStart = start;
39828    input.selectionEnd = Math.min(end, input.value.length);
39829  } else {
39830    setOffsets(input, offsets);
39831  }
39832}
39833
39834var validateDOMNesting = function () {};
39835
39836var updatedAncestorInfo = function () {};
39837
39838{
39839  // This validation code was written based on the HTML5 parsing spec:
39840  // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope
39841  //
39842  // Note: this does not catch all invalid nesting, nor does it try to (as it's
39843  // not clear what practical benefit doing so provides); instead, we warn only
39844  // for cases where the parser will give a parse tree differing from what React
39845  // intended. For example, <b><div></div></b> is invalid but we don't warn
39846  // because it still parses correctly; we do warn for other cases like nested
39847  // <p> tags where the beginning of the second element implicitly closes the
39848  // first, causing a confusing mess.
39849  // https://html.spec.whatwg.org/multipage/syntax.html#special
39850  var specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope
39851
39852  var inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template', // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point
39853  // TODO: Distinguish by namespace here -- for <title>, including it here
39854  // errs on the side of fewer warnings
39855  'foreignObject', 'desc', 'title']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope
39856
39857  var buttonScopeTags = inScopeTags.concat(['button']); // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags
39858
39859  var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt'];
39860  var emptyAncestorInfo = {
39861    current: null,
39862    formTag: null,
39863    aTagInScope: null,
39864    buttonTagInScope: null,
39865    nobrTagInScope: null,
39866    pTagInButtonScope: null,
39867    listItemTagAutoclosing: null,
39868    dlItemTagAutoclosing: null
39869  };
39870
39871  updatedAncestorInfo = function (oldInfo, tag) {
39872    var ancestorInfo = _assign({}, oldInfo || emptyAncestorInfo);
39873
39874    var info = {
39875      tag: tag
39876    };
39877
39878    if (inScopeTags.indexOf(tag) !== -1) {
39879      ancestorInfo.aTagInScope = null;
39880      ancestorInfo.buttonTagInScope = null;
39881      ancestorInfo.nobrTagInScope = null;
39882    }
39883
39884    if (buttonScopeTags.indexOf(tag) !== -1) {
39885      ancestorInfo.pTagInButtonScope = null;
39886    } // See rules for 'li', 'dd', 'dt' start tags in
39887    // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody
39888
39889
39890    if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') {
39891      ancestorInfo.listItemTagAutoclosing = null;
39892      ancestorInfo.dlItemTagAutoclosing = null;
39893    }
39894
39895    ancestorInfo.current = info;
39896
39897    if (tag === 'form') {
39898      ancestorInfo.formTag = info;
39899    }
39900
39901    if (tag === 'a') {
39902      ancestorInfo.aTagInScope = info;
39903    }
39904
39905    if (tag === 'button') {
39906      ancestorInfo.buttonTagInScope = info;
39907    }
39908
39909    if (tag === 'nobr') {
39910      ancestorInfo.nobrTagInScope = info;
39911    }
39912
39913    if (tag === 'p') {
39914      ancestorInfo.pTagInButtonScope = info;
39915    }
39916
39917    if (tag === 'li') {
39918      ancestorInfo.listItemTagAutoclosing = info;
39919    }
39920
39921    if (tag === 'dd' || tag === 'dt') {
39922      ancestorInfo.dlItemTagAutoclosing = info;
39923    }
39924
39925    return ancestorInfo;
39926  };
39927  /**
39928   * Returns whether
39929   */
39930
39931
39932  var isTagValidWithParent = function (tag, parentTag) {
39933    // First, let's check if we're in an unusual parsing mode...
39934    switch (parentTag) {
39935      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect
39936      case 'select':
39937        return tag === 'option' || tag === 'optgroup' || tag === '#text';
39938
39939      case 'optgroup':
39940        return tag === 'option' || tag === '#text';
39941      // Strictly speaking, seeing an <option> doesn't mean we're in a <select>
39942      // but
39943
39944      case 'option':
39945        return tag === '#text';
39946      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd
39947      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption
39948      // No special behavior since these rules fall back to "in body" mode for
39949      // all except special table nodes which cause bad parsing behavior anyway.
39950      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr
39951
39952      case 'tr':
39953        return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template';
39954      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody
39955
39956      case 'tbody':
39957      case 'thead':
39958      case 'tfoot':
39959        return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template';
39960      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup
39961
39962      case 'colgroup':
39963        return tag === 'col' || tag === 'template';
39964      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable
39965
39966      case 'table':
39967        return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template';
39968      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead
39969
39970      case 'head':
39971        return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template';
39972      // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element
39973
39974      case 'html':
39975        return tag === 'head' || tag === 'body' || tag === 'frameset';
39976
39977      case 'frameset':
39978        return tag === 'frame';
39979
39980      case '#document':
39981        return tag === 'html';
39982    } // Probably in the "in body" parsing mode, so we outlaw only tag combos
39983    // where the parsing rules cause implicit opens or closes to be added.
39984    // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody
39985
39986
39987    switch (tag) {
39988      case 'h1':
39989      case 'h2':
39990      case 'h3':
39991      case 'h4':
39992      case 'h5':
39993      case 'h6':
39994        return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6';
39995
39996      case 'rp':
39997      case 'rt':
39998        return impliedEndTags.indexOf(parentTag) === -1;
39999
40000      case 'body':
40001      case 'caption':
40002      case 'col':
40003      case 'colgroup':
40004      case 'frameset':
40005      case 'frame':
40006      case 'head':
40007      case 'html':
40008      case 'tbody':
40009      case 'td':
40010      case 'tfoot':
40011      case 'th':
40012      case 'thead':
40013      case 'tr':
40014        // These tags are only valid with a few parents that have special child
40015        // parsing rules -- if we're down here, then none of those matched and
40016        // so we allow it only if we don't know what the parent is, as all other
40017        // cases are invalid.
40018        return parentTag == null;
40019    }
40020
40021    return true;
40022  };
40023  /**
40024   * Returns whether
40025   */
40026
40027
40028  var findInvalidAncestorForTag = function (tag, ancestorInfo) {
40029    switch (tag) {
40030      case 'address':
40031      case 'article':
40032      case 'aside':
40033      case 'blockquote':
40034      case 'center':
40035      case 'details':
40036      case 'dialog':
40037      case 'dir':
40038      case 'div':
40039      case 'dl':
40040      case 'fieldset':
40041      case 'figcaption':
40042      case 'figure':
40043      case 'footer':
40044      case 'header':
40045      case 'hgroup':
40046      case 'main':
40047      case 'menu':
40048      case 'nav':
40049      case 'ol':
40050      case 'p':
40051      case 'section':
40052      case 'summary':
40053      case 'ul':
40054      case 'pre':
40055      case 'listing':
40056      case 'table':
40057      case 'hr':
40058      case 'xmp':
40059      case 'h1':
40060      case 'h2':
40061      case 'h3':
40062      case 'h4':
40063      case 'h5':
40064      case 'h6':
40065        return ancestorInfo.pTagInButtonScope;
40066
40067      case 'form':
40068        return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;
40069
40070      case 'li':
40071        return ancestorInfo.listItemTagAutoclosing;
40072
40073      case 'dd':
40074      case 'dt':
40075        return ancestorInfo.dlItemTagAutoclosing;
40076
40077      case 'button':
40078        return ancestorInfo.buttonTagInScope;
40079
40080      case 'a':
40081        // Spec says something about storing a list of markers, but it sounds
40082        // equivalent to this check.
40083        return ancestorInfo.aTagInScope;
40084
40085      case 'nobr':
40086        return ancestorInfo.nobrTagInScope;
40087    }
40088
40089    return null;
40090  };
40091
40092  var didWarn$1 = {};
40093
40094  validateDOMNesting = function (childTag, childText, ancestorInfo) {
40095    ancestorInfo = ancestorInfo || emptyAncestorInfo;
40096    var parentInfo = ancestorInfo.current;
40097    var parentTag = parentInfo && parentInfo.tag;
40098
40099    if (childText != null) {
40100      if (childTag != null) {
40101        error('validateDOMNesting: when childText is passed, childTag should be null');
40102      }
40103
40104      childTag = '#text';
40105    }
40106
40107    var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo;
40108    var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo);
40109    var invalidParentOrAncestor = invalidParent || invalidAncestor;
40110
40111    if (!invalidParentOrAncestor) {
40112      return;
40113    }
40114
40115    var ancestorTag = invalidParentOrAncestor.tag;
40116    var addendum = getCurrentFiberStackInDev();
40117    var warnKey = !!invalidParent + '|' + childTag + '|' + ancestorTag + '|' + addendum;
40118
40119    if (didWarn$1[warnKey]) {
40120      return;
40121    }
40122
40123    didWarn$1[warnKey] = true;
40124    var tagDisplayName = childTag;
40125    var whitespaceInfo = '';
40126
40127    if (childTag === '#text') {
40128      if (/\S/.test(childText)) {
40129        tagDisplayName = 'Text nodes';
40130      } else {
40131        tagDisplayName = 'Whitespace text nodes';
40132        whitespaceInfo = " Make sure you don't have any extra whitespace between tags on " + 'each line of your source code.';
40133      }
40134    } else {
40135      tagDisplayName = '<' + childTag + '>';
40136    }
40137
40138    if (invalidParent) {
40139      var info = '';
40140
40141      if (ancestorTag === 'table' && childTag === 'tr') {
40142        info += ' Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by ' + 'the browser.';
40143      }
40144
40145      error('validateDOMNesting(...): %s cannot appear as a child of <%s>.%s%s', tagDisplayName, ancestorTag, whitespaceInfo, info);
40146    } else {
40147      error('validateDOMNesting(...): %s cannot appear as a descendant of ' + '<%s>.', tagDisplayName, ancestorTag);
40148    }
40149  };
40150}
40151
40152var SUPPRESS_HYDRATION_WARNING$1;
40153
40154{
40155  SUPPRESS_HYDRATION_WARNING$1 = 'suppressHydrationWarning';
40156}
40157
40158var SUSPENSE_START_DATA = '$';
40159var SUSPENSE_END_DATA = '/$';
40160var SUSPENSE_PENDING_START_DATA = '$?';
40161var SUSPENSE_FALLBACK_START_DATA = '$!';
40162var STYLE$1 = 'style';
40163var eventsEnabled = null;
40164var selectionInformation = null;
40165
40166function shouldAutoFocusHostComponent(type, props) {
40167  switch (type) {
40168    case 'button':
40169    case 'input':
40170    case 'select':
40171    case 'textarea':
40172      return !!props.autoFocus;
40173  }
40174
40175  return false;
40176}
40177function getRootHostContext(rootContainerInstance) {
40178  var type;
40179  var namespace;
40180  var nodeType = rootContainerInstance.nodeType;
40181
40182  switch (nodeType) {
40183    case DOCUMENT_NODE:
40184    case DOCUMENT_FRAGMENT_NODE:
40185      {
40186        type = nodeType === DOCUMENT_NODE ? '#document' : '#fragment';
40187        var root = rootContainerInstance.documentElement;
40188        namespace = root ? root.namespaceURI : getChildNamespace(null, '');
40189        break;
40190      }
40191
40192    default:
40193      {
40194        var container = nodeType === COMMENT_NODE ? rootContainerInstance.parentNode : rootContainerInstance;
40195        var ownNamespace = container.namespaceURI || null;
40196        type = container.tagName;
40197        namespace = getChildNamespace(ownNamespace, type);
40198        break;
40199      }
40200  }
40201
40202  {
40203    var validatedTag = type.toLowerCase();
40204    var ancestorInfo = updatedAncestorInfo(null, validatedTag);
40205    return {
40206      namespace: namespace,
40207      ancestorInfo: ancestorInfo
40208    };
40209  }
40210}
40211function getChildHostContext(parentHostContext, type, rootContainerInstance) {
40212  {
40213    var parentHostContextDev = parentHostContext;
40214    var namespace = getChildNamespace(parentHostContextDev.namespace, type);
40215    var ancestorInfo = updatedAncestorInfo(parentHostContextDev.ancestorInfo, type);
40216    return {
40217      namespace: namespace,
40218      ancestorInfo: ancestorInfo
40219    };
40220  }
40221}
40222function getPublicInstance(instance) {
40223  return instance;
40224}
40225function prepareForCommit(containerInfo) {
40226  eventsEnabled = isEnabled();
40227  selectionInformation = getSelectionInformation();
40228  setEnabled(false);
40229}
40230function resetAfterCommit(containerInfo) {
40231  restoreSelection(selectionInformation);
40232  setEnabled(eventsEnabled);
40233  eventsEnabled = null;
40234
40235  selectionInformation = null;
40236}
40237function createInstance(type, props, rootContainerInstance, hostContext, internalInstanceHandle) {
40238  var parentNamespace;
40239
40240  {
40241    // TODO: take namespace into account when validating.
40242    var hostContextDev = hostContext;
40243    validateDOMNesting(type, null, hostContextDev.ancestorInfo);
40244
40245    if (typeof props.children === 'string' || typeof props.children === 'number') {
40246      var string = '' + props.children;
40247      var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type);
40248      validateDOMNesting(null, string, ownAncestorInfo);
40249    }
40250
40251    parentNamespace = hostContextDev.namespace;
40252  }
40253
40254  var domElement = createElement(type, props, rootContainerInstance, parentNamespace);
40255  precacheFiberNode(internalInstanceHandle, domElement);
40256  updateFiberProps(domElement, props);
40257  return domElement;
40258}
40259function appendInitialChild(parentInstance, child) {
40260  parentInstance.appendChild(child);
40261}
40262function finalizeInitialChildren(domElement, type, props, rootContainerInstance, hostContext) {
40263  setInitialProperties(domElement, type, props, rootContainerInstance);
40264  return shouldAutoFocusHostComponent(type, props);
40265}
40266function prepareUpdate(domElement, type, oldProps, newProps, rootContainerInstance, hostContext) {
40267  {
40268    var hostContextDev = hostContext;
40269
40270    if (typeof newProps.children !== typeof oldProps.children && (typeof newProps.children === 'string' || typeof newProps.children === 'number')) {
40271      var string = '' + newProps.children;
40272      var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type);
40273      validateDOMNesting(null, string, ownAncestorInfo);
40274    }
40275  }
40276
40277  return diffProperties(domElement, type, oldProps, newProps, rootContainerInstance);
40278}
40279function shouldSetTextContent(type, props) {
40280  return type === 'textarea' || type === 'option' || type === 'noscript' || typeof props.children === 'string' || typeof props.children === 'number' || typeof props.dangerouslySetInnerHTML === 'object' && props.dangerouslySetInnerHTML !== null && props.dangerouslySetInnerHTML.__html != null;
40281}
40282function shouldDeprioritizeSubtree(type, props) {
40283  return !!props.hidden;
40284}
40285function createTextInstance(text, rootContainerInstance, hostContext, internalInstanceHandle) {
40286  {
40287    var hostContextDev = hostContext;
40288    validateDOMNesting(null, text, hostContextDev.ancestorInfo);
40289  }
40290
40291  var textNode = createTextNode(text, rootContainerInstance);
40292  precacheFiberNode(internalInstanceHandle, textNode);
40293  return textNode;
40294}
40295// if a component just imports ReactDOM (e.g. for findDOMNode).
40296// Some environments might not have setTimeout or clearTimeout.
40297
40298var scheduleTimeout = typeof setTimeout === 'function' ? setTimeout : undefined;
40299var cancelTimeout = typeof clearTimeout === 'function' ? clearTimeout : undefined;
40300var noTimeout = -1; // -------------------
40301function commitMount(domElement, type, newProps, internalInstanceHandle) {
40302  // Despite the naming that might imply otherwise, this method only
40303  // fires if there is an `Update` effect scheduled during mounting.
40304  // This happens if `finalizeInitialChildren` returns `true` (which it
40305  // does to implement the `autoFocus` attribute on the client). But
40306  // there are also other cases when this might happen (such as patching
40307  // up text content during hydration mismatch). So we'll check this again.
40308  if (shouldAutoFocusHostComponent(type, newProps)) {
40309    domElement.focus();
40310  }
40311}
40312function commitUpdate(domElement, updatePayload, type, oldProps, newProps, internalInstanceHandle) {
40313  // Update the props handle so that we know which props are the ones with
40314  // with current event handlers.
40315  updateFiberProps(domElement, newProps); // Apply the diff to the DOM node.
40316
40317  updateProperties(domElement, updatePayload, type, oldProps, newProps);
40318}
40319function resetTextContent(domElement) {
40320  setTextContent(domElement, '');
40321}
40322function commitTextUpdate(textInstance, oldText, newText) {
40323  textInstance.nodeValue = newText;
40324}
40325function appendChild(parentInstance, child) {
40326  parentInstance.appendChild(child);
40327}
40328function appendChildToContainer(container, child) {
40329  var parentNode;
40330
40331  if (container.nodeType === COMMENT_NODE) {
40332    parentNode = container.parentNode;
40333    parentNode.insertBefore(child, container);
40334  } else {
40335    parentNode = container;
40336    parentNode.appendChild(child);
40337  } // This container might be used for a portal.
40338  // If something inside a portal is clicked, that click should bubble
40339  // through the React tree. However, on Mobile Safari the click would
40340  // never bubble through the *DOM* tree unless an ancestor with onclick
40341  // event exists. So we wouldn't see it and dispatch it.
40342  // This is why we ensure that non React root containers have inline onclick
40343  // defined.
40344  // https://github.com/facebook/react/issues/11918
40345
40346
40347  var reactRootContainer = container._reactRootContainer;
40348
40349  if ((reactRootContainer === null || reactRootContainer === undefined) && parentNode.onclick === null) {
40350    // TODO: This cast may not be sound for SVG, MathML or custom elements.
40351    trapClickOnNonInteractiveElement(parentNode);
40352  }
40353}
40354function insertBefore(parentInstance, child, beforeChild) {
40355  parentInstance.insertBefore(child, beforeChild);
40356}
40357function insertInContainerBefore(container, child, beforeChild) {
40358  if (container.nodeType === COMMENT_NODE) {
40359    container.parentNode.insertBefore(child, beforeChild);
40360  } else {
40361    container.insertBefore(child, beforeChild);
40362  }
40363}
40364function removeChild(parentInstance, child) {
40365  parentInstance.removeChild(child);
40366}
40367function removeChildFromContainer(container, child) {
40368  if (container.nodeType === COMMENT_NODE) {
40369    container.parentNode.removeChild(child);
40370  } else {
40371    container.removeChild(child);
40372  }
40373}
40374
40375function hideInstance(instance) {
40376  // pass host context to this method?
40377
40378
40379  instance = instance;
40380  var style = instance.style;
40381
40382  if (typeof style.setProperty === 'function') {
40383    style.setProperty('display', 'none', 'important');
40384  } else {
40385    style.display = 'none';
40386  }
40387}
40388function hideTextInstance(textInstance) {
40389  textInstance.nodeValue = '';
40390}
40391function unhideInstance(instance, props) {
40392  instance = instance;
40393  var styleProp = props[STYLE$1];
40394  var display = styleProp !== undefined && styleProp !== null && styleProp.hasOwnProperty('display') ? styleProp.display : null;
40395  instance.style.display = dangerousStyleValue('display', display);
40396}
40397function unhideTextInstance(textInstance, text) {
40398  textInstance.nodeValue = text;
40399} // -------------------
40400function canHydrateInstance(instance, type, props) {
40401  if (instance.nodeType !== ELEMENT_NODE || type.toLowerCase() !== instance.nodeName.toLowerCase()) {
40402    return null;
40403  } // This has now been refined to an element node.
40404
40405
40406  return instance;
40407}
40408function canHydrateTextInstance(instance, text) {
40409  if (text === '' || instance.nodeType !== TEXT_NODE) {
40410    // Empty strings are not parsed by HTML so there won't be a correct match here.
40411    return null;
40412  } // This has now been refined to a text node.
40413
40414
40415  return instance;
40416}
40417function isSuspenseInstancePending(instance) {
40418  return instance.data === SUSPENSE_PENDING_START_DATA;
40419}
40420function isSuspenseInstanceFallback(instance) {
40421  return instance.data === SUSPENSE_FALLBACK_START_DATA;
40422}
40423
40424function getNextHydratable(node) {
40425  // Skip non-hydratable nodes.
40426  for (; node != null; node = node.nextSibling) {
40427    var nodeType = node.nodeType;
40428
40429    if (nodeType === ELEMENT_NODE || nodeType === TEXT_NODE) {
40430      break;
40431    }
40432  }
40433
40434  return node;
40435}
40436
40437function getNextHydratableSibling(instance) {
40438  return getNextHydratable(instance.nextSibling);
40439}
40440function getFirstHydratableChild(parentInstance) {
40441  return getNextHydratable(parentInstance.firstChild);
40442}
40443function hydrateInstance(instance, type, props, rootContainerInstance, hostContext, internalInstanceHandle) {
40444  precacheFiberNode(internalInstanceHandle, instance); // TODO: Possibly defer this until the commit phase where all the events
40445  // get attached.
40446
40447  updateFiberProps(instance, props);
40448  var parentNamespace;
40449
40450  {
40451    var hostContextDev = hostContext;
40452    parentNamespace = hostContextDev.namespace;
40453  }
40454
40455  return diffHydratedProperties(instance, type, props, parentNamespace, rootContainerInstance);
40456}
40457function hydrateTextInstance(textInstance, text, internalInstanceHandle) {
40458  precacheFiberNode(internalInstanceHandle, textInstance);
40459  return diffHydratedText(textInstance, text);
40460}
40461function getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance) {
40462  var node = suspenseInstance.nextSibling; // Skip past all nodes within this suspense boundary.
40463  // There might be nested nodes so we need to keep track of how
40464  // deep we are and only break out when we're back on top.
40465
40466  var depth = 0;
40467
40468  while (node) {
40469    if (node.nodeType === COMMENT_NODE) {
40470      var data = node.data;
40471
40472      if (data === SUSPENSE_END_DATA) {
40473        if (depth === 0) {
40474          return getNextHydratableSibling(node);
40475        } else {
40476          depth--;
40477        }
40478      } else if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {
40479        depth++;
40480      }
40481    }
40482
40483    node = node.nextSibling;
40484  } // TODO: Warn, we didn't find the end comment boundary.
40485
40486
40487  return null;
40488} // Returns the SuspenseInstance if this node is a direct child of a
40489// SuspenseInstance. I.e. if its previous sibling is a Comment with
40490// SUSPENSE_x_START_DATA. Otherwise, null.
40491
40492function getParentSuspenseInstance(targetInstance) {
40493  var node = targetInstance.previousSibling; // Skip past all nodes within this suspense boundary.
40494  // There might be nested nodes so we need to keep track of how
40495  // deep we are and only break out when we're back on top.
40496
40497  var depth = 0;
40498
40499  while (node) {
40500    if (node.nodeType === COMMENT_NODE) {
40501      var data = node.data;
40502
40503      if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {
40504        if (depth === 0) {
40505          return node;
40506        } else {
40507          depth--;
40508        }
40509      } else if (data === SUSPENSE_END_DATA) {
40510        depth++;
40511      }
40512    }
40513
40514    node = node.previousSibling;
40515  }
40516
40517  return null;
40518}
40519function commitHydratedContainer(container) {
40520  // Retry if any event replaying was blocked on this.
40521  retryIfBlockedOn(container);
40522}
40523function commitHydratedSuspenseInstance(suspenseInstance) {
40524  // Retry if any event replaying was blocked on this.
40525  retryIfBlockedOn(suspenseInstance);
40526}
40527function didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, text) {
40528  {
40529    warnForUnmatchedText(textInstance, text);
40530  }
40531}
40532function didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, text) {
40533  if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {
40534    warnForUnmatchedText(textInstance, text);
40535  }
40536}
40537function didNotHydrateContainerInstance(parentContainer, instance) {
40538  {
40539    if (instance.nodeType === ELEMENT_NODE) {
40540      warnForDeletedHydratableElement(parentContainer, instance);
40541    } else if (instance.nodeType === COMMENT_NODE) ; else {
40542      warnForDeletedHydratableText(parentContainer, instance);
40543    }
40544  }
40545}
40546function didNotHydrateInstance(parentType, parentProps, parentInstance, instance) {
40547  if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {
40548    if (instance.nodeType === ELEMENT_NODE) {
40549      warnForDeletedHydratableElement(parentInstance, instance);
40550    } else if (instance.nodeType === COMMENT_NODE) ; else {
40551      warnForDeletedHydratableText(parentInstance, instance);
40552    }
40553  }
40554}
40555function didNotFindHydratableContainerInstance(parentContainer, type, props) {
40556  {
40557    warnForInsertedHydratedElement(parentContainer, type);
40558  }
40559}
40560function didNotFindHydratableContainerTextInstance(parentContainer, text) {
40561  {
40562    warnForInsertedHydratedText(parentContainer, text);
40563  }
40564}
40565function didNotFindHydratableInstance(parentType, parentProps, parentInstance, type, props) {
40566  if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {
40567    warnForInsertedHydratedElement(parentInstance, type);
40568  }
40569}
40570function didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, text) {
40571  if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {
40572    warnForInsertedHydratedText(parentInstance, text);
40573  }
40574}
40575function didNotFindHydratableSuspenseInstance(parentType, parentProps, parentInstance) {
40576  if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) ;
40577}
40578
40579var randomKey = Math.random().toString(36).slice(2);
40580var internalInstanceKey = '__reactInternalInstance$' + randomKey;
40581var internalEventHandlersKey = '__reactEventHandlers$' + randomKey;
40582var internalContainerInstanceKey = '__reactContainere$' + randomKey;
40583function precacheFiberNode(hostInst, node) {
40584  node[internalInstanceKey] = hostInst;
40585}
40586function markContainerAsRoot(hostRoot, node) {
40587  node[internalContainerInstanceKey] = hostRoot;
40588}
40589function unmarkContainerAsRoot(node) {
40590  node[internalContainerInstanceKey] = null;
40591}
40592function isContainerMarkedAsRoot(node) {
40593  return !!node[internalContainerInstanceKey];
40594} // Given a DOM node, return the closest HostComponent or HostText fiber ancestor.
40595// If the target node is part of a hydrated or not yet rendered subtree, then
40596// this may also return a SuspenseComponent or HostRoot to indicate that.
40597// Conceptually the HostRoot fiber is a child of the Container node. So if you
40598// pass the Container node as the targetNode, you will not actually get the
40599// HostRoot back. To get to the HostRoot, you need to pass a child of it.
40600// The same thing applies to Suspense boundaries.
40601
40602function getClosestInstanceFromNode(targetNode) {
40603  var targetInst = targetNode[internalInstanceKey];
40604
40605  if (targetInst) {
40606    // Don't return HostRoot or SuspenseComponent here.
40607    return targetInst;
40608  } // If the direct event target isn't a React owned DOM node, we need to look
40609  // to see if one of its parents is a React owned DOM node.
40610
40611
40612  var parentNode = targetNode.parentNode;
40613
40614  while (parentNode) {
40615    // We'll check if this is a container root that could include
40616    // React nodes in the future. We need to check this first because
40617    // if we're a child of a dehydrated container, we need to first
40618    // find that inner container before moving on to finding the parent
40619    // instance. Note that we don't check this field on  the targetNode
40620    // itself because the fibers are conceptually between the container
40621    // node and the first child. It isn't surrounding the container node.
40622    // If it's not a container, we check if it's an instance.
40623    targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey];
40624
40625    if (targetInst) {
40626      // Since this wasn't the direct target of the event, we might have
40627      // stepped past dehydrated DOM nodes to get here. However they could
40628      // also have been non-React nodes. We need to answer which one.
40629      // If we the instance doesn't have any children, then there can't be
40630      // a nested suspense boundary within it. So we can use this as a fast
40631      // bailout. Most of the time, when people add non-React children to
40632      // the tree, it is using a ref to a child-less DOM node.
40633      // Normally we'd only need to check one of the fibers because if it
40634      // has ever gone from having children to deleting them or vice versa
40635      // it would have deleted the dehydrated boundary nested inside already.
40636      // However, since the HostRoot starts out with an alternate it might
40637      // have one on the alternate so we need to check in case this was a
40638      // root.
40639      var alternate = targetInst.alternate;
40640
40641      if (targetInst.child !== null || alternate !== null && alternate.child !== null) {
40642        // Next we need to figure out if the node that skipped past is
40643        // nested within a dehydrated boundary and if so, which one.
40644        var suspenseInstance = getParentSuspenseInstance(targetNode);
40645
40646        while (suspenseInstance !== null) {
40647          // We found a suspense instance. That means that we haven't
40648          // hydrated it yet. Even though we leave the comments in the
40649          // DOM after hydrating, and there are boundaries in the DOM
40650          // that could already be hydrated, we wouldn't have found them
40651          // through this pass since if the target is hydrated it would
40652          // have had an internalInstanceKey on it.
40653          // Let's get the fiber associated with the SuspenseComponent
40654          // as the deepest instance.
40655          var targetSuspenseInst = suspenseInstance[internalInstanceKey];
40656
40657          if (targetSuspenseInst) {
40658            return targetSuspenseInst;
40659          } // If we don't find a Fiber on the comment, it might be because
40660          // we haven't gotten to hydrate it yet. There might still be a
40661          // parent boundary that hasn't above this one so we need to find
40662          // the outer most that is known.
40663
40664
40665          suspenseInstance = getParentSuspenseInstance(suspenseInstance); // If we don't find one, then that should mean that the parent
40666          // host component also hasn't hydrated yet. We can return it
40667          // below since it will bail out on the isMounted check later.
40668        }
40669      }
40670
40671      return targetInst;
40672    }
40673
40674    targetNode = parentNode;
40675    parentNode = targetNode.parentNode;
40676  }
40677
40678  return null;
40679}
40680/**
40681 * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent
40682 * instance, or null if the node was not rendered by this React.
40683 */
40684
40685function getInstanceFromNode$1(node) {
40686  var inst = node[internalInstanceKey] || node[internalContainerInstanceKey];
40687
40688  if (inst) {
40689    if (inst.tag === HostComponent || inst.tag === HostText || inst.tag === SuspenseComponent || inst.tag === HostRoot) {
40690      return inst;
40691    } else {
40692      return null;
40693    }
40694  }
40695
40696  return null;
40697}
40698/**
40699 * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding
40700 * DOM node.
40701 */
40702
40703function getNodeFromInstance$1(inst) {
40704  if (inst.tag === HostComponent || inst.tag === HostText) {
40705    // In Fiber this, is just the state node right now. We assume it will be
40706    // a host component or host text.
40707    return inst.stateNode;
40708  } // Without this first invariant, passing a non-DOM-component triggers the next
40709  // invariant for a missing parent, which is super confusing.
40710
40711
40712  {
40713    {
40714      throw Error( "getNodeFromInstance: Invalid argument." );
40715    }
40716  }
40717}
40718function getFiberCurrentPropsFromNode$1(node) {
40719  return node[internalEventHandlersKey] || null;
40720}
40721function updateFiberProps(node, props) {
40722  node[internalEventHandlersKey] = props;
40723}
40724
40725function getParent(inst) {
40726  do {
40727    inst = inst.return; // TODO: If this is a HostRoot we might want to bail out.
40728    // That is depending on if we want nested subtrees (layers) to bubble
40729    // events to their parent. We could also go through parentNode on the
40730    // host node but that wouldn't work for React Native and doesn't let us
40731    // do the portal feature.
40732  } while (inst && inst.tag !== HostComponent);
40733
40734  if (inst) {
40735    return inst;
40736  }
40737
40738  return null;
40739}
40740/**
40741 * Return the lowest common ancestor of A and B, or null if they are in
40742 * different trees.
40743 */
40744
40745
40746function getLowestCommonAncestor(instA, instB) {
40747  var depthA = 0;
40748
40749  for (var tempA = instA; tempA; tempA = getParent(tempA)) {
40750    depthA++;
40751  }
40752
40753  var depthB = 0;
40754
40755  for (var tempB = instB; tempB; tempB = getParent(tempB)) {
40756    depthB++;
40757  } // If A is deeper, crawl up.
40758
40759
40760  while (depthA - depthB > 0) {
40761    instA = getParent(instA);
40762    depthA--;
40763  } // If B is deeper, crawl up.
40764
40765
40766  while (depthB - depthA > 0) {
40767    instB = getParent(instB);
40768    depthB--;
40769  } // Walk in lockstep until we find a match.
40770
40771
40772  var depth = depthA;
40773
40774  while (depth--) {
40775    if (instA === instB || instA === instB.alternate) {
40776      return instA;
40777    }
40778
40779    instA = getParent(instA);
40780    instB = getParent(instB);
40781  }
40782
40783  return null;
40784}
40785/**
40786 * Simulates the traversal of a two-phase, capture/bubble event dispatch.
40787 */
40788
40789function traverseTwoPhase(inst, fn, arg) {
40790  var path = [];
40791
40792  while (inst) {
40793    path.push(inst);
40794    inst = getParent(inst);
40795  }
40796
40797  var i;
40798
40799  for (i = path.length; i-- > 0;) {
40800    fn(path[i], 'captured', arg);
40801  }
40802
40803  for (i = 0; i < path.length; i++) {
40804    fn(path[i], 'bubbled', arg);
40805  }
40806}
40807/**
40808 * Traverses the ID hierarchy and invokes the supplied `cb` on any IDs that
40809 * should would receive a `mouseEnter` or `mouseLeave` event.
40810 *
40811 * Does not invoke the callback on the nearest common ancestor because nothing
40812 * "entered" or "left" that element.
40813 */
40814
40815function traverseEnterLeave(from, to, fn, argFrom, argTo) {
40816  var common = from && to ? getLowestCommonAncestor(from, to) : null;
40817  var pathFrom = [];
40818
40819  while (true) {
40820    if (!from) {
40821      break;
40822    }
40823
40824    if (from === common) {
40825      break;
40826    }
40827
40828    var alternate = from.alternate;
40829
40830    if (alternate !== null && alternate === common) {
40831      break;
40832    }
40833
40834    pathFrom.push(from);
40835    from = getParent(from);
40836  }
40837
40838  var pathTo = [];
40839
40840  while (true) {
40841    if (!to) {
40842      break;
40843    }
40844
40845    if (to === common) {
40846      break;
40847    }
40848
40849    var _alternate = to.alternate;
40850
40851    if (_alternate !== null && _alternate === common) {
40852      break;
40853    }
40854
40855    pathTo.push(to);
40856    to = getParent(to);
40857  }
40858
40859  for (var i = 0; i < pathFrom.length; i++) {
40860    fn(pathFrom[i], 'bubbled', argFrom);
40861  }
40862
40863  for (var _i = pathTo.length; _i-- > 0;) {
40864    fn(pathTo[_i], 'captured', argTo);
40865  }
40866}
40867
40868function isInteractive(tag) {
40869  return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea';
40870}
40871
40872function shouldPreventMouseEvent(name, type, props) {
40873  switch (name) {
40874    case 'onClick':
40875    case 'onClickCapture':
40876    case 'onDoubleClick':
40877    case 'onDoubleClickCapture':
40878    case 'onMouseDown':
40879    case 'onMouseDownCapture':
40880    case 'onMouseMove':
40881    case 'onMouseMoveCapture':
40882    case 'onMouseUp':
40883    case 'onMouseUpCapture':
40884    case 'onMouseEnter':
40885      return !!(props.disabled && isInteractive(type));
40886
40887    default:
40888      return false;
40889  }
40890}
40891/**
40892 * @param {object} inst The instance, which is the source of events.
40893 * @param {string} registrationName Name of listener (e.g. `onClick`).
40894 * @return {?function} The stored callback.
40895 */
40896
40897
40898function getListener(inst, registrationName) {
40899  var listener; // TODO: shouldPreventMouseEvent is DOM-specific and definitely should not
40900  // live here; needs to be moved to a better place soon
40901
40902  var stateNode = inst.stateNode;
40903
40904  if (!stateNode) {
40905    // Work in progress (ex: onload events in incremental mode).
40906    return null;
40907  }
40908
40909  var props = getFiberCurrentPropsFromNode(stateNode);
40910
40911  if (!props) {
40912    // Work in progress.
40913    return null;
40914  }
40915
40916  listener = props[registrationName];
40917
40918  if (shouldPreventMouseEvent(registrationName, inst.type, props)) {
40919    return null;
40920  }
40921
40922  if (!(!listener || typeof listener === 'function')) {
40923    {
40924      throw Error( "Expected `" + registrationName + "` listener to be a function, instead got a value of `" + typeof listener + "` type." );
40925    }
40926  }
40927
40928  return listener;
40929}
40930
40931/**
40932 * Some event types have a notion of different registration names for different
40933 * "phases" of propagation. This finds listeners by a given phase.
40934 */
40935function listenerAtPhase(inst, event, propagationPhase) {
40936  var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase];
40937  return getListener(inst, registrationName);
40938}
40939/**
40940 * A small set of propagation patterns, each of which will accept a small amount
40941 * of information, and generate a set of "dispatch ready event objects" - which
40942 * are sets of events that have already been annotated with a set of dispatched
40943 * listener functions/ids. The API is designed this way to discourage these
40944 * propagation strategies from actually executing the dispatches, since we
40945 * always want to collect the entire set of dispatches before executing even a
40946 * single one.
40947 */
40948
40949/**
40950 * Tags a `SyntheticEvent` with dispatched listeners. Creating this function
40951 * here, allows us to not have to bind or create functions for each event.
40952 * Mutating the event's members allows us to not have to create a wrapping
40953 * "dispatch" object that pairs the event with the listener.
40954 */
40955
40956
40957function accumulateDirectionalDispatches(inst, phase, event) {
40958  {
40959    if (!inst) {
40960      error('Dispatching inst must not be null');
40961    }
40962  }
40963
40964  var listener = listenerAtPhase(inst, event, phase);
40965
40966  if (listener) {
40967    event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);
40968    event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);
40969  }
40970}
40971/**
40972 * Collect dispatches (must be entirely collected before dispatching - see unit
40973 * tests). Lazily allocate the array to conserve memory.  We must loop through
40974 * each event and perform the traversal for each one. We cannot perform a
40975 * single traversal for the entire collection of events because each event may
40976 * have a different target.
40977 */
40978
40979
40980function accumulateTwoPhaseDispatchesSingle(event) {
40981  if (event && event.dispatchConfig.phasedRegistrationNames) {
40982    traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event);
40983  }
40984}
40985/**
40986 * Accumulates without regard to direction, does not look for phased
40987 * registration names. Same as `accumulateDirectDispatchesSingle` but without
40988 * requiring that the `dispatchMarker` be the same as the dispatched ID.
40989 */
40990
40991
40992function accumulateDispatches(inst, ignoredDirection, event) {
40993  if (inst && event && event.dispatchConfig.registrationName) {
40994    var registrationName = event.dispatchConfig.registrationName;
40995    var listener = getListener(inst, registrationName);
40996
40997    if (listener) {
40998      event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);
40999      event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);
41000    }
41001  }
41002}
41003/**
41004 * Accumulates dispatches on an `SyntheticEvent`, but only for the
41005 * `dispatchMarker`.
41006 * @param {SyntheticEvent} event
41007 */
41008
41009
41010function accumulateDirectDispatchesSingle(event) {
41011  if (event && event.dispatchConfig.registrationName) {
41012    accumulateDispatches(event._targetInst, null, event);
41013  }
41014}
41015
41016function accumulateTwoPhaseDispatches(events) {
41017  forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle);
41018}
41019function accumulateEnterLeaveDispatches(leave, enter, from, to) {
41020  traverseEnterLeave(from, to, accumulateDispatches, leave, enter);
41021}
41022function accumulateDirectDispatches(events) {
41023  forEachAccumulated(events, accumulateDirectDispatchesSingle);
41024}
41025
41026/**
41027 * These variables store information about text content of a target node,
41028 * allowing comparison of content before and after a given event.
41029 *
41030 * Identify the node where selection currently begins, then observe
41031 * both its text content and its current position in the DOM. Since the
41032 * browser may natively replace the target node during composition, we can
41033 * use its position to find its replacement.
41034 *
41035 *
41036 */
41037var root = null;
41038var startText = null;
41039var fallbackText = null;
41040function initialize(nativeEventTarget) {
41041  root = nativeEventTarget;
41042  startText = getText();
41043  return true;
41044}
41045function reset() {
41046  root = null;
41047  startText = null;
41048  fallbackText = null;
41049}
41050function getData() {
41051  if (fallbackText) {
41052    return fallbackText;
41053  }
41054
41055  var start;
41056  var startValue = startText;
41057  var startLength = startValue.length;
41058  var end;
41059  var endValue = getText();
41060  var endLength = endValue.length;
41061
41062  for (start = 0; start < startLength; start++) {
41063    if (startValue[start] !== endValue[start]) {
41064      break;
41065    }
41066  }
41067
41068  var minEnd = startLength - start;
41069
41070  for (end = 1; end <= minEnd; end++) {
41071    if (startValue[startLength - end] !== endValue[endLength - end]) {
41072      break;
41073    }
41074  }
41075
41076  var sliceTail = end > 1 ? 1 - end : undefined;
41077  fallbackText = endValue.slice(start, sliceTail);
41078  return fallbackText;
41079}
41080function getText() {
41081  if ('value' in root) {
41082    return root.value;
41083  }
41084
41085  return root.textContent;
41086}
41087
41088var EVENT_POOL_SIZE = 10;
41089/**
41090 * @interface Event
41091 * @see http://www.w3.org/TR/DOM-Level-3-Events/
41092 */
41093
41094var EventInterface = {
41095  type: null,
41096  target: null,
41097  // currentTarget is set when dispatching; no use in copying it here
41098  currentTarget: function () {
41099    return null;
41100  },
41101  eventPhase: null,
41102  bubbles: null,
41103  cancelable: null,
41104  timeStamp: function (event) {
41105    return event.timeStamp || Date.now();
41106  },
41107  defaultPrevented: null,
41108  isTrusted: null
41109};
41110
41111function functionThatReturnsTrue() {
41112  return true;
41113}
41114
41115function functionThatReturnsFalse() {
41116  return false;
41117}
41118/**
41119 * Synthetic events are dispatched by event plugins, typically in response to a
41120 * top-level event delegation handler.
41121 *
41122 * These systems should generally use pooling to reduce the frequency of garbage
41123 * collection. The system should check `isPersistent` to determine whether the
41124 * event should be released into the pool after being dispatched. Users that
41125 * need a persisted event should invoke `persist`.
41126 *
41127 * Synthetic events (and subclasses) implement the DOM Level 3 Events API by
41128 * normalizing browser quirks. Subclasses do not necessarily have to implement a
41129 * DOM interface; custom application-specific events can also subclass this.
41130 *
41131 * @param {object} dispatchConfig Configuration used to dispatch this event.
41132 * @param {*} targetInst Marker identifying the event target.
41133 * @param {object} nativeEvent Native browser event.
41134 * @param {DOMEventTarget} nativeEventTarget Target node.
41135 */
41136
41137
41138function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) {
41139  {
41140    // these have a getter/setter for warnings
41141    delete this.nativeEvent;
41142    delete this.preventDefault;
41143    delete this.stopPropagation;
41144    delete this.isDefaultPrevented;
41145    delete this.isPropagationStopped;
41146  }
41147
41148  this.dispatchConfig = dispatchConfig;
41149  this._targetInst = targetInst;
41150  this.nativeEvent = nativeEvent;
41151  var Interface = this.constructor.Interface;
41152
41153  for (var propName in Interface) {
41154    if (!Interface.hasOwnProperty(propName)) {
41155      continue;
41156    }
41157
41158    {
41159      delete this[propName]; // this has a getter/setter for warnings
41160    }
41161
41162    var normalize = Interface[propName];
41163
41164    if (normalize) {
41165      this[propName] = normalize(nativeEvent);
41166    } else {
41167      if (propName === 'target') {
41168        this.target = nativeEventTarget;
41169      } else {
41170        this[propName] = nativeEvent[propName];
41171      }
41172    }
41173  }
41174
41175  var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false;
41176
41177  if (defaultPrevented) {
41178    this.isDefaultPrevented = functionThatReturnsTrue;
41179  } else {
41180    this.isDefaultPrevented = functionThatReturnsFalse;
41181  }
41182
41183  this.isPropagationStopped = functionThatReturnsFalse;
41184  return this;
41185}
41186
41187_assign(SyntheticEvent.prototype, {
41188  preventDefault: function () {
41189    this.defaultPrevented = true;
41190    var event = this.nativeEvent;
41191
41192    if (!event) {
41193      return;
41194    }
41195
41196    if (event.preventDefault) {
41197      event.preventDefault();
41198    } else if (typeof event.returnValue !== 'unknown') {
41199      event.returnValue = false;
41200    }
41201
41202    this.isDefaultPrevented = functionThatReturnsTrue;
41203  },
41204  stopPropagation: function () {
41205    var event = this.nativeEvent;
41206
41207    if (!event) {
41208      return;
41209    }
41210
41211    if (event.stopPropagation) {
41212      event.stopPropagation();
41213    } else if (typeof event.cancelBubble !== 'unknown') {
41214      // The ChangeEventPlugin registers a "propertychange" event for
41215      // IE. This event does not support bubbling or cancelling, and
41216      // any references to cancelBubble throw "Member not found".  A
41217      // typeof check of "unknown" circumvents this issue (and is also
41218      // IE specific).
41219      event.cancelBubble = true;
41220    }
41221
41222    this.isPropagationStopped = functionThatReturnsTrue;
41223  },
41224
41225  /**
41226   * We release all dispatched `SyntheticEvent`s after each event loop, adding
41227   * them back into the pool. This allows a way to hold onto a reference that
41228   * won't be added back into the pool.
41229   */
41230  persist: function () {
41231    this.isPersistent = functionThatReturnsTrue;
41232  },
41233
41234  /**
41235   * Checks if this event should be released back into the pool.
41236   *
41237   * @return {boolean} True if this should not be released, false otherwise.
41238   */
41239  isPersistent: functionThatReturnsFalse,
41240
41241  /**
41242   * `PooledClass` looks for `destructor` on each instance it releases.
41243   */
41244  destructor: function () {
41245    var Interface = this.constructor.Interface;
41246
41247    for (var propName in Interface) {
41248      {
41249        Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName]));
41250      }
41251    }
41252
41253    this.dispatchConfig = null;
41254    this._targetInst = null;
41255    this.nativeEvent = null;
41256    this.isDefaultPrevented = functionThatReturnsFalse;
41257    this.isPropagationStopped = functionThatReturnsFalse;
41258    this._dispatchListeners = null;
41259    this._dispatchInstances = null;
41260
41261    {
41262      Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null));
41263      Object.defineProperty(this, 'isDefaultPrevented', getPooledWarningPropertyDefinition('isDefaultPrevented', functionThatReturnsFalse));
41264      Object.defineProperty(this, 'isPropagationStopped', getPooledWarningPropertyDefinition('isPropagationStopped', functionThatReturnsFalse));
41265      Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', function () {}));
41266      Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', function () {}));
41267    }
41268  }
41269});
41270
41271SyntheticEvent.Interface = EventInterface;
41272/**
41273 * Helper to reduce boilerplate when creating subclasses.
41274 */
41275
41276SyntheticEvent.extend = function (Interface) {
41277  var Super = this;
41278
41279  var E = function () {};
41280
41281  E.prototype = Super.prototype;
41282  var prototype = new E();
41283
41284  function Class() {
41285    return Super.apply(this, arguments);
41286  }
41287
41288  _assign(prototype, Class.prototype);
41289
41290  Class.prototype = prototype;
41291  Class.prototype.constructor = Class;
41292  Class.Interface = _assign({}, Super.Interface, Interface);
41293  Class.extend = Super.extend;
41294  addEventPoolingTo(Class);
41295  return Class;
41296};
41297
41298addEventPoolingTo(SyntheticEvent);
41299/**
41300 * Helper to nullify syntheticEvent instance properties when destructing
41301 *
41302 * @param {String} propName
41303 * @param {?object} getVal
41304 * @return {object} defineProperty object
41305 */
41306
41307function getPooledWarningPropertyDefinition(propName, getVal) {
41308  var isFunction = typeof getVal === 'function';
41309  return {
41310    configurable: true,
41311    set: set,
41312    get: get
41313  };
41314
41315  function set(val) {
41316    var action = isFunction ? 'setting the method' : 'setting the property';
41317    warn(action, 'This is effectively a no-op');
41318    return val;
41319  }
41320
41321  function get() {
41322    var action = isFunction ? 'accessing the method' : 'accessing the property';
41323    var result = isFunction ? 'This is a no-op function' : 'This is set to null';
41324    warn(action, result);
41325    return getVal;
41326  }
41327
41328  function warn(action, result) {
41329    {
41330      error("This synthetic event is reused for performance reasons. If you're seeing this, " + "you're %s `%s` on a released/nullified synthetic event. %s. " + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result);
41331    }
41332  }
41333}
41334
41335function getPooledEvent(dispatchConfig, targetInst, nativeEvent, nativeInst) {
41336  var EventConstructor = this;
41337
41338  if (EventConstructor.eventPool.length) {
41339    var instance = EventConstructor.eventPool.pop();
41340    EventConstructor.call(instance, dispatchConfig, targetInst, nativeEvent, nativeInst);
41341    return instance;
41342  }
41343
41344  return new EventConstructor(dispatchConfig, targetInst, nativeEvent, nativeInst);
41345}
41346
41347function releasePooledEvent(event) {
41348  var EventConstructor = this;
41349
41350  if (!(event instanceof EventConstructor)) {
41351    {
41352      throw Error( "Trying to release an event instance into a pool of a different type." );
41353    }
41354  }
41355
41356  event.destructor();
41357
41358  if (EventConstructor.eventPool.length < EVENT_POOL_SIZE) {
41359    EventConstructor.eventPool.push(event);
41360  }
41361}
41362
41363function addEventPoolingTo(EventConstructor) {
41364  EventConstructor.eventPool = [];
41365  EventConstructor.getPooled = getPooledEvent;
41366  EventConstructor.release = releasePooledEvent;
41367}
41368
41369/**
41370 * @interface Event
41371 * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents
41372 */
41373
41374var SyntheticCompositionEvent = SyntheticEvent.extend({
41375  data: null
41376});
41377
41378/**
41379 * @interface Event
41380 * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105
41381 *      /#events-inputevents
41382 */
41383
41384var SyntheticInputEvent = SyntheticEvent.extend({
41385  data: null
41386});
41387
41388var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space
41389
41390var START_KEYCODE = 229;
41391var canUseCompositionEvent = canUseDOM && 'CompositionEvent' in window;
41392var documentMode = null;
41393
41394if (canUseDOM && 'documentMode' in document) {
41395  documentMode = document.documentMode;
41396} // Webkit offers a very useful `textInput` event that can be used to
41397// directly represent `beforeInput`. The IE `textinput` event is not as
41398// useful, so we don't use it.
41399
41400
41401var canUseTextInputEvent = canUseDOM && 'TextEvent' in window && !documentMode; // In IE9+, we have access to composition events, but the data supplied
41402// by the native compositionend event may be incorrect. Japanese ideographic
41403// spaces, for instance (\u3000) are not recorded correctly.
41404
41405var useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11);
41406var SPACEBAR_CODE = 32;
41407var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE); // Events and their corresponding property names.
41408
41409var eventTypes = {
41410  beforeInput: {
41411    phasedRegistrationNames: {
41412      bubbled: 'onBeforeInput',
41413      captured: 'onBeforeInputCapture'
41414    },
41415    dependencies: [TOP_COMPOSITION_END, TOP_KEY_PRESS, TOP_TEXT_INPUT, TOP_PASTE]
41416  },
41417  compositionEnd: {
41418    phasedRegistrationNames: {
41419      bubbled: 'onCompositionEnd',
41420      captured: 'onCompositionEndCapture'
41421    },
41422    dependencies: [TOP_BLUR, TOP_COMPOSITION_END, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_MOUSE_DOWN]
41423  },
41424  compositionStart: {
41425    phasedRegistrationNames: {
41426      bubbled: 'onCompositionStart',
41427      captured: 'onCompositionStartCapture'
41428    },
41429    dependencies: [TOP_BLUR, TOP_COMPOSITION_START, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_MOUSE_DOWN]
41430  },
41431  compositionUpdate: {
41432    phasedRegistrationNames: {
41433      bubbled: 'onCompositionUpdate',
41434      captured: 'onCompositionUpdateCapture'
41435    },
41436    dependencies: [TOP_BLUR, TOP_COMPOSITION_UPDATE, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_MOUSE_DOWN]
41437  }
41438}; // Track whether we've ever handled a keypress on the space key.
41439
41440var hasSpaceKeypress = false;
41441/**
41442 * Return whether a native keypress event is assumed to be a command.
41443 * This is required because Firefox fires `keypress` events for key commands
41444 * (cut, copy, select-all, etc.) even though no character is inserted.
41445 */
41446
41447function isKeypressCommand(nativeEvent) {
41448  return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command.
41449  !(nativeEvent.ctrlKey && nativeEvent.altKey);
41450}
41451/**
41452 * Translate native top level events into event types.
41453 *
41454 * @param {string} topLevelType
41455 * @return {object}
41456 */
41457
41458
41459function getCompositionEventType(topLevelType) {
41460  switch (topLevelType) {
41461    case TOP_COMPOSITION_START:
41462      return eventTypes.compositionStart;
41463
41464    case TOP_COMPOSITION_END:
41465      return eventTypes.compositionEnd;
41466
41467    case TOP_COMPOSITION_UPDATE:
41468      return eventTypes.compositionUpdate;
41469  }
41470}
41471/**
41472 * Does our fallback best-guess model think this event signifies that
41473 * composition has begun?
41474 *
41475 * @param {string} topLevelType
41476 * @param {object} nativeEvent
41477 * @return {boolean}
41478 */
41479
41480
41481function isFallbackCompositionStart(topLevelType, nativeEvent) {
41482  return topLevelType === TOP_KEY_DOWN && nativeEvent.keyCode === START_KEYCODE;
41483}
41484/**
41485 * Does our fallback mode think that this event is the end of composition?
41486 *
41487 * @param {string} topLevelType
41488 * @param {object} nativeEvent
41489 * @return {boolean}
41490 */
41491
41492
41493function isFallbackCompositionEnd(topLevelType, nativeEvent) {
41494  switch (topLevelType) {
41495    case TOP_KEY_UP:
41496      // Command keys insert or clear IME input.
41497      return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;
41498
41499    case TOP_KEY_DOWN:
41500      // Expect IME keyCode on each keydown. If we get any other
41501      // code we must have exited earlier.
41502      return nativeEvent.keyCode !== START_KEYCODE;
41503
41504    case TOP_KEY_PRESS:
41505    case TOP_MOUSE_DOWN:
41506    case TOP_BLUR:
41507      // Events are not possible without cancelling IME.
41508      return true;
41509
41510    default:
41511      return false;
41512  }
41513}
41514/**
41515 * Google Input Tools provides composition data via a CustomEvent,
41516 * with the `data` property populated in the `detail` object. If this
41517 * is available on the event object, use it. If not, this is a plain
41518 * composition event and we have nothing special to extract.
41519 *
41520 * @param {object} nativeEvent
41521 * @return {?string}
41522 */
41523
41524
41525function getDataFromCustomEvent(nativeEvent) {
41526  var detail = nativeEvent.detail;
41527
41528  if (typeof detail === 'object' && 'data' in detail) {
41529    return detail.data;
41530  }
41531
41532  return null;
41533}
41534/**
41535 * Check if a composition event was triggered by Korean IME.
41536 * Our fallback mode does not work well with IE's Korean IME,
41537 * so just use native composition events when Korean IME is used.
41538 * Although CompositionEvent.locale property is deprecated,
41539 * it is available in IE, where our fallback mode is enabled.
41540 *
41541 * @param {object} nativeEvent
41542 * @return {boolean}
41543 */
41544
41545
41546function isUsingKoreanIME(nativeEvent) {
41547  return nativeEvent.locale === 'ko';
41548} // Track the current IME composition status, if any.
41549
41550
41551var isComposing = false;
41552/**
41553 * @return {?object} A SyntheticCompositionEvent.
41554 */
41555
41556function extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {
41557  var eventType;
41558  var fallbackData;
41559
41560  if (canUseCompositionEvent) {
41561    eventType = getCompositionEventType(topLevelType);
41562  } else if (!isComposing) {
41563    if (isFallbackCompositionStart(topLevelType, nativeEvent)) {
41564      eventType = eventTypes.compositionStart;
41565    }
41566  } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) {
41567    eventType = eventTypes.compositionEnd;
41568  }
41569
41570  if (!eventType) {
41571    return null;
41572  }
41573
41574  if (useFallbackCompositionData && !isUsingKoreanIME(nativeEvent)) {
41575    // The current composition is stored statically and must not be
41576    // overwritten while composition continues.
41577    if (!isComposing && eventType === eventTypes.compositionStart) {
41578      isComposing = initialize(nativeEventTarget);
41579    } else if (eventType === eventTypes.compositionEnd) {
41580      if (isComposing) {
41581        fallbackData = getData();
41582      }
41583    }
41584  }
41585
41586  var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget);
41587
41588  if (fallbackData) {
41589    // Inject data generated from fallback path into the synthetic event.
41590    // This matches the property of native CompositionEventInterface.
41591    event.data = fallbackData;
41592  } else {
41593    var customData = getDataFromCustomEvent(nativeEvent);
41594
41595    if (customData !== null) {
41596      event.data = customData;
41597    }
41598  }
41599
41600  accumulateTwoPhaseDispatches(event);
41601  return event;
41602}
41603/**
41604 * @param {TopLevelType} topLevelType Number from `TopLevelType`.
41605 * @param {object} nativeEvent Native browser event.
41606 * @return {?string} The string corresponding to this `beforeInput` event.
41607 */
41608
41609
41610function getNativeBeforeInputChars(topLevelType, nativeEvent) {
41611  switch (topLevelType) {
41612    case TOP_COMPOSITION_END:
41613      return getDataFromCustomEvent(nativeEvent);
41614
41615    case TOP_KEY_PRESS:
41616      /**
41617       * If native `textInput` events are available, our goal is to make
41618       * use of them. However, there is a special case: the spacebar key.
41619       * In Webkit, preventing default on a spacebar `textInput` event
41620       * cancels character insertion, but it *also* causes the browser
41621       * to fall back to its default spacebar behavior of scrolling the
41622       * page.
41623       *
41624       * Tracking at:
41625       * https://code.google.com/p/chromium/issues/detail?id=355103
41626       *
41627       * To avoid this issue, use the keypress event as if no `textInput`
41628       * event is available.
41629       */
41630      var which = nativeEvent.which;
41631
41632      if (which !== SPACEBAR_CODE) {
41633        return null;
41634      }
41635
41636      hasSpaceKeypress = true;
41637      return SPACEBAR_CHAR;
41638
41639    case TOP_TEXT_INPUT:
41640      // Record the characters to be added to the DOM.
41641      var chars = nativeEvent.data; // If it's a spacebar character, assume that we have already handled
41642      // it at the keypress level and bail immediately. Android Chrome
41643      // doesn't give us keycodes, so we need to ignore it.
41644
41645      if (chars === SPACEBAR_CHAR && hasSpaceKeypress) {
41646        return null;
41647      }
41648
41649      return chars;
41650
41651    default:
41652      // For other native event types, do nothing.
41653      return null;
41654  }
41655}
41656/**
41657 * For browsers that do not provide the `textInput` event, extract the
41658 * appropriate string to use for SyntheticInputEvent.
41659 *
41660 * @param {number} topLevelType Number from `TopLevelEventTypes`.
41661 * @param {object} nativeEvent Native browser event.
41662 * @return {?string} The fallback string for this `beforeInput` event.
41663 */
41664
41665
41666function getFallbackBeforeInputChars(topLevelType, nativeEvent) {
41667  // If we are currently composing (IME) and using a fallback to do so,
41668  // try to extract the composed characters from the fallback object.
41669  // If composition event is available, we extract a string only at
41670  // compositionevent, otherwise extract it at fallback events.
41671  if (isComposing) {
41672    if (topLevelType === TOP_COMPOSITION_END || !canUseCompositionEvent && isFallbackCompositionEnd(topLevelType, nativeEvent)) {
41673      var chars = getData();
41674      reset();
41675      isComposing = false;
41676      return chars;
41677    }
41678
41679    return null;
41680  }
41681
41682  switch (topLevelType) {
41683    case TOP_PASTE:
41684      // If a paste event occurs after a keypress, throw out the input
41685      // chars. Paste events should not lead to BeforeInput events.
41686      return null;
41687
41688    case TOP_KEY_PRESS:
41689      /**
41690       * As of v27, Firefox may fire keypress events even when no character
41691       * will be inserted. A few possibilities:
41692       *
41693       * - `which` is `0`. Arrow keys, Esc key, etc.
41694       *
41695       * - `which` is the pressed key code, but no char is available.
41696       *   Ex: 'AltGr + d` in Polish. There is no modified character for
41697       *   this key combination and no character is inserted into the
41698       *   document, but FF fires the keypress for char code `100` anyway.
41699       *   No `input` event will occur.
41700       *
41701       * - `which` is the pressed key code, but a command combination is
41702       *   being used. Ex: `Cmd+C`. No character is inserted, and no
41703       *   `input` event will occur.
41704       */
41705      if (!isKeypressCommand(nativeEvent)) {
41706        // IE fires the `keypress` event when a user types an emoji via
41707        // Touch keyboard of Windows.  In such a case, the `char` property
41708        // holds an emoji character like `\uD83D\uDE0A`.  Because its length
41709        // is 2, the property `which` does not represent an emoji correctly.
41710        // In such a case, we directly return the `char` property instead of
41711        // using `which`.
41712        if (nativeEvent.char && nativeEvent.char.length > 1) {
41713          return nativeEvent.char;
41714        } else if (nativeEvent.which) {
41715          return String.fromCharCode(nativeEvent.which);
41716        }
41717      }
41718
41719      return null;
41720
41721    case TOP_COMPOSITION_END:
41722      return useFallbackCompositionData && !isUsingKoreanIME(nativeEvent) ? null : nativeEvent.data;
41723
41724    default:
41725      return null;
41726  }
41727}
41728/**
41729 * Extract a SyntheticInputEvent for `beforeInput`, based on either native
41730 * `textInput` or fallback behavior.
41731 *
41732 * @return {?object} A SyntheticInputEvent.
41733 */
41734
41735
41736function extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {
41737  var chars;
41738
41739  if (canUseTextInputEvent) {
41740    chars = getNativeBeforeInputChars(topLevelType, nativeEvent);
41741  } else {
41742    chars = getFallbackBeforeInputChars(topLevelType, nativeEvent);
41743  } // If no characters are being inserted, no BeforeInput event should
41744  // be fired.
41745
41746
41747  if (!chars) {
41748    return null;
41749  }
41750
41751  var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget);
41752  event.data = chars;
41753  accumulateTwoPhaseDispatches(event);
41754  return event;
41755}
41756/**
41757 * Create an `onBeforeInput` event to match
41758 * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents.
41759 *
41760 * This event plugin is based on the native `textInput` event
41761 * available in Chrome, Safari, Opera, and IE. This event fires after
41762 * `onKeyPress` and `onCompositionEnd`, but before `onInput`.
41763 *
41764 * `beforeInput` is spec'd but not implemented in any browsers, and
41765 * the `input` event does not provide any useful information about what has
41766 * actually been added, contrary to the spec. Thus, `textInput` is the best
41767 * available event to identify the characters that have actually been inserted
41768 * into the target node.
41769 *
41770 * This plugin is also responsible for emitting `composition` events, thus
41771 * allowing us to share composition fallback code for both `beforeInput` and
41772 * `composition` event types.
41773 */
41774
41775
41776var BeforeInputEventPlugin = {
41777  eventTypes: eventTypes,
41778  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) {
41779    var composition = extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget);
41780    var beforeInput = extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget);
41781
41782    if (composition === null) {
41783      return beforeInput;
41784    }
41785
41786    if (beforeInput === null) {
41787      return composition;
41788    }
41789
41790    return [composition, beforeInput];
41791  }
41792};
41793
41794/**
41795 * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary
41796 */
41797var supportedInputTypes = {
41798  color: true,
41799  date: true,
41800  datetime: true,
41801  'datetime-local': true,
41802  email: true,
41803  month: true,
41804  number: true,
41805  password: true,
41806  range: true,
41807  search: true,
41808  tel: true,
41809  text: true,
41810  time: true,
41811  url: true,
41812  week: true
41813};
41814
41815function isTextInputElement(elem) {
41816  var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
41817
41818  if (nodeName === 'input') {
41819    return !!supportedInputTypes[elem.type];
41820  }
41821
41822  if (nodeName === 'textarea') {
41823    return true;
41824  }
41825
41826  return false;
41827}
41828
41829var eventTypes$1 = {
41830  change: {
41831    phasedRegistrationNames: {
41832      bubbled: 'onChange',
41833      captured: 'onChangeCapture'
41834    },
41835    dependencies: [TOP_BLUR, TOP_CHANGE, TOP_CLICK, TOP_FOCUS, TOP_INPUT, TOP_KEY_DOWN, TOP_KEY_UP, TOP_SELECTION_CHANGE]
41836  }
41837};
41838
41839function createAndAccumulateChangeEvent(inst, nativeEvent, target) {
41840  var event = SyntheticEvent.getPooled(eventTypes$1.change, inst, nativeEvent, target);
41841  event.type = 'change'; // Flag this event loop as needing state restore.
41842
41843  enqueueStateRestore(target);
41844  accumulateTwoPhaseDispatches(event);
41845  return event;
41846}
41847/**
41848 * For IE shims
41849 */
41850
41851
41852var activeElement = null;
41853var activeElementInst = null;
41854/**
41855 * SECTION: handle `change` event
41856 */
41857
41858function shouldUseChangeEvent(elem) {
41859  var nodeName = elem.nodeName && elem.nodeName.toLowerCase();
41860  return nodeName === 'select' || nodeName === 'input' && elem.type === 'file';
41861}
41862
41863function manualDispatchChangeEvent(nativeEvent) {
41864  var event = createAndAccumulateChangeEvent(activeElementInst, nativeEvent, getEventTarget(nativeEvent)); // If change and propertychange bubbled, we'd just bind to it like all the
41865  // other events and have it go through ReactBrowserEventEmitter. Since it
41866  // doesn't, we manually listen for the events and so we have to enqueue and
41867  // process the abstract event manually.
41868  //
41869  // Batching is necessary here in order to ensure that all event handlers run
41870  // before the next rerender (including event handlers attached to ancestor
41871  // elements instead of directly on the input). Without this, controlled
41872  // components don't work properly in conjunction with event bubbling because
41873  // the component is rerendered and the value reverted before all the event
41874  // handlers can run. See https://github.com/facebook/react/issues/708.
41875
41876  batchedUpdates(runEventInBatch, event);
41877}
41878
41879function runEventInBatch(event) {
41880  runEventsInBatch(event);
41881}
41882
41883function getInstIfValueChanged(targetInst) {
41884  var targetNode = getNodeFromInstance$1(targetInst);
41885
41886  if (updateValueIfChanged(targetNode)) {
41887    return targetInst;
41888  }
41889}
41890
41891function getTargetInstForChangeEvent(topLevelType, targetInst) {
41892  if (topLevelType === TOP_CHANGE) {
41893    return targetInst;
41894  }
41895}
41896/**
41897 * SECTION: handle `input` event
41898 */
41899
41900
41901var isInputEventSupported = false;
41902
41903if (canUseDOM) {
41904  // IE9 claims to support the input event but fails to trigger it when
41905  // deleting text, so we ignore its input events.
41906  isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 9);
41907}
41908/**
41909 * (For IE <=9) Starts tracking propertychange events on the passed-in element
41910 * and override the value property so that we can distinguish user events from
41911 * value changes in JS.
41912 */
41913
41914
41915function startWatchingForValueChange(target, targetInst) {
41916  activeElement = target;
41917  activeElementInst = targetInst;
41918  activeElement.attachEvent('onpropertychange', handlePropertyChange);
41919}
41920/**
41921 * (For IE <=9) Removes the event listeners from the currently-tracked element,
41922 * if any exists.
41923 */
41924
41925
41926function stopWatchingForValueChange() {
41927  if (!activeElement) {
41928    return;
41929  }
41930
41931  activeElement.detachEvent('onpropertychange', handlePropertyChange);
41932  activeElement = null;
41933  activeElementInst = null;
41934}
41935/**
41936 * (For IE <=9) Handles a propertychange event, sending a `change` event if
41937 * the value of the active element has changed.
41938 */
41939
41940
41941function handlePropertyChange(nativeEvent) {
41942  if (nativeEvent.propertyName !== 'value') {
41943    return;
41944  }
41945
41946  if (getInstIfValueChanged(activeElementInst)) {
41947    manualDispatchChangeEvent(nativeEvent);
41948  }
41949}
41950
41951function handleEventsForInputEventPolyfill(topLevelType, target, targetInst) {
41952  if (topLevelType === TOP_FOCUS) {
41953    // In IE9, propertychange fires for most input events but is buggy and
41954    // doesn't fire when text is deleted, but conveniently, selectionchange
41955    // appears to fire in all of the remaining cases so we catch those and
41956    // forward the event if the value has changed
41957    // In either case, we don't want to call the event handler if the value
41958    // is changed from JS so we redefine a setter for `.value` that updates
41959    // our activeElementValue variable, allowing us to ignore those changes
41960    //
41961    // stopWatching() should be a noop here but we call it just in case we
41962    // missed a blur event somehow.
41963    stopWatchingForValueChange();
41964    startWatchingForValueChange(target, targetInst);
41965  } else if (topLevelType === TOP_BLUR) {
41966    stopWatchingForValueChange();
41967  }
41968} // For IE8 and IE9.
41969
41970
41971function getTargetInstForInputEventPolyfill(topLevelType, targetInst) {
41972  if (topLevelType === TOP_SELECTION_CHANGE || topLevelType === TOP_KEY_UP || topLevelType === TOP_KEY_DOWN) {
41973    // On the selectionchange event, the target is just document which isn't
41974    // helpful for us so just check activeElement instead.
41975    //
41976    // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire
41977    // propertychange on the first input event after setting `value` from a
41978    // script and fires only keydown, keypress, keyup. Catching keyup usually
41979    // gets it and catching keydown lets us fire an event for the first
41980    // keystroke if user does a key repeat (it'll be a little delayed: right
41981    // before the second keystroke). Other input methods (e.g., paste) seem to
41982    // fire selectionchange normally.
41983    return getInstIfValueChanged(activeElementInst);
41984  }
41985}
41986/**
41987 * SECTION: handle `click` event
41988 */
41989
41990
41991function shouldUseClickEvent(elem) {
41992  // Use the `click` event to detect changes to checkbox and radio inputs.
41993  // This approach works across all browsers, whereas `change` does not fire
41994  // until `blur` in IE8.
41995  var nodeName = elem.nodeName;
41996  return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');
41997}
41998
41999function getTargetInstForClickEvent(topLevelType, targetInst) {
42000  if (topLevelType === TOP_CLICK) {
42001    return getInstIfValueChanged(targetInst);
42002  }
42003}
42004
42005function getTargetInstForInputOrChangeEvent(topLevelType, targetInst) {
42006  if (topLevelType === TOP_INPUT || topLevelType === TOP_CHANGE) {
42007    return getInstIfValueChanged(targetInst);
42008  }
42009}
42010
42011function handleControlledInputBlur(node) {
42012  var state = node._wrapperState;
42013
42014  if (!state || !state.controlled || node.type !== 'number') {
42015    return;
42016  }
42017
42018  {
42019    // If controlled, assign the value attribute to the current value on blur
42020    setDefaultValue(node, 'number', node.value);
42021  }
42022}
42023/**
42024 * This plugin creates an `onChange` event that normalizes change events
42025 * across form elements. This event fires at a time when it's possible to
42026 * change the element's value without seeing a flicker.
42027 *
42028 * Supported elements are:
42029 * - input (see `isTextInputElement`)
42030 * - textarea
42031 * - select
42032 */
42033
42034
42035var ChangeEventPlugin = {
42036  eventTypes: eventTypes$1,
42037  _isInputEventSupported: isInputEventSupported,
42038  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) {
42039    var targetNode = targetInst ? getNodeFromInstance$1(targetInst) : window;
42040    var getTargetInstFunc, handleEventFunc;
42041
42042    if (shouldUseChangeEvent(targetNode)) {
42043      getTargetInstFunc = getTargetInstForChangeEvent;
42044    } else if (isTextInputElement(targetNode)) {
42045      if (isInputEventSupported) {
42046        getTargetInstFunc = getTargetInstForInputOrChangeEvent;
42047      } else {
42048        getTargetInstFunc = getTargetInstForInputEventPolyfill;
42049        handleEventFunc = handleEventsForInputEventPolyfill;
42050      }
42051    } else if (shouldUseClickEvent(targetNode)) {
42052      getTargetInstFunc = getTargetInstForClickEvent;
42053    }
42054
42055    if (getTargetInstFunc) {
42056      var inst = getTargetInstFunc(topLevelType, targetInst);
42057
42058      if (inst) {
42059        var event = createAndAccumulateChangeEvent(inst, nativeEvent, nativeEventTarget);
42060        return event;
42061      }
42062    }
42063
42064    if (handleEventFunc) {
42065      handleEventFunc(topLevelType, targetNode, targetInst);
42066    } // When blurring, set the value attribute for number inputs
42067
42068
42069    if (topLevelType === TOP_BLUR) {
42070      handleControlledInputBlur(targetNode);
42071    }
42072  }
42073};
42074
42075var SyntheticUIEvent = SyntheticEvent.extend({
42076  view: null,
42077  detail: null
42078});
42079
42080/**
42081 * Translation from modifier key to the associated property in the event.
42082 * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers
42083 */
42084var modifierKeyToProp = {
42085  Alt: 'altKey',
42086  Control: 'ctrlKey',
42087  Meta: 'metaKey',
42088  Shift: 'shiftKey'
42089}; // Older browsers (Safari <= 10, iOS Safari <= 10.2) do not support
42090// getModifierState. If getModifierState is not supported, we map it to a set of
42091// modifier keys exposed by the event. In this case, Lock-keys are not supported.
42092
42093function modifierStateGetter(keyArg) {
42094  var syntheticEvent = this;
42095  var nativeEvent = syntheticEvent.nativeEvent;
42096
42097  if (nativeEvent.getModifierState) {
42098    return nativeEvent.getModifierState(keyArg);
42099  }
42100
42101  var keyProp = modifierKeyToProp[keyArg];
42102  return keyProp ? !!nativeEvent[keyProp] : false;
42103}
42104
42105function getEventModifierState(nativeEvent) {
42106  return modifierStateGetter;
42107}
42108
42109var previousScreenX = 0;
42110var previousScreenY = 0; // Use flags to signal movementX/Y has already been set
42111
42112var isMovementXSet = false;
42113var isMovementYSet = false;
42114/**
42115 * @interface MouseEvent
42116 * @see http://www.w3.org/TR/DOM-Level-3-Events/
42117 */
42118
42119var SyntheticMouseEvent = SyntheticUIEvent.extend({
42120  screenX: null,
42121  screenY: null,
42122  clientX: null,
42123  clientY: null,
42124  pageX: null,
42125  pageY: null,
42126  ctrlKey: null,
42127  shiftKey: null,
42128  altKey: null,
42129  metaKey: null,
42130  getModifierState: getEventModifierState,
42131  button: null,
42132  buttons: null,
42133  relatedTarget: function (event) {
42134    return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement);
42135  },
42136  movementX: function (event) {
42137    if ('movementX' in event) {
42138      return event.movementX;
42139    }
42140
42141    var screenX = previousScreenX;
42142    previousScreenX = event.screenX;
42143
42144    if (!isMovementXSet) {
42145      isMovementXSet = true;
42146      return 0;
42147    }
42148
42149    return event.type === 'mousemove' ? event.screenX - screenX : 0;
42150  },
42151  movementY: function (event) {
42152    if ('movementY' in event) {
42153      return event.movementY;
42154    }
42155
42156    var screenY = previousScreenY;
42157    previousScreenY = event.screenY;
42158
42159    if (!isMovementYSet) {
42160      isMovementYSet = true;
42161      return 0;
42162    }
42163
42164    return event.type === 'mousemove' ? event.screenY - screenY : 0;
42165  }
42166});
42167
42168/**
42169 * @interface PointerEvent
42170 * @see http://www.w3.org/TR/pointerevents/
42171 */
42172
42173var SyntheticPointerEvent = SyntheticMouseEvent.extend({
42174  pointerId: null,
42175  width: null,
42176  height: null,
42177  pressure: null,
42178  tangentialPressure: null,
42179  tiltX: null,
42180  tiltY: null,
42181  twist: null,
42182  pointerType: null,
42183  isPrimary: null
42184});
42185
42186var eventTypes$2 = {
42187  mouseEnter: {
42188    registrationName: 'onMouseEnter',
42189    dependencies: [TOP_MOUSE_OUT, TOP_MOUSE_OVER]
42190  },
42191  mouseLeave: {
42192    registrationName: 'onMouseLeave',
42193    dependencies: [TOP_MOUSE_OUT, TOP_MOUSE_OVER]
42194  },
42195  pointerEnter: {
42196    registrationName: 'onPointerEnter',
42197    dependencies: [TOP_POINTER_OUT, TOP_POINTER_OVER]
42198  },
42199  pointerLeave: {
42200    registrationName: 'onPointerLeave',
42201    dependencies: [TOP_POINTER_OUT, TOP_POINTER_OVER]
42202  }
42203};
42204var EnterLeaveEventPlugin = {
42205  eventTypes: eventTypes$2,
42206
42207  /**
42208   * For almost every interaction we care about, there will be both a top-level
42209   * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that
42210   * we do not extract duplicate events. However, moving the mouse into the
42211   * browser from outside will not fire a `mouseout` event. In this case, we use
42212   * the `mouseover` top-level event.
42213   */
42214  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) {
42215    var isOverEvent = topLevelType === TOP_MOUSE_OVER || topLevelType === TOP_POINTER_OVER;
42216    var isOutEvent = topLevelType === TOP_MOUSE_OUT || topLevelType === TOP_POINTER_OUT;
42217
42218    if (isOverEvent && (eventSystemFlags & IS_REPLAYED) === 0 && (nativeEvent.relatedTarget || nativeEvent.fromElement)) {
42219      // If this is an over event with a target, then we've already dispatched
42220      // the event in the out event of the other target. If this is replayed,
42221      // then it's because we couldn't dispatch against this target previously
42222      // so we have to do it now instead.
42223      return null;
42224    }
42225
42226    if (!isOutEvent && !isOverEvent) {
42227      // Must not be a mouse or pointer in or out - ignoring.
42228      return null;
42229    }
42230
42231    var win;
42232
42233    if (nativeEventTarget.window === nativeEventTarget) {
42234      // `nativeEventTarget` is probably a window object.
42235      win = nativeEventTarget;
42236    } else {
42237      // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.
42238      var doc = nativeEventTarget.ownerDocument;
42239
42240      if (doc) {
42241        win = doc.defaultView || doc.parentWindow;
42242      } else {
42243        win = window;
42244      }
42245    }
42246
42247    var from;
42248    var to;
42249
42250    if (isOutEvent) {
42251      from = targetInst;
42252      var related = nativeEvent.relatedTarget || nativeEvent.toElement;
42253      to = related ? getClosestInstanceFromNode(related) : null;
42254
42255      if (to !== null) {
42256        var nearestMounted = getNearestMountedFiber(to);
42257
42258        if (to !== nearestMounted || to.tag !== HostComponent && to.tag !== HostText) {
42259          to = null;
42260        }
42261      }
42262    } else {
42263      // Moving to a node from outside the window.
42264      from = null;
42265      to = targetInst;
42266    }
42267
42268    if (from === to) {
42269      // Nothing pertains to our managed components.
42270      return null;
42271    }
42272
42273    var eventInterface, leaveEventType, enterEventType, eventTypePrefix;
42274
42275    if (topLevelType === TOP_MOUSE_OUT || topLevelType === TOP_MOUSE_OVER) {
42276      eventInterface = SyntheticMouseEvent;
42277      leaveEventType = eventTypes$2.mouseLeave;
42278      enterEventType = eventTypes$2.mouseEnter;
42279      eventTypePrefix = 'mouse';
42280    } else if (topLevelType === TOP_POINTER_OUT || topLevelType === TOP_POINTER_OVER) {
42281      eventInterface = SyntheticPointerEvent;
42282      leaveEventType = eventTypes$2.pointerLeave;
42283      enterEventType = eventTypes$2.pointerEnter;
42284      eventTypePrefix = 'pointer';
42285    }
42286
42287    var fromNode = from == null ? win : getNodeFromInstance$1(from);
42288    var toNode = to == null ? win : getNodeFromInstance$1(to);
42289    var leave = eventInterface.getPooled(leaveEventType, from, nativeEvent, nativeEventTarget);
42290    leave.type = eventTypePrefix + 'leave';
42291    leave.target = fromNode;
42292    leave.relatedTarget = toNode;
42293    var enter = eventInterface.getPooled(enterEventType, to, nativeEvent, nativeEventTarget);
42294    enter.type = eventTypePrefix + 'enter';
42295    enter.target = toNode;
42296    enter.relatedTarget = fromNode;
42297    accumulateEnterLeaveDispatches(leave, enter, from, to); // If we are not processing the first ancestor, then we
42298    // should not process the same nativeEvent again, as we
42299    // will have already processed it in the first ancestor.
42300
42301    if ((eventSystemFlags & IS_FIRST_ANCESTOR) === 0) {
42302      return [leave];
42303    }
42304
42305    return [leave, enter];
42306  }
42307};
42308
42309/**
42310 * inlined Object.is polyfill to avoid requiring consumers ship their own
42311 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
42312 */
42313function is(x, y) {
42314  return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare
42315  ;
42316}
42317
42318var objectIs = typeof Object.is === 'function' ? Object.is : is;
42319
42320var hasOwnProperty$2 = Object.prototype.hasOwnProperty;
42321/**
42322 * Performs equality by iterating through keys on an object and returning false
42323 * when any key has values which are not strictly equal between the arguments.
42324 * Returns true when the values of all keys are strictly equal.
42325 */
42326
42327function shallowEqual(objA, objB) {
42328  if (objectIs(objA, objB)) {
42329    return true;
42330  }
42331
42332  if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
42333    return false;
42334  }
42335
42336  var keysA = Object.keys(objA);
42337  var keysB = Object.keys(objB);
42338
42339  if (keysA.length !== keysB.length) {
42340    return false;
42341  } // Test for A's keys different from B.
42342
42343
42344  for (var i = 0; i < keysA.length; i++) {
42345    if (!hasOwnProperty$2.call(objB, keysA[i]) || !objectIs(objA[keysA[i]], objB[keysA[i]])) {
42346      return false;
42347    }
42348  }
42349
42350  return true;
42351}
42352
42353var skipSelectionChangeEvent = canUseDOM && 'documentMode' in document && document.documentMode <= 11;
42354var eventTypes$3 = {
42355  select: {
42356    phasedRegistrationNames: {
42357      bubbled: 'onSelect',
42358      captured: 'onSelectCapture'
42359    },
42360    dependencies: [TOP_BLUR, TOP_CONTEXT_MENU, TOP_DRAG_END, TOP_FOCUS, TOP_KEY_DOWN, TOP_KEY_UP, TOP_MOUSE_DOWN, TOP_MOUSE_UP, TOP_SELECTION_CHANGE]
42361  }
42362};
42363var activeElement$1 = null;
42364var activeElementInst$1 = null;
42365var lastSelection = null;
42366var mouseDown = false;
42367/**
42368 * Get an object which is a unique representation of the current selection.
42369 *
42370 * The return value will not be consistent across nodes or browsers, but
42371 * two identical selections on the same node will return identical objects.
42372 *
42373 * @param {DOMElement} node
42374 * @return {object}
42375 */
42376
42377function getSelection$1(node) {
42378  if ('selectionStart' in node && hasSelectionCapabilities(node)) {
42379    return {
42380      start: node.selectionStart,
42381      end: node.selectionEnd
42382    };
42383  } else {
42384    var win = node.ownerDocument && node.ownerDocument.defaultView || window;
42385    var selection = win.getSelection();
42386    return {
42387      anchorNode: selection.anchorNode,
42388      anchorOffset: selection.anchorOffset,
42389      focusNode: selection.focusNode,
42390      focusOffset: selection.focusOffset
42391    };
42392  }
42393}
42394/**
42395 * Get document associated with the event target.
42396 *
42397 * @param {object} nativeEventTarget
42398 * @return {Document}
42399 */
42400
42401
42402function getEventTargetDocument(eventTarget) {
42403  return eventTarget.window === eventTarget ? eventTarget.document : eventTarget.nodeType === DOCUMENT_NODE ? eventTarget : eventTarget.ownerDocument;
42404}
42405/**
42406 * Poll selection to see whether it's changed.
42407 *
42408 * @param {object} nativeEvent
42409 * @param {object} nativeEventTarget
42410 * @return {?SyntheticEvent}
42411 */
42412
42413
42414function constructSelectEvent(nativeEvent, nativeEventTarget) {
42415  // Ensure we have the right element, and that the user is not dragging a
42416  // selection (this matches native `select` event behavior). In HTML5, select
42417  // fires only on input and textarea thus if there's no focused element we
42418  // won't dispatch.
42419  var doc = getEventTargetDocument(nativeEventTarget);
42420
42421  if (mouseDown || activeElement$1 == null || activeElement$1 !== getActiveElement(doc)) {
42422    return null;
42423  } // Only fire when selection has actually changed.
42424
42425
42426  var currentSelection = getSelection$1(activeElement$1);
42427
42428  if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) {
42429    lastSelection = currentSelection;
42430    var syntheticEvent = SyntheticEvent.getPooled(eventTypes$3.select, activeElementInst$1, nativeEvent, nativeEventTarget);
42431    syntheticEvent.type = 'select';
42432    syntheticEvent.target = activeElement$1;
42433    accumulateTwoPhaseDispatches(syntheticEvent);
42434    return syntheticEvent;
42435  }
42436
42437  return null;
42438}
42439/**
42440 * This plugin creates an `onSelect` event that normalizes select events
42441 * across form elements.
42442 *
42443 * Supported elements are:
42444 * - input (see `isTextInputElement`)
42445 * - textarea
42446 * - contentEditable
42447 *
42448 * This differs from native browser implementations in the following ways:
42449 * - Fires on contentEditable fields as well as inputs.
42450 * - Fires for collapsed selection.
42451 * - Fires after user input.
42452 */
42453
42454
42455var SelectEventPlugin = {
42456  eventTypes: eventTypes$3,
42457  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, container) {
42458    var containerOrDoc = container || getEventTargetDocument(nativeEventTarget); // Track whether all listeners exists for this plugin. If none exist, we do
42459    // not extract events. See #3639.
42460
42461    if (!containerOrDoc || !isListeningToAllDependencies('onSelect', containerOrDoc)) {
42462      return null;
42463    }
42464
42465    var targetNode = targetInst ? getNodeFromInstance$1(targetInst) : window;
42466
42467    switch (topLevelType) {
42468      // Track the input node that has focus.
42469      case TOP_FOCUS:
42470        if (isTextInputElement(targetNode) || targetNode.contentEditable === 'true') {
42471          activeElement$1 = targetNode;
42472          activeElementInst$1 = targetInst;
42473          lastSelection = null;
42474        }
42475
42476        break;
42477
42478      case TOP_BLUR:
42479        activeElement$1 = null;
42480        activeElementInst$1 = null;
42481        lastSelection = null;
42482        break;
42483      // Don't fire the event while the user is dragging. This matches the
42484      // semantics of the native select event.
42485
42486      case TOP_MOUSE_DOWN:
42487        mouseDown = true;
42488        break;
42489
42490      case TOP_CONTEXT_MENU:
42491      case TOP_MOUSE_UP:
42492      case TOP_DRAG_END:
42493        mouseDown = false;
42494        return constructSelectEvent(nativeEvent, nativeEventTarget);
42495      // Chrome and IE fire non-standard event when selection is changed (and
42496      // sometimes when it hasn't). IE's event fires out of order with respect
42497      // to key and input events on deletion, so we discard it.
42498      //
42499      // Firefox doesn't support selectionchange, so check selection status
42500      // after each key entry. The selection changes after keydown and before
42501      // keyup, but we check on keydown as well in the case of holding down a
42502      // key, when multiple keydown events are fired but only one keyup is.
42503      // This is also our approach for IE handling, for the reason above.
42504
42505      case TOP_SELECTION_CHANGE:
42506        if (skipSelectionChangeEvent) {
42507          break;
42508        }
42509
42510      // falls through
42511
42512      case TOP_KEY_DOWN:
42513      case TOP_KEY_UP:
42514        return constructSelectEvent(nativeEvent, nativeEventTarget);
42515    }
42516
42517    return null;
42518  }
42519};
42520
42521/**
42522 * @interface Event
42523 * @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface
42524 * @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent
42525 */
42526
42527var SyntheticAnimationEvent = SyntheticEvent.extend({
42528  animationName: null,
42529  elapsedTime: null,
42530  pseudoElement: null
42531});
42532
42533/**
42534 * @interface Event
42535 * @see http://www.w3.org/TR/clipboard-apis/
42536 */
42537
42538var SyntheticClipboardEvent = SyntheticEvent.extend({
42539  clipboardData: function (event) {
42540    return 'clipboardData' in event ? event.clipboardData : window.clipboardData;
42541  }
42542});
42543
42544/**
42545 * @interface FocusEvent
42546 * @see http://www.w3.org/TR/DOM-Level-3-Events/
42547 */
42548
42549var SyntheticFocusEvent = SyntheticUIEvent.extend({
42550  relatedTarget: null
42551});
42552
42553/**
42554 * `charCode` represents the actual "character code" and is safe to use with
42555 * `String.fromCharCode`. As such, only keys that correspond to printable
42556 * characters produce a valid `charCode`, the only exception to this is Enter.
42557 * The Tab-key is considered non-printable and does not have a `charCode`,
42558 * presumably because it does not produce a tab-character in browsers.
42559 *
42560 * @param {object} nativeEvent Native browser event.
42561 * @return {number} Normalized `charCode` property.
42562 */
42563function getEventCharCode(nativeEvent) {
42564  var charCode;
42565  var keyCode = nativeEvent.keyCode;
42566
42567  if ('charCode' in nativeEvent) {
42568    charCode = nativeEvent.charCode; // FF does not set `charCode` for the Enter-key, check against `keyCode`.
42569
42570    if (charCode === 0 && keyCode === 13) {
42571      charCode = 13;
42572    }
42573  } else {
42574    // IE8 does not implement `charCode`, but `keyCode` has the correct value.
42575    charCode = keyCode;
42576  } // IE and Edge (on Windows) and Chrome / Safari (on Windows and Linux)
42577  // report Enter as charCode 10 when ctrl is pressed.
42578
42579
42580  if (charCode === 10) {
42581    charCode = 13;
42582  } // Some non-printable keys are reported in `charCode`/`keyCode`, discard them.
42583  // Must not discard the (non-)printable Enter-key.
42584
42585
42586  if (charCode >= 32 || charCode === 13) {
42587    return charCode;
42588  }
42589
42590  return 0;
42591}
42592
42593/**
42594 * Normalization of deprecated HTML5 `key` values
42595 * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names
42596 */
42597
42598var normalizeKey = {
42599  Esc: 'Escape',
42600  Spacebar: ' ',
42601  Left: 'ArrowLeft',
42602  Up: 'ArrowUp',
42603  Right: 'ArrowRight',
42604  Down: 'ArrowDown',
42605  Del: 'Delete',
42606  Win: 'OS',
42607  Menu: 'ContextMenu',
42608  Apps: 'ContextMenu',
42609  Scroll: 'ScrollLock',
42610  MozPrintableKey: 'Unidentified'
42611};
42612/**
42613 * Translation from legacy `keyCode` to HTML5 `key`
42614 * Only special keys supported, all others depend on keyboard layout or browser
42615 * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names
42616 */
42617
42618var translateToKey = {
42619  '8': 'Backspace',
42620  '9': 'Tab',
42621  '12': 'Clear',
42622  '13': 'Enter',
42623  '16': 'Shift',
42624  '17': 'Control',
42625  '18': 'Alt',
42626  '19': 'Pause',
42627  '20': 'CapsLock',
42628  '27': 'Escape',
42629  '32': ' ',
42630  '33': 'PageUp',
42631  '34': 'PageDown',
42632  '35': 'End',
42633  '36': 'Home',
42634  '37': 'ArrowLeft',
42635  '38': 'ArrowUp',
42636  '39': 'ArrowRight',
42637  '40': 'ArrowDown',
42638  '45': 'Insert',
42639  '46': 'Delete',
42640  '112': 'F1',
42641  '113': 'F2',
42642  '114': 'F3',
42643  '115': 'F4',
42644  '116': 'F5',
42645  '117': 'F6',
42646  '118': 'F7',
42647  '119': 'F8',
42648  '120': 'F9',
42649  '121': 'F10',
42650  '122': 'F11',
42651  '123': 'F12',
42652  '144': 'NumLock',
42653  '145': 'ScrollLock',
42654  '224': 'Meta'
42655};
42656/**
42657 * @param {object} nativeEvent Native browser event.
42658 * @return {string} Normalized `key` property.
42659 */
42660
42661function getEventKey(nativeEvent) {
42662  if (nativeEvent.key) {
42663    // Normalize inconsistent values reported by browsers due to
42664    // implementations of a working draft specification.
42665    // FireFox implements `key` but returns `MozPrintableKey` for all
42666    // printable characters (normalized to `Unidentified`), ignore it.
42667    var key = normalizeKey[nativeEvent.key] || nativeEvent.key;
42668
42669    if (key !== 'Unidentified') {
42670      return key;
42671    }
42672  } // Browser does not implement `key`, polyfill as much of it as we can.
42673
42674
42675  if (nativeEvent.type === 'keypress') {
42676    var charCode = getEventCharCode(nativeEvent); // The enter-key is technically both printable and non-printable and can
42677    // thus be captured by `keypress`, no other non-printable key should.
42678
42679    return charCode === 13 ? 'Enter' : String.fromCharCode(charCode);
42680  }
42681
42682  if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {
42683    // While user keyboard layout determines the actual meaning of each
42684    // `keyCode` value, almost all function keys have a universal value.
42685    return translateToKey[nativeEvent.keyCode] || 'Unidentified';
42686  }
42687
42688  return '';
42689}
42690
42691/**
42692 * @interface KeyboardEvent
42693 * @see http://www.w3.org/TR/DOM-Level-3-Events/
42694 */
42695
42696var SyntheticKeyboardEvent = SyntheticUIEvent.extend({
42697  key: getEventKey,
42698  location: null,
42699  ctrlKey: null,
42700  shiftKey: null,
42701  altKey: null,
42702  metaKey: null,
42703  repeat: null,
42704  locale: null,
42705  getModifierState: getEventModifierState,
42706  // Legacy Interface
42707  charCode: function (event) {
42708    // `charCode` is the result of a KeyPress event and represents the value of
42709    // the actual printable character.
42710    // KeyPress is deprecated, but its replacement is not yet final and not
42711    // implemented in any major browser. Only KeyPress has charCode.
42712    if (event.type === 'keypress') {
42713      return getEventCharCode(event);
42714    }
42715
42716    return 0;
42717  },
42718  keyCode: function (event) {
42719    // `keyCode` is the result of a KeyDown/Up event and represents the value of
42720    // physical keyboard key.
42721    // The actual meaning of the value depends on the users' keyboard layout
42722    // which cannot be detected. Assuming that it is a US keyboard layout
42723    // provides a surprisingly accurate mapping for US and European users.
42724    // Due to this, it is left to the user to implement at this time.
42725    if (event.type === 'keydown' || event.type === 'keyup') {
42726      return event.keyCode;
42727    }
42728
42729    return 0;
42730  },
42731  which: function (event) {
42732    // `which` is an alias for either `keyCode` or `charCode` depending on the
42733    // type of the event.
42734    if (event.type === 'keypress') {
42735      return getEventCharCode(event);
42736    }
42737
42738    if (event.type === 'keydown' || event.type === 'keyup') {
42739      return event.keyCode;
42740    }
42741
42742    return 0;
42743  }
42744});
42745
42746/**
42747 * @interface DragEvent
42748 * @see http://www.w3.org/TR/DOM-Level-3-Events/
42749 */
42750
42751var SyntheticDragEvent = SyntheticMouseEvent.extend({
42752  dataTransfer: null
42753});
42754
42755/**
42756 * @interface TouchEvent
42757 * @see http://www.w3.org/TR/touch-events/
42758 */
42759
42760var SyntheticTouchEvent = SyntheticUIEvent.extend({
42761  touches: null,
42762  targetTouches: null,
42763  changedTouches: null,
42764  altKey: null,
42765  metaKey: null,
42766  ctrlKey: null,
42767  shiftKey: null,
42768  getModifierState: getEventModifierState
42769});
42770
42771/**
42772 * @interface Event
42773 * @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events-
42774 * @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent
42775 */
42776
42777var SyntheticTransitionEvent = SyntheticEvent.extend({
42778  propertyName: null,
42779  elapsedTime: null,
42780  pseudoElement: null
42781});
42782
42783/**
42784 * @interface WheelEvent
42785 * @see http://www.w3.org/TR/DOM-Level-3-Events/
42786 */
42787
42788var SyntheticWheelEvent = SyntheticMouseEvent.extend({
42789  deltaX: function (event) {
42790    return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).
42791    'wheelDeltaX' in event ? -event.wheelDeltaX : 0;
42792  },
42793  deltaY: function (event) {
42794    return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).
42795    'wheelDeltaY' in event ? -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).
42796    'wheelDelta' in event ? -event.wheelDelta : 0;
42797  },
42798  deltaZ: null,
42799  // Browsers without "deltaMode" is reporting in raw wheel delta where one
42800  // notch on the scroll is always +/- 120, roughly equivalent to pixels.
42801  // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or
42802  // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.
42803  deltaMode: null
42804});
42805
42806var knownHTMLTopLevelTypes = [TOP_ABORT, TOP_CANCEL, TOP_CAN_PLAY, TOP_CAN_PLAY_THROUGH, TOP_CLOSE, TOP_DURATION_CHANGE, TOP_EMPTIED, TOP_ENCRYPTED, TOP_ENDED, TOP_ERROR, TOP_INPUT, TOP_INVALID, TOP_LOAD, TOP_LOADED_DATA, TOP_LOADED_METADATA, TOP_LOAD_START, TOP_PAUSE, TOP_PLAY, TOP_PLAYING, TOP_PROGRESS, TOP_RATE_CHANGE, TOP_RESET, TOP_SEEKED, TOP_SEEKING, TOP_STALLED, TOP_SUBMIT, TOP_SUSPEND, TOP_TIME_UPDATE, TOP_TOGGLE, TOP_VOLUME_CHANGE, TOP_WAITING];
42807var SimpleEventPlugin = {
42808  // simpleEventPluginEventTypes gets populated from
42809  // the DOMEventProperties module.
42810  eventTypes: simpleEventPluginEventTypes,
42811  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) {
42812    var dispatchConfig = topLevelEventsToDispatchConfig.get(topLevelType);
42813
42814    if (!dispatchConfig) {
42815      return null;
42816    }
42817
42818    var EventConstructor;
42819
42820    switch (topLevelType) {
42821      case TOP_KEY_PRESS:
42822        // Firefox creates a keypress event for function keys too. This removes
42823        // the unwanted keypress events. Enter is however both printable and
42824        // non-printable. One would expect Tab to be as well (but it isn't).
42825        if (getEventCharCode(nativeEvent) === 0) {
42826          return null;
42827        }
42828
42829      /* falls through */
42830
42831      case TOP_KEY_DOWN:
42832      case TOP_KEY_UP:
42833        EventConstructor = SyntheticKeyboardEvent;
42834        break;
42835
42836      case TOP_BLUR:
42837      case TOP_FOCUS:
42838        EventConstructor = SyntheticFocusEvent;
42839        break;
42840
42841      case TOP_CLICK:
42842        // Firefox creates a click event on right mouse clicks. This removes the
42843        // unwanted click events.
42844        if (nativeEvent.button === 2) {
42845          return null;
42846        }
42847
42848      /* falls through */
42849
42850      case TOP_AUX_CLICK:
42851      case TOP_DOUBLE_CLICK:
42852      case TOP_MOUSE_DOWN:
42853      case TOP_MOUSE_MOVE:
42854      case TOP_MOUSE_UP: // TODO: Disabled elements should not respond to mouse events
42855
42856      /* falls through */
42857
42858      case TOP_MOUSE_OUT:
42859      case TOP_MOUSE_OVER:
42860      case TOP_CONTEXT_MENU:
42861        EventConstructor = SyntheticMouseEvent;
42862        break;
42863
42864      case TOP_DRAG:
42865      case TOP_DRAG_END:
42866      case TOP_DRAG_ENTER:
42867      case TOP_DRAG_EXIT:
42868      case TOP_DRAG_LEAVE:
42869      case TOP_DRAG_OVER:
42870      case TOP_DRAG_START:
42871      case TOP_DROP:
42872        EventConstructor = SyntheticDragEvent;
42873        break;
42874
42875      case TOP_TOUCH_CANCEL:
42876      case TOP_TOUCH_END:
42877      case TOP_TOUCH_MOVE:
42878      case TOP_TOUCH_START:
42879        EventConstructor = SyntheticTouchEvent;
42880        break;
42881
42882      case TOP_ANIMATION_END:
42883      case TOP_ANIMATION_ITERATION:
42884      case TOP_ANIMATION_START:
42885        EventConstructor = SyntheticAnimationEvent;
42886        break;
42887
42888      case TOP_TRANSITION_END:
42889        EventConstructor = SyntheticTransitionEvent;
42890        break;
42891
42892      case TOP_SCROLL:
42893        EventConstructor = SyntheticUIEvent;
42894        break;
42895
42896      case TOP_WHEEL:
42897        EventConstructor = SyntheticWheelEvent;
42898        break;
42899
42900      case TOP_COPY:
42901      case TOP_CUT:
42902      case TOP_PASTE:
42903        EventConstructor = SyntheticClipboardEvent;
42904        break;
42905
42906      case TOP_GOT_POINTER_CAPTURE:
42907      case TOP_LOST_POINTER_CAPTURE:
42908      case TOP_POINTER_CANCEL:
42909      case TOP_POINTER_DOWN:
42910      case TOP_POINTER_MOVE:
42911      case TOP_POINTER_OUT:
42912      case TOP_POINTER_OVER:
42913      case TOP_POINTER_UP:
42914        EventConstructor = SyntheticPointerEvent;
42915        break;
42916
42917      default:
42918        {
42919          if (knownHTMLTopLevelTypes.indexOf(topLevelType) === -1) {
42920            error('SimpleEventPlugin: Unhandled event type, `%s`. This warning ' + 'is likely caused by a bug in React. Please file an issue.', topLevelType);
42921          }
42922        } // HTML Events
42923        // @see http://www.w3.org/TR/html5/index.html#events-0
42924
42925
42926        EventConstructor = SyntheticEvent;
42927        break;
42928    }
42929
42930    var event = EventConstructor.getPooled(dispatchConfig, targetInst, nativeEvent, nativeEventTarget);
42931    accumulateTwoPhaseDispatches(event);
42932    return event;
42933  }
42934};
42935
42936/**
42937 * Specifies a deterministic ordering of `EventPlugin`s. A convenient way to
42938 * reason about plugins, without having to package every one of them. This
42939 * is better than having plugins be ordered in the same order that they
42940 * are injected because that ordering would be influenced by the packaging order.
42941 * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that
42942 * preventing default on events is convenient in `SimpleEventPlugin` handlers.
42943 */
42944
42945var DOMEventPluginOrder = ['ResponderEventPlugin', 'SimpleEventPlugin', 'EnterLeaveEventPlugin', 'ChangeEventPlugin', 'SelectEventPlugin', 'BeforeInputEventPlugin'];
42946/**
42947 * Inject modules for resolving DOM hierarchy and plugin ordering.
42948 */
42949
42950injectEventPluginOrder(DOMEventPluginOrder);
42951setComponentTree(getFiberCurrentPropsFromNode$1, getInstanceFromNode$1, getNodeFromInstance$1);
42952/**
42953 * Some important event plugins included by default (without having to require
42954 * them).
42955 */
42956
42957injectEventPluginsByName({
42958  SimpleEventPlugin: SimpleEventPlugin,
42959  EnterLeaveEventPlugin: EnterLeaveEventPlugin,
42960  ChangeEventPlugin: ChangeEventPlugin,
42961  SelectEventPlugin: SelectEventPlugin,
42962  BeforeInputEventPlugin: BeforeInputEventPlugin
42963});
42964
42965// Prefix measurements so that it's possible to filter them.
42966// Longer prefixes are hard to read in DevTools.
42967var reactEmoji = "\u269B";
42968var warningEmoji = "\u26D4";
42969var supportsUserTiming = typeof performance !== 'undefined' && typeof performance.mark === 'function' && typeof performance.clearMarks === 'function' && typeof performance.measure === 'function' && typeof performance.clearMeasures === 'function'; // Keep track of current fiber so that we know the path to unwind on pause.
42970// TODO: this looks the same as nextUnitOfWork in scheduler. Can we unify them?
42971
42972var currentFiber = null; // If we're in the middle of user code, which fiber and method is it?
42973// Reusing `currentFiber` would be confusing for this because user code fiber
42974// can change during commit phase too, but we don't need to unwind it (since
42975// lifecycles in the commit phase don't resemble a tree).
42976
42977var currentPhase = null;
42978var currentPhaseFiber = null; // Did lifecycle hook schedule an update? This is often a performance problem,
42979// so we will keep track of it, and include it in the report.
42980// Track commits caused by cascading updates.
42981
42982var isCommitting = false;
42983var hasScheduledUpdateInCurrentCommit = false;
42984var hasScheduledUpdateInCurrentPhase = false;
42985var commitCountInCurrentWorkLoop = 0;
42986var effectCountInCurrentCommit = 0;
42987// to avoid stretch the commit phase with measurement overhead.
42988
42989var labelsInCurrentCommit = new Set();
42990
42991var formatMarkName = function (markName) {
42992  return reactEmoji + " " + markName;
42993};
42994
42995var formatLabel = function (label, warning) {
42996  var prefix = warning ? warningEmoji + " " : reactEmoji + " ";
42997  var suffix = warning ? " Warning: " + warning : '';
42998  return "" + prefix + label + suffix;
42999};
43000
43001var beginMark = function (markName) {
43002  performance.mark(formatMarkName(markName));
43003};
43004
43005var clearMark = function (markName) {
43006  performance.clearMarks(formatMarkName(markName));
43007};
43008
43009var endMark = function (label, markName, warning) {
43010  var formattedMarkName = formatMarkName(markName);
43011  var formattedLabel = formatLabel(label, warning);
43012
43013  try {
43014    performance.measure(formattedLabel, formattedMarkName);
43015  } catch (err) {} // If previous mark was missing for some reason, this will throw.
43016  // This could only happen if React crashed in an unexpected place earlier.
43017  // Don't pile on with more errors.
43018  // Clear marks immediately to avoid growing buffer.
43019
43020
43021  performance.clearMarks(formattedMarkName);
43022  performance.clearMeasures(formattedLabel);
43023};
43024
43025var getFiberMarkName = function (label, debugID) {
43026  return label + " (#" + debugID + ")";
43027};
43028
43029var getFiberLabel = function (componentName, isMounted, phase) {
43030  if (phase === null) {
43031    // These are composite component total time measurements.
43032    return componentName + " [" + (isMounted ? 'update' : 'mount') + "]";
43033  } else {
43034    // Composite component methods.
43035    return componentName + "." + phase;
43036  }
43037};
43038
43039var beginFiberMark = function (fiber, phase) {
43040  var componentName = getComponentName(fiber.type) || 'Unknown';
43041  var debugID = fiber._debugID;
43042  var isMounted = fiber.alternate !== null;
43043  var label = getFiberLabel(componentName, isMounted, phase);
43044
43045  if (isCommitting && labelsInCurrentCommit.has(label)) {
43046    // During the commit phase, we don't show duplicate labels because
43047    // there is a fixed overhead for every measurement, and we don't
43048    // want to stretch the commit phase beyond necessary.
43049    return false;
43050  }
43051
43052  labelsInCurrentCommit.add(label);
43053  var markName = getFiberMarkName(label, debugID);
43054  beginMark(markName);
43055  return true;
43056};
43057
43058var clearFiberMark = function (fiber, phase) {
43059  var componentName = getComponentName(fiber.type) || 'Unknown';
43060  var debugID = fiber._debugID;
43061  var isMounted = fiber.alternate !== null;
43062  var label = getFiberLabel(componentName, isMounted, phase);
43063  var markName = getFiberMarkName(label, debugID);
43064  clearMark(markName);
43065};
43066
43067var endFiberMark = function (fiber, phase, warning) {
43068  var componentName = getComponentName(fiber.type) || 'Unknown';
43069  var debugID = fiber._debugID;
43070  var isMounted = fiber.alternate !== null;
43071  var label = getFiberLabel(componentName, isMounted, phase);
43072  var markName = getFiberMarkName(label, debugID);
43073  endMark(label, markName, warning);
43074};
43075
43076var shouldIgnoreFiber = function (fiber) {
43077  // Host components should be skipped in the timeline.
43078  // We could check typeof fiber.type, but does this work with RN?
43079  switch (fiber.tag) {
43080    case HostRoot:
43081    case HostComponent:
43082    case HostText:
43083    case HostPortal:
43084    case Fragment:
43085    case ContextProvider:
43086    case ContextConsumer:
43087    case Mode:
43088      return true;
43089
43090    default:
43091      return false;
43092  }
43093};
43094
43095var clearPendingPhaseMeasurement = function () {
43096  if (currentPhase !== null && currentPhaseFiber !== null) {
43097    clearFiberMark(currentPhaseFiber, currentPhase);
43098  }
43099
43100  currentPhaseFiber = null;
43101  currentPhase = null;
43102  hasScheduledUpdateInCurrentPhase = false;
43103};
43104
43105var pauseTimers = function () {
43106  // Stops all currently active measurements so that they can be resumed
43107  // if we continue in a later deferred loop from the same unit of work.
43108  var fiber = currentFiber;
43109
43110  while (fiber) {
43111    if (fiber._debugIsCurrentlyTiming) {
43112      endFiberMark(fiber, null, null);
43113    }
43114
43115    fiber = fiber.return;
43116  }
43117};
43118
43119var resumeTimersRecursively = function (fiber) {
43120  if (fiber.return !== null) {
43121    resumeTimersRecursively(fiber.return);
43122  }
43123
43124  if (fiber._debugIsCurrentlyTiming) {
43125    beginFiberMark(fiber, null);
43126  }
43127};
43128
43129var resumeTimers = function () {
43130  // Resumes all measurements that were active during the last deferred loop.
43131  if (currentFiber !== null) {
43132    resumeTimersRecursively(currentFiber);
43133  }
43134};
43135
43136function recordEffect() {
43137  {
43138    effectCountInCurrentCommit++;
43139  }
43140}
43141function recordScheduleUpdate() {
43142  {
43143    if (isCommitting) {
43144      hasScheduledUpdateInCurrentCommit = true;
43145    }
43146
43147    if (currentPhase !== null && currentPhase !== 'componentWillMount' && currentPhase !== 'componentWillReceiveProps') {
43148      hasScheduledUpdateInCurrentPhase = true;
43149    }
43150  }
43151}
43152function startWorkTimer(fiber) {
43153  {
43154    if (!supportsUserTiming || shouldIgnoreFiber(fiber)) {
43155      return;
43156    } // If we pause, this is the fiber to unwind from.
43157
43158
43159    currentFiber = fiber;
43160
43161    if (!beginFiberMark(fiber, null)) {
43162      return;
43163    }
43164
43165    fiber._debugIsCurrentlyTiming = true;
43166  }
43167}
43168function cancelWorkTimer(fiber) {
43169  {
43170    if (!supportsUserTiming || shouldIgnoreFiber(fiber)) {
43171      return;
43172    } // Remember we shouldn't complete measurement for this fiber.
43173    // Otherwise flamechart will be deep even for small updates.
43174
43175
43176    fiber._debugIsCurrentlyTiming = false;
43177    clearFiberMark(fiber, null);
43178  }
43179}
43180function stopWorkTimer(fiber) {
43181  {
43182    if (!supportsUserTiming || shouldIgnoreFiber(fiber)) {
43183      return;
43184    } // If we pause, its parent is the fiber to unwind from.
43185
43186
43187    currentFiber = fiber.return;
43188
43189    if (!fiber._debugIsCurrentlyTiming) {
43190      return;
43191    }
43192
43193    fiber._debugIsCurrentlyTiming = false;
43194    endFiberMark(fiber, null, null);
43195  }
43196}
43197function stopFailedWorkTimer(fiber) {
43198  {
43199    if (!supportsUserTiming || shouldIgnoreFiber(fiber)) {
43200      return;
43201    } // If we pause, its parent is the fiber to unwind from.
43202
43203
43204    currentFiber = fiber.return;
43205
43206    if (!fiber._debugIsCurrentlyTiming) {
43207      return;
43208    }
43209
43210    fiber._debugIsCurrentlyTiming = false;
43211    var warning = fiber.tag === SuspenseComponent ? 'Rendering was suspended' : 'An error was thrown inside this error boundary';
43212    endFiberMark(fiber, null, warning);
43213  }
43214}
43215function startPhaseTimer(fiber, phase) {
43216  {
43217    if (!supportsUserTiming) {
43218      return;
43219    }
43220
43221    clearPendingPhaseMeasurement();
43222
43223    if (!beginFiberMark(fiber, phase)) {
43224      return;
43225    }
43226
43227    currentPhaseFiber = fiber;
43228    currentPhase = phase;
43229  }
43230}
43231function stopPhaseTimer() {
43232  {
43233    if (!supportsUserTiming) {
43234      return;
43235    }
43236
43237    if (currentPhase !== null && currentPhaseFiber !== null) {
43238      var warning = hasScheduledUpdateInCurrentPhase ? 'Scheduled a cascading update' : null;
43239      endFiberMark(currentPhaseFiber, currentPhase, warning);
43240    }
43241
43242    currentPhase = null;
43243    currentPhaseFiber = null;
43244  }
43245}
43246function startWorkLoopTimer(nextUnitOfWork) {
43247  {
43248    currentFiber = nextUnitOfWork;
43249
43250    if (!supportsUserTiming) {
43251      return;
43252    }
43253
43254    commitCountInCurrentWorkLoop = 0; // This is top level call.
43255    // Any other measurements are performed within.
43256
43257    beginMark('(React Tree Reconciliation)'); // Resume any measurements that were in progress during the last loop.
43258
43259    resumeTimers();
43260  }
43261}
43262function stopWorkLoopTimer(interruptedBy, didCompleteRoot) {
43263  {
43264    if (!supportsUserTiming) {
43265      return;
43266    }
43267
43268    var warning = null;
43269
43270    if (interruptedBy !== null) {
43271      if (interruptedBy.tag === HostRoot) {
43272        warning = 'A top-level update interrupted the previous render';
43273      } else {
43274        var componentName = getComponentName(interruptedBy.type) || 'Unknown';
43275        warning = "An update to " + componentName + " interrupted the previous render";
43276      }
43277    } else if (commitCountInCurrentWorkLoop > 1) {
43278      warning = 'There were cascading updates';
43279    }
43280
43281    commitCountInCurrentWorkLoop = 0;
43282    var label = didCompleteRoot ? '(React Tree Reconciliation: Completed Root)' : '(React Tree Reconciliation: Yielded)'; // Pause any measurements until the next loop.
43283
43284    pauseTimers();
43285    endMark(label, '(React Tree Reconciliation)', warning);
43286  }
43287}
43288function startCommitTimer() {
43289  {
43290    if (!supportsUserTiming) {
43291      return;
43292    }
43293
43294    isCommitting = true;
43295    hasScheduledUpdateInCurrentCommit = false;
43296    labelsInCurrentCommit.clear();
43297    beginMark('(Committing Changes)');
43298  }
43299}
43300function stopCommitTimer() {
43301  {
43302    if (!supportsUserTiming) {
43303      return;
43304    }
43305
43306    var warning = null;
43307
43308    if (hasScheduledUpdateInCurrentCommit) {
43309      warning = 'Lifecycle hook scheduled a cascading update';
43310    } else if (commitCountInCurrentWorkLoop > 0) {
43311      warning = 'Caused by a cascading update in earlier commit';
43312    }
43313
43314    hasScheduledUpdateInCurrentCommit = false;
43315    commitCountInCurrentWorkLoop++;
43316    isCommitting = false;
43317    labelsInCurrentCommit.clear();
43318    endMark('(Committing Changes)', '(Committing Changes)', warning);
43319  }
43320}
43321function startCommitSnapshotEffectsTimer() {
43322  {
43323    if (!supportsUserTiming) {
43324      return;
43325    }
43326
43327    effectCountInCurrentCommit = 0;
43328    beginMark('(Committing Snapshot Effects)');
43329  }
43330}
43331function stopCommitSnapshotEffectsTimer() {
43332  {
43333    if (!supportsUserTiming) {
43334      return;
43335    }
43336
43337    var count = effectCountInCurrentCommit;
43338    effectCountInCurrentCommit = 0;
43339    endMark("(Committing Snapshot Effects: " + count + " Total)", '(Committing Snapshot Effects)', null);
43340  }
43341}
43342function startCommitHostEffectsTimer() {
43343  {
43344    if (!supportsUserTiming) {
43345      return;
43346    }
43347
43348    effectCountInCurrentCommit = 0;
43349    beginMark('(Committing Host Effects)');
43350  }
43351}
43352function stopCommitHostEffectsTimer() {
43353  {
43354    if (!supportsUserTiming) {
43355      return;
43356    }
43357
43358    var count = effectCountInCurrentCommit;
43359    effectCountInCurrentCommit = 0;
43360    endMark("(Committing Host Effects: " + count + " Total)", '(Committing Host Effects)', null);
43361  }
43362}
43363function startCommitLifeCyclesTimer() {
43364  {
43365    if (!supportsUserTiming) {
43366      return;
43367    }
43368
43369    effectCountInCurrentCommit = 0;
43370    beginMark('(Calling Lifecycle Methods)');
43371  }
43372}
43373function stopCommitLifeCyclesTimer() {
43374  {
43375    if (!supportsUserTiming) {
43376      return;
43377    }
43378
43379    var count = effectCountInCurrentCommit;
43380    effectCountInCurrentCommit = 0;
43381    endMark("(Calling Lifecycle Methods: " + count + " Total)", '(Calling Lifecycle Methods)', null);
43382  }
43383}
43384
43385var valueStack = [];
43386var fiberStack;
43387
43388{
43389  fiberStack = [];
43390}
43391
43392var index = -1;
43393
43394function createCursor(defaultValue) {
43395  return {
43396    current: defaultValue
43397  };
43398}
43399
43400function pop(cursor, fiber) {
43401  if (index < 0) {
43402    {
43403      error('Unexpected pop.');
43404    }
43405
43406    return;
43407  }
43408
43409  {
43410    if (fiber !== fiberStack[index]) {
43411      error('Unexpected Fiber popped.');
43412    }
43413  }
43414
43415  cursor.current = valueStack[index];
43416  valueStack[index] = null;
43417
43418  {
43419    fiberStack[index] = null;
43420  }
43421
43422  index--;
43423}
43424
43425function push(cursor, value, fiber) {
43426  index++;
43427  valueStack[index] = cursor.current;
43428
43429  {
43430    fiberStack[index] = fiber;
43431  }
43432
43433  cursor.current = value;
43434}
43435
43436var warnedAboutMissingGetChildContext;
43437
43438{
43439  warnedAboutMissingGetChildContext = {};
43440}
43441
43442var emptyContextObject = {};
43443
43444{
43445  Object.freeze(emptyContextObject);
43446} // A cursor to the current merged context object on the stack.
43447
43448
43449var contextStackCursor = createCursor(emptyContextObject); // A cursor to a boolean indicating whether the context has changed.
43450
43451var didPerformWorkStackCursor = createCursor(false); // Keep track of the previous context object that was on the stack.
43452// We use this to get access to the parent context after we have already
43453// pushed the next context provider, and now need to merge their contexts.
43454
43455var previousContext = emptyContextObject;
43456
43457function getUnmaskedContext(workInProgress, Component, didPushOwnContextIfProvider) {
43458  {
43459    if (didPushOwnContextIfProvider && isContextProvider(Component)) {
43460      // If the fiber is a context provider itself, when we read its context
43461      // we may have already pushed its own child context on the stack. A context
43462      // provider should not "see" its own child context. Therefore we read the
43463      // previous (parent) context instead for a context provider.
43464      return previousContext;
43465    }
43466
43467    return contextStackCursor.current;
43468  }
43469}
43470
43471function cacheContext(workInProgress, unmaskedContext, maskedContext) {
43472  {
43473    var instance = workInProgress.stateNode;
43474    instance.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext;
43475    instance.__reactInternalMemoizedMaskedChildContext = maskedContext;
43476  }
43477}
43478
43479function getMaskedContext(workInProgress, unmaskedContext) {
43480  {
43481    var type = workInProgress.type;
43482    var contextTypes = type.contextTypes;
43483
43484    if (!contextTypes) {
43485      return emptyContextObject;
43486    } // Avoid recreating masked context unless unmasked context has changed.
43487    // Failing to do this will result in unnecessary calls to componentWillReceiveProps.
43488    // This may trigger infinite loops if componentWillReceiveProps calls setState.
43489
43490
43491    var instance = workInProgress.stateNode;
43492
43493    if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) {
43494      return instance.__reactInternalMemoizedMaskedChildContext;
43495    }
43496
43497    var context = {};
43498
43499    for (var key in contextTypes) {
43500      context[key] = unmaskedContext[key];
43501    }
43502
43503    {
43504      var name = getComponentName(type) || 'Unknown';
43505      checkPropTypes(contextTypes, context, 'context', name, getCurrentFiberStackInDev);
43506    } // Cache unmasked context so we can avoid recreating masked context unless necessary.
43507    // Context is created before the class component is instantiated so check for instance.
43508
43509
43510    if (instance) {
43511      cacheContext(workInProgress, unmaskedContext, context);
43512    }
43513
43514    return context;
43515  }
43516}
43517
43518function hasContextChanged() {
43519  {
43520    return didPerformWorkStackCursor.current;
43521  }
43522}
43523
43524function isContextProvider(type) {
43525  {
43526    var childContextTypes = type.childContextTypes;
43527    return childContextTypes !== null && childContextTypes !== undefined;
43528  }
43529}
43530
43531function popContext(fiber) {
43532  {
43533    pop(didPerformWorkStackCursor, fiber);
43534    pop(contextStackCursor, fiber);
43535  }
43536}
43537
43538function popTopLevelContextObject(fiber) {
43539  {
43540    pop(didPerformWorkStackCursor, fiber);
43541    pop(contextStackCursor, fiber);
43542  }
43543}
43544
43545function pushTopLevelContextObject(fiber, context, didChange) {
43546  {
43547    if (!(contextStackCursor.current === emptyContextObject)) {
43548      {
43549        throw Error( "Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue." );
43550      }
43551    }
43552
43553    push(contextStackCursor, context, fiber);
43554    push(didPerformWorkStackCursor, didChange, fiber);
43555  }
43556}
43557
43558function processChildContext(fiber, type, parentContext) {
43559  {
43560    var instance = fiber.stateNode;
43561    var childContextTypes = type.childContextTypes; // TODO (bvaughn) Replace this behavior with an invariant() in the future.
43562    // It has only been added in Fiber to match the (unintentional) behavior in Stack.
43563
43564    if (typeof instance.getChildContext !== 'function') {
43565      {
43566        var componentName = getComponentName(type) || 'Unknown';
43567
43568        if (!warnedAboutMissingGetChildContext[componentName]) {
43569          warnedAboutMissingGetChildContext[componentName] = true;
43570
43571          error('%s.childContextTypes is specified but there is no getChildContext() method ' + 'on the instance. You can either define getChildContext() on %s or remove ' + 'childContextTypes from it.', componentName, componentName);
43572        }
43573      }
43574
43575      return parentContext;
43576    }
43577
43578    var childContext;
43579    startPhaseTimer(fiber, 'getChildContext');
43580    childContext = instance.getChildContext();
43581    stopPhaseTimer();
43582
43583    for (var contextKey in childContext) {
43584      if (!(contextKey in childContextTypes)) {
43585        {
43586          throw Error( (getComponentName(type) || 'Unknown') + ".getChildContext(): key \"" + contextKey + "\" is not defined in childContextTypes." );
43587        }
43588      }
43589    }
43590
43591    {
43592      var name = getComponentName(type) || 'Unknown';
43593      checkPropTypes(childContextTypes, childContext, 'child context', name, // In practice, there is one case in which we won't get a stack. It's when
43594      // somebody calls unstable_renderSubtreeIntoContainer() and we process
43595      // context from the parent component instance. The stack will be missing
43596      // because it's outside of the reconciliation, and so the pointer has not
43597      // been set. This is rare and doesn't matter. We'll also remove that API.
43598      getCurrentFiberStackInDev);
43599    }
43600
43601    return _assign({}, parentContext, {}, childContext);
43602  }
43603}
43604
43605function pushContextProvider(workInProgress) {
43606  {
43607    var instance = workInProgress.stateNode; // We push the context as early as possible to ensure stack integrity.
43608    // If the instance does not exist yet, we will push null at first,
43609    // and replace it on the stack later when invalidating the context.
43610
43611    var memoizedMergedChildContext = instance && instance.__reactInternalMemoizedMergedChildContext || emptyContextObject; // Remember the parent context so we can merge with it later.
43612    // Inherit the parent's did-perform-work value to avoid inadvertently blocking updates.
43613
43614    previousContext = contextStackCursor.current;
43615    push(contextStackCursor, memoizedMergedChildContext, workInProgress);
43616    push(didPerformWorkStackCursor, didPerformWorkStackCursor.current, workInProgress);
43617    return true;
43618  }
43619}
43620
43621function invalidateContextProvider(workInProgress, type, didChange) {
43622  {
43623    var instance = workInProgress.stateNode;
43624
43625    if (!instance) {
43626      {
43627        throw Error( "Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue." );
43628      }
43629    }
43630
43631    if (didChange) {
43632      // Merge parent and own context.
43633      // Skip this if we're not updating due to sCU.
43634      // This avoids unnecessarily recomputing memoized values.
43635      var mergedContext = processChildContext(workInProgress, type, previousContext);
43636      instance.__reactInternalMemoizedMergedChildContext = mergedContext; // Replace the old (or empty) context with the new one.
43637      // It is important to unwind the context in the reverse order.
43638
43639      pop(didPerformWorkStackCursor, workInProgress);
43640      pop(contextStackCursor, workInProgress); // Now push the new context and mark that it has changed.
43641
43642      push(contextStackCursor, mergedContext, workInProgress);
43643      push(didPerformWorkStackCursor, didChange, workInProgress);
43644    } else {
43645      pop(didPerformWorkStackCursor, workInProgress);
43646      push(didPerformWorkStackCursor, didChange, workInProgress);
43647    }
43648  }
43649}
43650
43651function findCurrentUnmaskedContext(fiber) {
43652  {
43653    // Currently this is only used with renderSubtreeIntoContainer; not sure if it
43654    // makes sense elsewhere
43655    if (!(isFiberMounted(fiber) && fiber.tag === ClassComponent)) {
43656      {
43657        throw Error( "Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue." );
43658      }
43659    }
43660
43661    var node = fiber;
43662
43663    do {
43664      switch (node.tag) {
43665        case HostRoot:
43666          return node.stateNode.context;
43667
43668        case ClassComponent:
43669          {
43670            var Component = node.type;
43671
43672            if (isContextProvider(Component)) {
43673              return node.stateNode.__reactInternalMemoizedMergedChildContext;
43674            }
43675
43676            break;
43677          }
43678      }
43679
43680      node = node.return;
43681    } while (node !== null);
43682
43683    {
43684      {
43685        throw Error( "Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue." );
43686      }
43687    }
43688  }
43689}
43690
43691var LegacyRoot = 0;
43692var BlockingRoot = 1;
43693var ConcurrentRoot = 2;
43694
43695var Scheduler_runWithPriority = Scheduler.unstable_runWithPriority,
43696    Scheduler_scheduleCallback = Scheduler.unstable_scheduleCallback,
43697    Scheduler_cancelCallback = Scheduler.unstable_cancelCallback,
43698    Scheduler_shouldYield = Scheduler.unstable_shouldYield,
43699    Scheduler_requestPaint = Scheduler.unstable_requestPaint,
43700    Scheduler_now = Scheduler.unstable_now,
43701    Scheduler_getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel,
43702    Scheduler_ImmediatePriority = Scheduler.unstable_ImmediatePriority,
43703    Scheduler_UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,
43704    Scheduler_NormalPriority = Scheduler.unstable_NormalPriority,
43705    Scheduler_LowPriority = Scheduler.unstable_LowPriority,
43706    Scheduler_IdlePriority = Scheduler.unstable_IdlePriority;
43707
43708{
43709  // Provide explicit error message when production+profiling bundle of e.g.
43710  // react-dom is used with production (non-profiling) bundle of
43711  // scheduler/tracing
43712  if (!(tracing.__interactionsRef != null && tracing.__interactionsRef.current != null)) {
43713    {
43714      throw Error( "It is not supported to run the profiling version of a renderer (for example, `react-dom/profiling`) without also replacing the `scheduler/tracing` module with `scheduler/tracing-profiling`. Your bundler might have a setting for aliasing both modules. Learn more at http://fb.me/react-profiling" );
43715    }
43716  }
43717}
43718
43719var fakeCallbackNode = {}; // Except for NoPriority, these correspond to Scheduler priorities. We use
43720// ascending numbers so we can compare them like numbers. They start at 90 to
43721// avoid clashing with Scheduler's priorities.
43722
43723var ImmediatePriority = 99;
43724var UserBlockingPriority$1 = 98;
43725var NormalPriority = 97;
43726var LowPriority = 96;
43727var IdlePriority = 95; // NoPriority is the absence of priority. Also React-only.
43728
43729var NoPriority = 90;
43730var shouldYield = Scheduler_shouldYield;
43731var requestPaint = // Fall back gracefully if we're running an older version of Scheduler.
43732Scheduler_requestPaint !== undefined ? Scheduler_requestPaint : function () {};
43733var syncQueue = null;
43734var immediateQueueCallbackNode = null;
43735var isFlushingSyncQueue = false;
43736var initialTimeMs = Scheduler_now(); // If the initial timestamp is reasonably small, use Scheduler's `now` directly.
43737// This will be the case for modern browsers that support `performance.now`. In
43738// older browsers, Scheduler falls back to `Date.now`, which returns a Unix
43739// timestamp. In that case, subtract the module initialization time to simulate
43740// the behavior of performance.now and keep our times small enough to fit
43741// within 32 bits.
43742// TODO: Consider lifting this into Scheduler.
43743
43744var now = initialTimeMs < 10000 ? Scheduler_now : function () {
43745  return Scheduler_now() - initialTimeMs;
43746};
43747function getCurrentPriorityLevel() {
43748  switch (Scheduler_getCurrentPriorityLevel()) {
43749    case Scheduler_ImmediatePriority:
43750      return ImmediatePriority;
43751
43752    case Scheduler_UserBlockingPriority:
43753      return UserBlockingPriority$1;
43754
43755    case Scheduler_NormalPriority:
43756      return NormalPriority;
43757
43758    case Scheduler_LowPriority:
43759      return LowPriority;
43760
43761    case Scheduler_IdlePriority:
43762      return IdlePriority;
43763
43764    default:
43765      {
43766        {
43767          throw Error( "Unknown priority level." );
43768        }
43769      }
43770
43771  }
43772}
43773
43774function reactPriorityToSchedulerPriority(reactPriorityLevel) {
43775  switch (reactPriorityLevel) {
43776    case ImmediatePriority:
43777      return Scheduler_ImmediatePriority;
43778
43779    case UserBlockingPriority$1:
43780      return Scheduler_UserBlockingPriority;
43781
43782    case NormalPriority:
43783      return Scheduler_NormalPriority;
43784
43785    case LowPriority:
43786      return Scheduler_LowPriority;
43787
43788    case IdlePriority:
43789      return Scheduler_IdlePriority;
43790
43791    default:
43792      {
43793        {
43794          throw Error( "Unknown priority level." );
43795        }
43796      }
43797
43798  }
43799}
43800
43801function runWithPriority$1(reactPriorityLevel, fn) {
43802  var priorityLevel = reactPriorityToSchedulerPriority(reactPriorityLevel);
43803  return Scheduler_runWithPriority(priorityLevel, fn);
43804}
43805function scheduleCallback(reactPriorityLevel, callback, options) {
43806  var priorityLevel = reactPriorityToSchedulerPriority(reactPriorityLevel);
43807  return Scheduler_scheduleCallback(priorityLevel, callback, options);
43808}
43809function scheduleSyncCallback(callback) {
43810  // Push this callback into an internal queue. We'll flush these either in
43811  // the next tick, or earlier if something calls `flushSyncCallbackQueue`.
43812  if (syncQueue === null) {
43813    syncQueue = [callback]; // Flush the queue in the next tick, at the earliest.
43814
43815    immediateQueueCallbackNode = Scheduler_scheduleCallback(Scheduler_ImmediatePriority, flushSyncCallbackQueueImpl);
43816  } else {
43817    // Push onto existing queue. Don't need to schedule a callback because
43818    // we already scheduled one when we created the queue.
43819    syncQueue.push(callback);
43820  }
43821
43822  return fakeCallbackNode;
43823}
43824function cancelCallback(callbackNode) {
43825  if (callbackNode !== fakeCallbackNode) {
43826    Scheduler_cancelCallback(callbackNode);
43827  }
43828}
43829function flushSyncCallbackQueue() {
43830  if (immediateQueueCallbackNode !== null) {
43831    var node = immediateQueueCallbackNode;
43832    immediateQueueCallbackNode = null;
43833    Scheduler_cancelCallback(node);
43834  }
43835
43836  flushSyncCallbackQueueImpl();
43837}
43838
43839function flushSyncCallbackQueueImpl() {
43840  if (!isFlushingSyncQueue && syncQueue !== null) {
43841    // Prevent re-entrancy.
43842    isFlushingSyncQueue = true;
43843    var i = 0;
43844
43845    try {
43846      var _isSync = true;
43847      var queue = syncQueue;
43848      runWithPriority$1(ImmediatePriority, function () {
43849        for (; i < queue.length; i++) {
43850          var callback = queue[i];
43851
43852          do {
43853            callback = callback(_isSync);
43854          } while (callback !== null);
43855        }
43856      });
43857      syncQueue = null;
43858    } catch (error) {
43859      // If something throws, leave the remaining callbacks on the queue.
43860      if (syncQueue !== null) {
43861        syncQueue = syncQueue.slice(i + 1);
43862      } // Resume flushing in the next tick
43863
43864
43865      Scheduler_scheduleCallback(Scheduler_ImmediatePriority, flushSyncCallbackQueue);
43866      throw error;
43867    } finally {
43868      isFlushingSyncQueue = false;
43869    }
43870  }
43871}
43872
43873var NoMode = 0;
43874var StrictMode = 1; // TODO: Remove BlockingMode and ConcurrentMode by reading from the root
43875// tag instead
43876
43877var BlockingMode = 2;
43878var ConcurrentMode = 4;
43879var ProfileMode = 8;
43880
43881// Max 31 bit integer. The max integer size in V8 for 32-bit systems.
43882// Math.pow(2, 30) - 1
43883// 0b111111111111111111111111111111
43884var MAX_SIGNED_31_BIT_INT = 1073741823;
43885
43886var NoWork = 0; // TODO: Think of a better name for Never. The key difference with Idle is that
43887// Never work can be committed in an inconsistent state without tearing the UI.
43888// The main example is offscreen content, like a hidden subtree. So one possible
43889// name is Offscreen. However, it also includes dehydrated Suspense boundaries,
43890// which are inconsistent in the sense that they haven't finished yet, but
43891// aren't visibly inconsistent because the server rendered HTML matches what the
43892// hydrated tree would look like.
43893
43894var Never = 1; // Idle is slightly higher priority than Never. It must completely finish in
43895// order to be consistent.
43896
43897var Idle = 2; // Continuous Hydration is slightly higher than Idle and is used to increase
43898// priority of hover targets.
43899
43900var ContinuousHydration = 3;
43901var Sync = MAX_SIGNED_31_BIT_INT;
43902var Batched = Sync - 1;
43903var UNIT_SIZE = 10;
43904var MAGIC_NUMBER_OFFSET = Batched - 1; // 1 unit of expiration time represents 10ms.
43905
43906function msToExpirationTime(ms) {
43907  // Always subtract from the offset so that we don't clash with the magic number for NoWork.
43908  return MAGIC_NUMBER_OFFSET - (ms / UNIT_SIZE | 0);
43909}
43910function expirationTimeToMs(expirationTime) {
43911  return (MAGIC_NUMBER_OFFSET - expirationTime) * UNIT_SIZE;
43912}
43913
43914function ceiling(num, precision) {
43915  return ((num / precision | 0) + 1) * precision;
43916}
43917
43918function computeExpirationBucket(currentTime, expirationInMs, bucketSizeMs) {
43919  return MAGIC_NUMBER_OFFSET - ceiling(MAGIC_NUMBER_OFFSET - currentTime + expirationInMs / UNIT_SIZE, bucketSizeMs / UNIT_SIZE);
43920} // TODO: This corresponds to Scheduler's NormalPriority, not LowPriority. Update
43921// the names to reflect.
43922
43923
43924var LOW_PRIORITY_EXPIRATION = 5000;
43925var LOW_PRIORITY_BATCH_SIZE = 250;
43926function computeAsyncExpiration(currentTime) {
43927  return computeExpirationBucket(currentTime, LOW_PRIORITY_EXPIRATION, LOW_PRIORITY_BATCH_SIZE);
43928}
43929function computeSuspenseExpiration(currentTime, timeoutMs) {
43930  // TODO: Should we warn if timeoutMs is lower than the normal pri expiration time?
43931  return computeExpirationBucket(currentTime, timeoutMs, LOW_PRIORITY_BATCH_SIZE);
43932} // We intentionally set a higher expiration time for interactive updates in
43933// dev than in production.
43934//
43935// If the main thread is being blocked so long that you hit the expiration,
43936// it's a problem that could be solved with better scheduling.
43937//
43938// People will be more likely to notice this and fix it with the long
43939// expiration time in development.
43940//
43941// In production we opt for better UX at the risk of masking scheduling
43942// problems, by expiring fast.
43943
43944var HIGH_PRIORITY_EXPIRATION =  500 ;
43945var HIGH_PRIORITY_BATCH_SIZE = 100;
43946function computeInteractiveExpiration(currentTime) {
43947  return computeExpirationBucket(currentTime, HIGH_PRIORITY_EXPIRATION, HIGH_PRIORITY_BATCH_SIZE);
43948}
43949function inferPriorityFromExpirationTime(currentTime, expirationTime) {
43950  if (expirationTime === Sync) {
43951    return ImmediatePriority;
43952  }
43953
43954  if (expirationTime === Never || expirationTime === Idle) {
43955    return IdlePriority;
43956  }
43957
43958  var msUntil = expirationTimeToMs(expirationTime) - expirationTimeToMs(currentTime);
43959
43960  if (msUntil <= 0) {
43961    return ImmediatePriority;
43962  }
43963
43964  if (msUntil <= HIGH_PRIORITY_EXPIRATION + HIGH_PRIORITY_BATCH_SIZE) {
43965    return UserBlockingPriority$1;
43966  }
43967
43968  if (msUntil <= LOW_PRIORITY_EXPIRATION + LOW_PRIORITY_BATCH_SIZE) {
43969    return NormalPriority;
43970  } // TODO: Handle LowPriority
43971  // Assume anything lower has idle priority
43972
43973
43974  return IdlePriority;
43975}
43976
43977var ReactStrictModeWarnings = {
43978  recordUnsafeLifecycleWarnings: function (fiber, instance) {},
43979  flushPendingUnsafeLifecycleWarnings: function () {},
43980  recordLegacyContextWarning: function (fiber, instance) {},
43981  flushLegacyContextWarning: function () {},
43982  discardPendingWarnings: function () {}
43983};
43984
43985{
43986  var findStrictRoot = function (fiber) {
43987    var maybeStrictRoot = null;
43988    var node = fiber;
43989
43990    while (node !== null) {
43991      if (node.mode & StrictMode) {
43992        maybeStrictRoot = node;
43993      }
43994
43995      node = node.return;
43996    }
43997
43998    return maybeStrictRoot;
43999  };
44000
44001  var setToSortedString = function (set) {
44002    var array = [];
44003    set.forEach(function (value) {
44004      array.push(value);
44005    });
44006    return array.sort().join(', ');
44007  };
44008
44009  var pendingComponentWillMountWarnings = [];
44010  var pendingUNSAFE_ComponentWillMountWarnings = [];
44011  var pendingComponentWillReceivePropsWarnings = [];
44012  var pendingUNSAFE_ComponentWillReceivePropsWarnings = [];
44013  var pendingComponentWillUpdateWarnings = [];
44014  var pendingUNSAFE_ComponentWillUpdateWarnings = []; // Tracks components we have already warned about.
44015
44016  var didWarnAboutUnsafeLifecycles = new Set();
44017
44018  ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function (fiber, instance) {
44019    // Dedup strategy: Warn once per component.
44020    if (didWarnAboutUnsafeLifecycles.has(fiber.type)) {
44021      return;
44022    }
44023
44024    if (typeof instance.componentWillMount === 'function' && // Don't warn about react-lifecycles-compat polyfilled components.
44025    instance.componentWillMount.__suppressDeprecationWarning !== true) {
44026      pendingComponentWillMountWarnings.push(fiber);
44027    }
44028
44029    if (fiber.mode & StrictMode && typeof instance.UNSAFE_componentWillMount === 'function') {
44030      pendingUNSAFE_ComponentWillMountWarnings.push(fiber);
44031    }
44032
44033    if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {
44034      pendingComponentWillReceivePropsWarnings.push(fiber);
44035    }
44036
44037    if (fiber.mode & StrictMode && typeof instance.UNSAFE_componentWillReceiveProps === 'function') {
44038      pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber);
44039    }
44040
44041    if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {
44042      pendingComponentWillUpdateWarnings.push(fiber);
44043    }
44044
44045    if (fiber.mode & StrictMode && typeof instance.UNSAFE_componentWillUpdate === 'function') {
44046      pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber);
44047    }
44048  };
44049
44050  ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function () {
44051    // We do an initial pass to gather component names
44052    var componentWillMountUniqueNames = new Set();
44053
44054    if (pendingComponentWillMountWarnings.length > 0) {
44055      pendingComponentWillMountWarnings.forEach(function (fiber) {
44056        componentWillMountUniqueNames.add(getComponentName(fiber.type) || 'Component');
44057        didWarnAboutUnsafeLifecycles.add(fiber.type);
44058      });
44059      pendingComponentWillMountWarnings = [];
44060    }
44061
44062    var UNSAFE_componentWillMountUniqueNames = new Set();
44063
44064    if (pendingUNSAFE_ComponentWillMountWarnings.length > 0) {
44065      pendingUNSAFE_ComponentWillMountWarnings.forEach(function (fiber) {
44066        UNSAFE_componentWillMountUniqueNames.add(getComponentName(fiber.type) || 'Component');
44067        didWarnAboutUnsafeLifecycles.add(fiber.type);
44068      });
44069      pendingUNSAFE_ComponentWillMountWarnings = [];
44070    }
44071
44072    var componentWillReceivePropsUniqueNames = new Set();
44073
44074    if (pendingComponentWillReceivePropsWarnings.length > 0) {
44075      pendingComponentWillReceivePropsWarnings.forEach(function (fiber) {
44076        componentWillReceivePropsUniqueNames.add(getComponentName(fiber.type) || 'Component');
44077        didWarnAboutUnsafeLifecycles.add(fiber.type);
44078      });
44079      pendingComponentWillReceivePropsWarnings = [];
44080    }
44081
44082    var UNSAFE_componentWillReceivePropsUniqueNames = new Set();
44083
44084    if (pendingUNSAFE_ComponentWillReceivePropsWarnings.length > 0) {
44085      pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(function (fiber) {
44086        UNSAFE_componentWillReceivePropsUniqueNames.add(getComponentName(fiber.type) || 'Component');
44087        didWarnAboutUnsafeLifecycles.add(fiber.type);
44088      });
44089      pendingUNSAFE_ComponentWillReceivePropsWarnings = [];
44090    }
44091
44092    var componentWillUpdateUniqueNames = new Set();
44093
44094    if (pendingComponentWillUpdateWarnings.length > 0) {
44095      pendingComponentWillUpdateWarnings.forEach(function (fiber) {
44096        componentWillUpdateUniqueNames.add(getComponentName(fiber.type) || 'Component');
44097        didWarnAboutUnsafeLifecycles.add(fiber.type);
44098      });
44099      pendingComponentWillUpdateWarnings = [];
44100    }
44101
44102    var UNSAFE_componentWillUpdateUniqueNames = new Set();
44103
44104    if (pendingUNSAFE_ComponentWillUpdateWarnings.length > 0) {
44105      pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function (fiber) {
44106        UNSAFE_componentWillUpdateUniqueNames.add(getComponentName(fiber.type) || 'Component');
44107        didWarnAboutUnsafeLifecycles.add(fiber.type);
44108      });
44109      pendingUNSAFE_ComponentWillUpdateWarnings = [];
44110    } // Finally, we flush all the warnings
44111    // UNSAFE_ ones before the deprecated ones, since they'll be 'louder'
44112
44113
44114    if (UNSAFE_componentWillMountUniqueNames.size > 0) {
44115      var sortedNames = setToSortedString(UNSAFE_componentWillMountUniqueNames);
44116
44117      error('Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\n' + '\nPlease update the following components: %s', sortedNames);
44118    }
44119
44120    if (UNSAFE_componentWillReceivePropsUniqueNames.size > 0) {
44121      var _sortedNames = setToSortedString(UNSAFE_componentWillReceivePropsUniqueNames);
44122
44123      error('Using UNSAFE_componentWillReceiveProps in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move data fetching code or side effects to componentDidUpdate.\n' + "* If you're updating state whenever props change, " + 'refactor your code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state\n' + '\nPlease update the following components: %s', _sortedNames);
44124    }
44125
44126    if (UNSAFE_componentWillUpdateUniqueNames.size > 0) {
44127      var _sortedNames2 = setToSortedString(UNSAFE_componentWillUpdateUniqueNames);
44128
44129      error('Using UNSAFE_componentWillUpdate in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move data fetching code or side effects to componentDidUpdate.\n' + '\nPlease update the following components: %s', _sortedNames2);
44130    }
44131
44132    if (componentWillMountUniqueNames.size > 0) {
44133      var _sortedNames3 = setToSortedString(componentWillMountUniqueNames);
44134
44135      warn('componentWillMount has been renamed, and is not recommended for use. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\n' + '* Rename componentWillMount to UNSAFE_componentWillMount to suppress ' + 'this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n' + '\nPlease update the following components: %s', _sortedNames3);
44136    }
44137
44138    if (componentWillReceivePropsUniqueNames.size > 0) {
44139      var _sortedNames4 = setToSortedString(componentWillReceivePropsUniqueNames);
44140
44141      warn('componentWillReceiveProps has been renamed, and is not recommended for use. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move data fetching code or side effects to componentDidUpdate.\n' + "* If you're updating state whenever props change, refactor your " + 'code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state\n' + '* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress ' + 'this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n' + '\nPlease update the following components: %s', _sortedNames4);
44142    }
44143
44144    if (componentWillUpdateUniqueNames.size > 0) {
44145      var _sortedNames5 = setToSortedString(componentWillUpdateUniqueNames);
44146
44147      warn('componentWillUpdate has been renamed, and is not recommended for use. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move data fetching code or side effects to componentDidUpdate.\n' + '* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress ' + 'this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n' + '\nPlease update the following components: %s', _sortedNames5);
44148    }
44149  };
44150
44151  var pendingLegacyContextWarning = new Map(); // Tracks components we have already warned about.
44152
44153  var didWarnAboutLegacyContext = new Set();
44154
44155  ReactStrictModeWarnings.recordLegacyContextWarning = function (fiber, instance) {
44156    var strictRoot = findStrictRoot(fiber);
44157
44158    if (strictRoot === null) {
44159      error('Expected to find a StrictMode component in a strict mode tree. ' + 'This error is likely caused by a bug in React. Please file an issue.');
44160
44161      return;
44162    } // Dedup strategy: Warn once per component.
44163
44164
44165    if (didWarnAboutLegacyContext.has(fiber.type)) {
44166      return;
44167    }
44168
44169    var warningsForRoot = pendingLegacyContextWarning.get(strictRoot);
44170
44171    if (fiber.type.contextTypes != null || fiber.type.childContextTypes != null || instance !== null && typeof instance.getChildContext === 'function') {
44172      if (warningsForRoot === undefined) {
44173        warningsForRoot = [];
44174        pendingLegacyContextWarning.set(strictRoot, warningsForRoot);
44175      }
44176
44177      warningsForRoot.push(fiber);
44178    }
44179  };
44180
44181  ReactStrictModeWarnings.flushLegacyContextWarning = function () {
44182    pendingLegacyContextWarning.forEach(function (fiberArray, strictRoot) {
44183      if (fiberArray.length === 0) {
44184        return;
44185      }
44186
44187      var firstFiber = fiberArray[0];
44188      var uniqueNames = new Set();
44189      fiberArray.forEach(function (fiber) {
44190        uniqueNames.add(getComponentName(fiber.type) || 'Component');
44191        didWarnAboutLegacyContext.add(fiber.type);
44192      });
44193      var sortedNames = setToSortedString(uniqueNames);
44194      var firstComponentStack = getStackByFiberInDevAndProd(firstFiber);
44195
44196      error('Legacy context API has been detected within a strict-mode tree.' + '\n\nThe old API will be supported in all 16.x releases, but applications ' + 'using it should migrate to the new version.' + '\n\nPlease update the following components: %s' + '\n\nLearn more about this warning here: https://fb.me/react-legacy-context' + '%s', sortedNames, firstComponentStack);
44197    });
44198  };
44199
44200  ReactStrictModeWarnings.discardPendingWarnings = function () {
44201    pendingComponentWillMountWarnings = [];
44202    pendingUNSAFE_ComponentWillMountWarnings = [];
44203    pendingComponentWillReceivePropsWarnings = [];
44204    pendingUNSAFE_ComponentWillReceivePropsWarnings = [];
44205    pendingComponentWillUpdateWarnings = [];
44206    pendingUNSAFE_ComponentWillUpdateWarnings = [];
44207    pendingLegacyContextWarning = new Map();
44208  };
44209}
44210
44211var resolveFamily = null; // $FlowFixMe Flow gets confused by a WeakSet feature check below.
44212
44213var failedBoundaries = null;
44214var setRefreshHandler = function (handler) {
44215  {
44216    resolveFamily = handler;
44217  }
44218};
44219function resolveFunctionForHotReloading(type) {
44220  {
44221    if (resolveFamily === null) {
44222      // Hot reloading is disabled.
44223      return type;
44224    }
44225
44226    var family = resolveFamily(type);
44227
44228    if (family === undefined) {
44229      return type;
44230    } // Use the latest known implementation.
44231
44232
44233    return family.current;
44234  }
44235}
44236function resolveClassForHotReloading(type) {
44237  // No implementation differences.
44238  return resolveFunctionForHotReloading(type);
44239}
44240function resolveForwardRefForHotReloading(type) {
44241  {
44242    if (resolveFamily === null) {
44243      // Hot reloading is disabled.
44244      return type;
44245    }
44246
44247    var family = resolveFamily(type);
44248
44249    if (family === undefined) {
44250      // Check if we're dealing with a real forwardRef. Don't want to crash early.
44251      if (type !== null && type !== undefined && typeof type.render === 'function') {
44252        // ForwardRef is special because its resolved .type is an object,
44253        // but it's possible that we only have its inner render function in the map.
44254        // If that inner render function is different, we'll build a new forwardRef type.
44255        var currentRender = resolveFunctionForHotReloading(type.render);
44256
44257        if (type.render !== currentRender) {
44258          var syntheticType = {
44259            $$typeof: REACT_FORWARD_REF_TYPE,
44260            render: currentRender
44261          };
44262
44263          if (type.displayName !== undefined) {
44264            syntheticType.displayName = type.displayName;
44265          }
44266
44267          return syntheticType;
44268        }
44269      }
44270
44271      return type;
44272    } // Use the latest known implementation.
44273
44274
44275    return family.current;
44276  }
44277}
44278function isCompatibleFamilyForHotReloading(fiber, element) {
44279  {
44280    if (resolveFamily === null) {
44281      // Hot reloading is disabled.
44282      return false;
44283    }
44284
44285    var prevType = fiber.elementType;
44286    var nextType = element.type; // If we got here, we know types aren't === equal.
44287
44288    var needsCompareFamilies = false;
44289    var $$typeofNextType = typeof nextType === 'object' && nextType !== null ? nextType.$$typeof : null;
44290
44291    switch (fiber.tag) {
44292      case ClassComponent:
44293        {
44294          if (typeof nextType === 'function') {
44295            needsCompareFamilies = true;
44296          }
44297
44298          break;
44299        }
44300
44301      case FunctionComponent:
44302        {
44303          if (typeof nextType === 'function') {
44304            needsCompareFamilies = true;
44305          } else if ($$typeofNextType === REACT_LAZY_TYPE) {
44306            // We don't know the inner type yet.
44307            // We're going to assume that the lazy inner type is stable,
44308            // and so it is sufficient to avoid reconciling it away.
44309            // We're not going to unwrap or actually use the new lazy type.
44310            needsCompareFamilies = true;
44311          }
44312
44313          break;
44314        }
44315
44316      case ForwardRef:
44317        {
44318          if ($$typeofNextType === REACT_FORWARD_REF_TYPE) {
44319            needsCompareFamilies = true;
44320          } else if ($$typeofNextType === REACT_LAZY_TYPE) {
44321            needsCompareFamilies = true;
44322          }
44323
44324          break;
44325        }
44326
44327      case MemoComponent:
44328      case SimpleMemoComponent:
44329        {
44330          if ($$typeofNextType === REACT_MEMO_TYPE) {
44331            // TODO: if it was but can no longer be simple,
44332            // we shouldn't set this.
44333            needsCompareFamilies = true;
44334          } else if ($$typeofNextType === REACT_LAZY_TYPE) {
44335            needsCompareFamilies = true;
44336          }
44337
44338          break;
44339        }
44340
44341      default:
44342        return false;
44343    } // Check if both types have a family and it's the same one.
44344
44345
44346    if (needsCompareFamilies) {
44347      // Note: memo() and forwardRef() we'll compare outer rather than inner type.
44348      // This means both of them need to be registered to preserve state.
44349      // If we unwrapped and compared the inner types for wrappers instead,
44350      // then we would risk falsely saying two separate memo(Foo)
44351      // calls are equivalent because they wrap the same Foo function.
44352      var prevFamily = resolveFamily(prevType);
44353
44354      if (prevFamily !== undefined && prevFamily === resolveFamily(nextType)) {
44355        return true;
44356      }
44357    }
44358
44359    return false;
44360  }
44361}
44362function markFailedErrorBoundaryForHotReloading(fiber) {
44363  {
44364    if (resolveFamily === null) {
44365      // Hot reloading is disabled.
44366      return;
44367    }
44368
44369    if (typeof WeakSet !== 'function') {
44370      return;
44371    }
44372
44373    if (failedBoundaries === null) {
44374      failedBoundaries = new WeakSet();
44375    }
44376
44377    failedBoundaries.add(fiber);
44378  }
44379}
44380var scheduleRefresh = function (root, update) {
44381  {
44382    if (resolveFamily === null) {
44383      // Hot reloading is disabled.
44384      return;
44385    }
44386
44387    var staleFamilies = update.staleFamilies,
44388        updatedFamilies = update.updatedFamilies;
44389    flushPassiveEffects();
44390    flushSync(function () {
44391      scheduleFibersWithFamiliesRecursively(root.current, updatedFamilies, staleFamilies);
44392    });
44393  }
44394};
44395var scheduleRoot = function (root, element) {
44396  {
44397    if (root.context !== emptyContextObject) {
44398      // Super edge case: root has a legacy _renderSubtree context
44399      // but we don't know the parentComponent so we can't pass it.
44400      // Just ignore. We'll delete this with _renderSubtree code path later.
44401      return;
44402    }
44403
44404    flushPassiveEffects();
44405    syncUpdates(function () {
44406      updateContainer(element, root, null, null);
44407    });
44408  }
44409};
44410
44411function scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) {
44412  {
44413    var alternate = fiber.alternate,
44414        child = fiber.child,
44415        sibling = fiber.sibling,
44416        tag = fiber.tag,
44417        type = fiber.type;
44418    var candidateType = null;
44419
44420    switch (tag) {
44421      case FunctionComponent:
44422      case SimpleMemoComponent:
44423      case ClassComponent:
44424        candidateType = type;
44425        break;
44426
44427      case ForwardRef:
44428        candidateType = type.render;
44429        break;
44430    }
44431
44432    if (resolveFamily === null) {
44433      throw new Error('Expected resolveFamily to be set during hot reload.');
44434    }
44435
44436    var needsRender = false;
44437    var needsRemount = false;
44438
44439    if (candidateType !== null) {
44440      var family = resolveFamily(candidateType);
44441
44442      if (family !== undefined) {
44443        if (staleFamilies.has(family)) {
44444          needsRemount = true;
44445        } else if (updatedFamilies.has(family)) {
44446          if (tag === ClassComponent) {
44447            needsRemount = true;
44448          } else {
44449            needsRender = true;
44450          }
44451        }
44452      }
44453    }
44454
44455    if (failedBoundaries !== null) {
44456      if (failedBoundaries.has(fiber) || alternate !== null && failedBoundaries.has(alternate)) {
44457        needsRemount = true;
44458      }
44459    }
44460
44461    if (needsRemount) {
44462      fiber._debugNeedsRemount = true;
44463    }
44464
44465    if (needsRemount || needsRender) {
44466      scheduleWork(fiber, Sync);
44467    }
44468
44469    if (child !== null && !needsRemount) {
44470      scheduleFibersWithFamiliesRecursively(child, updatedFamilies, staleFamilies);
44471    }
44472
44473    if (sibling !== null) {
44474      scheduleFibersWithFamiliesRecursively(sibling, updatedFamilies, staleFamilies);
44475    }
44476  }
44477}
44478
44479var findHostInstancesForRefresh = function (root, families) {
44480  {
44481    var hostInstances = new Set();
44482    var types = new Set(families.map(function (family) {
44483      return family.current;
44484    }));
44485    findHostInstancesForMatchingFibersRecursively(root.current, types, hostInstances);
44486    return hostInstances;
44487  }
44488};
44489
44490function findHostInstancesForMatchingFibersRecursively(fiber, types, hostInstances) {
44491  {
44492    var child = fiber.child,
44493        sibling = fiber.sibling,
44494        tag = fiber.tag,
44495        type = fiber.type;
44496    var candidateType = null;
44497
44498    switch (tag) {
44499      case FunctionComponent:
44500      case SimpleMemoComponent:
44501      case ClassComponent:
44502        candidateType = type;
44503        break;
44504
44505      case ForwardRef:
44506        candidateType = type.render;
44507        break;
44508    }
44509
44510    var didMatch = false;
44511
44512    if (candidateType !== null) {
44513      if (types.has(candidateType)) {
44514        didMatch = true;
44515      }
44516    }
44517
44518    if (didMatch) {
44519      // We have a match. This only drills down to the closest host components.
44520      // There's no need to search deeper because for the purpose of giving
44521      // visual feedback, "flashing" outermost parent rectangles is sufficient.
44522      findHostInstancesForFiberShallowly(fiber, hostInstances);
44523    } else {
44524      // If there's no match, maybe there will be one further down in the child tree.
44525      if (child !== null) {
44526        findHostInstancesForMatchingFibersRecursively(child, types, hostInstances);
44527      }
44528    }
44529
44530    if (sibling !== null) {
44531      findHostInstancesForMatchingFibersRecursively(sibling, types, hostInstances);
44532    }
44533  }
44534}
44535
44536function findHostInstancesForFiberShallowly(fiber, hostInstances) {
44537  {
44538    var foundHostInstances = findChildHostInstancesForFiberShallowly(fiber, hostInstances);
44539
44540    if (foundHostInstances) {
44541      return;
44542    } // If we didn't find any host children, fallback to closest host parent.
44543
44544
44545    var node = fiber;
44546
44547    while (true) {
44548      switch (node.tag) {
44549        case HostComponent:
44550          hostInstances.add(node.stateNode);
44551          return;
44552
44553        case HostPortal:
44554          hostInstances.add(node.stateNode.containerInfo);
44555          return;
44556
44557        case HostRoot:
44558          hostInstances.add(node.stateNode.containerInfo);
44559          return;
44560      }
44561
44562      if (node.return === null) {
44563        throw new Error('Expected to reach root first.');
44564      }
44565
44566      node = node.return;
44567    }
44568  }
44569}
44570
44571function findChildHostInstancesForFiberShallowly(fiber, hostInstances) {
44572  {
44573    var node = fiber;
44574    var foundHostInstances = false;
44575
44576    while (true) {
44577      if (node.tag === HostComponent) {
44578        // We got a match.
44579        foundHostInstances = true;
44580        hostInstances.add(node.stateNode); // There may still be more, so keep searching.
44581      } else if (node.child !== null) {
44582        node.child.return = node;
44583        node = node.child;
44584        continue;
44585      }
44586
44587      if (node === fiber) {
44588        return foundHostInstances;
44589      }
44590
44591      while (node.sibling === null) {
44592        if (node.return === null || node.return === fiber) {
44593          return foundHostInstances;
44594        }
44595
44596        node = node.return;
44597      }
44598
44599      node.sibling.return = node.return;
44600      node = node.sibling;
44601    }
44602  }
44603
44604  return false;
44605}
44606
44607function resolveDefaultProps(Component, baseProps) {
44608  if (Component && Component.defaultProps) {
44609    // Resolve default props. Taken from ReactElement
44610    var props = _assign({}, baseProps);
44611
44612    var defaultProps = Component.defaultProps;
44613
44614    for (var propName in defaultProps) {
44615      if (props[propName] === undefined) {
44616        props[propName] = defaultProps[propName];
44617      }
44618    }
44619
44620    return props;
44621  }
44622
44623  return baseProps;
44624}
44625function readLazyComponentType(lazyComponent) {
44626  initializeLazyComponentType(lazyComponent);
44627
44628  if (lazyComponent._status !== Resolved) {
44629    throw lazyComponent._result;
44630  }
44631
44632  return lazyComponent._result;
44633}
44634
44635var valueCursor = createCursor(null);
44636var rendererSigil;
44637
44638{
44639  // Use this to detect multiple renderers using the same context
44640  rendererSigil = {};
44641}
44642
44643var currentlyRenderingFiber = null;
44644var lastContextDependency = null;
44645var lastContextWithAllBitsObserved = null;
44646var isDisallowedContextReadInDEV = false;
44647function resetContextDependencies() {
44648  // This is called right before React yields execution, to ensure `readContext`
44649  // cannot be called outside the render phase.
44650  currentlyRenderingFiber = null;
44651  lastContextDependency = null;
44652  lastContextWithAllBitsObserved = null;
44653
44654  {
44655    isDisallowedContextReadInDEV = false;
44656  }
44657}
44658function enterDisallowedContextReadInDEV() {
44659  {
44660    isDisallowedContextReadInDEV = true;
44661  }
44662}
44663function exitDisallowedContextReadInDEV() {
44664  {
44665    isDisallowedContextReadInDEV = false;
44666  }
44667}
44668function pushProvider(providerFiber, nextValue) {
44669  var context = providerFiber.type._context;
44670
44671  {
44672    push(valueCursor, context._currentValue, providerFiber);
44673    context._currentValue = nextValue;
44674
44675    {
44676      if (context._currentRenderer !== undefined && context._currentRenderer !== null && context._currentRenderer !== rendererSigil) {
44677        error('Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.');
44678      }
44679
44680      context._currentRenderer = rendererSigil;
44681    }
44682  }
44683}
44684function popProvider(providerFiber) {
44685  var currentValue = valueCursor.current;
44686  pop(valueCursor, providerFiber);
44687  var context = providerFiber.type._context;
44688
44689  {
44690    context._currentValue = currentValue;
44691  }
44692}
44693function calculateChangedBits(context, newValue, oldValue) {
44694  if (objectIs(oldValue, newValue)) {
44695    // No change
44696    return 0;
44697  } else {
44698    var changedBits = typeof context._calculateChangedBits === 'function' ? context._calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;
44699
44700    {
44701      if ((changedBits & MAX_SIGNED_31_BIT_INT) !== changedBits) {
44702        error('calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: %s', changedBits);
44703      }
44704    }
44705
44706    return changedBits | 0;
44707  }
44708}
44709function scheduleWorkOnParentPath(parent, renderExpirationTime) {
44710  // Update the child expiration time of all the ancestors, including
44711  // the alternates.
44712  var node = parent;
44713
44714  while (node !== null) {
44715    var alternate = node.alternate;
44716
44717    if (node.childExpirationTime < renderExpirationTime) {
44718      node.childExpirationTime = renderExpirationTime;
44719
44720      if (alternate !== null && alternate.childExpirationTime < renderExpirationTime) {
44721        alternate.childExpirationTime = renderExpirationTime;
44722      }
44723    } else if (alternate !== null && alternate.childExpirationTime < renderExpirationTime) {
44724      alternate.childExpirationTime = renderExpirationTime;
44725    } else {
44726      // Neither alternate was updated, which means the rest of the
44727      // ancestor path already has sufficient priority.
44728      break;
44729    }
44730
44731    node = node.return;
44732  }
44733}
44734function propagateContextChange(workInProgress, context, changedBits, renderExpirationTime) {
44735  var fiber = workInProgress.child;
44736
44737  if (fiber !== null) {
44738    // Set the return pointer of the child to the work-in-progress fiber.
44739    fiber.return = workInProgress;
44740  }
44741
44742  while (fiber !== null) {
44743    var nextFiber = void 0; // Visit this fiber.
44744
44745    var list = fiber.dependencies;
44746
44747    if (list !== null) {
44748      nextFiber = fiber.child;
44749      var dependency = list.firstContext;
44750
44751      while (dependency !== null) {
44752        // Check if the context matches.
44753        if (dependency.context === context && (dependency.observedBits & changedBits) !== 0) {
44754          // Match! Schedule an update on this fiber.
44755          if (fiber.tag === ClassComponent) {
44756            // Schedule a force update on the work-in-progress.
44757            var update = createUpdate(renderExpirationTime, null);
44758            update.tag = ForceUpdate; // TODO: Because we don't have a work-in-progress, this will add the
44759            // update to the current fiber, too, which means it will persist even if
44760            // this render is thrown away. Since it's a race condition, not sure it's
44761            // worth fixing.
44762
44763            enqueueUpdate(fiber, update);
44764          }
44765
44766          if (fiber.expirationTime < renderExpirationTime) {
44767            fiber.expirationTime = renderExpirationTime;
44768          }
44769
44770          var alternate = fiber.alternate;
44771
44772          if (alternate !== null && alternate.expirationTime < renderExpirationTime) {
44773            alternate.expirationTime = renderExpirationTime;
44774          }
44775
44776          scheduleWorkOnParentPath(fiber.return, renderExpirationTime); // Mark the expiration time on the list, too.
44777
44778          if (list.expirationTime < renderExpirationTime) {
44779            list.expirationTime = renderExpirationTime;
44780          } // Since we already found a match, we can stop traversing the
44781          // dependency list.
44782
44783
44784          break;
44785        }
44786
44787        dependency = dependency.next;
44788      }
44789    } else if (fiber.tag === ContextProvider) {
44790      // Don't scan deeper if this is a matching provider
44791      nextFiber = fiber.type === workInProgress.type ? null : fiber.child;
44792    } else {
44793      // Traverse down.
44794      nextFiber = fiber.child;
44795    }
44796
44797    if (nextFiber !== null) {
44798      // Set the return pointer of the child to the work-in-progress fiber.
44799      nextFiber.return = fiber;
44800    } else {
44801      // No child. Traverse to next sibling.
44802      nextFiber = fiber;
44803
44804      while (nextFiber !== null) {
44805        if (nextFiber === workInProgress) {
44806          // We're back to the root of this subtree. Exit.
44807          nextFiber = null;
44808          break;
44809        }
44810
44811        var sibling = nextFiber.sibling;
44812
44813        if (sibling !== null) {
44814          // Set the return pointer of the sibling to the work-in-progress fiber.
44815          sibling.return = nextFiber.return;
44816          nextFiber = sibling;
44817          break;
44818        } // No more siblings. Traverse up.
44819
44820
44821        nextFiber = nextFiber.return;
44822      }
44823    }
44824
44825    fiber = nextFiber;
44826  }
44827}
44828function prepareToReadContext(workInProgress, renderExpirationTime) {
44829  currentlyRenderingFiber = workInProgress;
44830  lastContextDependency = null;
44831  lastContextWithAllBitsObserved = null;
44832  var dependencies = workInProgress.dependencies;
44833
44834  if (dependencies !== null) {
44835    var firstContext = dependencies.firstContext;
44836
44837    if (firstContext !== null) {
44838      if (dependencies.expirationTime >= renderExpirationTime) {
44839        // Context list has a pending update. Mark that this fiber performed work.
44840        markWorkInProgressReceivedUpdate();
44841      } // Reset the work-in-progress list
44842
44843
44844      dependencies.firstContext = null;
44845    }
44846  }
44847}
44848function readContext(context, observedBits) {
44849  {
44850    // This warning would fire if you read context inside a Hook like useMemo.
44851    // Unlike the class check below, it's not enforced in production for perf.
44852    if (isDisallowedContextReadInDEV) {
44853      error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');
44854    }
44855  }
44856
44857  if (lastContextWithAllBitsObserved === context) ; else if (observedBits === false || observedBits === 0) ; else {
44858    var resolvedObservedBits; // Avoid deopting on observable arguments or heterogeneous types.
44859
44860    if (typeof observedBits !== 'number' || observedBits === MAX_SIGNED_31_BIT_INT) {
44861      // Observe all updates.
44862      lastContextWithAllBitsObserved = context;
44863      resolvedObservedBits = MAX_SIGNED_31_BIT_INT;
44864    } else {
44865      resolvedObservedBits = observedBits;
44866    }
44867
44868    var contextItem = {
44869      context: context,
44870      observedBits: resolvedObservedBits,
44871      next: null
44872    };
44873
44874    if (lastContextDependency === null) {
44875      if (!(currentlyRenderingFiber !== null)) {
44876        {
44877          throw Error( "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()." );
44878        }
44879      } // This is the first dependency for this component. Create a new list.
44880
44881
44882      lastContextDependency = contextItem;
44883      currentlyRenderingFiber.dependencies = {
44884        expirationTime: NoWork,
44885        firstContext: contextItem,
44886        responders: null
44887      };
44888    } else {
44889      // Append a new context item.
44890      lastContextDependency = lastContextDependency.next = contextItem;
44891    }
44892  }
44893
44894  return  context._currentValue ;
44895}
44896
44897var UpdateState = 0;
44898var ReplaceState = 1;
44899var ForceUpdate = 2;
44900var CaptureUpdate = 3; // Global state that is reset at the beginning of calling `processUpdateQueue`.
44901// It should only be read right after calling `processUpdateQueue`, via
44902// `checkHasForceUpdateAfterProcessing`.
44903
44904var hasForceUpdate = false;
44905var didWarnUpdateInsideUpdate;
44906var currentlyProcessingQueue;
44907
44908{
44909  didWarnUpdateInsideUpdate = false;
44910  currentlyProcessingQueue = null;
44911}
44912
44913function initializeUpdateQueue(fiber) {
44914  var queue = {
44915    baseState: fiber.memoizedState,
44916    baseQueue: null,
44917    shared: {
44918      pending: null
44919    },
44920    effects: null
44921  };
44922  fiber.updateQueue = queue;
44923}
44924function cloneUpdateQueue(current, workInProgress) {
44925  // Clone the update queue from current. Unless it's already a clone.
44926  var queue = workInProgress.updateQueue;
44927  var currentQueue = current.updateQueue;
44928
44929  if (queue === currentQueue) {
44930    var clone = {
44931      baseState: currentQueue.baseState,
44932      baseQueue: currentQueue.baseQueue,
44933      shared: currentQueue.shared,
44934      effects: currentQueue.effects
44935    };
44936    workInProgress.updateQueue = clone;
44937  }
44938}
44939function createUpdate(expirationTime, suspenseConfig) {
44940  var update = {
44941    expirationTime: expirationTime,
44942    suspenseConfig: suspenseConfig,
44943    tag: UpdateState,
44944    payload: null,
44945    callback: null,
44946    next: null
44947  };
44948  update.next = update;
44949
44950  {
44951    update.priority = getCurrentPriorityLevel();
44952  }
44953
44954  return update;
44955}
44956function enqueueUpdate(fiber, update) {
44957  var updateQueue = fiber.updateQueue;
44958
44959  if (updateQueue === null) {
44960    // Only occurs if the fiber has been unmounted.
44961    return;
44962  }
44963
44964  var sharedQueue = updateQueue.shared;
44965  var pending = sharedQueue.pending;
44966
44967  if (pending === null) {
44968    // This is the first update. Create a circular list.
44969    update.next = update;
44970  } else {
44971    update.next = pending.next;
44972    pending.next = update;
44973  }
44974
44975  sharedQueue.pending = update;
44976
44977  {
44978    if (currentlyProcessingQueue === sharedQueue && !didWarnUpdateInsideUpdate) {
44979      error('An update (setState, replaceState, or forceUpdate) was scheduled ' + 'from inside an update function. Update functions should be pure, ' + 'with zero side-effects. Consider using componentDidUpdate or a ' + 'callback.');
44980
44981      didWarnUpdateInsideUpdate = true;
44982    }
44983  }
44984}
44985function enqueueCapturedUpdate(workInProgress, update) {
44986  var current = workInProgress.alternate;
44987
44988  if (current !== null) {
44989    // Ensure the work-in-progress queue is a clone
44990    cloneUpdateQueue(current, workInProgress);
44991  } // Captured updates go only on the work-in-progress queue.
44992
44993
44994  var queue = workInProgress.updateQueue; // Append the update to the end of the list.
44995
44996  var last = queue.baseQueue;
44997
44998  if (last === null) {
44999    queue.baseQueue = update.next = update;
45000    update.next = update;
45001  } else {
45002    update.next = last.next;
45003    last.next = update;
45004  }
45005}
45006
45007function getStateFromUpdate(workInProgress, queue, update, prevState, nextProps, instance) {
45008  switch (update.tag) {
45009    case ReplaceState:
45010      {
45011        var payload = update.payload;
45012
45013        if (typeof payload === 'function') {
45014          // Updater function
45015          {
45016            enterDisallowedContextReadInDEV();
45017
45018            if ( workInProgress.mode & StrictMode) {
45019              payload.call(instance, prevState, nextProps);
45020            }
45021          }
45022
45023          var nextState = payload.call(instance, prevState, nextProps);
45024
45025          {
45026            exitDisallowedContextReadInDEV();
45027          }
45028
45029          return nextState;
45030        } // State object
45031
45032
45033        return payload;
45034      }
45035
45036    case CaptureUpdate:
45037      {
45038        workInProgress.effectTag = workInProgress.effectTag & ~ShouldCapture | DidCapture;
45039      }
45040    // Intentional fallthrough
45041
45042    case UpdateState:
45043      {
45044        var _payload = update.payload;
45045        var partialState;
45046
45047        if (typeof _payload === 'function') {
45048          // Updater function
45049          {
45050            enterDisallowedContextReadInDEV();
45051
45052            if ( workInProgress.mode & StrictMode) {
45053              _payload.call(instance, prevState, nextProps);
45054            }
45055          }
45056
45057          partialState = _payload.call(instance, prevState, nextProps);
45058
45059          {
45060            exitDisallowedContextReadInDEV();
45061          }
45062        } else {
45063          // Partial state object
45064          partialState = _payload;
45065        }
45066
45067        if (partialState === null || partialState === undefined) {
45068          // Null and undefined are treated as no-ops.
45069          return prevState;
45070        } // Merge the partial state and the previous state.
45071
45072
45073        return _assign({}, prevState, partialState);
45074      }
45075
45076    case ForceUpdate:
45077      {
45078        hasForceUpdate = true;
45079        return prevState;
45080      }
45081  }
45082
45083  return prevState;
45084}
45085
45086function processUpdateQueue(workInProgress, props, instance, renderExpirationTime) {
45087  // This is always non-null on a ClassComponent or HostRoot
45088  var queue = workInProgress.updateQueue;
45089  hasForceUpdate = false;
45090
45091  {
45092    currentlyProcessingQueue = queue.shared;
45093  } // The last rebase update that is NOT part of the base state.
45094
45095
45096  var baseQueue = queue.baseQueue; // The last pending update that hasn't been processed yet.
45097
45098  var pendingQueue = queue.shared.pending;
45099
45100  if (pendingQueue !== null) {
45101    // We have new updates that haven't been processed yet.
45102    // We'll add them to the base queue.
45103    if (baseQueue !== null) {
45104      // Merge the pending queue and the base queue.
45105      var baseFirst = baseQueue.next;
45106      var pendingFirst = pendingQueue.next;
45107      baseQueue.next = pendingFirst;
45108      pendingQueue.next = baseFirst;
45109    }
45110
45111    baseQueue = pendingQueue;
45112    queue.shared.pending = null; // TODO: Pass `current` as argument
45113
45114    var current = workInProgress.alternate;
45115
45116    if (current !== null) {
45117      var currentQueue = current.updateQueue;
45118
45119      if (currentQueue !== null) {
45120        currentQueue.baseQueue = pendingQueue;
45121      }
45122    }
45123  } // These values may change as we process the queue.
45124
45125
45126  if (baseQueue !== null) {
45127    var first = baseQueue.next; // Iterate through the list of updates to compute the result.
45128
45129    var newState = queue.baseState;
45130    var newExpirationTime = NoWork;
45131    var newBaseState = null;
45132    var newBaseQueueFirst = null;
45133    var newBaseQueueLast = null;
45134
45135    if (first !== null) {
45136      var update = first;
45137
45138      do {
45139        var updateExpirationTime = update.expirationTime;
45140
45141        if (updateExpirationTime < renderExpirationTime) {
45142          // Priority is insufficient. Skip this update. If this is the first
45143          // skipped update, the previous update/state is the new base
45144          // update/state.
45145          var clone = {
45146            expirationTime: update.expirationTime,
45147            suspenseConfig: update.suspenseConfig,
45148            tag: update.tag,
45149            payload: update.payload,
45150            callback: update.callback,
45151            next: null
45152          };
45153
45154          if (newBaseQueueLast === null) {
45155            newBaseQueueFirst = newBaseQueueLast = clone;
45156            newBaseState = newState;
45157          } else {
45158            newBaseQueueLast = newBaseQueueLast.next = clone;
45159          } // Update the remaining priority in the queue.
45160
45161
45162          if (updateExpirationTime > newExpirationTime) {
45163            newExpirationTime = updateExpirationTime;
45164          }
45165        } else {
45166          // This update does have sufficient priority.
45167          if (newBaseQueueLast !== null) {
45168            var _clone = {
45169              expirationTime: Sync,
45170              // This update is going to be committed so we never want uncommit it.
45171              suspenseConfig: update.suspenseConfig,
45172              tag: update.tag,
45173              payload: update.payload,
45174              callback: update.callback,
45175              next: null
45176            };
45177            newBaseQueueLast = newBaseQueueLast.next = _clone;
45178          } // Mark the event time of this update as relevant to this render pass.
45179          // TODO: This should ideally use the true event time of this update rather than
45180          // its priority which is a derived and not reverseable value.
45181          // TODO: We should skip this update if it was already committed but currently
45182          // we have no way of detecting the difference between a committed and suspended
45183          // update here.
45184
45185
45186          markRenderEventTimeAndConfig(updateExpirationTime, update.suspenseConfig); // Process this update.
45187
45188          newState = getStateFromUpdate(workInProgress, queue, update, newState, props, instance);
45189          var callback = update.callback;
45190
45191          if (callback !== null) {
45192            workInProgress.effectTag |= Callback;
45193            var effects = queue.effects;
45194
45195            if (effects === null) {
45196              queue.effects = [update];
45197            } else {
45198              effects.push(update);
45199            }
45200          }
45201        }
45202
45203        update = update.next;
45204
45205        if (update === null || update === first) {
45206          pendingQueue = queue.shared.pending;
45207
45208          if (pendingQueue === null) {
45209            break;
45210          } else {
45211            // An update was scheduled from inside a reducer. Add the new
45212            // pending updates to the end of the list and keep processing.
45213            update = baseQueue.next = pendingQueue.next;
45214            pendingQueue.next = first;
45215            queue.baseQueue = baseQueue = pendingQueue;
45216            queue.shared.pending = null;
45217          }
45218        }
45219      } while (true);
45220    }
45221
45222    if (newBaseQueueLast === null) {
45223      newBaseState = newState;
45224    } else {
45225      newBaseQueueLast.next = newBaseQueueFirst;
45226    }
45227
45228    queue.baseState = newBaseState;
45229    queue.baseQueue = newBaseQueueLast; // Set the remaining expiration time to be whatever is remaining in the queue.
45230    // This should be fine because the only two other things that contribute to
45231    // expiration time are props and context. We're already in the middle of the
45232    // begin phase by the time we start processing the queue, so we've already
45233    // dealt with the props. Context in components that specify
45234    // shouldComponentUpdate is tricky; but we'll have to account for
45235    // that regardless.
45236
45237    markUnprocessedUpdateTime(newExpirationTime);
45238    workInProgress.expirationTime = newExpirationTime;
45239    workInProgress.memoizedState = newState;
45240  }
45241
45242  {
45243    currentlyProcessingQueue = null;
45244  }
45245}
45246
45247function callCallback(callback, context) {
45248  if (!(typeof callback === 'function')) {
45249    {
45250      throw Error( "Invalid argument passed as callback. Expected a function. Instead received: " + callback );
45251    }
45252  }
45253
45254  callback.call(context);
45255}
45256
45257function resetHasForceUpdateBeforeProcessing() {
45258  hasForceUpdate = false;
45259}
45260function checkHasForceUpdateAfterProcessing() {
45261  return hasForceUpdate;
45262}
45263function commitUpdateQueue(finishedWork, finishedQueue, instance) {
45264  // Commit the effects
45265  var effects = finishedQueue.effects;
45266  finishedQueue.effects = null;
45267
45268  if (effects !== null) {
45269    for (var i = 0; i < effects.length; i++) {
45270      var effect = effects[i];
45271      var callback = effect.callback;
45272
45273      if (callback !== null) {
45274        effect.callback = null;
45275        callCallback(callback, instance);
45276      }
45277    }
45278  }
45279}
45280
45281var ReactCurrentBatchConfig = ReactSharedInternals.ReactCurrentBatchConfig;
45282function requestCurrentSuspenseConfig() {
45283  return ReactCurrentBatchConfig.suspense;
45284}
45285
45286var fakeInternalInstance = {};
45287var isArray = Array.isArray; // React.Component uses a shared frozen object by default.
45288// We'll use it to determine whether we need to initialize legacy refs.
45289
45290var emptyRefsObject = new React.Component().refs;
45291var didWarnAboutStateAssignmentForComponent;
45292var didWarnAboutUninitializedState;
45293var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate;
45294var didWarnAboutLegacyLifecyclesAndDerivedState;
45295var didWarnAboutUndefinedDerivedState;
45296var warnOnUndefinedDerivedState;
45297var warnOnInvalidCallback;
45298var didWarnAboutDirectlyAssigningPropsToState;
45299var didWarnAboutContextTypeAndContextTypes;
45300var didWarnAboutInvalidateContextType;
45301
45302{
45303  didWarnAboutStateAssignmentForComponent = new Set();
45304  didWarnAboutUninitializedState = new Set();
45305  didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = new Set();
45306  didWarnAboutLegacyLifecyclesAndDerivedState = new Set();
45307  didWarnAboutDirectlyAssigningPropsToState = new Set();
45308  didWarnAboutUndefinedDerivedState = new Set();
45309  didWarnAboutContextTypeAndContextTypes = new Set();
45310  didWarnAboutInvalidateContextType = new Set();
45311  var didWarnOnInvalidCallback = new Set();
45312
45313  warnOnInvalidCallback = function (callback, callerName) {
45314    if (callback === null || typeof callback === 'function') {
45315      return;
45316    }
45317
45318    var key = callerName + "_" + callback;
45319
45320    if (!didWarnOnInvalidCallback.has(key)) {
45321      didWarnOnInvalidCallback.add(key);
45322
45323      error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback);
45324    }
45325  };
45326
45327  warnOnUndefinedDerivedState = function (type, partialState) {
45328    if (partialState === undefined) {
45329      var componentName = getComponentName(type) || 'Component';
45330
45331      if (!didWarnAboutUndefinedDerivedState.has(componentName)) {
45332        didWarnAboutUndefinedDerivedState.add(componentName);
45333
45334        error('%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. ' + 'You have returned undefined.', componentName);
45335      }
45336    }
45337  }; // This is so gross but it's at least non-critical and can be removed if
45338  // it causes problems. This is meant to give a nicer error message for
45339  // ReactDOM15.unstable_renderSubtreeIntoContainer(reactDOM16Component,
45340  // ...)) which otherwise throws a "_processChildContext is not a function"
45341  // exception.
45342
45343
45344  Object.defineProperty(fakeInternalInstance, '_processChildContext', {
45345    enumerable: false,
45346    value: function () {
45347      {
45348        {
45349          throw Error( "_processChildContext is not available in React 16+. This likely means you have multiple copies of React and are attempting to nest a React 15 tree inside a React 16 tree using unstable_renderSubtreeIntoContainer, which isn't supported. Try to make sure you have only one copy of React (and ideally, switch to ReactDOM.createPortal)." );
45350        }
45351      }
45352    }
45353  });
45354  Object.freeze(fakeInternalInstance);
45355}
45356
45357function applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, nextProps) {
45358  var prevState = workInProgress.memoizedState;
45359
45360  {
45361    if ( workInProgress.mode & StrictMode) {
45362      // Invoke the function an extra time to help detect side-effects.
45363      getDerivedStateFromProps(nextProps, prevState);
45364    }
45365  }
45366
45367  var partialState = getDerivedStateFromProps(nextProps, prevState);
45368
45369  {
45370    warnOnUndefinedDerivedState(ctor, partialState);
45371  } // Merge the partial state and the previous state.
45372
45373
45374  var memoizedState = partialState === null || partialState === undefined ? prevState : _assign({}, prevState, partialState);
45375  workInProgress.memoizedState = memoizedState; // Once the update queue is empty, persist the derived state onto the
45376  // base state.
45377
45378  if (workInProgress.expirationTime === NoWork) {
45379    // Queue is always non-null for classes
45380    var updateQueue = workInProgress.updateQueue;
45381    updateQueue.baseState = memoizedState;
45382  }
45383}
45384var classComponentUpdater = {
45385  isMounted: isMounted,
45386  enqueueSetState: function (inst, payload, callback) {
45387    var fiber = get(inst);
45388    var currentTime = requestCurrentTimeForUpdate();
45389    var suspenseConfig = requestCurrentSuspenseConfig();
45390    var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig);
45391    var update = createUpdate(expirationTime, suspenseConfig);
45392    update.payload = payload;
45393
45394    if (callback !== undefined && callback !== null) {
45395      {
45396        warnOnInvalidCallback(callback, 'setState');
45397      }
45398
45399      update.callback = callback;
45400    }
45401
45402    enqueueUpdate(fiber, update);
45403    scheduleWork(fiber, expirationTime);
45404  },
45405  enqueueReplaceState: function (inst, payload, callback) {
45406    var fiber = get(inst);
45407    var currentTime = requestCurrentTimeForUpdate();
45408    var suspenseConfig = requestCurrentSuspenseConfig();
45409    var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig);
45410    var update = createUpdate(expirationTime, suspenseConfig);
45411    update.tag = ReplaceState;
45412    update.payload = payload;
45413
45414    if (callback !== undefined && callback !== null) {
45415      {
45416        warnOnInvalidCallback(callback, 'replaceState');
45417      }
45418
45419      update.callback = callback;
45420    }
45421
45422    enqueueUpdate(fiber, update);
45423    scheduleWork(fiber, expirationTime);
45424  },
45425  enqueueForceUpdate: function (inst, callback) {
45426    var fiber = get(inst);
45427    var currentTime = requestCurrentTimeForUpdate();
45428    var suspenseConfig = requestCurrentSuspenseConfig();
45429    var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig);
45430    var update = createUpdate(expirationTime, suspenseConfig);
45431    update.tag = ForceUpdate;
45432
45433    if (callback !== undefined && callback !== null) {
45434      {
45435        warnOnInvalidCallback(callback, 'forceUpdate');
45436      }
45437
45438      update.callback = callback;
45439    }
45440
45441    enqueueUpdate(fiber, update);
45442    scheduleWork(fiber, expirationTime);
45443  }
45444};
45445
45446function checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) {
45447  var instance = workInProgress.stateNode;
45448
45449  if (typeof instance.shouldComponentUpdate === 'function') {
45450    {
45451      if ( workInProgress.mode & StrictMode) {
45452        // Invoke the function an extra time to help detect side-effects.
45453        instance.shouldComponentUpdate(newProps, newState, nextContext);
45454      }
45455    }
45456
45457    startPhaseTimer(workInProgress, 'shouldComponentUpdate');
45458    var shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext);
45459    stopPhaseTimer();
45460
45461    {
45462      if (shouldUpdate === undefined) {
45463        error('%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', getComponentName(ctor) || 'Component');
45464      }
45465    }
45466
45467    return shouldUpdate;
45468  }
45469
45470  if (ctor.prototype && ctor.prototype.isPureReactComponent) {
45471    return !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState);
45472  }
45473
45474  return true;
45475}
45476
45477function checkClassInstance(workInProgress, ctor, newProps) {
45478  var instance = workInProgress.stateNode;
45479
45480  {
45481    var name = getComponentName(ctor) || 'Component';
45482    var renderPresent = instance.render;
45483
45484    if (!renderPresent) {
45485      if (ctor.prototype && typeof ctor.prototype.render === 'function') {
45486        error('%s(...): No `render` method found on the returned component ' + 'instance: did you accidentally return an object from the constructor?', name);
45487      } else {
45488        error('%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', name);
45489      }
45490    }
45491
45492    if (instance.getInitialState && !instance.getInitialState.isReactClassApproved && !instance.state) {
45493      error('getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', name);
45494    }
45495
45496    if (instance.getDefaultProps && !instance.getDefaultProps.isReactClassApproved) {
45497      error('getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', name);
45498    }
45499
45500    if (instance.propTypes) {
45501      error('propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', name);
45502    }
45503
45504    if (instance.contextType) {
45505      error('contextType was defined as an instance property on %s. Use a static ' + 'property to define contextType instead.', name);
45506    }
45507
45508    {
45509      if (instance.contextTypes) {
45510        error('contextTypes was defined as an instance property on %s. Use a static ' + 'property to define contextTypes instead.', name);
45511      }
45512
45513      if (ctor.contextType && ctor.contextTypes && !didWarnAboutContextTypeAndContextTypes.has(ctor)) {
45514        didWarnAboutContextTypeAndContextTypes.add(ctor);
45515
45516        error('%s declares both contextTypes and contextType static properties. ' + 'The legacy contextTypes property will be ignored.', name);
45517      }
45518    }
45519
45520    if (typeof instance.componentShouldUpdate === 'function') {
45521      error('%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', name);
45522    }
45523
45524    if (ctor.prototype && ctor.prototype.isPureReactComponent && typeof instance.shouldComponentUpdate !== 'undefined') {
45525      error('%s has a method called shouldComponentUpdate(). ' + 'shouldComponentUpdate should not be used when extending React.PureComponent. ' + 'Please extend React.Component if shouldComponentUpdate is used.', getComponentName(ctor) || 'A pure component');
45526    }
45527
45528    if (typeof instance.componentDidUnmount === 'function') {
45529      error('%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', name);
45530    }
45531
45532    if (typeof instance.componentDidReceiveProps === 'function') {
45533      error('%s has a method called ' + 'componentDidReceiveProps(). But there is no such lifecycle method. ' + 'If you meant to update the state in response to changing props, ' + 'use componentWillReceiveProps(). If you meant to fetch data or ' + 'run side-effects or mutations after React has updated the UI, use componentDidUpdate().', name);
45534    }
45535
45536    if (typeof instance.componentWillRecieveProps === 'function') {
45537      error('%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', name);
45538    }
45539
45540    if (typeof instance.UNSAFE_componentWillRecieveProps === 'function') {
45541      error('%s has a method called ' + 'UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?', name);
45542    }
45543
45544    var hasMutatedProps = instance.props !== newProps;
45545
45546    if (instance.props !== undefined && hasMutatedProps) {
45547      error('%s(...): When calling super() in `%s`, make sure to pass ' + "up the same props that your component's constructor was passed.", name, name);
45548    }
45549
45550    if (instance.defaultProps) {
45551      error('Setting defaultProps as an instance property on %s is not supported and will be ignored.' + ' Instead, define defaultProps as a static property on %s.', name, name);
45552    }
45553
45554    if (typeof instance.getSnapshotBeforeUpdate === 'function' && typeof instance.componentDidUpdate !== 'function' && !didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(ctor)) {
45555      didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(ctor);
45556
45557      error('%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). ' + 'This component defines getSnapshotBeforeUpdate() only.', getComponentName(ctor));
45558    }
45559
45560    if (typeof instance.getDerivedStateFromProps === 'function') {
45561      error('%s: getDerivedStateFromProps() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);
45562    }
45563
45564    if (typeof instance.getDerivedStateFromError === 'function') {
45565      error('%s: getDerivedStateFromError() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);
45566    }
45567
45568    if (typeof ctor.getSnapshotBeforeUpdate === 'function') {
45569      error('%s: getSnapshotBeforeUpdate() is defined as a static method ' + 'and will be ignored. Instead, declare it as an instance method.', name);
45570    }
45571
45572    var _state = instance.state;
45573
45574    if (_state && (typeof _state !== 'object' || isArray(_state))) {
45575      error('%s.state: must be set to an object or null', name);
45576    }
45577
45578    if (typeof instance.getChildContext === 'function' && typeof ctor.childContextTypes !== 'object') {
45579      error('%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', name);
45580    }
45581  }
45582}
45583
45584function adoptClassInstance(workInProgress, instance) {
45585  instance.updater = classComponentUpdater;
45586  workInProgress.stateNode = instance; // The instance needs access to the fiber so that it can schedule updates
45587
45588  set(instance, workInProgress);
45589
45590  {
45591    instance._reactInternalInstance = fakeInternalInstance;
45592  }
45593}
45594
45595function constructClassInstance(workInProgress, ctor, props) {
45596  var isLegacyContextConsumer = false;
45597  var unmaskedContext = emptyContextObject;
45598  var context = emptyContextObject;
45599  var contextType = ctor.contextType;
45600
45601  {
45602    if ('contextType' in ctor) {
45603      var isValid = // Allow null for conditional declaration
45604      contextType === null || contextType !== undefined && contextType.$$typeof === REACT_CONTEXT_TYPE && contextType._context === undefined; // Not a <Context.Consumer>
45605
45606      if (!isValid && !didWarnAboutInvalidateContextType.has(ctor)) {
45607        didWarnAboutInvalidateContextType.add(ctor);
45608        var addendum = '';
45609
45610        if (contextType === undefined) {
45611          addendum = ' However, it is set to undefined. ' + 'This can be caused by a typo or by mixing up named and default imports. ' + 'This can also happen due to a circular dependency, so ' + 'try moving the createContext() call to a separate file.';
45612        } else if (typeof contextType !== 'object') {
45613          addendum = ' However, it is set to a ' + typeof contextType + '.';
45614        } else if (contextType.$$typeof === REACT_PROVIDER_TYPE) {
45615          addendum = ' Did you accidentally pass the Context.Provider instead?';
45616        } else if (contextType._context !== undefined) {
45617          // <Context.Consumer>
45618          addendum = ' Did you accidentally pass the Context.Consumer instead?';
45619        } else {
45620          addendum = ' However, it is set to an object with keys {' + Object.keys(contextType).join(', ') + '}.';
45621        }
45622
45623        error('%s defines an invalid contextType. ' + 'contextType should point to the Context object returned by React.createContext().%s', getComponentName(ctor) || 'Component', addendum);
45624      }
45625    }
45626  }
45627
45628  if (typeof contextType === 'object' && contextType !== null) {
45629    context = readContext(contextType);
45630  } else {
45631    unmaskedContext = getUnmaskedContext(workInProgress, ctor, true);
45632    var contextTypes = ctor.contextTypes;
45633    isLegacyContextConsumer = contextTypes !== null && contextTypes !== undefined;
45634    context = isLegacyContextConsumer ? getMaskedContext(workInProgress, unmaskedContext) : emptyContextObject;
45635  } // Instantiate twice to help detect side-effects.
45636
45637
45638  {
45639    if ( workInProgress.mode & StrictMode) {
45640      new ctor(props, context); // eslint-disable-line no-new
45641    }
45642  }
45643
45644  var instance = new ctor(props, context);
45645  var state = workInProgress.memoizedState = instance.state !== null && instance.state !== undefined ? instance.state : null;
45646  adoptClassInstance(workInProgress, instance);
45647
45648  {
45649    if (typeof ctor.getDerivedStateFromProps === 'function' && state === null) {
45650      var componentName = getComponentName(ctor) || 'Component';
45651
45652      if (!didWarnAboutUninitializedState.has(componentName)) {
45653        didWarnAboutUninitializedState.add(componentName);
45654
45655        error('`%s` uses `getDerivedStateFromProps` but its initial state is ' + '%s. This is not recommended. Instead, define the initial state by ' + 'assigning an object to `this.state` in the constructor of `%s`. ' + 'This ensures that `getDerivedStateFromProps` arguments have a consistent shape.', componentName, instance.state === null ? 'null' : 'undefined', componentName);
45656      }
45657    } // If new component APIs are defined, "unsafe" lifecycles won't be called.
45658    // Warn about these lifecycles if they are present.
45659    // Don't warn about react-lifecycles-compat polyfilled methods though.
45660
45661
45662    if (typeof ctor.getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function') {
45663      var foundWillMountName = null;
45664      var foundWillReceivePropsName = null;
45665      var foundWillUpdateName = null;
45666
45667      if (typeof instance.componentWillMount === 'function' && instance.componentWillMount.__suppressDeprecationWarning !== true) {
45668        foundWillMountName = 'componentWillMount';
45669      } else if (typeof instance.UNSAFE_componentWillMount === 'function') {
45670        foundWillMountName = 'UNSAFE_componentWillMount';
45671      }
45672
45673      if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {
45674        foundWillReceivePropsName = 'componentWillReceiveProps';
45675      } else if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {
45676        foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';
45677      }
45678
45679      if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {
45680        foundWillUpdateName = 'componentWillUpdate';
45681      } else if (typeof instance.UNSAFE_componentWillUpdate === 'function') {
45682        foundWillUpdateName = 'UNSAFE_componentWillUpdate';
45683      }
45684
45685      if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) {
45686        var _componentName = getComponentName(ctor) || 'Component';
45687
45688        var newApiName = typeof ctor.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()';
45689
45690        if (!didWarnAboutLegacyLifecyclesAndDerivedState.has(_componentName)) {
45691          didWarnAboutLegacyLifecyclesAndDerivedState.add(_componentName);
45692
45693          error('Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n' + '%s uses %s but also contains the following legacy lifecycles:%s%s%s\n\n' + 'The above lifecycles should be removed. Learn more about this warning here:\n' + 'https://fb.me/react-unsafe-component-lifecycles', _componentName, newApiName, foundWillMountName !== null ? "\n  " + foundWillMountName : '', foundWillReceivePropsName !== null ? "\n  " + foundWillReceivePropsName : '', foundWillUpdateName !== null ? "\n  " + foundWillUpdateName : '');
45694        }
45695      }
45696    }
45697  } // Cache unmasked context so we can avoid recreating masked context unless necessary.
45698  // ReactFiberContext usually updates this cache but can't for newly-created instances.
45699
45700
45701  if (isLegacyContextConsumer) {
45702    cacheContext(workInProgress, unmaskedContext, context);
45703  }
45704
45705  return instance;
45706}
45707
45708function callComponentWillMount(workInProgress, instance) {
45709  startPhaseTimer(workInProgress, 'componentWillMount');
45710  var oldState = instance.state;
45711
45712  if (typeof instance.componentWillMount === 'function') {
45713    instance.componentWillMount();
45714  }
45715
45716  if (typeof instance.UNSAFE_componentWillMount === 'function') {
45717    instance.UNSAFE_componentWillMount();
45718  }
45719
45720  stopPhaseTimer();
45721
45722  if (oldState !== instance.state) {
45723    {
45724      error('%s.componentWillMount(): Assigning directly to this.state is ' + "deprecated (except inside a component's " + 'constructor). Use setState instead.', getComponentName(workInProgress.type) || 'Component');
45725    }
45726
45727    classComponentUpdater.enqueueReplaceState(instance, instance.state, null);
45728  }
45729}
45730
45731function callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext) {
45732  var oldState = instance.state;
45733  startPhaseTimer(workInProgress, 'componentWillReceiveProps');
45734
45735  if (typeof instance.componentWillReceiveProps === 'function') {
45736    instance.componentWillReceiveProps(newProps, nextContext);
45737  }
45738
45739  if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {
45740    instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);
45741  }
45742
45743  stopPhaseTimer();
45744
45745  if (instance.state !== oldState) {
45746    {
45747      var componentName = getComponentName(workInProgress.type) || 'Component';
45748
45749      if (!didWarnAboutStateAssignmentForComponent.has(componentName)) {
45750        didWarnAboutStateAssignmentForComponent.add(componentName);
45751
45752        error('%s.componentWillReceiveProps(): Assigning directly to ' + "this.state is deprecated (except inside a component's " + 'constructor). Use setState instead.', componentName);
45753      }
45754    }
45755
45756    classComponentUpdater.enqueueReplaceState(instance, instance.state, null);
45757  }
45758} // Invokes the mount life-cycles on a previously never rendered instance.
45759
45760
45761function mountClassInstance(workInProgress, ctor, newProps, renderExpirationTime) {
45762  {
45763    checkClassInstance(workInProgress, ctor, newProps);
45764  }
45765
45766  var instance = workInProgress.stateNode;
45767  instance.props = newProps;
45768  instance.state = workInProgress.memoizedState;
45769  instance.refs = emptyRefsObject;
45770  initializeUpdateQueue(workInProgress);
45771  var contextType = ctor.contextType;
45772
45773  if (typeof contextType === 'object' && contextType !== null) {
45774    instance.context = readContext(contextType);
45775  } else {
45776    var unmaskedContext = getUnmaskedContext(workInProgress, ctor, true);
45777    instance.context = getMaskedContext(workInProgress, unmaskedContext);
45778  }
45779
45780  {
45781    if (instance.state === newProps) {
45782      var componentName = getComponentName(ctor) || 'Component';
45783
45784      if (!didWarnAboutDirectlyAssigningPropsToState.has(componentName)) {
45785        didWarnAboutDirectlyAssigningPropsToState.add(componentName);
45786
45787        error('%s: It is not recommended to assign props directly to state ' + "because updates to props won't be reflected in state. " + 'In most cases, it is better to use props directly.', componentName);
45788      }
45789    }
45790
45791    if (workInProgress.mode & StrictMode) {
45792      ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, instance);
45793    }
45794
45795    {
45796      ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(workInProgress, instance);
45797    }
45798  }
45799
45800  processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime);
45801  instance.state = workInProgress.memoizedState;
45802  var getDerivedStateFromProps = ctor.getDerivedStateFromProps;
45803
45804  if (typeof getDerivedStateFromProps === 'function') {
45805    applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);
45806    instance.state = workInProgress.memoizedState;
45807  } // In order to support react-lifecycles-compat polyfilled components,
45808  // Unsafe lifecycles should not be invoked for components using the new APIs.
45809
45810
45811  if (typeof ctor.getDerivedStateFromProps !== 'function' && typeof instance.getSnapshotBeforeUpdate !== 'function' && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {
45812    callComponentWillMount(workInProgress, instance); // If we had additional state updates during this life-cycle, let's
45813    // process them now.
45814
45815    processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime);
45816    instance.state = workInProgress.memoizedState;
45817  }
45818
45819  if (typeof instance.componentDidMount === 'function') {
45820    workInProgress.effectTag |= Update;
45821  }
45822}
45823
45824function resumeMountClassInstance(workInProgress, ctor, newProps, renderExpirationTime) {
45825  var instance = workInProgress.stateNode;
45826  var oldProps = workInProgress.memoizedProps;
45827  instance.props = oldProps;
45828  var oldContext = instance.context;
45829  var contextType = ctor.contextType;
45830  var nextContext = emptyContextObject;
45831
45832  if (typeof contextType === 'object' && contextType !== null) {
45833    nextContext = readContext(contextType);
45834  } else {
45835    var nextLegacyUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true);
45836    nextContext = getMaskedContext(workInProgress, nextLegacyUnmaskedContext);
45837  }
45838
45839  var getDerivedStateFromProps = ctor.getDerivedStateFromProps;
45840  var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what
45841  // ever the previously attempted to render - not the "current". However,
45842  // during componentDidUpdate we pass the "current" props.
45843  // In order to support react-lifecycles-compat polyfilled components,
45844  // Unsafe lifecycles should not be invoked for components using the new APIs.
45845
45846  if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) {
45847    if (oldProps !== newProps || oldContext !== nextContext) {
45848      callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext);
45849    }
45850  }
45851
45852  resetHasForceUpdateBeforeProcessing();
45853  var oldState = workInProgress.memoizedState;
45854  var newState = instance.state = oldState;
45855  processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime);
45856  newState = workInProgress.memoizedState;
45857
45858  if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) {
45859    // If an update was already in progress, we should schedule an Update
45860    // effect even though we're bailing out, so that cWU/cDU are called.
45861    if (typeof instance.componentDidMount === 'function') {
45862      workInProgress.effectTag |= Update;
45863    }
45864
45865    return false;
45866  }
45867
45868  if (typeof getDerivedStateFromProps === 'function') {
45869    applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);
45870    newState = workInProgress.memoizedState;
45871  }
45872
45873  var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext);
45874
45875  if (shouldUpdate) {
45876    // In order to support react-lifecycles-compat polyfilled components,
45877    // Unsafe lifecycles should not be invoked for components using the new APIs.
45878    if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {
45879      startPhaseTimer(workInProgress, 'componentWillMount');
45880
45881      if (typeof instance.componentWillMount === 'function') {
45882        instance.componentWillMount();
45883      }
45884
45885      if (typeof instance.UNSAFE_componentWillMount === 'function') {
45886        instance.UNSAFE_componentWillMount();
45887      }
45888
45889      stopPhaseTimer();
45890    }
45891
45892    if (typeof instance.componentDidMount === 'function') {
45893      workInProgress.effectTag |= Update;
45894    }
45895  } else {
45896    // If an update was already in progress, we should schedule an Update
45897    // effect even though we're bailing out, so that cWU/cDU are called.
45898    if (typeof instance.componentDidMount === 'function') {
45899      workInProgress.effectTag |= Update;
45900    } // If shouldComponentUpdate returned false, we should still update the
45901    // memoized state to indicate that this work can be reused.
45902
45903
45904    workInProgress.memoizedProps = newProps;
45905    workInProgress.memoizedState = newState;
45906  } // Update the existing instance's state, props, and context pointers even
45907  // if shouldComponentUpdate returns false.
45908
45909
45910  instance.props = newProps;
45911  instance.state = newState;
45912  instance.context = nextContext;
45913  return shouldUpdate;
45914} // Invokes the update life-cycles and returns false if it shouldn't rerender.
45915
45916
45917function updateClassInstance(current, workInProgress, ctor, newProps, renderExpirationTime) {
45918  var instance = workInProgress.stateNode;
45919  cloneUpdateQueue(current, workInProgress);
45920  var oldProps = workInProgress.memoizedProps;
45921  instance.props = workInProgress.type === workInProgress.elementType ? oldProps : resolveDefaultProps(workInProgress.type, oldProps);
45922  var oldContext = instance.context;
45923  var contextType = ctor.contextType;
45924  var nextContext = emptyContextObject;
45925
45926  if (typeof contextType === 'object' && contextType !== null) {
45927    nextContext = readContext(contextType);
45928  } else {
45929    var nextUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true);
45930    nextContext = getMaskedContext(workInProgress, nextUnmaskedContext);
45931  }
45932
45933  var getDerivedStateFromProps = ctor.getDerivedStateFromProps;
45934  var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what
45935  // ever the previously attempted to render - not the "current". However,
45936  // during componentDidUpdate we pass the "current" props.
45937  // In order to support react-lifecycles-compat polyfilled components,
45938  // Unsafe lifecycles should not be invoked for components using the new APIs.
45939
45940  if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) {
45941    if (oldProps !== newProps || oldContext !== nextContext) {
45942      callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext);
45943    }
45944  }
45945
45946  resetHasForceUpdateBeforeProcessing();
45947  var oldState = workInProgress.memoizedState;
45948  var newState = instance.state = oldState;
45949  processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime);
45950  newState = workInProgress.memoizedState;
45951
45952  if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) {
45953    // If an update was already in progress, we should schedule an Update
45954    // effect even though we're bailing out, so that cWU/cDU are called.
45955    if (typeof instance.componentDidUpdate === 'function') {
45956      if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) {
45957        workInProgress.effectTag |= Update;
45958      }
45959    }
45960
45961    if (typeof instance.getSnapshotBeforeUpdate === 'function') {
45962      if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) {
45963        workInProgress.effectTag |= Snapshot;
45964      }
45965    }
45966
45967    return false;
45968  }
45969
45970  if (typeof getDerivedStateFromProps === 'function') {
45971    applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);
45972    newState = workInProgress.memoizedState;
45973  }
45974
45975  var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext);
45976
45977  if (shouldUpdate) {
45978    // In order to support react-lifecycles-compat polyfilled components,
45979    // Unsafe lifecycles should not be invoked for components using the new APIs.
45980    if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillUpdate === 'function' || typeof instance.componentWillUpdate === 'function')) {
45981      startPhaseTimer(workInProgress, 'componentWillUpdate');
45982
45983      if (typeof instance.componentWillUpdate === 'function') {
45984        instance.componentWillUpdate(newProps, newState, nextContext);
45985      }
45986
45987      if (typeof instance.UNSAFE_componentWillUpdate === 'function') {
45988        instance.UNSAFE_componentWillUpdate(newProps, newState, nextContext);
45989      }
45990
45991      stopPhaseTimer();
45992    }
45993
45994    if (typeof instance.componentDidUpdate === 'function') {
45995      workInProgress.effectTag |= Update;
45996    }
45997
45998    if (typeof instance.getSnapshotBeforeUpdate === 'function') {
45999      workInProgress.effectTag |= Snapshot;
46000    }
46001  } else {
46002    // If an update was already in progress, we should schedule an Update
46003    // effect even though we're bailing out, so that cWU/cDU are called.
46004    if (typeof instance.componentDidUpdate === 'function') {
46005      if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) {
46006        workInProgress.effectTag |= Update;
46007      }
46008    }
46009
46010    if (typeof instance.getSnapshotBeforeUpdate === 'function') {
46011      if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) {
46012        workInProgress.effectTag |= Snapshot;
46013      }
46014    } // If shouldComponentUpdate returned false, we should still update the
46015    // memoized props/state to indicate that this work can be reused.
46016
46017
46018    workInProgress.memoizedProps = newProps;
46019    workInProgress.memoizedState = newState;
46020  } // Update the existing instance's state, props, and context pointers even
46021  // if shouldComponentUpdate returns false.
46022
46023
46024  instance.props = newProps;
46025  instance.state = newState;
46026  instance.context = nextContext;
46027  return shouldUpdate;
46028}
46029
46030var didWarnAboutMaps;
46031var didWarnAboutGenerators;
46032var didWarnAboutStringRefs;
46033var ownerHasKeyUseWarning;
46034var ownerHasFunctionTypeWarning;
46035
46036var warnForMissingKey = function (child) {};
46037
46038{
46039  didWarnAboutMaps = false;
46040  didWarnAboutGenerators = false;
46041  didWarnAboutStringRefs = {};
46042  /**
46043   * Warn if there's no key explicitly set on dynamic arrays of children or
46044   * object keys are not valid. This allows us to keep track of children between
46045   * updates.
46046   */
46047
46048  ownerHasKeyUseWarning = {};
46049  ownerHasFunctionTypeWarning = {};
46050
46051  warnForMissingKey = function (child) {
46052    if (child === null || typeof child !== 'object') {
46053      return;
46054    }
46055
46056    if (!child._store || child._store.validated || child.key != null) {
46057      return;
46058    }
46059
46060    if (!(typeof child._store === 'object')) {
46061      {
46062        throw Error( "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue." );
46063      }
46064    }
46065
46066    child._store.validated = true;
46067    var currentComponentErrorInfo = 'Each child in a list should have a unique ' + '"key" prop. See https://fb.me/react-warning-keys for ' + 'more information.' + getCurrentFiberStackInDev();
46068
46069    if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {
46070      return;
46071    }
46072
46073    ownerHasKeyUseWarning[currentComponentErrorInfo] = true;
46074
46075    error('Each child in a list should have a unique ' + '"key" prop. See https://fb.me/react-warning-keys for ' + 'more information.');
46076  };
46077}
46078
46079var isArray$1 = Array.isArray;
46080
46081function coerceRef(returnFiber, current, element) {
46082  var mixedRef = element.ref;
46083
46084  if (mixedRef !== null && typeof mixedRef !== 'function' && typeof mixedRef !== 'object') {
46085    {
46086      // TODO: Clean this up once we turn on the string ref warning for
46087      // everyone, because the strict mode case will no longer be relevant
46088      if ((returnFiber.mode & StrictMode || warnAboutStringRefs) && // We warn in ReactElement.js if owner and self are equal for string refs
46089      // because these cannot be automatically converted to an arrow function
46090      // using a codemod. Therefore, we don't have to warn about string refs again.
46091      !(element._owner && element._self && element._owner.stateNode !== element._self)) {
46092        var componentName = getComponentName(returnFiber.type) || 'Component';
46093
46094        if (!didWarnAboutStringRefs[componentName]) {
46095          {
46096            error('A string ref, "%s", has been found within a strict mode tree. ' + 'String refs are a source of potential bugs and should be avoided. ' + 'We recommend using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-string-ref%s', mixedRef, getStackByFiberInDevAndProd(returnFiber));
46097          }
46098
46099          didWarnAboutStringRefs[componentName] = true;
46100        }
46101      }
46102    }
46103
46104    if (element._owner) {
46105      var owner = element._owner;
46106      var inst;
46107
46108      if (owner) {
46109        var ownerFiber = owner;
46110
46111        if (!(ownerFiber.tag === ClassComponent)) {
46112          {
46113            throw Error( "Function components cannot have string refs. We recommend using useRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref" );
46114          }
46115        }
46116
46117        inst = ownerFiber.stateNode;
46118      }
46119
46120      if (!inst) {
46121        {
46122          throw Error( "Missing owner for string ref " + mixedRef + ". This error is likely caused by a bug in React. Please file an issue." );
46123        }
46124      }
46125
46126      var stringRef = '' + mixedRef; // Check if previous string ref matches new string ref
46127
46128      if (current !== null && current.ref !== null && typeof current.ref === 'function' && current.ref._stringRef === stringRef) {
46129        return current.ref;
46130      }
46131
46132      var ref = function (value) {
46133        var refs = inst.refs;
46134
46135        if (refs === emptyRefsObject) {
46136          // This is a lazy pooled frozen object, so we need to initialize.
46137          refs = inst.refs = {};
46138        }
46139
46140        if (value === null) {
46141          delete refs[stringRef];
46142        } else {
46143          refs[stringRef] = value;
46144        }
46145      };
46146
46147      ref._stringRef = stringRef;
46148      return ref;
46149    } else {
46150      if (!(typeof mixedRef === 'string')) {
46151        {
46152          throw Error( "Expected ref to be a function, a string, an object returned by React.createRef(), or null." );
46153        }
46154      }
46155
46156      if (!element._owner) {
46157        {
46158          throw Error( "Element ref was specified as a string (" + mixedRef + ") but no owner was set. This could happen for one of the following reasons:\n1. You may be adding a ref to a function component\n2. You may be adding a ref to a component that was not created inside a component's render method\n3. You have multiple copies of React loaded\nSee https://fb.me/react-refs-must-have-owner for more information." );
46159        }
46160      }
46161    }
46162  }
46163
46164  return mixedRef;
46165}
46166
46167function throwOnInvalidObjectType(returnFiber, newChild) {
46168  if (returnFiber.type !== 'textarea') {
46169    var addendum = '';
46170
46171    {
46172      addendum = ' If you meant to render a collection of children, use an array ' + 'instead.' + getCurrentFiberStackInDev();
46173    }
46174
46175    {
46176      {
46177        throw Error( "Objects are not valid as a React child (found: " + (Object.prototype.toString.call(newChild) === '[object Object]' ? 'object with keys {' + Object.keys(newChild).join(', ') + '}' : newChild) + ")." + addendum );
46178      }
46179    }
46180  }
46181}
46182
46183function warnOnFunctionType() {
46184  {
46185    var currentComponentErrorInfo = 'Functions are not valid as a React child. This may happen if ' + 'you return a Component instead of <Component /> from render. ' + 'Or maybe you meant to call this function rather than return it.' + getCurrentFiberStackInDev();
46186
46187    if (ownerHasFunctionTypeWarning[currentComponentErrorInfo]) {
46188      return;
46189    }
46190
46191    ownerHasFunctionTypeWarning[currentComponentErrorInfo] = true;
46192
46193    error('Functions are not valid as a React child. This may happen if ' + 'you return a Component instead of <Component /> from render. ' + 'Or maybe you meant to call this function rather than return it.');
46194  }
46195} // This wrapper function exists because I expect to clone the code in each path
46196// to be able to optimize each path individually by branching early. This needs
46197// a compiler or we can do it manually. Helpers that don't need this branching
46198// live outside of this function.
46199
46200
46201function ChildReconciler(shouldTrackSideEffects) {
46202  function deleteChild(returnFiber, childToDelete) {
46203    if (!shouldTrackSideEffects) {
46204      // Noop.
46205      return;
46206    } // Deletions are added in reversed order so we add it to the front.
46207    // At this point, the return fiber's effect list is empty except for
46208    // deletions, so we can just append the deletion to the list. The remaining
46209    // effects aren't added until the complete phase. Once we implement
46210    // resuming, this may not be true.
46211
46212
46213    var last = returnFiber.lastEffect;
46214
46215    if (last !== null) {
46216      last.nextEffect = childToDelete;
46217      returnFiber.lastEffect = childToDelete;
46218    } else {
46219      returnFiber.firstEffect = returnFiber.lastEffect = childToDelete;
46220    }
46221
46222    childToDelete.nextEffect = null;
46223    childToDelete.effectTag = Deletion;
46224  }
46225
46226  function deleteRemainingChildren(returnFiber, currentFirstChild) {
46227    if (!shouldTrackSideEffects) {
46228      // Noop.
46229      return null;
46230    } // TODO: For the shouldClone case, this could be micro-optimized a bit by
46231    // assuming that after the first child we've already added everything.
46232
46233
46234    var childToDelete = currentFirstChild;
46235
46236    while (childToDelete !== null) {
46237      deleteChild(returnFiber, childToDelete);
46238      childToDelete = childToDelete.sibling;
46239    }
46240
46241    return null;
46242  }
46243
46244  function mapRemainingChildren(returnFiber, currentFirstChild) {
46245    // Add the remaining children to a temporary map so that we can find them by
46246    // keys quickly. Implicit (null) keys get added to this set with their index
46247    // instead.
46248    var existingChildren = new Map();
46249    var existingChild = currentFirstChild;
46250
46251    while (existingChild !== null) {
46252      if (existingChild.key !== null) {
46253        existingChildren.set(existingChild.key, existingChild);
46254      } else {
46255        existingChildren.set(existingChild.index, existingChild);
46256      }
46257
46258      existingChild = existingChild.sibling;
46259    }
46260
46261    return existingChildren;
46262  }
46263
46264  function useFiber(fiber, pendingProps) {
46265    // We currently set sibling to null and index to 0 here because it is easy
46266    // to forget to do before returning it. E.g. for the single child case.
46267    var clone = createWorkInProgress(fiber, pendingProps);
46268    clone.index = 0;
46269    clone.sibling = null;
46270    return clone;
46271  }
46272
46273  function placeChild(newFiber, lastPlacedIndex, newIndex) {
46274    newFiber.index = newIndex;
46275
46276    if (!shouldTrackSideEffects) {
46277      // Noop.
46278      return lastPlacedIndex;
46279    }
46280
46281    var current = newFiber.alternate;
46282
46283    if (current !== null) {
46284      var oldIndex = current.index;
46285
46286      if (oldIndex < lastPlacedIndex) {
46287        // This is a move.
46288        newFiber.effectTag = Placement;
46289        return lastPlacedIndex;
46290      } else {
46291        // This item can stay in place.
46292        return oldIndex;
46293      }
46294    } else {
46295      // This is an insertion.
46296      newFiber.effectTag = Placement;
46297      return lastPlacedIndex;
46298    }
46299  }
46300
46301  function placeSingleChild(newFiber) {
46302    // This is simpler for the single child case. We only need to do a
46303    // placement for inserting new children.
46304    if (shouldTrackSideEffects && newFiber.alternate === null) {
46305      newFiber.effectTag = Placement;
46306    }
46307
46308    return newFiber;
46309  }
46310
46311  function updateTextNode(returnFiber, current, textContent, expirationTime) {
46312    if (current === null || current.tag !== HostText) {
46313      // Insert
46314      var created = createFiberFromText(textContent, returnFiber.mode, expirationTime);
46315      created.return = returnFiber;
46316      return created;
46317    } else {
46318      // Update
46319      var existing = useFiber(current, textContent);
46320      existing.return = returnFiber;
46321      return existing;
46322    }
46323  }
46324
46325  function updateElement(returnFiber, current, element, expirationTime) {
46326    if (current !== null) {
46327      if (current.elementType === element.type || ( // Keep this check inline so it only runs on the false path:
46328       isCompatibleFamilyForHotReloading(current, element) )) {
46329        // Move based on index
46330        var existing = useFiber(current, element.props);
46331        existing.ref = coerceRef(returnFiber, current, element);
46332        existing.return = returnFiber;
46333
46334        {
46335          existing._debugSource = element._source;
46336          existing._debugOwner = element._owner;
46337        }
46338
46339        return existing;
46340      }
46341    } // Insert
46342
46343
46344    var created = createFiberFromElement(element, returnFiber.mode, expirationTime);
46345    created.ref = coerceRef(returnFiber, current, element);
46346    created.return = returnFiber;
46347    return created;
46348  }
46349
46350  function updatePortal(returnFiber, current, portal, expirationTime) {
46351    if (current === null || current.tag !== HostPortal || current.stateNode.containerInfo !== portal.containerInfo || current.stateNode.implementation !== portal.implementation) {
46352      // Insert
46353      var created = createFiberFromPortal(portal, returnFiber.mode, expirationTime);
46354      created.return = returnFiber;
46355      return created;
46356    } else {
46357      // Update
46358      var existing = useFiber(current, portal.children || []);
46359      existing.return = returnFiber;
46360      return existing;
46361    }
46362  }
46363
46364  function updateFragment(returnFiber, current, fragment, expirationTime, key) {
46365    if (current === null || current.tag !== Fragment) {
46366      // Insert
46367      var created = createFiberFromFragment(fragment, returnFiber.mode, expirationTime, key);
46368      created.return = returnFiber;
46369      return created;
46370    } else {
46371      // Update
46372      var existing = useFiber(current, fragment);
46373      existing.return = returnFiber;
46374      return existing;
46375    }
46376  }
46377
46378  function createChild(returnFiber, newChild, expirationTime) {
46379    if (typeof newChild === 'string' || typeof newChild === 'number') {
46380      // Text nodes don't have keys. If the previous node is implicitly keyed
46381      // we can continue to replace it without aborting even if it is not a text
46382      // node.
46383      var created = createFiberFromText('' + newChild, returnFiber.mode, expirationTime);
46384      created.return = returnFiber;
46385      return created;
46386    }
46387
46388    if (typeof newChild === 'object' && newChild !== null) {
46389      switch (newChild.$$typeof) {
46390        case REACT_ELEMENT_TYPE:
46391          {
46392            var _created = createFiberFromElement(newChild, returnFiber.mode, expirationTime);
46393
46394            _created.ref = coerceRef(returnFiber, null, newChild);
46395            _created.return = returnFiber;
46396            return _created;
46397          }
46398
46399        case REACT_PORTAL_TYPE:
46400          {
46401            var _created2 = createFiberFromPortal(newChild, returnFiber.mode, expirationTime);
46402
46403            _created2.return = returnFiber;
46404            return _created2;
46405          }
46406      }
46407
46408      if (isArray$1(newChild) || getIteratorFn(newChild)) {
46409        var _created3 = createFiberFromFragment(newChild, returnFiber.mode, expirationTime, null);
46410
46411        _created3.return = returnFiber;
46412        return _created3;
46413      }
46414
46415      throwOnInvalidObjectType(returnFiber, newChild);
46416    }
46417
46418    {
46419      if (typeof newChild === 'function') {
46420        warnOnFunctionType();
46421      }
46422    }
46423
46424    return null;
46425  }
46426
46427  function updateSlot(returnFiber, oldFiber, newChild, expirationTime) {
46428    // Update the fiber if the keys match, otherwise return null.
46429    var key = oldFiber !== null ? oldFiber.key : null;
46430
46431    if (typeof newChild === 'string' || typeof newChild === 'number') {
46432      // Text nodes don't have keys. If the previous node is implicitly keyed
46433      // we can continue to replace it without aborting even if it is not a text
46434      // node.
46435      if (key !== null) {
46436        return null;
46437      }
46438
46439      return updateTextNode(returnFiber, oldFiber, '' + newChild, expirationTime);
46440    }
46441
46442    if (typeof newChild === 'object' && newChild !== null) {
46443      switch (newChild.$$typeof) {
46444        case REACT_ELEMENT_TYPE:
46445          {
46446            if (newChild.key === key) {
46447              if (newChild.type === REACT_FRAGMENT_TYPE) {
46448                return updateFragment(returnFiber, oldFiber, newChild.props.children, expirationTime, key);
46449              }
46450
46451              return updateElement(returnFiber, oldFiber, newChild, expirationTime);
46452            } else {
46453              return null;
46454            }
46455          }
46456
46457        case REACT_PORTAL_TYPE:
46458          {
46459            if (newChild.key === key) {
46460              return updatePortal(returnFiber, oldFiber, newChild, expirationTime);
46461            } else {
46462              return null;
46463            }
46464          }
46465      }
46466
46467      if (isArray$1(newChild) || getIteratorFn(newChild)) {
46468        if (key !== null) {
46469          return null;
46470        }
46471
46472        return updateFragment(returnFiber, oldFiber, newChild, expirationTime, null);
46473      }
46474
46475      throwOnInvalidObjectType(returnFiber, newChild);
46476    }
46477
46478    {
46479      if (typeof newChild === 'function') {
46480        warnOnFunctionType();
46481      }
46482    }
46483
46484    return null;
46485  }
46486
46487  function updateFromMap(existingChildren, returnFiber, newIdx, newChild, expirationTime) {
46488    if (typeof newChild === 'string' || typeof newChild === 'number') {
46489      // Text nodes don't have keys, so we neither have to check the old nor
46490      // new node for the key. If both are text nodes, they match.
46491      var matchedFiber = existingChildren.get(newIdx) || null;
46492      return updateTextNode(returnFiber, matchedFiber, '' + newChild, expirationTime);
46493    }
46494
46495    if (typeof newChild === 'object' && newChild !== null) {
46496      switch (newChild.$$typeof) {
46497        case REACT_ELEMENT_TYPE:
46498          {
46499            var _matchedFiber = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null;
46500
46501            if (newChild.type === REACT_FRAGMENT_TYPE) {
46502              return updateFragment(returnFiber, _matchedFiber, newChild.props.children, expirationTime, newChild.key);
46503            }
46504
46505            return updateElement(returnFiber, _matchedFiber, newChild, expirationTime);
46506          }
46507
46508        case REACT_PORTAL_TYPE:
46509          {
46510            var _matchedFiber2 = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null;
46511
46512            return updatePortal(returnFiber, _matchedFiber2, newChild, expirationTime);
46513          }
46514      }
46515
46516      if (isArray$1(newChild) || getIteratorFn(newChild)) {
46517        var _matchedFiber3 = existingChildren.get(newIdx) || null;
46518
46519        return updateFragment(returnFiber, _matchedFiber3, newChild, expirationTime, null);
46520      }
46521
46522      throwOnInvalidObjectType(returnFiber, newChild);
46523    }
46524
46525    {
46526      if (typeof newChild === 'function') {
46527        warnOnFunctionType();
46528      }
46529    }
46530
46531    return null;
46532  }
46533  /**
46534   * Warns if there is a duplicate or missing key
46535   */
46536
46537
46538  function warnOnInvalidKey(child, knownKeys) {
46539    {
46540      if (typeof child !== 'object' || child === null) {
46541        return knownKeys;
46542      }
46543
46544      switch (child.$$typeof) {
46545        case REACT_ELEMENT_TYPE:
46546        case REACT_PORTAL_TYPE:
46547          warnForMissingKey(child);
46548          var key = child.key;
46549
46550          if (typeof key !== 'string') {
46551            break;
46552          }
46553
46554          if (knownKeys === null) {
46555            knownKeys = new Set();
46556            knownKeys.add(key);
46557            break;
46558          }
46559
46560          if (!knownKeys.has(key)) {
46561            knownKeys.add(key);
46562            break;
46563          }
46564
46565          error('Encountered two children with the same key, `%s`. ' + 'Keys should be unique so that components maintain their identity ' + 'across updates. Non-unique keys may cause children to be ' + 'duplicated and/or omitted — the behavior is unsupported and ' + 'could change in a future version.', key);
46566
46567          break;
46568      }
46569    }
46570
46571    return knownKeys;
46572  }
46573
46574  function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, expirationTime) {
46575    // This algorithm can't optimize by searching from both ends since we
46576    // don't have backpointers on fibers. I'm trying to see how far we can get
46577    // with that model. If it ends up not being worth the tradeoffs, we can
46578    // add it later.
46579    // Even with a two ended optimization, we'd want to optimize for the case
46580    // where there are few changes and brute force the comparison instead of
46581    // going for the Map. It'd like to explore hitting that path first in
46582    // forward-only mode and only go for the Map once we notice that we need
46583    // lots of look ahead. This doesn't handle reversal as well as two ended
46584    // search but that's unusual. Besides, for the two ended optimization to
46585    // work on Iterables, we'd need to copy the whole set.
46586    // In this first iteration, we'll just live with hitting the bad case
46587    // (adding everything to a Map) in for every insert/move.
46588    // If you change this code, also update reconcileChildrenIterator() which
46589    // uses the same algorithm.
46590    {
46591      // First, validate keys.
46592      var knownKeys = null;
46593
46594      for (var i = 0; i < newChildren.length; i++) {
46595        var child = newChildren[i];
46596        knownKeys = warnOnInvalidKey(child, knownKeys);
46597      }
46598    }
46599
46600    var resultingFirstChild = null;
46601    var previousNewFiber = null;
46602    var oldFiber = currentFirstChild;
46603    var lastPlacedIndex = 0;
46604    var newIdx = 0;
46605    var nextOldFiber = null;
46606
46607    for (; oldFiber !== null && newIdx < newChildren.length; newIdx++) {
46608      if (oldFiber.index > newIdx) {
46609        nextOldFiber = oldFiber;
46610        oldFiber = null;
46611      } else {
46612        nextOldFiber = oldFiber.sibling;
46613      }
46614
46615      var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], expirationTime);
46616
46617      if (newFiber === null) {
46618        // TODO: This breaks on empty slots like null children. That's
46619        // unfortunate because it triggers the slow path all the time. We need
46620        // a better way to communicate whether this was a miss or null,
46621        // boolean, undefined, etc.
46622        if (oldFiber === null) {
46623          oldFiber = nextOldFiber;
46624        }
46625
46626        break;
46627      }
46628
46629      if (shouldTrackSideEffects) {
46630        if (oldFiber && newFiber.alternate === null) {
46631          // We matched the slot, but we didn't reuse the existing fiber, so we
46632          // need to delete the existing child.
46633          deleteChild(returnFiber, oldFiber);
46634        }
46635      }
46636
46637      lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx);
46638
46639      if (previousNewFiber === null) {
46640        // TODO: Move out of the loop. This only happens for the first run.
46641        resultingFirstChild = newFiber;
46642      } else {
46643        // TODO: Defer siblings if we're not at the right index for this slot.
46644        // I.e. if we had null values before, then we want to defer this
46645        // for each null value. However, we also don't want to call updateSlot
46646        // with the previous one.
46647        previousNewFiber.sibling = newFiber;
46648      }
46649
46650      previousNewFiber = newFiber;
46651      oldFiber = nextOldFiber;
46652    }
46653
46654    if (newIdx === newChildren.length) {
46655      // We've reached the end of the new children. We can delete the rest.
46656      deleteRemainingChildren(returnFiber, oldFiber);
46657      return resultingFirstChild;
46658    }
46659
46660    if (oldFiber === null) {
46661      // If we don't have any more existing children we can choose a fast path
46662      // since the rest will all be insertions.
46663      for (; newIdx < newChildren.length; newIdx++) {
46664        var _newFiber = createChild(returnFiber, newChildren[newIdx], expirationTime);
46665
46666        if (_newFiber === null) {
46667          continue;
46668        }
46669
46670        lastPlacedIndex = placeChild(_newFiber, lastPlacedIndex, newIdx);
46671
46672        if (previousNewFiber === null) {
46673          // TODO: Move out of the loop. This only happens for the first run.
46674          resultingFirstChild = _newFiber;
46675        } else {
46676          previousNewFiber.sibling = _newFiber;
46677        }
46678
46679        previousNewFiber = _newFiber;
46680      }
46681
46682      return resultingFirstChild;
46683    } // Add all children to a key map for quick lookups.
46684
46685
46686    var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves.
46687
46688    for (; newIdx < newChildren.length; newIdx++) {
46689      var _newFiber2 = updateFromMap(existingChildren, returnFiber, newIdx, newChildren[newIdx], expirationTime);
46690
46691      if (_newFiber2 !== null) {
46692        if (shouldTrackSideEffects) {
46693          if (_newFiber2.alternate !== null) {
46694            // The new fiber is a work in progress, but if there exists a
46695            // current, that means that we reused the fiber. We need to delete
46696            // it from the child list so that we don't add it to the deletion
46697            // list.
46698            existingChildren.delete(_newFiber2.key === null ? newIdx : _newFiber2.key);
46699          }
46700        }
46701
46702        lastPlacedIndex = placeChild(_newFiber2, lastPlacedIndex, newIdx);
46703
46704        if (previousNewFiber === null) {
46705          resultingFirstChild = _newFiber2;
46706        } else {
46707          previousNewFiber.sibling = _newFiber2;
46708        }
46709
46710        previousNewFiber = _newFiber2;
46711      }
46712    }
46713
46714    if (shouldTrackSideEffects) {
46715      // Any existing children that weren't consumed above were deleted. We need
46716      // to add them to the deletion list.
46717      existingChildren.forEach(function (child) {
46718        return deleteChild(returnFiber, child);
46719      });
46720    }
46721
46722    return resultingFirstChild;
46723  }
46724
46725  function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, expirationTime) {
46726    // This is the same implementation as reconcileChildrenArray(),
46727    // but using the iterator instead.
46728    var iteratorFn = getIteratorFn(newChildrenIterable);
46729
46730    if (!(typeof iteratorFn === 'function')) {
46731      {
46732        throw Error( "An object is not an iterable. This error is likely caused by a bug in React. Please file an issue." );
46733      }
46734    }
46735
46736    {
46737      // We don't support rendering Generators because it's a mutation.
46738      // See https://github.com/facebook/react/issues/12995
46739      if (typeof Symbol === 'function' && // $FlowFixMe Flow doesn't know about toStringTag
46740      newChildrenIterable[Symbol.toStringTag] === 'Generator') {
46741        if (!didWarnAboutGenerators) {
46742          error('Using Generators as children is unsupported and will likely yield ' + 'unexpected results because enumerating a generator mutates it. ' + 'You may convert it to an array with `Array.from()` or the ' + '`[...spread]` operator before rendering. Keep in mind ' + 'you might need to polyfill these features for older browsers.');
46743        }
46744
46745        didWarnAboutGenerators = true;
46746      } // Warn about using Maps as children
46747
46748
46749      if (newChildrenIterable.entries === iteratorFn) {
46750        if (!didWarnAboutMaps) {
46751          error('Using Maps as children is unsupported and will likely yield ' + 'unexpected results. Convert it to a sequence/iterable of keyed ' + 'ReactElements instead.');
46752        }
46753
46754        didWarnAboutMaps = true;
46755      } // First, validate keys.
46756      // We'll get a different iterator later for the main pass.
46757
46758
46759      var _newChildren = iteratorFn.call(newChildrenIterable);
46760
46761      if (_newChildren) {
46762        var knownKeys = null;
46763
46764        var _step = _newChildren.next();
46765
46766        for (; !_step.done; _step = _newChildren.next()) {
46767          var child = _step.value;
46768          knownKeys = warnOnInvalidKey(child, knownKeys);
46769        }
46770      }
46771    }
46772
46773    var newChildren = iteratorFn.call(newChildrenIterable);
46774
46775    if (!(newChildren != null)) {
46776      {
46777        throw Error( "An iterable object provided no iterator." );
46778      }
46779    }
46780
46781    var resultingFirstChild = null;
46782    var previousNewFiber = null;
46783    var oldFiber = currentFirstChild;
46784    var lastPlacedIndex = 0;
46785    var newIdx = 0;
46786    var nextOldFiber = null;
46787    var step = newChildren.next();
46788
46789    for (; oldFiber !== null && !step.done; newIdx++, step = newChildren.next()) {
46790      if (oldFiber.index > newIdx) {
46791        nextOldFiber = oldFiber;
46792        oldFiber = null;
46793      } else {
46794        nextOldFiber = oldFiber.sibling;
46795      }
46796
46797      var newFiber = updateSlot(returnFiber, oldFiber, step.value, expirationTime);
46798
46799      if (newFiber === null) {
46800        // TODO: This breaks on empty slots like null children. That's
46801        // unfortunate because it triggers the slow path all the time. We need
46802        // a better way to communicate whether this was a miss or null,
46803        // boolean, undefined, etc.
46804        if (oldFiber === null) {
46805          oldFiber = nextOldFiber;
46806        }
46807
46808        break;
46809      }
46810
46811      if (shouldTrackSideEffects) {
46812        if (oldFiber && newFiber.alternate === null) {
46813          // We matched the slot, but we didn't reuse the existing fiber, so we
46814          // need to delete the existing child.
46815          deleteChild(returnFiber, oldFiber);
46816        }
46817      }
46818
46819      lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx);
46820
46821      if (previousNewFiber === null) {
46822        // TODO: Move out of the loop. This only happens for the first run.
46823        resultingFirstChild = newFiber;
46824      } else {
46825        // TODO: Defer siblings if we're not at the right index for this slot.
46826        // I.e. if we had null values before, then we want to defer this
46827        // for each null value. However, we also don't want to call updateSlot
46828        // with the previous one.
46829        previousNewFiber.sibling = newFiber;
46830      }
46831
46832      previousNewFiber = newFiber;
46833      oldFiber = nextOldFiber;
46834    }
46835
46836    if (step.done) {
46837      // We've reached the end of the new children. We can delete the rest.
46838      deleteRemainingChildren(returnFiber, oldFiber);
46839      return resultingFirstChild;
46840    }
46841
46842    if (oldFiber === null) {
46843      // If we don't have any more existing children we can choose a fast path
46844      // since the rest will all be insertions.
46845      for (; !step.done; newIdx++, step = newChildren.next()) {
46846        var _newFiber3 = createChild(returnFiber, step.value, expirationTime);
46847
46848        if (_newFiber3 === null) {
46849          continue;
46850        }
46851
46852        lastPlacedIndex = placeChild(_newFiber3, lastPlacedIndex, newIdx);
46853
46854        if (previousNewFiber === null) {
46855          // TODO: Move out of the loop. This only happens for the first run.
46856          resultingFirstChild = _newFiber3;
46857        } else {
46858          previousNewFiber.sibling = _newFiber3;
46859        }
46860
46861        previousNewFiber = _newFiber3;
46862      }
46863
46864      return resultingFirstChild;
46865    } // Add all children to a key map for quick lookups.
46866
46867
46868    var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves.
46869
46870    for (; !step.done; newIdx++, step = newChildren.next()) {
46871      var _newFiber4 = updateFromMap(existingChildren, returnFiber, newIdx, step.value, expirationTime);
46872
46873      if (_newFiber4 !== null) {
46874        if (shouldTrackSideEffects) {
46875          if (_newFiber4.alternate !== null) {
46876            // The new fiber is a work in progress, but if there exists a
46877            // current, that means that we reused the fiber. We need to delete
46878            // it from the child list so that we don't add it to the deletion
46879            // list.
46880            existingChildren.delete(_newFiber4.key === null ? newIdx : _newFiber4.key);
46881          }
46882        }
46883
46884        lastPlacedIndex = placeChild(_newFiber4, lastPlacedIndex, newIdx);
46885
46886        if (previousNewFiber === null) {
46887          resultingFirstChild = _newFiber4;
46888        } else {
46889          previousNewFiber.sibling = _newFiber4;
46890        }
46891
46892        previousNewFiber = _newFiber4;
46893      }
46894    }
46895
46896    if (shouldTrackSideEffects) {
46897      // Any existing children that weren't consumed above were deleted. We need
46898      // to add them to the deletion list.
46899      existingChildren.forEach(function (child) {
46900        return deleteChild(returnFiber, child);
46901      });
46902    }
46903
46904    return resultingFirstChild;
46905  }
46906
46907  function reconcileSingleTextNode(returnFiber, currentFirstChild, textContent, expirationTime) {
46908    // There's no need to check for keys on text nodes since we don't have a
46909    // way to define them.
46910    if (currentFirstChild !== null && currentFirstChild.tag === HostText) {
46911      // We already have an existing node so let's just update it and delete
46912      // the rest.
46913      deleteRemainingChildren(returnFiber, currentFirstChild.sibling);
46914      var existing = useFiber(currentFirstChild, textContent);
46915      existing.return = returnFiber;
46916      return existing;
46917    } // The existing first child is not a text node so we need to create one
46918    // and delete the existing ones.
46919
46920
46921    deleteRemainingChildren(returnFiber, currentFirstChild);
46922    var created = createFiberFromText(textContent, returnFiber.mode, expirationTime);
46923    created.return = returnFiber;
46924    return created;
46925  }
46926
46927  function reconcileSingleElement(returnFiber, currentFirstChild, element, expirationTime) {
46928    var key = element.key;
46929    var child = currentFirstChild;
46930
46931    while (child !== null) {
46932      // TODO: If key === null and child.key === null, then this only applies to
46933      // the first item in the list.
46934      if (child.key === key) {
46935        switch (child.tag) {
46936          case Fragment:
46937            {
46938              if (element.type === REACT_FRAGMENT_TYPE) {
46939                deleteRemainingChildren(returnFiber, child.sibling);
46940                var existing = useFiber(child, element.props.children);
46941                existing.return = returnFiber;
46942
46943                {
46944                  existing._debugSource = element._source;
46945                  existing._debugOwner = element._owner;
46946                }
46947
46948                return existing;
46949              }
46950
46951              break;
46952            }
46953
46954          case Block:
46955
46956          // We intentionally fallthrough here if enableBlocksAPI is not on.
46957          // eslint-disable-next-lined no-fallthrough
46958
46959          default:
46960            {
46961              if (child.elementType === element.type || ( // Keep this check inline so it only runs on the false path:
46962               isCompatibleFamilyForHotReloading(child, element) )) {
46963                deleteRemainingChildren(returnFiber, child.sibling);
46964
46965                var _existing3 = useFiber(child, element.props);
46966
46967                _existing3.ref = coerceRef(returnFiber, child, element);
46968                _existing3.return = returnFiber;
46969
46970                {
46971                  _existing3._debugSource = element._source;
46972                  _existing3._debugOwner = element._owner;
46973                }
46974
46975                return _existing3;
46976              }
46977
46978              break;
46979            }
46980        } // Didn't match.
46981
46982
46983        deleteRemainingChildren(returnFiber, child);
46984        break;
46985      } else {
46986        deleteChild(returnFiber, child);
46987      }
46988
46989      child = child.sibling;
46990    }
46991
46992    if (element.type === REACT_FRAGMENT_TYPE) {
46993      var created = createFiberFromFragment(element.props.children, returnFiber.mode, expirationTime, element.key);
46994      created.return = returnFiber;
46995      return created;
46996    } else {
46997      var _created4 = createFiberFromElement(element, returnFiber.mode, expirationTime);
46998
46999      _created4.ref = coerceRef(returnFiber, currentFirstChild, element);
47000      _created4.return = returnFiber;
47001      return _created4;
47002    }
47003  }
47004
47005  function reconcileSinglePortal(returnFiber, currentFirstChild, portal, expirationTime) {
47006    var key = portal.key;
47007    var child = currentFirstChild;
47008
47009    while (child !== null) {
47010      // TODO: If key === null and child.key === null, then this only applies to
47011      // the first item in the list.
47012      if (child.key === key) {
47013        if (child.tag === HostPortal && child.stateNode.containerInfo === portal.containerInfo && child.stateNode.implementation === portal.implementation) {
47014          deleteRemainingChildren(returnFiber, child.sibling);
47015          var existing = useFiber(child, portal.children || []);
47016          existing.return = returnFiber;
47017          return existing;
47018        } else {
47019          deleteRemainingChildren(returnFiber, child);
47020          break;
47021        }
47022      } else {
47023        deleteChild(returnFiber, child);
47024      }
47025
47026      child = child.sibling;
47027    }
47028
47029    var created = createFiberFromPortal(portal, returnFiber.mode, expirationTime);
47030    created.return = returnFiber;
47031    return created;
47032  } // This API will tag the children with the side-effect of the reconciliation
47033  // itself. They will be added to the side-effect list as we pass through the
47034  // children and the parent.
47035
47036
47037  function reconcileChildFibers(returnFiber, currentFirstChild, newChild, expirationTime) {
47038    // This function is not recursive.
47039    // If the top level item is an array, we treat it as a set of children,
47040    // not as a fragment. Nested arrays on the other hand will be treated as
47041    // fragment nodes. Recursion happens at the normal flow.
47042    // Handle top level unkeyed fragments as if they were arrays.
47043    // This leads to an ambiguity between <>{[...]}</> and <>...</>.
47044    // We treat the ambiguous cases above the same.
47045    var isUnkeyedTopLevelFragment = typeof newChild === 'object' && newChild !== null && newChild.type === REACT_FRAGMENT_TYPE && newChild.key === null;
47046
47047    if (isUnkeyedTopLevelFragment) {
47048      newChild = newChild.props.children;
47049    } // Handle object types
47050
47051
47052    var isObject = typeof newChild === 'object' && newChild !== null;
47053
47054    if (isObject) {
47055      switch (newChild.$$typeof) {
47056        case REACT_ELEMENT_TYPE:
47057          return placeSingleChild(reconcileSingleElement(returnFiber, currentFirstChild, newChild, expirationTime));
47058
47059        case REACT_PORTAL_TYPE:
47060          return placeSingleChild(reconcileSinglePortal(returnFiber, currentFirstChild, newChild, expirationTime));
47061      }
47062    }
47063
47064    if (typeof newChild === 'string' || typeof newChild === 'number') {
47065      return placeSingleChild(reconcileSingleTextNode(returnFiber, currentFirstChild, '' + newChild, expirationTime));
47066    }
47067
47068    if (isArray$1(newChild)) {
47069      return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, expirationTime);
47070    }
47071
47072    if (getIteratorFn(newChild)) {
47073      return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, expirationTime);
47074    }
47075
47076    if (isObject) {
47077      throwOnInvalidObjectType(returnFiber, newChild);
47078    }
47079
47080    {
47081      if (typeof newChild === 'function') {
47082        warnOnFunctionType();
47083      }
47084    }
47085
47086    if (typeof newChild === 'undefined' && !isUnkeyedTopLevelFragment) {
47087      // If the new child is undefined, and the return fiber is a composite
47088      // component, throw an error. If Fiber return types are disabled,
47089      // we already threw above.
47090      switch (returnFiber.tag) {
47091        case ClassComponent:
47092          {
47093            {
47094              var instance = returnFiber.stateNode;
47095
47096              if (instance.render._isMockFunction) {
47097                // We allow auto-mocks to proceed as if they're returning null.
47098                break;
47099              }
47100            }
47101          }
47102        // Intentionally fall through to the next case, which handles both
47103        // functions and classes
47104        // eslint-disable-next-lined no-fallthrough
47105
47106        case FunctionComponent:
47107          {
47108            var Component = returnFiber.type;
47109
47110            {
47111              {
47112                throw Error( (Component.displayName || Component.name || 'Component') + "(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null." );
47113              }
47114            }
47115          }
47116      }
47117    } // Remaining cases are all treated as empty.
47118
47119
47120    return deleteRemainingChildren(returnFiber, currentFirstChild);
47121  }
47122
47123  return reconcileChildFibers;
47124}
47125
47126var reconcileChildFibers = ChildReconciler(true);
47127var mountChildFibers = ChildReconciler(false);
47128function cloneChildFibers(current, workInProgress) {
47129  if (!(current === null || workInProgress.child === current.child)) {
47130    {
47131      throw Error( "Resuming work not yet implemented." );
47132    }
47133  }
47134
47135  if (workInProgress.child === null) {
47136    return;
47137  }
47138
47139  var currentChild = workInProgress.child;
47140  var newChild = createWorkInProgress(currentChild, currentChild.pendingProps);
47141  workInProgress.child = newChild;
47142  newChild.return = workInProgress;
47143
47144  while (currentChild.sibling !== null) {
47145    currentChild = currentChild.sibling;
47146    newChild = newChild.sibling = createWorkInProgress(currentChild, currentChild.pendingProps);
47147    newChild.return = workInProgress;
47148  }
47149
47150  newChild.sibling = null;
47151} // Reset a workInProgress child set to prepare it for a second pass.
47152
47153function resetChildFibers(workInProgress, renderExpirationTime) {
47154  var child = workInProgress.child;
47155
47156  while (child !== null) {
47157    resetWorkInProgress(child, renderExpirationTime);
47158    child = child.sibling;
47159  }
47160}
47161
47162var NO_CONTEXT = {};
47163var contextStackCursor$1 = createCursor(NO_CONTEXT);
47164var contextFiberStackCursor = createCursor(NO_CONTEXT);
47165var rootInstanceStackCursor = createCursor(NO_CONTEXT);
47166
47167function requiredContext(c) {
47168  if (!(c !== NO_CONTEXT)) {
47169    {
47170      throw Error( "Expected host context to exist. This error is likely caused by a bug in React. Please file an issue." );
47171    }
47172  }
47173
47174  return c;
47175}
47176
47177function getRootHostContainer() {
47178  var rootInstance = requiredContext(rootInstanceStackCursor.current);
47179  return rootInstance;
47180}
47181
47182function pushHostContainer(fiber, nextRootInstance) {
47183  // Push current root instance onto the stack;
47184  // This allows us to reset root when portals are popped.
47185  push(rootInstanceStackCursor, nextRootInstance, fiber); // Track the context and the Fiber that provided it.
47186  // This enables us to pop only Fibers that provide unique contexts.
47187
47188  push(contextFiberStackCursor, fiber, fiber); // Finally, we need to push the host context to the stack.
47189  // However, we can't just call getRootHostContext() and push it because
47190  // we'd have a different number of entries on the stack depending on
47191  // whether getRootHostContext() throws somewhere in renderer code or not.
47192  // So we push an empty value first. This lets us safely unwind on errors.
47193
47194  push(contextStackCursor$1, NO_CONTEXT, fiber);
47195  var nextRootContext = getRootHostContext(nextRootInstance); // Now that we know this function doesn't throw, replace it.
47196
47197  pop(contextStackCursor$1, fiber);
47198  push(contextStackCursor$1, nextRootContext, fiber);
47199}
47200
47201function popHostContainer(fiber) {
47202  pop(contextStackCursor$1, fiber);
47203  pop(contextFiberStackCursor, fiber);
47204  pop(rootInstanceStackCursor, fiber);
47205}
47206
47207function getHostContext() {
47208  var context = requiredContext(contextStackCursor$1.current);
47209  return context;
47210}
47211
47212function pushHostContext(fiber) {
47213  var rootInstance = requiredContext(rootInstanceStackCursor.current);
47214  var context = requiredContext(contextStackCursor$1.current);
47215  var nextContext = getChildHostContext(context, fiber.type); // Don't push this Fiber's context unless it's unique.
47216
47217  if (context === nextContext) {
47218    return;
47219  } // Track the context and the Fiber that provided it.
47220  // This enables us to pop only Fibers that provide unique contexts.
47221
47222
47223  push(contextFiberStackCursor, fiber, fiber);
47224  push(contextStackCursor$1, nextContext, fiber);
47225}
47226
47227function popHostContext(fiber) {
47228  // Do not pop unless this Fiber provided the current context.
47229  // pushHostContext() only pushes Fibers that provide unique contexts.
47230  if (contextFiberStackCursor.current !== fiber) {
47231    return;
47232  }
47233
47234  pop(contextStackCursor$1, fiber);
47235  pop(contextFiberStackCursor, fiber);
47236}
47237
47238var DefaultSuspenseContext = 0; // The Suspense Context is split into two parts. The lower bits is
47239// inherited deeply down the subtree. The upper bits only affect
47240// this immediate suspense boundary and gets reset each new
47241// boundary or suspense list.
47242
47243var SubtreeSuspenseContextMask = 1; // Subtree Flags:
47244// InvisibleParentSuspenseContext indicates that one of our parent Suspense
47245// boundaries is not currently showing visible main content.
47246// Either because it is already showing a fallback or is not mounted at all.
47247// We can use this to determine if it is desirable to trigger a fallback at
47248// the parent. If not, then we might need to trigger undesirable boundaries
47249// and/or suspend the commit to avoid hiding the parent content.
47250
47251var InvisibleParentSuspenseContext = 1; // Shallow Flags:
47252// ForceSuspenseFallback can be used by SuspenseList to force newly added
47253// items into their fallback state during one of the render passes.
47254
47255var ForceSuspenseFallback = 2;
47256var suspenseStackCursor = createCursor(DefaultSuspenseContext);
47257function hasSuspenseContext(parentContext, flag) {
47258  return (parentContext & flag) !== 0;
47259}
47260function setDefaultShallowSuspenseContext(parentContext) {
47261  return parentContext & SubtreeSuspenseContextMask;
47262}
47263function setShallowSuspenseContext(parentContext, shallowContext) {
47264  return parentContext & SubtreeSuspenseContextMask | shallowContext;
47265}
47266function addSubtreeSuspenseContext(parentContext, subtreeContext) {
47267  return parentContext | subtreeContext;
47268}
47269function pushSuspenseContext(fiber, newContext) {
47270  push(suspenseStackCursor, newContext, fiber);
47271}
47272function popSuspenseContext(fiber) {
47273  pop(suspenseStackCursor, fiber);
47274}
47275
47276function shouldCaptureSuspense(workInProgress, hasInvisibleParent) {
47277  // If it was the primary children that just suspended, capture and render the
47278  // fallback. Otherwise, don't capture and bubble to the next boundary.
47279  var nextState = workInProgress.memoizedState;
47280
47281  if (nextState !== null) {
47282    if (nextState.dehydrated !== null) {
47283      // A dehydrated boundary always captures.
47284      return true;
47285    }
47286
47287    return false;
47288  }
47289
47290  var props = workInProgress.memoizedProps; // In order to capture, the Suspense component must have a fallback prop.
47291
47292  if (props.fallback === undefined) {
47293    return false;
47294  } // Regular boundaries always capture.
47295
47296
47297  if (props.unstable_avoidThisFallback !== true) {
47298    return true;
47299  } // If it's a boundary we should avoid, then we prefer to bubble up to the
47300  // parent boundary if it is currently invisible.
47301
47302
47303  if (hasInvisibleParent) {
47304    return false;
47305  } // If the parent is not able to handle it, we must handle it.
47306
47307
47308  return true;
47309}
47310function findFirstSuspended(row) {
47311  var node = row;
47312
47313  while (node !== null) {
47314    if (node.tag === SuspenseComponent) {
47315      var state = node.memoizedState;
47316
47317      if (state !== null) {
47318        var dehydrated = state.dehydrated;
47319
47320        if (dehydrated === null || isSuspenseInstancePending(dehydrated) || isSuspenseInstanceFallback(dehydrated)) {
47321          return node;
47322        }
47323      }
47324    } else if (node.tag === SuspenseListComponent && // revealOrder undefined can't be trusted because it don't
47325    // keep track of whether it suspended or not.
47326    node.memoizedProps.revealOrder !== undefined) {
47327      var didSuspend = (node.effectTag & DidCapture) !== NoEffect;
47328
47329      if (didSuspend) {
47330        return node;
47331      }
47332    } else if (node.child !== null) {
47333      node.child.return = node;
47334      node = node.child;
47335      continue;
47336    }
47337
47338    if (node === row) {
47339      return null;
47340    }
47341
47342    while (node.sibling === null) {
47343      if (node.return === null || node.return === row) {
47344        return null;
47345      }
47346
47347      node = node.return;
47348    }
47349
47350    node.sibling.return = node.return;
47351    node = node.sibling;
47352  }
47353
47354  return null;
47355}
47356
47357function createDeprecatedResponderListener(responder, props) {
47358  var eventResponderListener = {
47359    responder: responder,
47360    props: props
47361  };
47362
47363  {
47364    Object.freeze(eventResponderListener);
47365  }
47366
47367  return eventResponderListener;
47368}
47369
47370var HasEffect =
47371/* */
473721; // Represents the phase in which the effect (not the clean-up) fires.
47373
47374var Layout =
47375/*    */
473762;
47377var Passive$1 =
47378/*   */
473794;
47380
47381var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher,
47382    ReactCurrentBatchConfig$1 = ReactSharedInternals.ReactCurrentBatchConfig;
47383var didWarnAboutMismatchedHooksForComponent;
47384
47385{
47386  didWarnAboutMismatchedHooksForComponent = new Set();
47387}
47388
47389// These are set right before calling the component.
47390var renderExpirationTime = NoWork; // The work-in-progress fiber. I've named it differently to distinguish it from
47391// the work-in-progress hook.
47392
47393var currentlyRenderingFiber$1 = null; // Hooks are stored as a linked list on the fiber's memoizedState field. The
47394// current hook list is the list that belongs to the current fiber. The
47395// work-in-progress hook list is a new list that will be added to the
47396// work-in-progress fiber.
47397
47398var currentHook = null;
47399var workInProgressHook = null; // Whether an update was scheduled at any point during the render phase. This
47400// does not get reset if we do another render pass; only when we're completely
47401// finished evaluating this component. This is an optimization so we know
47402// whether we need to clear render phase updates after a throw.
47403
47404var didScheduleRenderPhaseUpdate = false;
47405var RE_RENDER_LIMIT = 25; // In DEV, this is the name of the currently executing primitive hook
47406
47407var currentHookNameInDev = null; // In DEV, this list ensures that hooks are called in the same order between renders.
47408// The list stores the order of hooks used during the initial render (mount).
47409// Subsequent renders (updates) reference this list.
47410
47411var hookTypesDev = null;
47412var hookTypesUpdateIndexDev = -1; // In DEV, this tracks whether currently rendering component needs to ignore
47413// the dependencies for Hooks that need them (e.g. useEffect or useMemo).
47414// When true, such Hooks will always be "remounted". Only used during hot reload.
47415
47416var ignorePreviousDependencies = false;
47417
47418function mountHookTypesDev() {
47419  {
47420    var hookName = currentHookNameInDev;
47421
47422    if (hookTypesDev === null) {
47423      hookTypesDev = [hookName];
47424    } else {
47425      hookTypesDev.push(hookName);
47426    }
47427  }
47428}
47429
47430function updateHookTypesDev() {
47431  {
47432    var hookName = currentHookNameInDev;
47433
47434    if (hookTypesDev !== null) {
47435      hookTypesUpdateIndexDev++;
47436
47437      if (hookTypesDev[hookTypesUpdateIndexDev] !== hookName) {
47438        warnOnHookMismatchInDev(hookName);
47439      }
47440    }
47441  }
47442}
47443
47444function checkDepsAreArrayDev(deps) {
47445  {
47446    if (deps !== undefined && deps !== null && !Array.isArray(deps)) {
47447      // Verify deps, but only on mount to avoid extra checks.
47448      // It's unlikely their type would change as usually you define them inline.
47449      error('%s received a final argument that is not an array (instead, received `%s`). When ' + 'specified, the final argument must be an array.', currentHookNameInDev, typeof deps);
47450    }
47451  }
47452}
47453
47454function warnOnHookMismatchInDev(currentHookName) {
47455  {
47456    var componentName = getComponentName(currentlyRenderingFiber$1.type);
47457
47458    if (!didWarnAboutMismatchedHooksForComponent.has(componentName)) {
47459      didWarnAboutMismatchedHooksForComponent.add(componentName);
47460
47461      if (hookTypesDev !== null) {
47462        var table = '';
47463        var secondColumnStart = 30;
47464
47465        for (var i = 0; i <= hookTypesUpdateIndexDev; i++) {
47466          var oldHookName = hookTypesDev[i];
47467          var newHookName = i === hookTypesUpdateIndexDev ? currentHookName : oldHookName;
47468          var row = i + 1 + ". " + oldHookName; // Extra space so second column lines up
47469          // lol @ IE not supporting String#repeat
47470
47471          while (row.length < secondColumnStart) {
47472            row += ' ';
47473          }
47474
47475          row += newHookName + '\n';
47476          table += row;
47477        }
47478
47479        error('React has detected a change in the order of Hooks called by %s. ' + 'This will lead to bugs and errors if not fixed. ' + 'For more information, read the Rules of Hooks: https://fb.me/rules-of-hooks\n\n' + '   Previous render            Next render\n' + '   ------------------------------------------------------\n' + '%s' + '   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', componentName, table);
47480      }
47481    }
47482  }
47483}
47484
47485function throwInvalidHookError() {
47486  {
47487    {
47488      throw Error( "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem." );
47489    }
47490  }
47491}
47492
47493function areHookInputsEqual(nextDeps, prevDeps) {
47494  {
47495    if (ignorePreviousDependencies) {
47496      // Only true when this component is being hot reloaded.
47497      return false;
47498    }
47499  }
47500
47501  if (prevDeps === null) {
47502    {
47503      error('%s received a final argument during this render, but not during ' + 'the previous render. Even though the final argument is optional, ' + 'its type cannot change between renders.', currentHookNameInDev);
47504    }
47505
47506    return false;
47507  }
47508
47509  {
47510    // Don't bother comparing lengths in prod because these arrays should be
47511    // passed inline.
47512    if (nextDeps.length !== prevDeps.length) {
47513      error('The final argument passed to %s changed size between renders. The ' + 'order and size of this array must remain constant.\n\n' + 'Previous: %s\n' + 'Incoming: %s', currentHookNameInDev, "[" + prevDeps.join(', ') + "]", "[" + nextDeps.join(', ') + "]");
47514    }
47515  }
47516
47517  for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) {
47518    if (objectIs(nextDeps[i], prevDeps[i])) {
47519      continue;
47520    }
47521
47522    return false;
47523  }
47524
47525  return true;
47526}
47527
47528function renderWithHooks(current, workInProgress, Component, props, secondArg, nextRenderExpirationTime) {
47529  renderExpirationTime = nextRenderExpirationTime;
47530  currentlyRenderingFiber$1 = workInProgress;
47531
47532  {
47533    hookTypesDev = current !== null ? current._debugHookTypes : null;
47534    hookTypesUpdateIndexDev = -1; // Used for hot reloading:
47535
47536    ignorePreviousDependencies = current !== null && current.type !== workInProgress.type;
47537  }
47538
47539  workInProgress.memoizedState = null;
47540  workInProgress.updateQueue = null;
47541  workInProgress.expirationTime = NoWork; // The following should have already been reset
47542  // currentHook = null;
47543  // workInProgressHook = null;
47544  // didScheduleRenderPhaseUpdate = false;
47545  // TODO Warn if no hooks are used at all during mount, then some are used during update.
47546  // Currently we will identify the update render as a mount because memoizedState === null.
47547  // This is tricky because it's valid for certain types of components (e.g. React.lazy)
47548  // Using memoizedState to differentiate between mount/update only works if at least one stateful hook is used.
47549  // Non-stateful hooks (e.g. context) don't get added to memoizedState,
47550  // so memoizedState would be null during updates and mounts.
47551
47552  {
47553    if (current !== null && current.memoizedState !== null) {
47554      ReactCurrentDispatcher.current = HooksDispatcherOnUpdateInDEV;
47555    } else if (hookTypesDev !== null) {
47556      // This dispatcher handles an edge case where a component is updating,
47557      // but no stateful hooks have been used.
47558      // We want to match the production code behavior (which will use HooksDispatcherOnMount),
47559      // but with the extra DEV validation to ensure hooks ordering hasn't changed.
47560      // This dispatcher does that.
47561      ReactCurrentDispatcher.current = HooksDispatcherOnMountWithHookTypesInDEV;
47562    } else {
47563      ReactCurrentDispatcher.current = HooksDispatcherOnMountInDEV;
47564    }
47565  }
47566
47567  var children = Component(props, secondArg); // Check if there was a render phase update
47568
47569  if (workInProgress.expirationTime === renderExpirationTime) {
47570    // Keep rendering in a loop for as long as render phase updates continue to
47571    // be scheduled. Use a counter to prevent infinite loops.
47572    var numberOfReRenders = 0;
47573
47574    do {
47575      workInProgress.expirationTime = NoWork;
47576
47577      if (!(numberOfReRenders < RE_RENDER_LIMIT)) {
47578        {
47579          throw Error( "Too many re-renders. React limits the number of renders to prevent an infinite loop." );
47580        }
47581      }
47582
47583      numberOfReRenders += 1;
47584
47585      {
47586        // Even when hot reloading, allow dependencies to stabilize
47587        // after first render to prevent infinite render phase updates.
47588        ignorePreviousDependencies = false;
47589      } // Start over from the beginning of the list
47590
47591
47592      currentHook = null;
47593      workInProgressHook = null;
47594      workInProgress.updateQueue = null;
47595
47596      {
47597        // Also validate hook order for cascading updates.
47598        hookTypesUpdateIndexDev = -1;
47599      }
47600
47601      ReactCurrentDispatcher.current =  HooksDispatcherOnRerenderInDEV ;
47602      children = Component(props, secondArg);
47603    } while (workInProgress.expirationTime === renderExpirationTime);
47604  } // We can assume the previous dispatcher is always this one, since we set it
47605  // at the beginning of the render phase and there's no re-entrancy.
47606
47607
47608  ReactCurrentDispatcher.current = ContextOnlyDispatcher;
47609
47610  {
47611    workInProgress._debugHookTypes = hookTypesDev;
47612  } // This check uses currentHook so that it works the same in DEV and prod bundles.
47613  // hookTypesDev could catch more cases (e.g. context) but only in DEV bundles.
47614
47615
47616  var didRenderTooFewHooks = currentHook !== null && currentHook.next !== null;
47617  renderExpirationTime = NoWork;
47618  currentlyRenderingFiber$1 = null;
47619  currentHook = null;
47620  workInProgressHook = null;
47621
47622  {
47623    currentHookNameInDev = null;
47624    hookTypesDev = null;
47625    hookTypesUpdateIndexDev = -1;
47626  }
47627
47628  didScheduleRenderPhaseUpdate = false;
47629
47630  if (!!didRenderTooFewHooks) {
47631    {
47632      throw Error( "Rendered fewer hooks than expected. This may be caused by an accidental early return statement." );
47633    }
47634  }
47635
47636  return children;
47637}
47638function bailoutHooks(current, workInProgress, expirationTime) {
47639  workInProgress.updateQueue = current.updateQueue;
47640  workInProgress.effectTag &= ~(Passive | Update);
47641
47642  if (current.expirationTime <= expirationTime) {
47643    current.expirationTime = NoWork;
47644  }
47645}
47646function resetHooksAfterThrow() {
47647  // We can assume the previous dispatcher is always this one, since we set it
47648  // at the beginning of the render phase and there's no re-entrancy.
47649  ReactCurrentDispatcher.current = ContextOnlyDispatcher;
47650
47651  if (didScheduleRenderPhaseUpdate) {
47652    // There were render phase updates. These are only valid for this render
47653    // phase, which we are now aborting. Remove the updates from the queues so
47654    // they do not persist to the next render. Do not remove updates from hooks
47655    // that weren't processed.
47656    //
47657    // Only reset the updates from the queue if it has a clone. If it does
47658    // not have a clone, that means it wasn't processed, and the updates were
47659    // scheduled before we entered the render phase.
47660    var hook = currentlyRenderingFiber$1.memoizedState;
47661
47662    while (hook !== null) {
47663      var queue = hook.queue;
47664
47665      if (queue !== null) {
47666        queue.pending = null;
47667      }
47668
47669      hook = hook.next;
47670    }
47671  }
47672
47673  renderExpirationTime = NoWork;
47674  currentlyRenderingFiber$1 = null;
47675  currentHook = null;
47676  workInProgressHook = null;
47677
47678  {
47679    hookTypesDev = null;
47680    hookTypesUpdateIndexDev = -1;
47681    currentHookNameInDev = null;
47682  }
47683
47684  didScheduleRenderPhaseUpdate = false;
47685}
47686
47687function mountWorkInProgressHook() {
47688  var hook = {
47689    memoizedState: null,
47690    baseState: null,
47691    baseQueue: null,
47692    queue: null,
47693    next: null
47694  };
47695
47696  if (workInProgressHook === null) {
47697    // This is the first hook in the list
47698    currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook;
47699  } else {
47700    // Append to the end of the list
47701    workInProgressHook = workInProgressHook.next = hook;
47702  }
47703
47704  return workInProgressHook;
47705}
47706
47707function updateWorkInProgressHook() {
47708  // This function is used both for updates and for re-renders triggered by a
47709  // render phase update. It assumes there is either a current hook we can
47710  // clone, or a work-in-progress hook from a previous render pass that we can
47711  // use as a base. When we reach the end of the base list, we must switch to
47712  // the dispatcher used for mounts.
47713  var nextCurrentHook;
47714
47715  if (currentHook === null) {
47716    var current = currentlyRenderingFiber$1.alternate;
47717
47718    if (current !== null) {
47719      nextCurrentHook = current.memoizedState;
47720    } else {
47721      nextCurrentHook = null;
47722    }
47723  } else {
47724    nextCurrentHook = currentHook.next;
47725  }
47726
47727  var nextWorkInProgressHook;
47728
47729  if (workInProgressHook === null) {
47730    nextWorkInProgressHook = currentlyRenderingFiber$1.memoizedState;
47731  } else {
47732    nextWorkInProgressHook = workInProgressHook.next;
47733  }
47734
47735  if (nextWorkInProgressHook !== null) {
47736    // There's already a work-in-progress. Reuse it.
47737    workInProgressHook = nextWorkInProgressHook;
47738    nextWorkInProgressHook = workInProgressHook.next;
47739    currentHook = nextCurrentHook;
47740  } else {
47741    // Clone from the current hook.
47742    if (!(nextCurrentHook !== null)) {
47743      {
47744        throw Error( "Rendered more hooks than during the previous render." );
47745      }
47746    }
47747
47748    currentHook = nextCurrentHook;
47749    var newHook = {
47750      memoizedState: currentHook.memoizedState,
47751      baseState: currentHook.baseState,
47752      baseQueue: currentHook.baseQueue,
47753      queue: currentHook.queue,
47754      next: null
47755    };
47756
47757    if (workInProgressHook === null) {
47758      // This is the first hook in the list.
47759      currentlyRenderingFiber$1.memoizedState = workInProgressHook = newHook;
47760    } else {
47761      // Append to the end of the list.
47762      workInProgressHook = workInProgressHook.next = newHook;
47763    }
47764  }
47765
47766  return workInProgressHook;
47767}
47768
47769function createFunctionComponentUpdateQueue() {
47770  return {
47771    lastEffect: null
47772  };
47773}
47774
47775function basicStateReducer(state, action) {
47776  // $FlowFixMe: Flow doesn't like mixed types
47777  return typeof action === 'function' ? action(state) : action;
47778}
47779
47780function mountReducer(reducer, initialArg, init) {
47781  var hook = mountWorkInProgressHook();
47782  var initialState;
47783
47784  if (init !== undefined) {
47785    initialState = init(initialArg);
47786  } else {
47787    initialState = initialArg;
47788  }
47789
47790  hook.memoizedState = hook.baseState = initialState;
47791  var queue = hook.queue = {
47792    pending: null,
47793    dispatch: null,
47794    lastRenderedReducer: reducer,
47795    lastRenderedState: initialState
47796  };
47797  var dispatch = queue.dispatch = dispatchAction.bind(null, currentlyRenderingFiber$1, queue);
47798  return [hook.memoizedState, dispatch];
47799}
47800
47801function updateReducer(reducer, initialArg, init) {
47802  var hook = updateWorkInProgressHook();
47803  var queue = hook.queue;
47804
47805  if (!(queue !== null)) {
47806    {
47807      throw Error( "Should have a queue. This is likely a bug in React. Please file an issue." );
47808    }
47809  }
47810
47811  queue.lastRenderedReducer = reducer;
47812  var current = currentHook; // The last rebase update that is NOT part of the base state.
47813
47814  var baseQueue = current.baseQueue; // The last pending update that hasn't been processed yet.
47815
47816  var pendingQueue = queue.pending;
47817
47818  if (pendingQueue !== null) {
47819    // We have new updates that haven't been processed yet.
47820    // We'll add them to the base queue.
47821    if (baseQueue !== null) {
47822      // Merge the pending queue and the base queue.
47823      var baseFirst = baseQueue.next;
47824      var pendingFirst = pendingQueue.next;
47825      baseQueue.next = pendingFirst;
47826      pendingQueue.next = baseFirst;
47827    }
47828
47829    current.baseQueue = baseQueue = pendingQueue;
47830    queue.pending = null;
47831  }
47832
47833  if (baseQueue !== null) {
47834    // We have a queue to process.
47835    var first = baseQueue.next;
47836    var newState = current.baseState;
47837    var newBaseState = null;
47838    var newBaseQueueFirst = null;
47839    var newBaseQueueLast = null;
47840    var update = first;
47841
47842    do {
47843      var updateExpirationTime = update.expirationTime;
47844
47845      if (updateExpirationTime < renderExpirationTime) {
47846        // Priority is insufficient. Skip this update. If this is the first
47847        // skipped update, the previous update/state is the new base
47848        // update/state.
47849        var clone = {
47850          expirationTime: update.expirationTime,
47851          suspenseConfig: update.suspenseConfig,
47852          action: update.action,
47853          eagerReducer: update.eagerReducer,
47854          eagerState: update.eagerState,
47855          next: null
47856        };
47857
47858        if (newBaseQueueLast === null) {
47859          newBaseQueueFirst = newBaseQueueLast = clone;
47860          newBaseState = newState;
47861        } else {
47862          newBaseQueueLast = newBaseQueueLast.next = clone;
47863        } // Update the remaining priority in the queue.
47864
47865
47866        if (updateExpirationTime > currentlyRenderingFiber$1.expirationTime) {
47867          currentlyRenderingFiber$1.expirationTime = updateExpirationTime;
47868          markUnprocessedUpdateTime(updateExpirationTime);
47869        }
47870      } else {
47871        // This update does have sufficient priority.
47872        if (newBaseQueueLast !== null) {
47873          var _clone = {
47874            expirationTime: Sync,
47875            // This update is going to be committed so we never want uncommit it.
47876            suspenseConfig: update.suspenseConfig,
47877            action: update.action,
47878            eagerReducer: update.eagerReducer,
47879            eagerState: update.eagerState,
47880            next: null
47881          };
47882          newBaseQueueLast = newBaseQueueLast.next = _clone;
47883        } // Mark the event time of this update as relevant to this render pass.
47884        // TODO: This should ideally use the true event time of this update rather than
47885        // its priority which is a derived and not reverseable value.
47886        // TODO: We should skip this update if it was already committed but currently
47887        // we have no way of detecting the difference between a committed and suspended
47888        // update here.
47889
47890
47891        markRenderEventTimeAndConfig(updateExpirationTime, update.suspenseConfig); // Process this update.
47892
47893        if (update.eagerReducer === reducer) {
47894          // If this update was processed eagerly, and its reducer matches the
47895          // current reducer, we can use the eagerly computed state.
47896          newState = update.eagerState;
47897        } else {
47898          var action = update.action;
47899          newState = reducer(newState, action);
47900        }
47901      }
47902
47903      update = update.next;
47904    } while (update !== null && update !== first);
47905
47906    if (newBaseQueueLast === null) {
47907      newBaseState = newState;
47908    } else {
47909      newBaseQueueLast.next = newBaseQueueFirst;
47910    } // Mark that the fiber performed work, but only if the new state is
47911    // different from the current state.
47912
47913
47914    if (!objectIs(newState, hook.memoizedState)) {
47915      markWorkInProgressReceivedUpdate();
47916    }
47917
47918    hook.memoizedState = newState;
47919    hook.baseState = newBaseState;
47920    hook.baseQueue = newBaseQueueLast;
47921    queue.lastRenderedState = newState;
47922  }
47923
47924  var dispatch = queue.dispatch;
47925  return [hook.memoizedState, dispatch];
47926}
47927
47928function rerenderReducer(reducer, initialArg, init) {
47929  var hook = updateWorkInProgressHook();
47930  var queue = hook.queue;
47931
47932  if (!(queue !== null)) {
47933    {
47934      throw Error( "Should have a queue. This is likely a bug in React. Please file an issue." );
47935    }
47936  }
47937
47938  queue.lastRenderedReducer = reducer; // This is a re-render. Apply the new render phase updates to the previous
47939  // work-in-progress hook.
47940
47941  var dispatch = queue.dispatch;
47942  var lastRenderPhaseUpdate = queue.pending;
47943  var newState = hook.memoizedState;
47944
47945  if (lastRenderPhaseUpdate !== null) {
47946    // The queue doesn't persist past this render pass.
47947    queue.pending = null;
47948    var firstRenderPhaseUpdate = lastRenderPhaseUpdate.next;
47949    var update = firstRenderPhaseUpdate;
47950
47951    do {
47952      // Process this render phase update. We don't have to check the
47953      // priority because it will always be the same as the current
47954      // render's.
47955      var action = update.action;
47956      newState = reducer(newState, action);
47957      update = update.next;
47958    } while (update !== firstRenderPhaseUpdate); // Mark that the fiber performed work, but only if the new state is
47959    // different from the current state.
47960
47961
47962    if (!objectIs(newState, hook.memoizedState)) {
47963      markWorkInProgressReceivedUpdate();
47964    }
47965
47966    hook.memoizedState = newState; // Don't persist the state accumulated from the render phase updates to
47967    // the base state unless the queue is empty.
47968    // TODO: Not sure if this is the desired semantics, but it's what we
47969    // do for gDSFP. I can't remember why.
47970
47971    if (hook.baseQueue === null) {
47972      hook.baseState = newState;
47973    }
47974
47975    queue.lastRenderedState = newState;
47976  }
47977
47978  return [newState, dispatch];
47979}
47980
47981function mountState(initialState) {
47982  var hook = mountWorkInProgressHook();
47983
47984  if (typeof initialState === 'function') {
47985    // $FlowFixMe: Flow doesn't like mixed types
47986    initialState = initialState();
47987  }
47988
47989  hook.memoizedState = hook.baseState = initialState;
47990  var queue = hook.queue = {
47991    pending: null,
47992    dispatch: null,
47993    lastRenderedReducer: basicStateReducer,
47994    lastRenderedState: initialState
47995  };
47996  var dispatch = queue.dispatch = dispatchAction.bind(null, currentlyRenderingFiber$1, queue);
47997  return [hook.memoizedState, dispatch];
47998}
47999
48000function updateState(initialState) {
48001  return updateReducer(basicStateReducer);
48002}
48003
48004function rerenderState(initialState) {
48005  return rerenderReducer(basicStateReducer);
48006}
48007
48008function pushEffect(tag, create, destroy, deps) {
48009  var effect = {
48010    tag: tag,
48011    create: create,
48012    destroy: destroy,
48013    deps: deps,
48014    // Circular
48015    next: null
48016  };
48017  var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue;
48018
48019  if (componentUpdateQueue === null) {
48020    componentUpdateQueue = createFunctionComponentUpdateQueue();
48021    currentlyRenderingFiber$1.updateQueue = componentUpdateQueue;
48022    componentUpdateQueue.lastEffect = effect.next = effect;
48023  } else {
48024    var lastEffect = componentUpdateQueue.lastEffect;
48025
48026    if (lastEffect === null) {
48027      componentUpdateQueue.lastEffect = effect.next = effect;
48028    } else {
48029      var firstEffect = lastEffect.next;
48030      lastEffect.next = effect;
48031      effect.next = firstEffect;
48032      componentUpdateQueue.lastEffect = effect;
48033    }
48034  }
48035
48036  return effect;
48037}
48038
48039function mountRef(initialValue) {
48040  var hook = mountWorkInProgressHook();
48041  var ref = {
48042    current: initialValue
48043  };
48044
48045  {
48046    Object.seal(ref);
48047  }
48048
48049  hook.memoizedState = ref;
48050  return ref;
48051}
48052
48053function updateRef(initialValue) {
48054  var hook = updateWorkInProgressHook();
48055  return hook.memoizedState;
48056}
48057
48058function mountEffectImpl(fiberEffectTag, hookEffectTag, create, deps) {
48059  var hook = mountWorkInProgressHook();
48060  var nextDeps = deps === undefined ? null : deps;
48061  currentlyRenderingFiber$1.effectTag |= fiberEffectTag;
48062  hook.memoizedState = pushEffect(HasEffect | hookEffectTag, create, undefined, nextDeps);
48063}
48064
48065function updateEffectImpl(fiberEffectTag, hookEffectTag, create, deps) {
48066  var hook = updateWorkInProgressHook();
48067  var nextDeps = deps === undefined ? null : deps;
48068  var destroy = undefined;
48069
48070  if (currentHook !== null) {
48071    var prevEffect = currentHook.memoizedState;
48072    destroy = prevEffect.destroy;
48073
48074    if (nextDeps !== null) {
48075      var prevDeps = prevEffect.deps;
48076
48077      if (areHookInputsEqual(nextDeps, prevDeps)) {
48078        pushEffect(hookEffectTag, create, destroy, nextDeps);
48079        return;
48080      }
48081    }
48082  }
48083
48084  currentlyRenderingFiber$1.effectTag |= fiberEffectTag;
48085  hook.memoizedState = pushEffect(HasEffect | hookEffectTag, create, destroy, nextDeps);
48086}
48087
48088function mountEffect(create, deps) {
48089  {
48090    // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests
48091    if ('undefined' !== typeof jest) {
48092      warnIfNotCurrentlyActingEffectsInDEV(currentlyRenderingFiber$1);
48093    }
48094  }
48095
48096  return mountEffectImpl(Update | Passive, Passive$1, create, deps);
48097}
48098
48099function updateEffect(create, deps) {
48100  {
48101    // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests
48102    if ('undefined' !== typeof jest) {
48103      warnIfNotCurrentlyActingEffectsInDEV(currentlyRenderingFiber$1);
48104    }
48105  }
48106
48107  return updateEffectImpl(Update | Passive, Passive$1, create, deps);
48108}
48109
48110function mountLayoutEffect(create, deps) {
48111  return mountEffectImpl(Update, Layout, create, deps);
48112}
48113
48114function updateLayoutEffect(create, deps) {
48115  return updateEffectImpl(Update, Layout, create, deps);
48116}
48117
48118function imperativeHandleEffect(create, ref) {
48119  if (typeof ref === 'function') {
48120    var refCallback = ref;
48121
48122    var _inst = create();
48123
48124    refCallback(_inst);
48125    return function () {
48126      refCallback(null);
48127    };
48128  } else if (ref !== null && ref !== undefined) {
48129    var refObject = ref;
48130
48131    {
48132      if (!refObject.hasOwnProperty('current')) {
48133        error('Expected useImperativeHandle() first argument to either be a ' + 'ref callback or React.createRef() object. Instead received: %s.', 'an object with keys {' + Object.keys(refObject).join(', ') + '}');
48134      }
48135    }
48136
48137    var _inst2 = create();
48138
48139    refObject.current = _inst2;
48140    return function () {
48141      refObject.current = null;
48142    };
48143  }
48144}
48145
48146function mountImperativeHandle(ref, create, deps) {
48147  {
48148    if (typeof create !== 'function') {
48149      error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null');
48150    }
48151  } // TODO: If deps are provided, should we skip comparing the ref itself?
48152
48153
48154  var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;
48155  return mountEffectImpl(Update, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps);
48156}
48157
48158function updateImperativeHandle(ref, create, deps) {
48159  {
48160    if (typeof create !== 'function') {
48161      error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null');
48162    }
48163  } // TODO: If deps are provided, should we skip comparing the ref itself?
48164
48165
48166  var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;
48167  return updateEffectImpl(Update, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps);
48168}
48169
48170function mountDebugValue(value, formatterFn) {// This hook is normally a no-op.
48171  // The react-debug-hooks package injects its own implementation
48172  // so that e.g. DevTools can display custom hook values.
48173}
48174
48175var updateDebugValue = mountDebugValue;
48176
48177function mountCallback(callback, deps) {
48178  var hook = mountWorkInProgressHook();
48179  var nextDeps = deps === undefined ? null : deps;
48180  hook.memoizedState = [callback, nextDeps];
48181  return callback;
48182}
48183
48184function updateCallback(callback, deps) {
48185  var hook = updateWorkInProgressHook();
48186  var nextDeps = deps === undefined ? null : deps;
48187  var prevState = hook.memoizedState;
48188
48189  if (prevState !== null) {
48190    if (nextDeps !== null) {
48191      var prevDeps = prevState[1];
48192
48193      if (areHookInputsEqual(nextDeps, prevDeps)) {
48194        return prevState[0];
48195      }
48196    }
48197  }
48198
48199  hook.memoizedState = [callback, nextDeps];
48200  return callback;
48201}
48202
48203function mountMemo(nextCreate, deps) {
48204  var hook = mountWorkInProgressHook();
48205  var nextDeps = deps === undefined ? null : deps;
48206  var nextValue = nextCreate();
48207  hook.memoizedState = [nextValue, nextDeps];
48208  return nextValue;
48209}
48210
48211function updateMemo(nextCreate, deps) {
48212  var hook = updateWorkInProgressHook();
48213  var nextDeps = deps === undefined ? null : deps;
48214  var prevState = hook.memoizedState;
48215
48216  if (prevState !== null) {
48217    // Assume these are defined. If they're not, areHookInputsEqual will warn.
48218    if (nextDeps !== null) {
48219      var prevDeps = prevState[1];
48220
48221      if (areHookInputsEqual(nextDeps, prevDeps)) {
48222        return prevState[0];
48223      }
48224    }
48225  }
48226
48227  var nextValue = nextCreate();
48228  hook.memoizedState = [nextValue, nextDeps];
48229  return nextValue;
48230}
48231
48232function mountDeferredValue(value, config) {
48233  var _mountState = mountState(value),
48234      prevValue = _mountState[0],
48235      setValue = _mountState[1];
48236
48237  mountEffect(function () {
48238    var previousConfig = ReactCurrentBatchConfig$1.suspense;
48239    ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config;
48240
48241    try {
48242      setValue(value);
48243    } finally {
48244      ReactCurrentBatchConfig$1.suspense = previousConfig;
48245    }
48246  }, [value, config]);
48247  return prevValue;
48248}
48249
48250function updateDeferredValue(value, config) {
48251  var _updateState = updateState(),
48252      prevValue = _updateState[0],
48253      setValue = _updateState[1];
48254
48255  updateEffect(function () {
48256    var previousConfig = ReactCurrentBatchConfig$1.suspense;
48257    ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config;
48258
48259    try {
48260      setValue(value);
48261    } finally {
48262      ReactCurrentBatchConfig$1.suspense = previousConfig;
48263    }
48264  }, [value, config]);
48265  return prevValue;
48266}
48267
48268function rerenderDeferredValue(value, config) {
48269  var _rerenderState = rerenderState(),
48270      prevValue = _rerenderState[0],
48271      setValue = _rerenderState[1];
48272
48273  updateEffect(function () {
48274    var previousConfig = ReactCurrentBatchConfig$1.suspense;
48275    ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config;
48276
48277    try {
48278      setValue(value);
48279    } finally {
48280      ReactCurrentBatchConfig$1.suspense = previousConfig;
48281    }
48282  }, [value, config]);
48283  return prevValue;
48284}
48285
48286function startTransition(setPending, config, callback) {
48287  var priorityLevel = getCurrentPriorityLevel();
48288  runWithPriority$1(priorityLevel < UserBlockingPriority$1 ? UserBlockingPriority$1 : priorityLevel, function () {
48289    setPending(true);
48290  });
48291  runWithPriority$1(priorityLevel > NormalPriority ? NormalPriority : priorityLevel, function () {
48292    var previousConfig = ReactCurrentBatchConfig$1.suspense;
48293    ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config;
48294
48295    try {
48296      setPending(false);
48297      callback();
48298    } finally {
48299      ReactCurrentBatchConfig$1.suspense = previousConfig;
48300    }
48301  });
48302}
48303
48304function mountTransition(config) {
48305  var _mountState2 = mountState(false),
48306      isPending = _mountState2[0],
48307      setPending = _mountState2[1];
48308
48309  var start = mountCallback(startTransition.bind(null, setPending, config), [setPending, config]);
48310  return [start, isPending];
48311}
48312
48313function updateTransition(config) {
48314  var _updateState2 = updateState(),
48315      isPending = _updateState2[0],
48316      setPending = _updateState2[1];
48317
48318  var start = updateCallback(startTransition.bind(null, setPending, config), [setPending, config]);
48319  return [start, isPending];
48320}
48321
48322function rerenderTransition(config) {
48323  var _rerenderState2 = rerenderState(),
48324      isPending = _rerenderState2[0],
48325      setPending = _rerenderState2[1];
48326
48327  var start = updateCallback(startTransition.bind(null, setPending, config), [setPending, config]);
48328  return [start, isPending];
48329}
48330
48331function dispatchAction(fiber, queue, action) {
48332  {
48333    if (typeof arguments[3] === 'function') {
48334      error("State updates from the useState() and useReducer() Hooks don't support the " + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().');
48335    }
48336  }
48337
48338  var currentTime = requestCurrentTimeForUpdate();
48339  var suspenseConfig = requestCurrentSuspenseConfig();
48340  var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig);
48341  var update = {
48342    expirationTime: expirationTime,
48343    suspenseConfig: suspenseConfig,
48344    action: action,
48345    eagerReducer: null,
48346    eagerState: null,
48347    next: null
48348  };
48349
48350  {
48351    update.priority = getCurrentPriorityLevel();
48352  } // Append the update to the end of the list.
48353
48354
48355  var pending = queue.pending;
48356
48357  if (pending === null) {
48358    // This is the first update. Create a circular list.
48359    update.next = update;
48360  } else {
48361    update.next = pending.next;
48362    pending.next = update;
48363  }
48364
48365  queue.pending = update;
48366  var alternate = fiber.alternate;
48367
48368  if (fiber === currentlyRenderingFiber$1 || alternate !== null && alternate === currentlyRenderingFiber$1) {
48369    // This is a render phase update. Stash it in a lazily-created map of
48370    // queue -> linked list of updates. After this render pass, we'll restart
48371    // and apply the stashed updates on top of the work-in-progress hook.
48372    didScheduleRenderPhaseUpdate = true;
48373    update.expirationTime = renderExpirationTime;
48374    currentlyRenderingFiber$1.expirationTime = renderExpirationTime;
48375  } else {
48376    if (fiber.expirationTime === NoWork && (alternate === null || alternate.expirationTime === NoWork)) {
48377      // The queue is currently empty, which means we can eagerly compute the
48378      // next state before entering the render phase. If the new state is the
48379      // same as the current state, we may be able to bail out entirely.
48380      var lastRenderedReducer = queue.lastRenderedReducer;
48381
48382      if (lastRenderedReducer !== null) {
48383        var prevDispatcher;
48384
48385        {
48386          prevDispatcher = ReactCurrentDispatcher.current;
48387          ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
48388        }
48389
48390        try {
48391          var currentState = queue.lastRenderedState;
48392          var eagerState = lastRenderedReducer(currentState, action); // Stash the eagerly computed state, and the reducer used to compute
48393          // it, on the update object. If the reducer hasn't changed by the
48394          // time we enter the render phase, then the eager state can be used
48395          // without calling the reducer again.
48396
48397          update.eagerReducer = lastRenderedReducer;
48398          update.eagerState = eagerState;
48399
48400          if (objectIs(eagerState, currentState)) {
48401            // Fast path. We can bail out without scheduling React to re-render.
48402            // It's still possible that we'll need to rebase this update later,
48403            // if the component re-renders for a different reason and by that
48404            // time the reducer has changed.
48405            return;
48406          }
48407        } catch (error) {// Suppress the error. It will throw again in the render phase.
48408        } finally {
48409          {
48410            ReactCurrentDispatcher.current = prevDispatcher;
48411          }
48412        }
48413      }
48414    }
48415
48416    {
48417      // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests
48418      if ('undefined' !== typeof jest) {
48419        warnIfNotScopedWithMatchingAct(fiber);
48420        warnIfNotCurrentlyActingUpdatesInDev(fiber);
48421      }
48422    }
48423
48424    scheduleWork(fiber, expirationTime);
48425  }
48426}
48427
48428var ContextOnlyDispatcher = {
48429  readContext: readContext,
48430  useCallback: throwInvalidHookError,
48431  useContext: throwInvalidHookError,
48432  useEffect: throwInvalidHookError,
48433  useImperativeHandle: throwInvalidHookError,
48434  useLayoutEffect: throwInvalidHookError,
48435  useMemo: throwInvalidHookError,
48436  useReducer: throwInvalidHookError,
48437  useRef: throwInvalidHookError,
48438  useState: throwInvalidHookError,
48439  useDebugValue: throwInvalidHookError,
48440  useResponder: throwInvalidHookError,
48441  useDeferredValue: throwInvalidHookError,
48442  useTransition: throwInvalidHookError
48443};
48444var HooksDispatcherOnMountInDEV = null;
48445var HooksDispatcherOnMountWithHookTypesInDEV = null;
48446var HooksDispatcherOnUpdateInDEV = null;
48447var HooksDispatcherOnRerenderInDEV = null;
48448var InvalidNestedHooksDispatcherOnMountInDEV = null;
48449var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
48450var InvalidNestedHooksDispatcherOnRerenderInDEV = null;
48451
48452{
48453  var warnInvalidContextAccess = function () {
48454    error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');
48455  };
48456
48457  var warnInvalidHookAccess = function () {
48458    error('Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. ' + 'You can only call Hooks at the top level of your React function. ' + 'For more information, see ' + 'https://fb.me/rules-of-hooks');
48459  };
48460
48461  HooksDispatcherOnMountInDEV = {
48462    readContext: function (context, observedBits) {
48463      return readContext(context, observedBits);
48464    },
48465    useCallback: function (callback, deps) {
48466      currentHookNameInDev = 'useCallback';
48467      mountHookTypesDev();
48468      checkDepsAreArrayDev(deps);
48469      return mountCallback(callback, deps);
48470    },
48471    useContext: function (context, observedBits) {
48472      currentHookNameInDev = 'useContext';
48473      mountHookTypesDev();
48474      return readContext(context, observedBits);
48475    },
48476    useEffect: function (create, deps) {
48477      currentHookNameInDev = 'useEffect';
48478      mountHookTypesDev();
48479      checkDepsAreArrayDev(deps);
48480      return mountEffect(create, deps);
48481    },
48482    useImperativeHandle: function (ref, create, deps) {
48483      currentHookNameInDev = 'useImperativeHandle';
48484      mountHookTypesDev();
48485      checkDepsAreArrayDev(deps);
48486      return mountImperativeHandle(ref, create, deps);
48487    },
48488    useLayoutEffect: function (create, deps) {
48489      currentHookNameInDev = 'useLayoutEffect';
48490      mountHookTypesDev();
48491      checkDepsAreArrayDev(deps);
48492      return mountLayoutEffect(create, deps);
48493    },
48494    useMemo: function (create, deps) {
48495      currentHookNameInDev = 'useMemo';
48496      mountHookTypesDev();
48497      checkDepsAreArrayDev(deps);
48498      var prevDispatcher = ReactCurrentDispatcher.current;
48499      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;
48500
48501      try {
48502        return mountMemo(create, deps);
48503      } finally {
48504        ReactCurrentDispatcher.current = prevDispatcher;
48505      }
48506    },
48507    useReducer: function (reducer, initialArg, init) {
48508      currentHookNameInDev = 'useReducer';
48509      mountHookTypesDev();
48510      var prevDispatcher = ReactCurrentDispatcher.current;
48511      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;
48512
48513      try {
48514        return mountReducer(reducer, initialArg, init);
48515      } finally {
48516        ReactCurrentDispatcher.current = prevDispatcher;
48517      }
48518    },
48519    useRef: function (initialValue) {
48520      currentHookNameInDev = 'useRef';
48521      mountHookTypesDev();
48522      return mountRef(initialValue);
48523    },
48524    useState: function (initialState) {
48525      currentHookNameInDev = 'useState';
48526      mountHookTypesDev();
48527      var prevDispatcher = ReactCurrentDispatcher.current;
48528      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;
48529
48530      try {
48531        return mountState(initialState);
48532      } finally {
48533        ReactCurrentDispatcher.current = prevDispatcher;
48534      }
48535    },
48536    useDebugValue: function (value, formatterFn) {
48537      currentHookNameInDev = 'useDebugValue';
48538      mountHookTypesDev();
48539      return mountDebugValue();
48540    },
48541    useResponder: function (responder, props) {
48542      currentHookNameInDev = 'useResponder';
48543      mountHookTypesDev();
48544      return createDeprecatedResponderListener(responder, props);
48545    },
48546    useDeferredValue: function (value, config) {
48547      currentHookNameInDev = 'useDeferredValue';
48548      mountHookTypesDev();
48549      return mountDeferredValue(value, config);
48550    },
48551    useTransition: function (config) {
48552      currentHookNameInDev = 'useTransition';
48553      mountHookTypesDev();
48554      return mountTransition(config);
48555    }
48556  };
48557  HooksDispatcherOnMountWithHookTypesInDEV = {
48558    readContext: function (context, observedBits) {
48559      return readContext(context, observedBits);
48560    },
48561    useCallback: function (callback, deps) {
48562      currentHookNameInDev = 'useCallback';
48563      updateHookTypesDev();
48564      return mountCallback(callback, deps);
48565    },
48566    useContext: function (context, observedBits) {
48567      currentHookNameInDev = 'useContext';
48568      updateHookTypesDev();
48569      return readContext(context, observedBits);
48570    },
48571    useEffect: function (create, deps) {
48572      currentHookNameInDev = 'useEffect';
48573      updateHookTypesDev();
48574      return mountEffect(create, deps);
48575    },
48576    useImperativeHandle: function (ref, create, deps) {
48577      currentHookNameInDev = 'useImperativeHandle';
48578      updateHookTypesDev();
48579      return mountImperativeHandle(ref, create, deps);
48580    },
48581    useLayoutEffect: function (create, deps) {
48582      currentHookNameInDev = 'useLayoutEffect';
48583      updateHookTypesDev();
48584      return mountLayoutEffect(create, deps);
48585    },
48586    useMemo: function (create, deps) {
48587      currentHookNameInDev = 'useMemo';
48588      updateHookTypesDev();
48589      var prevDispatcher = ReactCurrentDispatcher.current;
48590      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;
48591
48592      try {
48593        return mountMemo(create, deps);
48594      } finally {
48595        ReactCurrentDispatcher.current = prevDispatcher;
48596      }
48597    },
48598    useReducer: function (reducer, initialArg, init) {
48599      currentHookNameInDev = 'useReducer';
48600      updateHookTypesDev();
48601      var prevDispatcher = ReactCurrentDispatcher.current;
48602      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;
48603
48604      try {
48605        return mountReducer(reducer, initialArg, init);
48606      } finally {
48607        ReactCurrentDispatcher.current = prevDispatcher;
48608      }
48609    },
48610    useRef: function (initialValue) {
48611      currentHookNameInDev = 'useRef';
48612      updateHookTypesDev();
48613      return mountRef(initialValue);
48614    },
48615    useState: function (initialState) {
48616      currentHookNameInDev = 'useState';
48617      updateHookTypesDev();
48618      var prevDispatcher = ReactCurrentDispatcher.current;
48619      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;
48620
48621      try {
48622        return mountState(initialState);
48623      } finally {
48624        ReactCurrentDispatcher.current = prevDispatcher;
48625      }
48626    },
48627    useDebugValue: function (value, formatterFn) {
48628      currentHookNameInDev = 'useDebugValue';
48629      updateHookTypesDev();
48630      return mountDebugValue();
48631    },
48632    useResponder: function (responder, props) {
48633      currentHookNameInDev = 'useResponder';
48634      updateHookTypesDev();
48635      return createDeprecatedResponderListener(responder, props);
48636    },
48637    useDeferredValue: function (value, config) {
48638      currentHookNameInDev = 'useDeferredValue';
48639      updateHookTypesDev();
48640      return mountDeferredValue(value, config);
48641    },
48642    useTransition: function (config) {
48643      currentHookNameInDev = 'useTransition';
48644      updateHookTypesDev();
48645      return mountTransition(config);
48646    }
48647  };
48648  HooksDispatcherOnUpdateInDEV = {
48649    readContext: function (context, observedBits) {
48650      return readContext(context, observedBits);
48651    },
48652    useCallback: function (callback, deps) {
48653      currentHookNameInDev = 'useCallback';
48654      updateHookTypesDev();
48655      return updateCallback(callback, deps);
48656    },
48657    useContext: function (context, observedBits) {
48658      currentHookNameInDev = 'useContext';
48659      updateHookTypesDev();
48660      return readContext(context, observedBits);
48661    },
48662    useEffect: function (create, deps) {
48663      currentHookNameInDev = 'useEffect';
48664      updateHookTypesDev();
48665      return updateEffect(create, deps);
48666    },
48667    useImperativeHandle: function (ref, create, deps) {
48668      currentHookNameInDev = 'useImperativeHandle';
48669      updateHookTypesDev();
48670      return updateImperativeHandle(ref, create, deps);
48671    },
48672    useLayoutEffect: function (create, deps) {
48673      currentHookNameInDev = 'useLayoutEffect';
48674      updateHookTypesDev();
48675      return updateLayoutEffect(create, deps);
48676    },
48677    useMemo: function (create, deps) {
48678      currentHookNameInDev = 'useMemo';
48679      updateHookTypesDev();
48680      var prevDispatcher = ReactCurrentDispatcher.current;
48681      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
48682
48683      try {
48684        return updateMemo(create, deps);
48685      } finally {
48686        ReactCurrentDispatcher.current = prevDispatcher;
48687      }
48688    },
48689    useReducer: function (reducer, initialArg, init) {
48690      currentHookNameInDev = 'useReducer';
48691      updateHookTypesDev();
48692      var prevDispatcher = ReactCurrentDispatcher.current;
48693      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
48694
48695      try {
48696        return updateReducer(reducer, initialArg, init);
48697      } finally {
48698        ReactCurrentDispatcher.current = prevDispatcher;
48699      }
48700    },
48701    useRef: function (initialValue) {
48702      currentHookNameInDev = 'useRef';
48703      updateHookTypesDev();
48704      return updateRef();
48705    },
48706    useState: function (initialState) {
48707      currentHookNameInDev = 'useState';
48708      updateHookTypesDev();
48709      var prevDispatcher = ReactCurrentDispatcher.current;
48710      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
48711
48712      try {
48713        return updateState(initialState);
48714      } finally {
48715        ReactCurrentDispatcher.current = prevDispatcher;
48716      }
48717    },
48718    useDebugValue: function (value, formatterFn) {
48719      currentHookNameInDev = 'useDebugValue';
48720      updateHookTypesDev();
48721      return updateDebugValue();
48722    },
48723    useResponder: function (responder, props) {
48724      currentHookNameInDev = 'useResponder';
48725      updateHookTypesDev();
48726      return createDeprecatedResponderListener(responder, props);
48727    },
48728    useDeferredValue: function (value, config) {
48729      currentHookNameInDev = 'useDeferredValue';
48730      updateHookTypesDev();
48731      return updateDeferredValue(value, config);
48732    },
48733    useTransition: function (config) {
48734      currentHookNameInDev = 'useTransition';
48735      updateHookTypesDev();
48736      return updateTransition(config);
48737    }
48738  };
48739  HooksDispatcherOnRerenderInDEV = {
48740    readContext: function (context, observedBits) {
48741      return readContext(context, observedBits);
48742    },
48743    useCallback: function (callback, deps) {
48744      currentHookNameInDev = 'useCallback';
48745      updateHookTypesDev();
48746      return updateCallback(callback, deps);
48747    },
48748    useContext: function (context, observedBits) {
48749      currentHookNameInDev = 'useContext';
48750      updateHookTypesDev();
48751      return readContext(context, observedBits);
48752    },
48753    useEffect: function (create, deps) {
48754      currentHookNameInDev = 'useEffect';
48755      updateHookTypesDev();
48756      return updateEffect(create, deps);
48757    },
48758    useImperativeHandle: function (ref, create, deps) {
48759      currentHookNameInDev = 'useImperativeHandle';
48760      updateHookTypesDev();
48761      return updateImperativeHandle(ref, create, deps);
48762    },
48763    useLayoutEffect: function (create, deps) {
48764      currentHookNameInDev = 'useLayoutEffect';
48765      updateHookTypesDev();
48766      return updateLayoutEffect(create, deps);
48767    },
48768    useMemo: function (create, deps) {
48769      currentHookNameInDev = 'useMemo';
48770      updateHookTypesDev();
48771      var prevDispatcher = ReactCurrentDispatcher.current;
48772      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnRerenderInDEV;
48773
48774      try {
48775        return updateMemo(create, deps);
48776      } finally {
48777        ReactCurrentDispatcher.current = prevDispatcher;
48778      }
48779    },
48780    useReducer: function (reducer, initialArg, init) {
48781      currentHookNameInDev = 'useReducer';
48782      updateHookTypesDev();
48783      var prevDispatcher = ReactCurrentDispatcher.current;
48784      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnRerenderInDEV;
48785
48786      try {
48787        return rerenderReducer(reducer, initialArg, init);
48788      } finally {
48789        ReactCurrentDispatcher.current = prevDispatcher;
48790      }
48791    },
48792    useRef: function (initialValue) {
48793      currentHookNameInDev = 'useRef';
48794      updateHookTypesDev();
48795      return updateRef();
48796    },
48797    useState: function (initialState) {
48798      currentHookNameInDev = 'useState';
48799      updateHookTypesDev();
48800      var prevDispatcher = ReactCurrentDispatcher.current;
48801      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnRerenderInDEV;
48802
48803      try {
48804        return rerenderState(initialState);
48805      } finally {
48806        ReactCurrentDispatcher.current = prevDispatcher;
48807      }
48808    },
48809    useDebugValue: function (value, formatterFn) {
48810      currentHookNameInDev = 'useDebugValue';
48811      updateHookTypesDev();
48812      return updateDebugValue();
48813    },
48814    useResponder: function (responder, props) {
48815      currentHookNameInDev = 'useResponder';
48816      updateHookTypesDev();
48817      return createDeprecatedResponderListener(responder, props);
48818    },
48819    useDeferredValue: function (value, config) {
48820      currentHookNameInDev = 'useDeferredValue';
48821      updateHookTypesDev();
48822      return rerenderDeferredValue(value, config);
48823    },
48824    useTransition: function (config) {
48825      currentHookNameInDev = 'useTransition';
48826      updateHookTypesDev();
48827      return rerenderTransition(config);
48828    }
48829  };
48830  InvalidNestedHooksDispatcherOnMountInDEV = {
48831    readContext: function (context, observedBits) {
48832      warnInvalidContextAccess();
48833      return readContext(context, observedBits);
48834    },
48835    useCallback: function (callback, deps) {
48836      currentHookNameInDev = 'useCallback';
48837      warnInvalidHookAccess();
48838      mountHookTypesDev();
48839      return mountCallback(callback, deps);
48840    },
48841    useContext: function (context, observedBits) {
48842      currentHookNameInDev = 'useContext';
48843      warnInvalidHookAccess();
48844      mountHookTypesDev();
48845      return readContext(context, observedBits);
48846    },
48847    useEffect: function (create, deps) {
48848      currentHookNameInDev = 'useEffect';
48849      warnInvalidHookAccess();
48850      mountHookTypesDev();
48851      return mountEffect(create, deps);
48852    },
48853    useImperativeHandle: function (ref, create, deps) {
48854      currentHookNameInDev = 'useImperativeHandle';
48855      warnInvalidHookAccess();
48856      mountHookTypesDev();
48857      return mountImperativeHandle(ref, create, deps);
48858    },
48859    useLayoutEffect: function (create, deps) {
48860      currentHookNameInDev = 'useLayoutEffect';
48861      warnInvalidHookAccess();
48862      mountHookTypesDev();
48863      return mountLayoutEffect(create, deps);
48864    },
48865    useMemo: function (create, deps) {
48866      currentHookNameInDev = 'useMemo';
48867      warnInvalidHookAccess();
48868      mountHookTypesDev();
48869      var prevDispatcher = ReactCurrentDispatcher.current;
48870      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;
48871
48872      try {
48873        return mountMemo(create, deps);
48874      } finally {
48875        ReactCurrentDispatcher.current = prevDispatcher;
48876      }
48877    },
48878    useReducer: function (reducer, initialArg, init) {
48879      currentHookNameInDev = 'useReducer';
48880      warnInvalidHookAccess();
48881      mountHookTypesDev();
48882      var prevDispatcher = ReactCurrentDispatcher.current;
48883      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;
48884
48885      try {
48886        return mountReducer(reducer, initialArg, init);
48887      } finally {
48888        ReactCurrentDispatcher.current = prevDispatcher;
48889      }
48890    },
48891    useRef: function (initialValue) {
48892      currentHookNameInDev = 'useRef';
48893      warnInvalidHookAccess();
48894      mountHookTypesDev();
48895      return mountRef(initialValue);
48896    },
48897    useState: function (initialState) {
48898      currentHookNameInDev = 'useState';
48899      warnInvalidHookAccess();
48900      mountHookTypesDev();
48901      var prevDispatcher = ReactCurrentDispatcher.current;
48902      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;
48903
48904      try {
48905        return mountState(initialState);
48906      } finally {
48907        ReactCurrentDispatcher.current = prevDispatcher;
48908      }
48909    },
48910    useDebugValue: function (value, formatterFn) {
48911      currentHookNameInDev = 'useDebugValue';
48912      warnInvalidHookAccess();
48913      mountHookTypesDev();
48914      return mountDebugValue();
48915    },
48916    useResponder: function (responder, props) {
48917      currentHookNameInDev = 'useResponder';
48918      warnInvalidHookAccess();
48919      mountHookTypesDev();
48920      return createDeprecatedResponderListener(responder, props);
48921    },
48922    useDeferredValue: function (value, config) {
48923      currentHookNameInDev = 'useDeferredValue';
48924      warnInvalidHookAccess();
48925      mountHookTypesDev();
48926      return mountDeferredValue(value, config);
48927    },
48928    useTransition: function (config) {
48929      currentHookNameInDev = 'useTransition';
48930      warnInvalidHookAccess();
48931      mountHookTypesDev();
48932      return mountTransition(config);
48933    }
48934  };
48935  InvalidNestedHooksDispatcherOnUpdateInDEV = {
48936    readContext: function (context, observedBits) {
48937      warnInvalidContextAccess();
48938      return readContext(context, observedBits);
48939    },
48940    useCallback: function (callback, deps) {
48941      currentHookNameInDev = 'useCallback';
48942      warnInvalidHookAccess();
48943      updateHookTypesDev();
48944      return updateCallback(callback, deps);
48945    },
48946    useContext: function (context, observedBits) {
48947      currentHookNameInDev = 'useContext';
48948      warnInvalidHookAccess();
48949      updateHookTypesDev();
48950      return readContext(context, observedBits);
48951    },
48952    useEffect: function (create, deps) {
48953      currentHookNameInDev = 'useEffect';
48954      warnInvalidHookAccess();
48955      updateHookTypesDev();
48956      return updateEffect(create, deps);
48957    },
48958    useImperativeHandle: function (ref, create, deps) {
48959      currentHookNameInDev = 'useImperativeHandle';
48960      warnInvalidHookAccess();
48961      updateHookTypesDev();
48962      return updateImperativeHandle(ref, create, deps);
48963    },
48964    useLayoutEffect: function (create, deps) {
48965      currentHookNameInDev = 'useLayoutEffect';
48966      warnInvalidHookAccess();
48967      updateHookTypesDev();
48968      return updateLayoutEffect(create, deps);
48969    },
48970    useMemo: function (create, deps) {
48971      currentHookNameInDev = 'useMemo';
48972      warnInvalidHookAccess();
48973      updateHookTypesDev();
48974      var prevDispatcher = ReactCurrentDispatcher.current;
48975      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
48976
48977      try {
48978        return updateMemo(create, deps);
48979      } finally {
48980        ReactCurrentDispatcher.current = prevDispatcher;
48981      }
48982    },
48983    useReducer: function (reducer, initialArg, init) {
48984      currentHookNameInDev = 'useReducer';
48985      warnInvalidHookAccess();
48986      updateHookTypesDev();
48987      var prevDispatcher = ReactCurrentDispatcher.current;
48988      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
48989
48990      try {
48991        return updateReducer(reducer, initialArg, init);
48992      } finally {
48993        ReactCurrentDispatcher.current = prevDispatcher;
48994      }
48995    },
48996    useRef: function (initialValue) {
48997      currentHookNameInDev = 'useRef';
48998      warnInvalidHookAccess();
48999      updateHookTypesDev();
49000      return updateRef();
49001    },
49002    useState: function (initialState) {
49003      currentHookNameInDev = 'useState';
49004      warnInvalidHookAccess();
49005      updateHookTypesDev();
49006      var prevDispatcher = ReactCurrentDispatcher.current;
49007      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
49008
49009      try {
49010        return updateState(initialState);
49011      } finally {
49012        ReactCurrentDispatcher.current = prevDispatcher;
49013      }
49014    },
49015    useDebugValue: function (value, formatterFn) {
49016      currentHookNameInDev = 'useDebugValue';
49017      warnInvalidHookAccess();
49018      updateHookTypesDev();
49019      return updateDebugValue();
49020    },
49021    useResponder: function (responder, props) {
49022      currentHookNameInDev = 'useResponder';
49023      warnInvalidHookAccess();
49024      updateHookTypesDev();
49025      return createDeprecatedResponderListener(responder, props);
49026    },
49027    useDeferredValue: function (value, config) {
49028      currentHookNameInDev = 'useDeferredValue';
49029      warnInvalidHookAccess();
49030      updateHookTypesDev();
49031      return updateDeferredValue(value, config);
49032    },
49033    useTransition: function (config) {
49034      currentHookNameInDev = 'useTransition';
49035      warnInvalidHookAccess();
49036      updateHookTypesDev();
49037      return updateTransition(config);
49038    }
49039  };
49040  InvalidNestedHooksDispatcherOnRerenderInDEV = {
49041    readContext: function (context, observedBits) {
49042      warnInvalidContextAccess();
49043      return readContext(context, observedBits);
49044    },
49045    useCallback: function (callback, deps) {
49046      currentHookNameInDev = 'useCallback';
49047      warnInvalidHookAccess();
49048      updateHookTypesDev();
49049      return updateCallback(callback, deps);
49050    },
49051    useContext: function (context, observedBits) {
49052      currentHookNameInDev = 'useContext';
49053      warnInvalidHookAccess();
49054      updateHookTypesDev();
49055      return readContext(context, observedBits);
49056    },
49057    useEffect: function (create, deps) {
49058      currentHookNameInDev = 'useEffect';
49059      warnInvalidHookAccess();
49060      updateHookTypesDev();
49061      return updateEffect(create, deps);
49062    },
49063    useImperativeHandle: function (ref, create, deps) {
49064      currentHookNameInDev = 'useImperativeHandle';
49065      warnInvalidHookAccess();
49066      updateHookTypesDev();
49067      return updateImperativeHandle(ref, create, deps);
49068    },
49069    useLayoutEffect: function (create, deps) {
49070      currentHookNameInDev = 'useLayoutEffect';
49071      warnInvalidHookAccess();
49072      updateHookTypesDev();
49073      return updateLayoutEffect(create, deps);
49074    },
49075    useMemo: function (create, deps) {
49076      currentHookNameInDev = 'useMemo';
49077      warnInvalidHookAccess();
49078      updateHookTypesDev();
49079      var prevDispatcher = ReactCurrentDispatcher.current;
49080      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
49081
49082      try {
49083        return updateMemo(create, deps);
49084      } finally {
49085        ReactCurrentDispatcher.current = prevDispatcher;
49086      }
49087    },
49088    useReducer: function (reducer, initialArg, init) {
49089      currentHookNameInDev = 'useReducer';
49090      warnInvalidHookAccess();
49091      updateHookTypesDev();
49092      var prevDispatcher = ReactCurrentDispatcher.current;
49093      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
49094
49095      try {
49096        return rerenderReducer(reducer, initialArg, init);
49097      } finally {
49098        ReactCurrentDispatcher.current = prevDispatcher;
49099      }
49100    },
49101    useRef: function (initialValue) {
49102      currentHookNameInDev = 'useRef';
49103      warnInvalidHookAccess();
49104      updateHookTypesDev();
49105      return updateRef();
49106    },
49107    useState: function (initialState) {
49108      currentHookNameInDev = 'useState';
49109      warnInvalidHookAccess();
49110      updateHookTypesDev();
49111      var prevDispatcher = ReactCurrentDispatcher.current;
49112      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
49113
49114      try {
49115        return rerenderState(initialState);
49116      } finally {
49117        ReactCurrentDispatcher.current = prevDispatcher;
49118      }
49119    },
49120    useDebugValue: function (value, formatterFn) {
49121      currentHookNameInDev = 'useDebugValue';
49122      warnInvalidHookAccess();
49123      updateHookTypesDev();
49124      return updateDebugValue();
49125    },
49126    useResponder: function (responder, props) {
49127      currentHookNameInDev = 'useResponder';
49128      warnInvalidHookAccess();
49129      updateHookTypesDev();
49130      return createDeprecatedResponderListener(responder, props);
49131    },
49132    useDeferredValue: function (value, config) {
49133      currentHookNameInDev = 'useDeferredValue';
49134      warnInvalidHookAccess();
49135      updateHookTypesDev();
49136      return rerenderDeferredValue(value, config);
49137    },
49138    useTransition: function (config) {
49139      currentHookNameInDev = 'useTransition';
49140      warnInvalidHookAccess();
49141      updateHookTypesDev();
49142      return rerenderTransition(config);
49143    }
49144  };
49145}
49146
49147var now$1 = Scheduler.unstable_now;
49148var commitTime = 0;
49149var profilerStartTime = -1;
49150
49151function getCommitTime() {
49152  return commitTime;
49153}
49154
49155function recordCommitTime() {
49156
49157  commitTime = now$1();
49158}
49159
49160function startProfilerTimer(fiber) {
49161
49162  profilerStartTime = now$1();
49163
49164  if (fiber.actualStartTime < 0) {
49165    fiber.actualStartTime = now$1();
49166  }
49167}
49168
49169function stopProfilerTimerIfRunning(fiber) {
49170
49171  profilerStartTime = -1;
49172}
49173
49174function stopProfilerTimerIfRunningAndRecordDelta(fiber, overrideBaseTime) {
49175
49176  if (profilerStartTime >= 0) {
49177    var elapsedTime = now$1() - profilerStartTime;
49178    fiber.actualDuration += elapsedTime;
49179
49180    if (overrideBaseTime) {
49181      fiber.selfBaseDuration = elapsedTime;
49182    }
49183
49184    profilerStartTime = -1;
49185  }
49186}
49187
49188// This may have been an insertion or a hydration.
49189
49190var hydrationParentFiber = null;
49191var nextHydratableInstance = null;
49192var isHydrating = false;
49193
49194function enterHydrationState(fiber) {
49195
49196  var parentInstance = fiber.stateNode.containerInfo;
49197  nextHydratableInstance = getFirstHydratableChild(parentInstance);
49198  hydrationParentFiber = fiber;
49199  isHydrating = true;
49200  return true;
49201}
49202
49203function deleteHydratableInstance(returnFiber, instance) {
49204  {
49205    switch (returnFiber.tag) {
49206      case HostRoot:
49207        didNotHydrateContainerInstance(returnFiber.stateNode.containerInfo, instance);
49208        break;
49209
49210      case HostComponent:
49211        didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance);
49212        break;
49213    }
49214  }
49215
49216  var childToDelete = createFiberFromHostInstanceForDeletion();
49217  childToDelete.stateNode = instance;
49218  childToDelete.return = returnFiber;
49219  childToDelete.effectTag = Deletion; // This might seem like it belongs on progressedFirstDeletion. However,
49220  // these children are not part of the reconciliation list of children.
49221  // Even if we abort and rereconcile the children, that will try to hydrate
49222  // again and the nodes are still in the host tree so these will be
49223  // recreated.
49224
49225  if (returnFiber.lastEffect !== null) {
49226    returnFiber.lastEffect.nextEffect = childToDelete;
49227    returnFiber.lastEffect = childToDelete;
49228  } else {
49229    returnFiber.firstEffect = returnFiber.lastEffect = childToDelete;
49230  }
49231}
49232
49233function insertNonHydratedInstance(returnFiber, fiber) {
49234  fiber.effectTag = fiber.effectTag & ~Hydrating | Placement;
49235
49236  {
49237    switch (returnFiber.tag) {
49238      case HostRoot:
49239        {
49240          var parentContainer = returnFiber.stateNode.containerInfo;
49241
49242          switch (fiber.tag) {
49243            case HostComponent:
49244              var type = fiber.type;
49245              var props = fiber.pendingProps;
49246              didNotFindHydratableContainerInstance(parentContainer, type);
49247              break;
49248
49249            case HostText:
49250              var text = fiber.pendingProps;
49251              didNotFindHydratableContainerTextInstance(parentContainer, text);
49252              break;
49253          }
49254
49255          break;
49256        }
49257
49258      case HostComponent:
49259        {
49260          var parentType = returnFiber.type;
49261          var parentProps = returnFiber.memoizedProps;
49262          var parentInstance = returnFiber.stateNode;
49263
49264          switch (fiber.tag) {
49265            case HostComponent:
49266              var _type = fiber.type;
49267              var _props = fiber.pendingProps;
49268              didNotFindHydratableInstance(parentType, parentProps, parentInstance, _type);
49269              break;
49270
49271            case HostText:
49272              var _text = fiber.pendingProps;
49273              didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, _text);
49274              break;
49275
49276            case SuspenseComponent:
49277              didNotFindHydratableSuspenseInstance(parentType, parentProps);
49278              break;
49279          }
49280
49281          break;
49282        }
49283
49284      default:
49285        return;
49286    }
49287  }
49288}
49289
49290function tryHydrate(fiber, nextInstance) {
49291  switch (fiber.tag) {
49292    case HostComponent:
49293      {
49294        var type = fiber.type;
49295        var props = fiber.pendingProps;
49296        var instance = canHydrateInstance(nextInstance, type);
49297
49298        if (instance !== null) {
49299          fiber.stateNode = instance;
49300          return true;
49301        }
49302
49303        return false;
49304      }
49305
49306    case HostText:
49307      {
49308        var text = fiber.pendingProps;
49309        var textInstance = canHydrateTextInstance(nextInstance, text);
49310
49311        if (textInstance !== null) {
49312          fiber.stateNode = textInstance;
49313          return true;
49314        }
49315
49316        return false;
49317      }
49318
49319    case SuspenseComponent:
49320      {
49321
49322        return false;
49323      }
49324
49325    default:
49326      return false;
49327  }
49328}
49329
49330function tryToClaimNextHydratableInstance(fiber) {
49331  if (!isHydrating) {
49332    return;
49333  }
49334
49335  var nextInstance = nextHydratableInstance;
49336
49337  if (!nextInstance) {
49338    // Nothing to hydrate. Make it an insertion.
49339    insertNonHydratedInstance(hydrationParentFiber, fiber);
49340    isHydrating = false;
49341    hydrationParentFiber = fiber;
49342    return;
49343  }
49344
49345  var firstAttemptedInstance = nextInstance;
49346
49347  if (!tryHydrate(fiber, nextInstance)) {
49348    // If we can't hydrate this instance let's try the next one.
49349    // We use this as a heuristic. It's based on intuition and not data so it
49350    // might be flawed or unnecessary.
49351    nextInstance = getNextHydratableSibling(firstAttemptedInstance);
49352
49353    if (!nextInstance || !tryHydrate(fiber, nextInstance)) {
49354      // Nothing to hydrate. Make it an insertion.
49355      insertNonHydratedInstance(hydrationParentFiber, fiber);
49356      isHydrating = false;
49357      hydrationParentFiber = fiber;
49358      return;
49359    } // We matched the next one, we'll now assume that the first one was
49360    // superfluous and we'll delete it. Since we can't eagerly delete it
49361    // we'll have to schedule a deletion. To do that, this node needs a dummy
49362    // fiber associated with it.
49363
49364
49365    deleteHydratableInstance(hydrationParentFiber, firstAttemptedInstance);
49366  }
49367
49368  hydrationParentFiber = fiber;
49369  nextHydratableInstance = getFirstHydratableChild(nextInstance);
49370}
49371
49372function prepareToHydrateHostInstance(fiber, rootContainerInstance, hostContext) {
49373
49374  var instance = fiber.stateNode;
49375  var updatePayload = hydrateInstance(instance, fiber.type, fiber.memoizedProps, rootContainerInstance, hostContext, fiber); // TODO: Type this specific to this type of component.
49376
49377  fiber.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there
49378  // is a new ref we mark this as an update.
49379
49380  if (updatePayload !== null) {
49381    return true;
49382  }
49383
49384  return false;
49385}
49386
49387function prepareToHydrateHostTextInstance(fiber) {
49388
49389  var textInstance = fiber.stateNode;
49390  var textContent = fiber.memoizedProps;
49391  var shouldUpdate = hydrateTextInstance(textInstance, textContent, fiber);
49392
49393  {
49394    if (shouldUpdate) {
49395      // We assume that prepareToHydrateHostTextInstance is called in a context where the
49396      // hydration parent is the parent host component of this host text.
49397      var returnFiber = hydrationParentFiber;
49398
49399      if (returnFiber !== null) {
49400        switch (returnFiber.tag) {
49401          case HostRoot:
49402            {
49403              var parentContainer = returnFiber.stateNode.containerInfo;
49404              didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, textContent);
49405              break;
49406            }
49407
49408          case HostComponent:
49409            {
49410              var parentType = returnFiber.type;
49411              var parentProps = returnFiber.memoizedProps;
49412              var parentInstance = returnFiber.stateNode;
49413              didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, textContent);
49414              break;
49415            }
49416        }
49417      }
49418    }
49419  }
49420
49421  return shouldUpdate;
49422}
49423
49424function skipPastDehydratedSuspenseInstance(fiber) {
49425
49426  var suspenseState = fiber.memoizedState;
49427  var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null;
49428
49429  if (!suspenseInstance) {
49430    {
49431      throw Error( "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue." );
49432    }
49433  }
49434
49435  return getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance);
49436}
49437
49438function popToNextHostParent(fiber) {
49439  var parent = fiber.return;
49440
49441  while (parent !== null && parent.tag !== HostComponent && parent.tag !== HostRoot && parent.tag !== SuspenseComponent) {
49442    parent = parent.return;
49443  }
49444
49445  hydrationParentFiber = parent;
49446}
49447
49448function popHydrationState(fiber) {
49449
49450  if (fiber !== hydrationParentFiber) {
49451    // We're deeper than the current hydration context, inside an inserted
49452    // tree.
49453    return false;
49454  }
49455
49456  if (!isHydrating) {
49457    // If we're not currently hydrating but we're in a hydration context, then
49458    // we were an insertion and now need to pop up reenter hydration of our
49459    // siblings.
49460    popToNextHostParent(fiber);
49461    isHydrating = true;
49462    return false;
49463  }
49464
49465  var type = fiber.type; // If we have any remaining hydratable nodes, we need to delete them now.
49466  // We only do this deeper than head and body since they tend to have random
49467  // other nodes in them. We also ignore components with pure text content in
49468  // side of them.
49469  // TODO: Better heuristic.
49470
49471  if (fiber.tag !== HostComponent || type !== 'head' && type !== 'body' && !shouldSetTextContent(type, fiber.memoizedProps)) {
49472    var nextInstance = nextHydratableInstance;
49473
49474    while (nextInstance) {
49475      deleteHydratableInstance(fiber, nextInstance);
49476      nextInstance = getNextHydratableSibling(nextInstance);
49477    }
49478  }
49479
49480  popToNextHostParent(fiber);
49481
49482  if (fiber.tag === SuspenseComponent) {
49483    nextHydratableInstance = skipPastDehydratedSuspenseInstance(fiber);
49484  } else {
49485    nextHydratableInstance = hydrationParentFiber ? getNextHydratableSibling(fiber.stateNode) : null;
49486  }
49487
49488  return true;
49489}
49490
49491function resetHydrationState() {
49492
49493  hydrationParentFiber = null;
49494  nextHydratableInstance = null;
49495  isHydrating = false;
49496}
49497
49498var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;
49499var didReceiveUpdate = false;
49500var didWarnAboutBadClass;
49501var didWarnAboutModulePatternComponent;
49502var didWarnAboutContextTypeOnFunctionComponent;
49503var didWarnAboutGetDerivedStateOnFunctionComponent;
49504var didWarnAboutFunctionRefs;
49505var didWarnAboutReassigningProps;
49506var didWarnAboutRevealOrder;
49507var didWarnAboutTailOptions;
49508
49509{
49510  didWarnAboutBadClass = {};
49511  didWarnAboutModulePatternComponent = {};
49512  didWarnAboutContextTypeOnFunctionComponent = {};
49513  didWarnAboutGetDerivedStateOnFunctionComponent = {};
49514  didWarnAboutFunctionRefs = {};
49515  didWarnAboutReassigningProps = false;
49516  didWarnAboutRevealOrder = {};
49517  didWarnAboutTailOptions = {};
49518}
49519
49520function reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime) {
49521  if (current === null) {
49522    // If this is a fresh new component that hasn't been rendered yet, we
49523    // won't update its child set by applying minimal side-effects. Instead,
49524    // we will add them all to the child before it gets rendered. That means
49525    // we can optimize this reconciliation pass by not tracking side-effects.
49526    workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime);
49527  } else {
49528    // If the current child is the same as the work in progress, it means that
49529    // we haven't yet started any work on these children. Therefore, we use
49530    // the clone algorithm to create a copy of all the current children.
49531    // If we had any progressed work already, that is invalid at this point so
49532    // let's throw it out.
49533    workInProgress.child = reconcileChildFibers(workInProgress, current.child, nextChildren, renderExpirationTime);
49534  }
49535}
49536
49537function forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderExpirationTime) {
49538  // This function is fork of reconcileChildren. It's used in cases where we
49539  // want to reconcile without matching against the existing set. This has the
49540  // effect of all current children being unmounted; even if the type and key
49541  // are the same, the old child is unmounted and a new child is created.
49542  //
49543  // To do this, we're going to go through the reconcile algorithm twice. In
49544  // the first pass, we schedule a deletion for all the current children by
49545  // passing null.
49546  workInProgress.child = reconcileChildFibers(workInProgress, current.child, null, renderExpirationTime); // In the second pass, we mount the new children. The trick here is that we
49547  // pass null in place of where we usually pass the current child set. This has
49548  // the effect of remounting all children regardless of whether their
49549  // identities match.
49550
49551  workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderExpirationTime);
49552}
49553
49554function updateForwardRef(current, workInProgress, Component, nextProps, renderExpirationTime) {
49555  // TODO: current can be non-null here even if the component
49556  // hasn't yet mounted. This happens after the first render suspends.
49557  // We'll need to figure out if this is fine or can cause issues.
49558  {
49559    if (workInProgress.type !== workInProgress.elementType) {
49560      // Lazy component props can't be validated in createElement
49561      // because they're only guaranteed to be resolved here.
49562      var innerPropTypes = Component.propTypes;
49563
49564      if (innerPropTypes) {
49565        checkPropTypes(innerPropTypes, nextProps, // Resolved props
49566        'prop', getComponentName(Component), getCurrentFiberStackInDev);
49567      }
49568    }
49569  }
49570
49571  var render = Component.render;
49572  var ref = workInProgress.ref; // The rest is a fork of updateFunctionComponent
49573
49574  var nextChildren;
49575  prepareToReadContext(workInProgress, renderExpirationTime);
49576
49577  {
49578    ReactCurrentOwner$1.current = workInProgress;
49579    setIsRendering(true);
49580    nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderExpirationTime);
49581
49582    if ( workInProgress.mode & StrictMode) {
49583      // Only double-render components with Hooks
49584      if (workInProgress.memoizedState !== null) {
49585        nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderExpirationTime);
49586      }
49587    }
49588
49589    setIsRendering(false);
49590  }
49591
49592  if (current !== null && !didReceiveUpdate) {
49593    bailoutHooks(current, workInProgress, renderExpirationTime);
49594    return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);
49595  } // React DevTools reads this flag.
49596
49597
49598  workInProgress.effectTag |= PerformedWork;
49599  reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);
49600  return workInProgress.child;
49601}
49602
49603function updateMemoComponent(current, workInProgress, Component, nextProps, updateExpirationTime, renderExpirationTime) {
49604  if (current === null) {
49605    var type = Component.type;
49606
49607    if (isSimpleFunctionComponent(type) && Component.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either.
49608    Component.defaultProps === undefined) {
49609      var resolvedType = type;
49610
49611      {
49612        resolvedType = resolveFunctionForHotReloading(type);
49613      } // If this is a plain function component without default props,
49614      // and with only the default shallow comparison, we upgrade it
49615      // to a SimpleMemoComponent to allow fast path updates.
49616
49617
49618      workInProgress.tag = SimpleMemoComponent;
49619      workInProgress.type = resolvedType;
49620
49621      {
49622        validateFunctionComponentInDev(workInProgress, type);
49623      }
49624
49625      return updateSimpleMemoComponent(current, workInProgress, resolvedType, nextProps, updateExpirationTime, renderExpirationTime);
49626    }
49627
49628    {
49629      var innerPropTypes = type.propTypes;
49630
49631      if (innerPropTypes) {
49632        // Inner memo component props aren't currently validated in createElement.
49633        // We could move it there, but we'd still need this for lazy code path.
49634        checkPropTypes(innerPropTypes, nextProps, // Resolved props
49635        'prop', getComponentName(type), getCurrentFiberStackInDev);
49636      }
49637    }
49638
49639    var child = createFiberFromTypeAndProps(Component.type, null, nextProps, null, workInProgress.mode, renderExpirationTime);
49640    child.ref = workInProgress.ref;
49641    child.return = workInProgress;
49642    workInProgress.child = child;
49643    return child;
49644  }
49645
49646  {
49647    var _type = Component.type;
49648    var _innerPropTypes = _type.propTypes;
49649
49650    if (_innerPropTypes) {
49651      // Inner memo component props aren't currently validated in createElement.
49652      // We could move it there, but we'd still need this for lazy code path.
49653      checkPropTypes(_innerPropTypes, nextProps, // Resolved props
49654      'prop', getComponentName(_type), getCurrentFiberStackInDev);
49655    }
49656  }
49657
49658  var currentChild = current.child; // This is always exactly one child
49659
49660  if (updateExpirationTime < renderExpirationTime) {
49661    // This will be the props with resolved defaultProps,
49662    // unlike current.memoizedProps which will be the unresolved ones.
49663    var prevProps = currentChild.memoizedProps; // Default to shallow comparison
49664
49665    var compare = Component.compare;
49666    compare = compare !== null ? compare : shallowEqual;
49667
49668    if (compare(prevProps, nextProps) && current.ref === workInProgress.ref) {
49669      return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);
49670    }
49671  } // React DevTools reads this flag.
49672
49673
49674  workInProgress.effectTag |= PerformedWork;
49675  var newChild = createWorkInProgress(currentChild, nextProps);
49676  newChild.ref = workInProgress.ref;
49677  newChild.return = workInProgress;
49678  workInProgress.child = newChild;
49679  return newChild;
49680}
49681
49682function updateSimpleMemoComponent(current, workInProgress, Component, nextProps, updateExpirationTime, renderExpirationTime) {
49683  // TODO: current can be non-null here even if the component
49684  // hasn't yet mounted. This happens when the inner render suspends.
49685  // We'll need to figure out if this is fine or can cause issues.
49686  {
49687    if (workInProgress.type !== workInProgress.elementType) {
49688      // Lazy component props can't be validated in createElement
49689      // because they're only guaranteed to be resolved here.
49690      var outerMemoType = workInProgress.elementType;
49691
49692      if (outerMemoType.$$typeof === REACT_LAZY_TYPE) {
49693        // We warn when you define propTypes on lazy()
49694        // so let's just skip over it to find memo() outer wrapper.
49695        // Inner props for memo are validated later.
49696        outerMemoType = refineResolvedLazyComponent(outerMemoType);
49697      }
49698
49699      var outerPropTypes = outerMemoType && outerMemoType.propTypes;
49700
49701      if (outerPropTypes) {
49702        checkPropTypes(outerPropTypes, nextProps, // Resolved (SimpleMemoComponent has no defaultProps)
49703        'prop', getComponentName(outerMemoType), getCurrentFiberStackInDev);
49704      } // Inner propTypes will be validated in the function component path.
49705
49706    }
49707  }
49708
49709  if (current !== null) {
49710    var prevProps = current.memoizedProps;
49711
49712    if (shallowEqual(prevProps, nextProps) && current.ref === workInProgress.ref && ( // Prevent bailout if the implementation changed due to hot reload.
49713     workInProgress.type === current.type )) {
49714      didReceiveUpdate = false;
49715
49716      if (updateExpirationTime < renderExpirationTime) {
49717        // The pending update priority was cleared at the beginning of
49718        // beginWork. We're about to bail out, but there might be additional
49719        // updates at a lower priority. Usually, the priority level of the
49720        // remaining updates is accumlated during the evaluation of the
49721        // component (i.e. when processing the update queue). But since since
49722        // we're bailing out early *without* evaluating the component, we need
49723        // to account for it here, too. Reset to the value of the current fiber.
49724        // NOTE: This only applies to SimpleMemoComponent, not MemoComponent,
49725        // because a MemoComponent fiber does not have hooks or an update queue;
49726        // rather, it wraps around an inner component, which may or may not
49727        // contains hooks.
49728        // TODO: Move the reset at in beginWork out of the common path so that
49729        // this is no longer necessary.
49730        workInProgress.expirationTime = current.expirationTime;
49731        return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);
49732      }
49733    }
49734  }
49735
49736  return updateFunctionComponent(current, workInProgress, Component, nextProps, renderExpirationTime);
49737}
49738
49739function updateFragment(current, workInProgress, renderExpirationTime) {
49740  var nextChildren = workInProgress.pendingProps;
49741  reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);
49742  return workInProgress.child;
49743}
49744
49745function updateMode(current, workInProgress, renderExpirationTime) {
49746  var nextChildren = workInProgress.pendingProps.children;
49747  reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);
49748  return workInProgress.child;
49749}
49750
49751function updateProfiler(current, workInProgress, renderExpirationTime) {
49752  {
49753    workInProgress.effectTag |= Update;
49754  }
49755
49756  var nextProps = workInProgress.pendingProps;
49757  var nextChildren = nextProps.children;
49758  reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);
49759  return workInProgress.child;
49760}
49761
49762function markRef(current, workInProgress) {
49763  var ref = workInProgress.ref;
49764
49765  if (current === null && ref !== null || current !== null && current.ref !== ref) {
49766    // Schedule a Ref effect
49767    workInProgress.effectTag |= Ref;
49768  }
49769}
49770
49771function updateFunctionComponent(current, workInProgress, Component, nextProps, renderExpirationTime) {
49772  {
49773    if (workInProgress.type !== workInProgress.elementType) {
49774      // Lazy component props can't be validated in createElement
49775      // because they're only guaranteed to be resolved here.
49776      var innerPropTypes = Component.propTypes;
49777
49778      if (innerPropTypes) {
49779        checkPropTypes(innerPropTypes, nextProps, // Resolved props
49780        'prop', getComponentName(Component), getCurrentFiberStackInDev);
49781      }
49782    }
49783  }
49784
49785  var context;
49786
49787  {
49788    var unmaskedContext = getUnmaskedContext(workInProgress, Component, true);
49789    context = getMaskedContext(workInProgress, unmaskedContext);
49790  }
49791
49792  var nextChildren;
49793  prepareToReadContext(workInProgress, renderExpirationTime);
49794
49795  {
49796    ReactCurrentOwner$1.current = workInProgress;
49797    setIsRendering(true);
49798    nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderExpirationTime);
49799
49800    if ( workInProgress.mode & StrictMode) {
49801      // Only double-render components with Hooks
49802      if (workInProgress.memoizedState !== null) {
49803        nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderExpirationTime);
49804      }
49805    }
49806
49807    setIsRendering(false);
49808  }
49809
49810  if (current !== null && !didReceiveUpdate) {
49811    bailoutHooks(current, workInProgress, renderExpirationTime);
49812    return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);
49813  } // React DevTools reads this flag.
49814
49815
49816  workInProgress.effectTag |= PerformedWork;
49817  reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);
49818  return workInProgress.child;
49819}
49820
49821function updateClassComponent(current, workInProgress, Component, nextProps, renderExpirationTime) {
49822  {
49823    if (workInProgress.type !== workInProgress.elementType) {
49824      // Lazy component props can't be validated in createElement
49825      // because they're only guaranteed to be resolved here.
49826      var innerPropTypes = Component.propTypes;
49827
49828      if (innerPropTypes) {
49829        checkPropTypes(innerPropTypes, nextProps, // Resolved props
49830        'prop', getComponentName(Component), getCurrentFiberStackInDev);
49831      }
49832    }
49833  } // Push context providers early to prevent context stack mismatches.
49834  // During mounting we don't know the child context yet as the instance doesn't exist.
49835  // We will invalidate the child context in finishClassComponent() right after rendering.
49836
49837
49838  var hasContext;
49839
49840  if (isContextProvider(Component)) {
49841    hasContext = true;
49842    pushContextProvider(workInProgress);
49843  } else {
49844    hasContext = false;
49845  }
49846
49847  prepareToReadContext(workInProgress, renderExpirationTime);
49848  var instance = workInProgress.stateNode;
49849  var shouldUpdate;
49850
49851  if (instance === null) {
49852    if (current !== null) {
49853      // A class component without an instance only mounts if it suspended
49854      // inside a non-concurrent tree, in an inconsistent state. We want to
49855      // treat it like a new mount, even though an empty version of it already
49856      // committed. Disconnect the alternate pointers.
49857      current.alternate = null;
49858      workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect
49859
49860      workInProgress.effectTag |= Placement;
49861    } // In the initial pass we might need to construct the instance.
49862
49863
49864    constructClassInstance(workInProgress, Component, nextProps);
49865    mountClassInstance(workInProgress, Component, nextProps, renderExpirationTime);
49866    shouldUpdate = true;
49867  } else if (current === null) {
49868    // In a resume, we'll already have an instance we can reuse.
49869    shouldUpdate = resumeMountClassInstance(workInProgress, Component, nextProps, renderExpirationTime);
49870  } else {
49871    shouldUpdate = updateClassInstance(current, workInProgress, Component, nextProps, renderExpirationTime);
49872  }
49873
49874  var nextUnitOfWork = finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderExpirationTime);
49875
49876  {
49877    var inst = workInProgress.stateNode;
49878
49879    if (inst.props !== nextProps) {
49880      if (!didWarnAboutReassigningProps) {
49881        error('It looks like %s is reassigning its own `this.props` while rendering. ' + 'This is not supported and can lead to confusing bugs.', getComponentName(workInProgress.type) || 'a component');
49882      }
49883
49884      didWarnAboutReassigningProps = true;
49885    }
49886  }
49887
49888  return nextUnitOfWork;
49889}
49890
49891function finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderExpirationTime) {
49892  // Refs should update even if shouldComponentUpdate returns false
49893  markRef(current, workInProgress);
49894  var didCaptureError = (workInProgress.effectTag & DidCapture) !== NoEffect;
49895
49896  if (!shouldUpdate && !didCaptureError) {
49897    // Context providers should defer to sCU for rendering
49898    if (hasContext) {
49899      invalidateContextProvider(workInProgress, Component, false);
49900    }
49901
49902    return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);
49903  }
49904
49905  var instance = workInProgress.stateNode; // Rerender
49906
49907  ReactCurrentOwner$1.current = workInProgress;
49908  var nextChildren;
49909
49910  if (didCaptureError && typeof Component.getDerivedStateFromError !== 'function') {
49911    // If we captured an error, but getDerivedStateFromError is not defined,
49912    // unmount all the children. componentDidCatch will schedule an update to
49913    // re-render a fallback. This is temporary until we migrate everyone to
49914    // the new API.
49915    // TODO: Warn in a future release.
49916    nextChildren = null;
49917
49918    {
49919      stopProfilerTimerIfRunning();
49920    }
49921  } else {
49922    {
49923      setIsRendering(true);
49924      nextChildren = instance.render();
49925
49926      if ( workInProgress.mode & StrictMode) {
49927        instance.render();
49928      }
49929
49930      setIsRendering(false);
49931    }
49932  } // React DevTools reads this flag.
49933
49934
49935  workInProgress.effectTag |= PerformedWork;
49936
49937  if (current !== null && didCaptureError) {
49938    // If we're recovering from an error, reconcile without reusing any of
49939    // the existing children. Conceptually, the normal children and the children
49940    // that are shown on error are two different sets, so we shouldn't reuse
49941    // normal children even if their identities match.
49942    forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderExpirationTime);
49943  } else {
49944    reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);
49945  } // Memoize state using the values we just used to render.
49946  // TODO: Restructure so we never read values from the instance.
49947
49948
49949  workInProgress.memoizedState = instance.state; // The context might have changed so we need to recalculate it.
49950
49951  if (hasContext) {
49952    invalidateContextProvider(workInProgress, Component, true);
49953  }
49954
49955  return workInProgress.child;
49956}
49957
49958function pushHostRootContext(workInProgress) {
49959  var root = workInProgress.stateNode;
49960
49961  if (root.pendingContext) {
49962    pushTopLevelContextObject(workInProgress, root.pendingContext, root.pendingContext !== root.context);
49963  } else if (root.context) {
49964    // Should always be set
49965    pushTopLevelContextObject(workInProgress, root.context, false);
49966  }
49967
49968  pushHostContainer(workInProgress, root.containerInfo);
49969}
49970
49971function updateHostRoot(current, workInProgress, renderExpirationTime) {
49972  pushHostRootContext(workInProgress);
49973  var updateQueue = workInProgress.updateQueue;
49974
49975  if (!(current !== null && updateQueue !== null)) {
49976    {
49977      throw Error( "If the root does not have an updateQueue, we should have already bailed out. This error is likely caused by a bug in React. Please file an issue." );
49978    }
49979  }
49980
49981  var nextProps = workInProgress.pendingProps;
49982  var prevState = workInProgress.memoizedState;
49983  var prevChildren = prevState !== null ? prevState.element : null;
49984  cloneUpdateQueue(current, workInProgress);
49985  processUpdateQueue(workInProgress, nextProps, null, renderExpirationTime);
49986  var nextState = workInProgress.memoizedState; // Caution: React DevTools currently depends on this property
49987  // being called "element".
49988
49989  var nextChildren = nextState.element;
49990
49991  if (nextChildren === prevChildren) {
49992    // If the state is the same as before, that's a bailout because we had
49993    // no work that expires at this time.
49994    resetHydrationState();
49995    return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);
49996  }
49997
49998  var root = workInProgress.stateNode;
49999
50000  if (root.hydrate && enterHydrationState(workInProgress)) {
50001    // If we don't have any current children this might be the first pass.
50002    // We always try to hydrate. If this isn't a hydration pass there won't
50003    // be any children to hydrate which is effectively the same thing as
50004    // not hydrating.
50005    var child = mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime);
50006    workInProgress.child = child;
50007    var node = child;
50008
50009    while (node) {
50010      // Mark each child as hydrating. This is a fast path to know whether this
50011      // tree is part of a hydrating tree. This is used to determine if a child
50012      // node has fully mounted yet, and for scheduling event replaying.
50013      // Conceptually this is similar to Placement in that a new subtree is
50014      // inserted into the React tree here. It just happens to not need DOM
50015      // mutations because it already exists.
50016      node.effectTag = node.effectTag & ~Placement | Hydrating;
50017      node = node.sibling;
50018    }
50019  } else {
50020    // Otherwise reset hydration state in case we aborted and resumed another
50021    // root.
50022    reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);
50023    resetHydrationState();
50024  }
50025
50026  return workInProgress.child;
50027}
50028
50029function updateHostComponent(current, workInProgress, renderExpirationTime) {
50030  pushHostContext(workInProgress);
50031
50032  if (current === null) {
50033    tryToClaimNextHydratableInstance(workInProgress);
50034  }
50035
50036  var type = workInProgress.type;
50037  var nextProps = workInProgress.pendingProps;
50038  var prevProps = current !== null ? current.memoizedProps : null;
50039  var nextChildren = nextProps.children;
50040  var isDirectTextChild = shouldSetTextContent(type, nextProps);
50041
50042  if (isDirectTextChild) {
50043    // We special case a direct text child of a host node. This is a common
50044    // case. We won't handle it as a reified child. We will instead handle
50045    // this in the host environment that also has access to this prop. That
50046    // avoids allocating another HostText fiber and traversing it.
50047    nextChildren = null;
50048  } else if (prevProps !== null && shouldSetTextContent(type, prevProps)) {
50049    // If we're switching from a direct text child to a normal child, or to
50050    // empty, we need to schedule the text content to be reset.
50051    workInProgress.effectTag |= ContentReset;
50052  }
50053
50054  markRef(current, workInProgress); // Check the host config to see if the children are offscreen/hidden.
50055
50056  if (workInProgress.mode & ConcurrentMode && renderExpirationTime !== Never && shouldDeprioritizeSubtree(type, nextProps)) {
50057    {
50058      markSpawnedWork(Never);
50059    } // Schedule this fiber to re-render at offscreen priority. Then bailout.
50060
50061
50062    workInProgress.expirationTime = workInProgress.childExpirationTime = Never;
50063    return null;
50064  }
50065
50066  reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);
50067  return workInProgress.child;
50068}
50069
50070function updateHostText(current, workInProgress) {
50071  if (current === null) {
50072    tryToClaimNextHydratableInstance(workInProgress);
50073  } // Nothing to do here. This is terminal. We'll do the completion step
50074  // immediately after.
50075
50076
50077  return null;
50078}
50079
50080function mountLazyComponent(_current, workInProgress, elementType, updateExpirationTime, renderExpirationTime) {
50081  if (_current !== null) {
50082    // A lazy component only mounts if it suspended inside a non-
50083    // concurrent tree, in an inconsistent state. We want to treat it like
50084    // a new mount, even though an empty version of it already committed.
50085    // Disconnect the alternate pointers.
50086    _current.alternate = null;
50087    workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect
50088
50089    workInProgress.effectTag |= Placement;
50090  }
50091
50092  var props = workInProgress.pendingProps; // We can't start a User Timing measurement with correct label yet.
50093  // Cancel and resume right after we know the tag.
50094
50095  cancelWorkTimer(workInProgress);
50096  var Component = readLazyComponentType(elementType); // Store the unwrapped component in the type.
50097
50098  workInProgress.type = Component;
50099  var resolvedTag = workInProgress.tag = resolveLazyComponentTag(Component);
50100  startWorkTimer(workInProgress);
50101  var resolvedProps = resolveDefaultProps(Component, props);
50102  var child;
50103
50104  switch (resolvedTag) {
50105    case FunctionComponent:
50106      {
50107        {
50108          validateFunctionComponentInDev(workInProgress, Component);
50109          workInProgress.type = Component = resolveFunctionForHotReloading(Component);
50110        }
50111
50112        child = updateFunctionComponent(null, workInProgress, Component, resolvedProps, renderExpirationTime);
50113        return child;
50114      }
50115
50116    case ClassComponent:
50117      {
50118        {
50119          workInProgress.type = Component = resolveClassForHotReloading(Component);
50120        }
50121
50122        child = updateClassComponent(null, workInProgress, Component, resolvedProps, renderExpirationTime);
50123        return child;
50124      }
50125
50126    case ForwardRef:
50127      {
50128        {
50129          workInProgress.type = Component = resolveForwardRefForHotReloading(Component);
50130        }
50131
50132        child = updateForwardRef(null, workInProgress, Component, resolvedProps, renderExpirationTime);
50133        return child;
50134      }
50135
50136    case MemoComponent:
50137      {
50138        {
50139          if (workInProgress.type !== workInProgress.elementType) {
50140            var outerPropTypes = Component.propTypes;
50141
50142            if (outerPropTypes) {
50143              checkPropTypes(outerPropTypes, resolvedProps, // Resolved for outer only
50144              'prop', getComponentName(Component), getCurrentFiberStackInDev);
50145            }
50146          }
50147        }
50148
50149        child = updateMemoComponent(null, workInProgress, Component, resolveDefaultProps(Component.type, resolvedProps), // The inner type can have defaults too
50150        updateExpirationTime, renderExpirationTime);
50151        return child;
50152      }
50153  }
50154
50155  var hint = '';
50156
50157  {
50158    if (Component !== null && typeof Component === 'object' && Component.$$typeof === REACT_LAZY_TYPE) {
50159      hint = ' Did you wrap a component in React.lazy() more than once?';
50160    }
50161  } // This message intentionally doesn't mention ForwardRef or MemoComponent
50162  // because the fact that it's a separate type of work is an
50163  // implementation detail.
50164
50165
50166  {
50167    {
50168      throw Error( "Element type is invalid. Received a promise that resolves to: " + Component + ". Lazy element type must resolve to a class or function." + hint );
50169    }
50170  }
50171}
50172
50173function mountIncompleteClassComponent(_current, workInProgress, Component, nextProps, renderExpirationTime) {
50174  if (_current !== null) {
50175    // An incomplete component only mounts if it suspended inside a non-
50176    // concurrent tree, in an inconsistent state. We want to treat it like
50177    // a new mount, even though an empty version of it already committed.
50178    // Disconnect the alternate pointers.
50179    _current.alternate = null;
50180    workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect
50181
50182    workInProgress.effectTag |= Placement;
50183  } // Promote the fiber to a class and try rendering again.
50184
50185
50186  workInProgress.tag = ClassComponent; // The rest of this function is a fork of `updateClassComponent`
50187  // Push context providers early to prevent context stack mismatches.
50188  // During mounting we don't know the child context yet as the instance doesn't exist.
50189  // We will invalidate the child context in finishClassComponent() right after rendering.
50190
50191  var hasContext;
50192
50193  if (isContextProvider(Component)) {
50194    hasContext = true;
50195    pushContextProvider(workInProgress);
50196  } else {
50197    hasContext = false;
50198  }
50199
50200  prepareToReadContext(workInProgress, renderExpirationTime);
50201  constructClassInstance(workInProgress, Component, nextProps);
50202  mountClassInstance(workInProgress, Component, nextProps, renderExpirationTime);
50203  return finishClassComponent(null, workInProgress, Component, true, hasContext, renderExpirationTime);
50204}
50205
50206function mountIndeterminateComponent(_current, workInProgress, Component, renderExpirationTime) {
50207  if (_current !== null) {
50208    // An indeterminate component only mounts if it suspended inside a non-
50209    // concurrent tree, in an inconsistent state. We want to treat it like
50210    // a new mount, even though an empty version of it already committed.
50211    // Disconnect the alternate pointers.
50212    _current.alternate = null;
50213    workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect
50214
50215    workInProgress.effectTag |= Placement;
50216  }
50217
50218  var props = workInProgress.pendingProps;
50219  var context;
50220
50221  {
50222    var unmaskedContext = getUnmaskedContext(workInProgress, Component, false);
50223    context = getMaskedContext(workInProgress, unmaskedContext);
50224  }
50225
50226  prepareToReadContext(workInProgress, renderExpirationTime);
50227  var value;
50228
50229  {
50230    if (Component.prototype && typeof Component.prototype.render === 'function') {
50231      var componentName = getComponentName(Component) || 'Unknown';
50232
50233      if (!didWarnAboutBadClass[componentName]) {
50234        error("The <%s /> component appears to have a render method, but doesn't extend React.Component. " + 'This is likely to cause errors. Change %s to extend React.Component instead.', componentName, componentName);
50235
50236        didWarnAboutBadClass[componentName] = true;
50237      }
50238    }
50239
50240    if (workInProgress.mode & StrictMode) {
50241      ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, null);
50242    }
50243
50244    setIsRendering(true);
50245    ReactCurrentOwner$1.current = workInProgress;
50246    value = renderWithHooks(null, workInProgress, Component, props, context, renderExpirationTime);
50247    setIsRendering(false);
50248  } // React DevTools reads this flag.
50249
50250
50251  workInProgress.effectTag |= PerformedWork;
50252
50253  if (typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) {
50254    {
50255      var _componentName = getComponentName(Component) || 'Unknown';
50256
50257      if (!didWarnAboutModulePatternComponent[_componentName]) {
50258        error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + "If you can't use a class try assigning the prototype on the function as a workaround. " + "`%s.prototype = React.Component.prototype`. Don't use an arrow function since it " + 'cannot be called with `new` by React.', _componentName, _componentName, _componentName);
50259
50260        didWarnAboutModulePatternComponent[_componentName] = true;
50261      }
50262    } // Proceed under the assumption that this is a class instance
50263
50264
50265    workInProgress.tag = ClassComponent; // Throw out any hooks that were used.
50266
50267    workInProgress.memoizedState = null;
50268    workInProgress.updateQueue = null; // Push context providers early to prevent context stack mismatches.
50269    // During mounting we don't know the child context yet as the instance doesn't exist.
50270    // We will invalidate the child context in finishClassComponent() right after rendering.
50271
50272    var hasContext = false;
50273
50274    if (isContextProvider(Component)) {
50275      hasContext = true;
50276      pushContextProvider(workInProgress);
50277    } else {
50278      hasContext = false;
50279    }
50280
50281    workInProgress.memoizedState = value.state !== null && value.state !== undefined ? value.state : null;
50282    initializeUpdateQueue(workInProgress);
50283    var getDerivedStateFromProps = Component.getDerivedStateFromProps;
50284
50285    if (typeof getDerivedStateFromProps === 'function') {
50286      applyDerivedStateFromProps(workInProgress, Component, getDerivedStateFromProps, props);
50287    }
50288
50289    adoptClassInstance(workInProgress, value);
50290    mountClassInstance(workInProgress, Component, props, renderExpirationTime);
50291    return finishClassComponent(null, workInProgress, Component, true, hasContext, renderExpirationTime);
50292  } else {
50293    // Proceed under the assumption that this is a function component
50294    workInProgress.tag = FunctionComponent;
50295
50296    {
50297
50298      if ( workInProgress.mode & StrictMode) {
50299        // Only double-render components with Hooks
50300        if (workInProgress.memoizedState !== null) {
50301          value = renderWithHooks(null, workInProgress, Component, props, context, renderExpirationTime);
50302        }
50303      }
50304    }
50305
50306    reconcileChildren(null, workInProgress, value, renderExpirationTime);
50307
50308    {
50309      validateFunctionComponentInDev(workInProgress, Component);
50310    }
50311
50312    return workInProgress.child;
50313  }
50314}
50315
50316function validateFunctionComponentInDev(workInProgress, Component) {
50317  {
50318    if (Component) {
50319      if (Component.childContextTypes) {
50320        error('%s(...): childContextTypes cannot be defined on a function component.', Component.displayName || Component.name || 'Component');
50321      }
50322    }
50323
50324    if (workInProgress.ref !== null) {
50325      var info = '';
50326      var ownerName = getCurrentFiberOwnerNameInDevOrNull();
50327
50328      if (ownerName) {
50329        info += '\n\nCheck the render method of `' + ownerName + '`.';
50330      }
50331
50332      var warningKey = ownerName || workInProgress._debugID || '';
50333      var debugSource = workInProgress._debugSource;
50334
50335      if (debugSource) {
50336        warningKey = debugSource.fileName + ':' + debugSource.lineNumber;
50337      }
50338
50339      if (!didWarnAboutFunctionRefs[warningKey]) {
50340        didWarnAboutFunctionRefs[warningKey] = true;
50341
50342        error('Function components cannot be given refs. ' + 'Attempts to access this ref will fail. ' + 'Did you mean to use React.forwardRef()?%s', info);
50343      }
50344    }
50345
50346    if (typeof Component.getDerivedStateFromProps === 'function') {
50347      var _componentName2 = getComponentName(Component) || 'Unknown';
50348
50349      if (!didWarnAboutGetDerivedStateOnFunctionComponent[_componentName2]) {
50350        error('%s: Function components do not support getDerivedStateFromProps.', _componentName2);
50351
50352        didWarnAboutGetDerivedStateOnFunctionComponent[_componentName2] = true;
50353      }
50354    }
50355
50356    if (typeof Component.contextType === 'object' && Component.contextType !== null) {
50357      var _componentName3 = getComponentName(Component) || 'Unknown';
50358
50359      if (!didWarnAboutContextTypeOnFunctionComponent[_componentName3]) {
50360        error('%s: Function components do not support contextType.', _componentName3);
50361
50362        didWarnAboutContextTypeOnFunctionComponent[_componentName3] = true;
50363      }
50364    }
50365  }
50366}
50367
50368var SUSPENDED_MARKER = {
50369  dehydrated: null,
50370  retryTime: NoWork
50371};
50372
50373function shouldRemainOnFallback(suspenseContext, current, workInProgress) {
50374  // If the context is telling us that we should show a fallback, and we're not
50375  // already showing content, then we should show the fallback instead.
50376  return hasSuspenseContext(suspenseContext, ForceSuspenseFallback) && (current === null || current.memoizedState !== null);
50377}
50378
50379function updateSuspenseComponent(current, workInProgress, renderExpirationTime) {
50380  var mode = workInProgress.mode;
50381  var nextProps = workInProgress.pendingProps; // This is used by DevTools to force a boundary to suspend.
50382
50383  {
50384    if (shouldSuspend(workInProgress)) {
50385      workInProgress.effectTag |= DidCapture;
50386    }
50387  }
50388
50389  var suspenseContext = suspenseStackCursor.current;
50390  var nextDidTimeout = false;
50391  var didSuspend = (workInProgress.effectTag & DidCapture) !== NoEffect;
50392
50393  if (didSuspend || shouldRemainOnFallback(suspenseContext, current)) {
50394    // Something in this boundary's subtree already suspended. Switch to
50395    // rendering the fallback children.
50396    nextDidTimeout = true;
50397    workInProgress.effectTag &= ~DidCapture;
50398  } else {
50399    // Attempting the main content
50400    if (current === null || current.memoizedState !== null) {
50401      // This is a new mount or this boundary is already showing a fallback state.
50402      // Mark this subtree context as having at least one invisible parent that could
50403      // handle the fallback state.
50404      // Boundaries without fallbacks or should be avoided are not considered since
50405      // they cannot handle preferred fallback states.
50406      if (nextProps.fallback !== undefined && nextProps.unstable_avoidThisFallback !== true) {
50407        suspenseContext = addSubtreeSuspenseContext(suspenseContext, InvisibleParentSuspenseContext);
50408      }
50409    }
50410  }
50411
50412  suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);
50413  pushSuspenseContext(workInProgress, suspenseContext); // This next part is a bit confusing. If the children timeout, we switch to
50414  // showing the fallback children in place of the "primary" children.
50415  // However, we don't want to delete the primary children because then their
50416  // state will be lost (both the React state and the host state, e.g.
50417  // uncontrolled form inputs). Instead we keep them mounted and hide them.
50418  // Both the fallback children AND the primary children are rendered at the
50419  // same time. Once the primary children are un-suspended, we can delete
50420  // the fallback children — don't need to preserve their state.
50421  //
50422  // The two sets of children are siblings in the host environment, but
50423  // semantically, for purposes of reconciliation, they are two separate sets.
50424  // So we store them using two fragment fibers.
50425  //
50426  // However, we want to avoid allocating extra fibers for every placeholder.
50427  // They're only necessary when the children time out, because that's the
50428  // only time when both sets are mounted.
50429  //
50430  // So, the extra fragment fibers are only used if the children time out.
50431  // Otherwise, we render the primary children directly. This requires some
50432  // custom reconciliation logic to preserve the state of the primary
50433  // children. It's essentially a very basic form of re-parenting.
50434
50435  if (current === null) {
50436    // If we're currently hydrating, try to hydrate this boundary.
50437    // But only if this has a fallback.
50438    if (nextProps.fallback !== undefined) {
50439      tryToClaimNextHydratableInstance(workInProgress); // This could've been a dehydrated suspense component.
50440    } // This is the initial mount. This branch is pretty simple because there's
50441    // no previous state that needs to be preserved.
50442
50443
50444    if (nextDidTimeout) {
50445      // Mount separate fragments for primary and fallback children.
50446      var nextFallbackChildren = nextProps.fallback;
50447      var primaryChildFragment = createFiberFromFragment(null, mode, NoWork, null);
50448      primaryChildFragment.return = workInProgress;
50449
50450      if ((workInProgress.mode & BlockingMode) === NoMode) {
50451        // Outside of blocking mode, we commit the effects from the
50452        // partially completed, timed-out tree, too.
50453        var progressedState = workInProgress.memoizedState;
50454        var progressedPrimaryChild = progressedState !== null ? workInProgress.child.child : workInProgress.child;
50455        primaryChildFragment.child = progressedPrimaryChild;
50456        var progressedChild = progressedPrimaryChild;
50457
50458        while (progressedChild !== null) {
50459          progressedChild.return = primaryChildFragment;
50460          progressedChild = progressedChild.sibling;
50461        }
50462      }
50463
50464      var fallbackChildFragment = createFiberFromFragment(nextFallbackChildren, mode, renderExpirationTime, null);
50465      fallbackChildFragment.return = workInProgress;
50466      primaryChildFragment.sibling = fallbackChildFragment; // Skip the primary children, and continue working on the
50467      // fallback children.
50468
50469      workInProgress.memoizedState = SUSPENDED_MARKER;
50470      workInProgress.child = primaryChildFragment;
50471      return fallbackChildFragment;
50472    } else {
50473      // Mount the primary children without an intermediate fragment fiber.
50474      var nextPrimaryChildren = nextProps.children;
50475      workInProgress.memoizedState = null;
50476      return workInProgress.child = mountChildFibers(workInProgress, null, nextPrimaryChildren, renderExpirationTime);
50477    }
50478  } else {
50479    // This is an update. This branch is more complicated because we need to
50480    // ensure the state of the primary children is preserved.
50481    var prevState = current.memoizedState;
50482
50483    if (prevState !== null) {
50484      // wrapped in a fragment fiber.
50485
50486
50487      var currentPrimaryChildFragment = current.child;
50488      var currentFallbackChildFragment = currentPrimaryChildFragment.sibling;
50489
50490      if (nextDidTimeout) {
50491        // Still timed out. Reuse the current primary children by cloning
50492        // its fragment. We're going to skip over these entirely.
50493        var _nextFallbackChildren2 = nextProps.fallback;
50494
50495        var _primaryChildFragment2 = createWorkInProgress(currentPrimaryChildFragment, currentPrimaryChildFragment.pendingProps);
50496
50497        _primaryChildFragment2.return = workInProgress;
50498
50499        if ((workInProgress.mode & BlockingMode) === NoMode) {
50500          // Outside of blocking mode, we commit the effects from the
50501          // partially completed, timed-out tree, too.
50502          var _progressedState = workInProgress.memoizedState;
50503
50504          var _progressedPrimaryChild = _progressedState !== null ? workInProgress.child.child : workInProgress.child;
50505
50506          if (_progressedPrimaryChild !== currentPrimaryChildFragment.child) {
50507            _primaryChildFragment2.child = _progressedPrimaryChild;
50508            var _progressedChild2 = _progressedPrimaryChild;
50509
50510            while (_progressedChild2 !== null) {
50511              _progressedChild2.return = _primaryChildFragment2;
50512              _progressedChild2 = _progressedChild2.sibling;
50513            }
50514          }
50515        } // Because primaryChildFragment is a new fiber that we're inserting as the
50516        // parent of a new tree, we need to set its treeBaseDuration.
50517
50518
50519        if ( workInProgress.mode & ProfileMode) {
50520          // treeBaseDuration is the sum of all the child tree base durations.
50521          var _treeBaseDuration = 0;
50522          var _hiddenChild = _primaryChildFragment2.child;
50523
50524          while (_hiddenChild !== null) {
50525            _treeBaseDuration += _hiddenChild.treeBaseDuration;
50526            _hiddenChild = _hiddenChild.sibling;
50527          }
50528
50529          _primaryChildFragment2.treeBaseDuration = _treeBaseDuration;
50530        } // Clone the fallback child fragment, too. These we'll continue
50531        // working on.
50532
50533
50534        var _fallbackChildFragment2 = createWorkInProgress(currentFallbackChildFragment, _nextFallbackChildren2);
50535
50536        _fallbackChildFragment2.return = workInProgress;
50537        _primaryChildFragment2.sibling = _fallbackChildFragment2;
50538        _primaryChildFragment2.childExpirationTime = NoWork; // Skip the primary children, and continue working on the
50539        // fallback children.
50540
50541        workInProgress.memoizedState = SUSPENDED_MARKER;
50542        workInProgress.child = _primaryChildFragment2;
50543        return _fallbackChildFragment2;
50544      } else {
50545        // No longer suspended. Switch back to showing the primary children,
50546        // and remove the intermediate fragment fiber.
50547        var _nextPrimaryChildren = nextProps.children;
50548        var currentPrimaryChild = currentPrimaryChildFragment.child;
50549        var primaryChild = reconcileChildFibers(workInProgress, currentPrimaryChild, _nextPrimaryChildren, renderExpirationTime); // If this render doesn't suspend, we need to delete the fallback
50550        // children. Wait until the complete phase, after we've confirmed the
50551        // fallback is no longer needed.
50552        // TODO: Would it be better to store the fallback fragment on
50553        // the stateNode?
50554        // Continue rendering the children, like we normally do.
50555
50556        workInProgress.memoizedState = null;
50557        return workInProgress.child = primaryChild;
50558      }
50559    } else {
50560      // The current tree has not already timed out. That means the primary
50561      // children are not wrapped in a fragment fiber.
50562      var _currentPrimaryChild = current.child;
50563
50564      if (nextDidTimeout) {
50565        // Timed out. Wrap the children in a fragment fiber to keep them
50566        // separate from the fallback children.
50567        var _nextFallbackChildren3 = nextProps.fallback;
50568
50569        var _primaryChildFragment3 = createFiberFromFragment( // It shouldn't matter what the pending props are because we aren't
50570        // going to render this fragment.
50571        null, mode, NoWork, null);
50572
50573        _primaryChildFragment3.return = workInProgress;
50574        _primaryChildFragment3.child = _currentPrimaryChild;
50575
50576        if (_currentPrimaryChild !== null) {
50577          _currentPrimaryChild.return = _primaryChildFragment3;
50578        } // Even though we're creating a new fiber, there are no new children,
50579        // because we're reusing an already mounted tree. So we don't need to
50580        // schedule a placement.
50581        // primaryChildFragment.effectTag |= Placement;
50582
50583
50584        if ((workInProgress.mode & BlockingMode) === NoMode) {
50585          // Outside of blocking mode, we commit the effects from the
50586          // partially completed, timed-out tree, too.
50587          var _progressedState2 = workInProgress.memoizedState;
50588
50589          var _progressedPrimaryChild2 = _progressedState2 !== null ? workInProgress.child.child : workInProgress.child;
50590
50591          _primaryChildFragment3.child = _progressedPrimaryChild2;
50592          var _progressedChild3 = _progressedPrimaryChild2;
50593
50594          while (_progressedChild3 !== null) {
50595            _progressedChild3.return = _primaryChildFragment3;
50596            _progressedChild3 = _progressedChild3.sibling;
50597          }
50598        } // Because primaryChildFragment is a new fiber that we're inserting as the
50599        // parent of a new tree, we need to set its treeBaseDuration.
50600
50601
50602        if ( workInProgress.mode & ProfileMode) {
50603          // treeBaseDuration is the sum of all the child tree base durations.
50604          var _treeBaseDuration2 = 0;
50605          var _hiddenChild2 = _primaryChildFragment3.child;
50606
50607          while (_hiddenChild2 !== null) {
50608            _treeBaseDuration2 += _hiddenChild2.treeBaseDuration;
50609            _hiddenChild2 = _hiddenChild2.sibling;
50610          }
50611
50612          _primaryChildFragment3.treeBaseDuration = _treeBaseDuration2;
50613        } // Create a fragment from the fallback children, too.
50614
50615
50616        var _fallbackChildFragment3 = createFiberFromFragment(_nextFallbackChildren3, mode, renderExpirationTime, null);
50617
50618        _fallbackChildFragment3.return = workInProgress;
50619        _primaryChildFragment3.sibling = _fallbackChildFragment3;
50620        _fallbackChildFragment3.effectTag |= Placement;
50621        _primaryChildFragment3.childExpirationTime = NoWork; // Skip the primary children, and continue working on the
50622        // fallback children.
50623
50624        workInProgress.memoizedState = SUSPENDED_MARKER;
50625        workInProgress.child = _primaryChildFragment3;
50626        return _fallbackChildFragment3;
50627      } else {
50628        // Still haven't timed out. Continue rendering the children, like we
50629        // normally do.
50630        workInProgress.memoizedState = null;
50631        var _nextPrimaryChildren2 = nextProps.children;
50632        return workInProgress.child = reconcileChildFibers(workInProgress, _currentPrimaryChild, _nextPrimaryChildren2, renderExpirationTime);
50633      }
50634    }
50635  }
50636}
50637
50638function scheduleWorkOnFiber(fiber, renderExpirationTime) {
50639  if (fiber.expirationTime < renderExpirationTime) {
50640    fiber.expirationTime = renderExpirationTime;
50641  }
50642
50643  var alternate = fiber.alternate;
50644
50645  if (alternate !== null && alternate.expirationTime < renderExpirationTime) {
50646    alternate.expirationTime = renderExpirationTime;
50647  }
50648
50649  scheduleWorkOnParentPath(fiber.return, renderExpirationTime);
50650}
50651
50652function propagateSuspenseContextChange(workInProgress, firstChild, renderExpirationTime) {
50653  // Mark any Suspense boundaries with fallbacks as having work to do.
50654  // If they were previously forced into fallbacks, they may now be able
50655  // to unblock.
50656  var node = firstChild;
50657
50658  while (node !== null) {
50659    if (node.tag === SuspenseComponent) {
50660      var state = node.memoizedState;
50661
50662      if (state !== null) {
50663        scheduleWorkOnFiber(node, renderExpirationTime);
50664      }
50665    } else if (node.tag === SuspenseListComponent) {
50666      // If the tail is hidden there might not be an Suspense boundaries
50667      // to schedule work on. In this case we have to schedule it on the
50668      // list itself.
50669      // We don't have to traverse to the children of the list since
50670      // the list will propagate the change when it rerenders.
50671      scheduleWorkOnFiber(node, renderExpirationTime);
50672    } else if (node.child !== null) {
50673      node.child.return = node;
50674      node = node.child;
50675      continue;
50676    }
50677
50678    if (node === workInProgress) {
50679      return;
50680    }
50681
50682    while (node.sibling === null) {
50683      if (node.return === null || node.return === workInProgress) {
50684        return;
50685      }
50686
50687      node = node.return;
50688    }
50689
50690    node.sibling.return = node.return;
50691    node = node.sibling;
50692  }
50693}
50694
50695function findLastContentRow(firstChild) {
50696  // This is going to find the last row among these children that is already
50697  // showing content on the screen, as opposed to being in fallback state or
50698  // new. If a row has multiple Suspense boundaries, any of them being in the
50699  // fallback state, counts as the whole row being in a fallback state.
50700  // Note that the "rows" will be workInProgress, but any nested children
50701  // will still be current since we haven't rendered them yet. The mounted
50702  // order may not be the same as the new order. We use the new order.
50703  var row = firstChild;
50704  var lastContentRow = null;
50705
50706  while (row !== null) {
50707    var currentRow = row.alternate; // New rows can't be content rows.
50708
50709    if (currentRow !== null && findFirstSuspended(currentRow) === null) {
50710      lastContentRow = row;
50711    }
50712
50713    row = row.sibling;
50714  }
50715
50716  return lastContentRow;
50717}
50718
50719function validateRevealOrder(revealOrder) {
50720  {
50721    if (revealOrder !== undefined && revealOrder !== 'forwards' && revealOrder !== 'backwards' && revealOrder !== 'together' && !didWarnAboutRevealOrder[revealOrder]) {
50722      didWarnAboutRevealOrder[revealOrder] = true;
50723
50724      if (typeof revealOrder === 'string') {
50725        switch (revealOrder.toLowerCase()) {
50726          case 'together':
50727          case 'forwards':
50728          case 'backwards':
50729            {
50730              error('"%s" is not a valid value for revealOrder on <SuspenseList />. ' + 'Use lowercase "%s" instead.', revealOrder, revealOrder.toLowerCase());
50731
50732              break;
50733            }
50734
50735          case 'forward':
50736          case 'backward':
50737            {
50738              error('"%s" is not a valid value for revealOrder on <SuspenseList />. ' + 'React uses the -s suffix in the spelling. Use "%ss" instead.', revealOrder, revealOrder.toLowerCase());
50739
50740              break;
50741            }
50742
50743          default:
50744            error('"%s" is not a supported revealOrder on <SuspenseList />. ' + 'Did you mean "together", "forwards" or "backwards"?', revealOrder);
50745
50746            break;
50747        }
50748      } else {
50749        error('%s is not a supported value for revealOrder on <SuspenseList />. ' + 'Did you mean "together", "forwards" or "backwards"?', revealOrder);
50750      }
50751    }
50752  }
50753}
50754
50755function validateTailOptions(tailMode, revealOrder) {
50756  {
50757    if (tailMode !== undefined && !didWarnAboutTailOptions[tailMode]) {
50758      if (tailMode !== 'collapsed' && tailMode !== 'hidden') {
50759        didWarnAboutTailOptions[tailMode] = true;
50760
50761        error('"%s" is not a supported value for tail on <SuspenseList />. ' + 'Did you mean "collapsed" or "hidden"?', tailMode);
50762      } else if (revealOrder !== 'forwards' && revealOrder !== 'backwards') {
50763        didWarnAboutTailOptions[tailMode] = true;
50764
50765        error('<SuspenseList tail="%s" /> is only valid if revealOrder is ' + '"forwards" or "backwards". ' + 'Did you mean to specify revealOrder="forwards"?', tailMode);
50766      }
50767    }
50768  }
50769}
50770
50771function validateSuspenseListNestedChild(childSlot, index) {
50772  {
50773    var isArray = Array.isArray(childSlot);
50774    var isIterable = !isArray && typeof getIteratorFn(childSlot) === 'function';
50775
50776    if (isArray || isIterable) {
50777      var type = isArray ? 'array' : 'iterable';
50778
50779      error('A nested %s was passed to row #%s in <SuspenseList />. Wrap it in ' + 'an additional SuspenseList to configure its revealOrder: ' + '<SuspenseList revealOrder=...> ... ' + '<SuspenseList revealOrder=...>{%s}</SuspenseList> ... ' + '</SuspenseList>', type, index, type);
50780
50781      return false;
50782    }
50783  }
50784
50785  return true;
50786}
50787
50788function validateSuspenseListChildren(children, revealOrder) {
50789  {
50790    if ((revealOrder === 'forwards' || revealOrder === 'backwards') && children !== undefined && children !== null && children !== false) {
50791      if (Array.isArray(children)) {
50792        for (var i = 0; i < children.length; i++) {
50793          if (!validateSuspenseListNestedChild(children[i], i)) {
50794            return;
50795          }
50796        }
50797      } else {
50798        var iteratorFn = getIteratorFn(children);
50799
50800        if (typeof iteratorFn === 'function') {
50801          var childrenIterator = iteratorFn.call(children);
50802
50803          if (childrenIterator) {
50804            var step = childrenIterator.next();
50805            var _i = 0;
50806
50807            for (; !step.done; step = childrenIterator.next()) {
50808              if (!validateSuspenseListNestedChild(step.value, _i)) {
50809                return;
50810              }
50811
50812              _i++;
50813            }
50814          }
50815        } else {
50816          error('A single row was passed to a <SuspenseList revealOrder="%s" />. ' + 'This is not useful since it needs multiple rows. ' + 'Did you mean to pass multiple children or an array?', revealOrder);
50817        }
50818      }
50819    }
50820  }
50821}
50822
50823function initSuspenseListRenderState(workInProgress, isBackwards, tail, lastContentRow, tailMode, lastEffectBeforeRendering) {
50824  var renderState = workInProgress.memoizedState;
50825
50826  if (renderState === null) {
50827    workInProgress.memoizedState = {
50828      isBackwards: isBackwards,
50829      rendering: null,
50830      renderingStartTime: 0,
50831      last: lastContentRow,
50832      tail: tail,
50833      tailExpiration: 0,
50834      tailMode: tailMode,
50835      lastEffect: lastEffectBeforeRendering
50836    };
50837  } else {
50838    // We can reuse the existing object from previous renders.
50839    renderState.isBackwards = isBackwards;
50840    renderState.rendering = null;
50841    renderState.renderingStartTime = 0;
50842    renderState.last = lastContentRow;
50843    renderState.tail = tail;
50844    renderState.tailExpiration = 0;
50845    renderState.tailMode = tailMode;
50846    renderState.lastEffect = lastEffectBeforeRendering;
50847  }
50848} // This can end up rendering this component multiple passes.
50849// The first pass splits the children fibers into two sets. A head and tail.
50850// We first render the head. If anything is in fallback state, we do another
50851// pass through beginWork to rerender all children (including the tail) with
50852// the force suspend context. If the first render didn't have anything in
50853// in fallback state. Then we render each row in the tail one-by-one.
50854// That happens in the completeWork phase without going back to beginWork.
50855
50856
50857function updateSuspenseListComponent(current, workInProgress, renderExpirationTime) {
50858  var nextProps = workInProgress.pendingProps;
50859  var revealOrder = nextProps.revealOrder;
50860  var tailMode = nextProps.tail;
50861  var newChildren = nextProps.children;
50862  validateRevealOrder(revealOrder);
50863  validateTailOptions(tailMode, revealOrder);
50864  validateSuspenseListChildren(newChildren, revealOrder);
50865  reconcileChildren(current, workInProgress, newChildren, renderExpirationTime);
50866  var suspenseContext = suspenseStackCursor.current;
50867  var shouldForceFallback = hasSuspenseContext(suspenseContext, ForceSuspenseFallback);
50868
50869  if (shouldForceFallback) {
50870    suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback);
50871    workInProgress.effectTag |= DidCapture;
50872  } else {
50873    var didSuspendBefore = current !== null && (current.effectTag & DidCapture) !== NoEffect;
50874
50875    if (didSuspendBefore) {
50876      // If we previously forced a fallback, we need to schedule work
50877      // on any nested boundaries to let them know to try to render
50878      // again. This is the same as context updating.
50879      propagateSuspenseContextChange(workInProgress, workInProgress.child, renderExpirationTime);
50880    }
50881
50882    suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);
50883  }
50884
50885  pushSuspenseContext(workInProgress, suspenseContext);
50886
50887  if ((workInProgress.mode & BlockingMode) === NoMode) {
50888    // Outside of blocking mode, SuspenseList doesn't work so we just
50889    // use make it a noop by treating it as the default revealOrder.
50890    workInProgress.memoizedState = null;
50891  } else {
50892    switch (revealOrder) {
50893      case 'forwards':
50894        {
50895          var lastContentRow = findLastContentRow(workInProgress.child);
50896          var tail;
50897
50898          if (lastContentRow === null) {
50899            // The whole list is part of the tail.
50900            // TODO: We could fast path by just rendering the tail now.
50901            tail = workInProgress.child;
50902            workInProgress.child = null;
50903          } else {
50904            // Disconnect the tail rows after the content row.
50905            // We're going to render them separately later.
50906            tail = lastContentRow.sibling;
50907            lastContentRow.sibling = null;
50908          }
50909
50910          initSuspenseListRenderState(workInProgress, false, // isBackwards
50911          tail, lastContentRow, tailMode, workInProgress.lastEffect);
50912          break;
50913        }
50914
50915      case 'backwards':
50916        {
50917          // We're going to find the first row that has existing content.
50918          // At the same time we're going to reverse the list of everything
50919          // we pass in the meantime. That's going to be our tail in reverse
50920          // order.
50921          var _tail = null;
50922          var row = workInProgress.child;
50923          workInProgress.child = null;
50924
50925          while (row !== null) {
50926            var currentRow = row.alternate; // New rows can't be content rows.
50927
50928            if (currentRow !== null && findFirstSuspended(currentRow) === null) {
50929              // This is the beginning of the main content.
50930              workInProgress.child = row;
50931              break;
50932            }
50933
50934            var nextRow = row.sibling;
50935            row.sibling = _tail;
50936            _tail = row;
50937            row = nextRow;
50938          } // TODO: If workInProgress.child is null, we can continue on the tail immediately.
50939
50940
50941          initSuspenseListRenderState(workInProgress, true, // isBackwards
50942          _tail, null, // last
50943          tailMode, workInProgress.lastEffect);
50944          break;
50945        }
50946
50947      case 'together':
50948        {
50949          initSuspenseListRenderState(workInProgress, false, // isBackwards
50950          null, // tail
50951          null, // last
50952          undefined, workInProgress.lastEffect);
50953          break;
50954        }
50955
50956      default:
50957        {
50958          // The default reveal order is the same as not having
50959          // a boundary.
50960          workInProgress.memoizedState = null;
50961        }
50962    }
50963  }
50964
50965  return workInProgress.child;
50966}
50967
50968function updatePortalComponent(current, workInProgress, renderExpirationTime) {
50969  pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);
50970  var nextChildren = workInProgress.pendingProps;
50971
50972  if (current === null) {
50973    // Portals are special because we don't append the children during mount
50974    // but at commit. Therefore we need to track insertions which the normal
50975    // flow doesn't do during mount. This doesn't happen at the root because
50976    // the root always starts with a "current" with a null child.
50977    // TODO: Consider unifying this with how the root works.
50978    workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderExpirationTime);
50979  } else {
50980    reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);
50981  }
50982
50983  return workInProgress.child;
50984}
50985
50986function updateContextProvider(current, workInProgress, renderExpirationTime) {
50987  var providerType = workInProgress.type;
50988  var context = providerType._context;
50989  var newProps = workInProgress.pendingProps;
50990  var oldProps = workInProgress.memoizedProps;
50991  var newValue = newProps.value;
50992
50993  {
50994    var providerPropTypes = workInProgress.type.propTypes;
50995
50996    if (providerPropTypes) {
50997      checkPropTypes(providerPropTypes, newProps, 'prop', 'Context.Provider', getCurrentFiberStackInDev);
50998    }
50999  }
51000
51001  pushProvider(workInProgress, newValue);
51002
51003  if (oldProps !== null) {
51004    var oldValue = oldProps.value;
51005    var changedBits = calculateChangedBits(context, newValue, oldValue);
51006
51007    if (changedBits === 0) {
51008      // No change. Bailout early if children are the same.
51009      if (oldProps.children === newProps.children && !hasContextChanged()) {
51010        return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);
51011      }
51012    } else {
51013      // The context value changed. Search for matching consumers and schedule
51014      // them to update.
51015      propagateContextChange(workInProgress, context, changedBits, renderExpirationTime);
51016    }
51017  }
51018
51019  var newChildren = newProps.children;
51020  reconcileChildren(current, workInProgress, newChildren, renderExpirationTime);
51021  return workInProgress.child;
51022}
51023
51024var hasWarnedAboutUsingContextAsConsumer = false;
51025
51026function updateContextConsumer(current, workInProgress, renderExpirationTime) {
51027  var context = workInProgress.type; // The logic below for Context differs depending on PROD or DEV mode. In
51028  // DEV mode, we create a separate object for Context.Consumer that acts
51029  // like a proxy to Context. This proxy object adds unnecessary code in PROD
51030  // so we use the old behaviour (Context.Consumer references Context) to
51031  // reduce size and overhead. The separate object references context via
51032  // a property called "_context", which also gives us the ability to check
51033  // in DEV mode if this property exists or not and warn if it does not.
51034
51035  {
51036    if (context._context === undefined) {
51037      // This may be because it's a Context (rather than a Consumer).
51038      // Or it may be because it's older React where they're the same thing.
51039      // We only want to warn if we're sure it's a new React.
51040      if (context !== context.Consumer) {
51041        if (!hasWarnedAboutUsingContextAsConsumer) {
51042          hasWarnedAboutUsingContextAsConsumer = true;
51043
51044          error('Rendering <Context> directly is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');
51045        }
51046      }
51047    } else {
51048      context = context._context;
51049    }
51050  }
51051
51052  var newProps = workInProgress.pendingProps;
51053  var render = newProps.children;
51054
51055  {
51056    if (typeof render !== 'function') {
51057      error('A context consumer was rendered with multiple children, or a child ' + "that isn't a function. A context consumer expects a single child " + 'that is a function. If you did pass a function, make sure there ' + 'is no trailing or leading whitespace around it.');
51058    }
51059  }
51060
51061  prepareToReadContext(workInProgress, renderExpirationTime);
51062  var newValue = readContext(context, newProps.unstable_observedBits);
51063  var newChildren;
51064
51065  {
51066    ReactCurrentOwner$1.current = workInProgress;
51067    setIsRendering(true);
51068    newChildren = render(newValue);
51069    setIsRendering(false);
51070  } // React DevTools reads this flag.
51071
51072
51073  workInProgress.effectTag |= PerformedWork;
51074  reconcileChildren(current, workInProgress, newChildren, renderExpirationTime);
51075  return workInProgress.child;
51076}
51077
51078function markWorkInProgressReceivedUpdate() {
51079  didReceiveUpdate = true;
51080}
51081
51082function bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime) {
51083  cancelWorkTimer(workInProgress);
51084
51085  if (current !== null) {
51086    // Reuse previous dependencies
51087    workInProgress.dependencies = current.dependencies;
51088  }
51089
51090  {
51091    // Don't update "base" render times for bailouts.
51092    stopProfilerTimerIfRunning();
51093  }
51094
51095  var updateExpirationTime = workInProgress.expirationTime;
51096
51097  if (updateExpirationTime !== NoWork) {
51098    markUnprocessedUpdateTime(updateExpirationTime);
51099  } // Check if the children have any pending work.
51100
51101
51102  var childExpirationTime = workInProgress.childExpirationTime;
51103
51104  if (childExpirationTime < renderExpirationTime) {
51105    // The children don't have any work either. We can skip them.
51106    // TODO: Once we add back resuming, we should check if the children are
51107    // a work-in-progress set. If so, we need to transfer their effects.
51108    return null;
51109  } else {
51110    // This fiber doesn't have work, but its subtree does. Clone the child
51111    // fibers and continue.
51112    cloneChildFibers(current, workInProgress);
51113    return workInProgress.child;
51114  }
51115}
51116
51117function remountFiber(current, oldWorkInProgress, newWorkInProgress) {
51118  {
51119    var returnFiber = oldWorkInProgress.return;
51120
51121    if (returnFiber === null) {
51122      throw new Error('Cannot swap the root fiber.');
51123    } // Disconnect from the old current.
51124    // It will get deleted.
51125
51126
51127    current.alternate = null;
51128    oldWorkInProgress.alternate = null; // Connect to the new tree.
51129
51130    newWorkInProgress.index = oldWorkInProgress.index;
51131    newWorkInProgress.sibling = oldWorkInProgress.sibling;
51132    newWorkInProgress.return = oldWorkInProgress.return;
51133    newWorkInProgress.ref = oldWorkInProgress.ref; // Replace the child/sibling pointers above it.
51134
51135    if (oldWorkInProgress === returnFiber.child) {
51136      returnFiber.child = newWorkInProgress;
51137    } else {
51138      var prevSibling = returnFiber.child;
51139
51140      if (prevSibling === null) {
51141        throw new Error('Expected parent to have a child.');
51142      }
51143
51144      while (prevSibling.sibling !== oldWorkInProgress) {
51145        prevSibling = prevSibling.sibling;
51146
51147        if (prevSibling === null) {
51148          throw new Error('Expected to find the previous sibling.');
51149        }
51150      }
51151
51152      prevSibling.sibling = newWorkInProgress;
51153    } // Delete the old fiber and place the new one.
51154    // Since the old fiber is disconnected, we have to schedule it manually.
51155
51156
51157    var last = returnFiber.lastEffect;
51158
51159    if (last !== null) {
51160      last.nextEffect = current;
51161      returnFiber.lastEffect = current;
51162    } else {
51163      returnFiber.firstEffect = returnFiber.lastEffect = current;
51164    }
51165
51166    current.nextEffect = null;
51167    current.effectTag = Deletion;
51168    newWorkInProgress.effectTag |= Placement; // Restart work from the new fiber.
51169
51170    return newWorkInProgress;
51171  }
51172}
51173
51174function beginWork(current, workInProgress, renderExpirationTime) {
51175  var updateExpirationTime = workInProgress.expirationTime;
51176
51177  {
51178    if (workInProgress._debugNeedsRemount && current !== null) {
51179      // This will restart the begin phase with a new fiber.
51180      return remountFiber(current, workInProgress, createFiberFromTypeAndProps(workInProgress.type, workInProgress.key, workInProgress.pendingProps, workInProgress._debugOwner || null, workInProgress.mode, workInProgress.expirationTime));
51181    }
51182  }
51183
51184  if (current !== null) {
51185    var oldProps = current.memoizedProps;
51186    var newProps = workInProgress.pendingProps;
51187
51188    if (oldProps !== newProps || hasContextChanged() || ( // Force a re-render if the implementation changed due to hot reload:
51189     workInProgress.type !== current.type )) {
51190      // If props or context changed, mark the fiber as having performed work.
51191      // This may be unset if the props are determined to be equal later (memo).
51192      didReceiveUpdate = true;
51193    } else if (updateExpirationTime < renderExpirationTime) {
51194      didReceiveUpdate = false; // This fiber does not have any pending work. Bailout without entering
51195      // the begin phase. There's still some bookkeeping we that needs to be done
51196      // in this optimized path, mostly pushing stuff onto the stack.
51197
51198      switch (workInProgress.tag) {
51199        case HostRoot:
51200          pushHostRootContext(workInProgress);
51201          resetHydrationState();
51202          break;
51203
51204        case HostComponent:
51205          pushHostContext(workInProgress);
51206
51207          if (workInProgress.mode & ConcurrentMode && renderExpirationTime !== Never && shouldDeprioritizeSubtree(workInProgress.type, newProps)) {
51208            {
51209              markSpawnedWork(Never);
51210            } // Schedule this fiber to re-render at offscreen priority. Then bailout.
51211
51212
51213            workInProgress.expirationTime = workInProgress.childExpirationTime = Never;
51214            return null;
51215          }
51216
51217          break;
51218
51219        case ClassComponent:
51220          {
51221            var Component = workInProgress.type;
51222
51223            if (isContextProvider(Component)) {
51224              pushContextProvider(workInProgress);
51225            }
51226
51227            break;
51228          }
51229
51230        case HostPortal:
51231          pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);
51232          break;
51233
51234        case ContextProvider:
51235          {
51236            var newValue = workInProgress.memoizedProps.value;
51237            pushProvider(workInProgress, newValue);
51238            break;
51239          }
51240
51241        case Profiler:
51242          {
51243            // Profiler should only call onRender when one of its descendants actually rendered.
51244            var hasChildWork = workInProgress.childExpirationTime >= renderExpirationTime;
51245
51246            if (hasChildWork) {
51247              workInProgress.effectTag |= Update;
51248            }
51249          }
51250
51251          break;
51252
51253        case SuspenseComponent:
51254          {
51255            var state = workInProgress.memoizedState;
51256
51257            if (state !== null) {
51258              // whether to retry the primary children, or to skip over it and
51259              // go straight to the fallback. Check the priority of the primary
51260              // child fragment.
51261
51262
51263              var primaryChildFragment = workInProgress.child;
51264              var primaryChildExpirationTime = primaryChildFragment.childExpirationTime;
51265
51266              if (primaryChildExpirationTime !== NoWork && primaryChildExpirationTime >= renderExpirationTime) {
51267                // The primary children have pending work. Use the normal path
51268                // to attempt to render the primary children again.
51269                return updateSuspenseComponent(current, workInProgress, renderExpirationTime);
51270              } else {
51271                pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); // The primary children do not have pending work with sufficient
51272                // priority. Bailout.
51273
51274                var child = bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);
51275
51276                if (child !== null) {
51277                  // The fallback children have pending work. Skip over the
51278                  // primary children and work on the fallback.
51279                  return child.sibling;
51280                } else {
51281                  return null;
51282                }
51283              }
51284            } else {
51285              pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current));
51286            }
51287
51288            break;
51289          }
51290
51291        case SuspenseListComponent:
51292          {
51293            var didSuspendBefore = (current.effectTag & DidCapture) !== NoEffect;
51294
51295            var _hasChildWork = workInProgress.childExpirationTime >= renderExpirationTime;
51296
51297            if (didSuspendBefore) {
51298              if (_hasChildWork) {
51299                // If something was in fallback state last time, and we have all the
51300                // same children then we're still in progressive loading state.
51301                // Something might get unblocked by state updates or retries in the
51302                // tree which will affect the tail. So we need to use the normal
51303                // path to compute the correct tail.
51304                return updateSuspenseListComponent(current, workInProgress, renderExpirationTime);
51305              } // If none of the children had any work, that means that none of
51306              // them got retried so they'll still be blocked in the same way
51307              // as before. We can fast bail out.
51308
51309
51310              workInProgress.effectTag |= DidCapture;
51311            } // If nothing suspended before and we're rendering the same children,
51312            // then the tail doesn't matter. Anything new that suspends will work
51313            // in the "together" mode, so we can continue from the state we had.
51314
51315
51316            var renderState = workInProgress.memoizedState;
51317
51318            if (renderState !== null) {
51319              // Reset to the "together" mode in case we've started a different
51320              // update in the past but didn't complete it.
51321              renderState.rendering = null;
51322              renderState.tail = null;
51323            }
51324
51325            pushSuspenseContext(workInProgress, suspenseStackCursor.current);
51326
51327            if (_hasChildWork) {
51328              break;
51329            } else {
51330              // If none of the children had any work, that means that none of
51331              // them got retried so they'll still be blocked in the same way
51332              // as before. We can fast bail out.
51333              return null;
51334            }
51335          }
51336      }
51337
51338      return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);
51339    } else {
51340      // An update was scheduled on this fiber, but there are no new props
51341      // nor legacy context. Set this to false. If an update queue or context
51342      // consumer produces a changed value, it will set this to true. Otherwise,
51343      // the component will assume the children have not changed and bail out.
51344      didReceiveUpdate = false;
51345    }
51346  } else {
51347    didReceiveUpdate = false;
51348  } // Before entering the begin phase, clear pending update priority.
51349  // TODO: This assumes that we're about to evaluate the component and process
51350  // the update queue. However, there's an exception: SimpleMemoComponent
51351  // sometimes bails out later in the begin phase. This indicates that we should
51352  // move this assignment out of the common path and into each branch.
51353
51354
51355  workInProgress.expirationTime = NoWork;
51356
51357  switch (workInProgress.tag) {
51358    case IndeterminateComponent:
51359      {
51360        return mountIndeterminateComponent(current, workInProgress, workInProgress.type, renderExpirationTime);
51361      }
51362
51363    case LazyComponent:
51364      {
51365        var elementType = workInProgress.elementType;
51366        return mountLazyComponent(current, workInProgress, elementType, updateExpirationTime, renderExpirationTime);
51367      }
51368
51369    case FunctionComponent:
51370      {
51371        var _Component = workInProgress.type;
51372        var unresolvedProps = workInProgress.pendingProps;
51373        var resolvedProps = workInProgress.elementType === _Component ? unresolvedProps : resolveDefaultProps(_Component, unresolvedProps);
51374        return updateFunctionComponent(current, workInProgress, _Component, resolvedProps, renderExpirationTime);
51375      }
51376
51377    case ClassComponent:
51378      {
51379        var _Component2 = workInProgress.type;
51380        var _unresolvedProps = workInProgress.pendingProps;
51381
51382        var _resolvedProps = workInProgress.elementType === _Component2 ? _unresolvedProps : resolveDefaultProps(_Component2, _unresolvedProps);
51383
51384        return updateClassComponent(current, workInProgress, _Component2, _resolvedProps, renderExpirationTime);
51385      }
51386
51387    case HostRoot:
51388      return updateHostRoot(current, workInProgress, renderExpirationTime);
51389
51390    case HostComponent:
51391      return updateHostComponent(current, workInProgress, renderExpirationTime);
51392
51393    case HostText:
51394      return updateHostText(current, workInProgress);
51395
51396    case SuspenseComponent:
51397      return updateSuspenseComponent(current, workInProgress, renderExpirationTime);
51398
51399    case HostPortal:
51400      return updatePortalComponent(current, workInProgress, renderExpirationTime);
51401
51402    case ForwardRef:
51403      {
51404        var type = workInProgress.type;
51405        var _unresolvedProps2 = workInProgress.pendingProps;
51406
51407        var _resolvedProps2 = workInProgress.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);
51408
51409        return updateForwardRef(current, workInProgress, type, _resolvedProps2, renderExpirationTime);
51410      }
51411
51412    case Fragment:
51413      return updateFragment(current, workInProgress, renderExpirationTime);
51414
51415    case Mode:
51416      return updateMode(current, workInProgress, renderExpirationTime);
51417
51418    case Profiler:
51419      return updateProfiler(current, workInProgress, renderExpirationTime);
51420
51421    case ContextProvider:
51422      return updateContextProvider(current, workInProgress, renderExpirationTime);
51423
51424    case ContextConsumer:
51425      return updateContextConsumer(current, workInProgress, renderExpirationTime);
51426
51427    case MemoComponent:
51428      {
51429        var _type2 = workInProgress.type;
51430        var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props.
51431
51432        var _resolvedProps3 = resolveDefaultProps(_type2, _unresolvedProps3);
51433
51434        {
51435          if (workInProgress.type !== workInProgress.elementType) {
51436            var outerPropTypes = _type2.propTypes;
51437
51438            if (outerPropTypes) {
51439              checkPropTypes(outerPropTypes, _resolvedProps3, // Resolved for outer only
51440              'prop', getComponentName(_type2), getCurrentFiberStackInDev);
51441            }
51442          }
51443        }
51444
51445        _resolvedProps3 = resolveDefaultProps(_type2.type, _resolvedProps3);
51446        return updateMemoComponent(current, workInProgress, _type2, _resolvedProps3, updateExpirationTime, renderExpirationTime);
51447      }
51448
51449    case SimpleMemoComponent:
51450      {
51451        return updateSimpleMemoComponent(current, workInProgress, workInProgress.type, workInProgress.pendingProps, updateExpirationTime, renderExpirationTime);
51452      }
51453
51454    case IncompleteClassComponent:
51455      {
51456        var _Component3 = workInProgress.type;
51457        var _unresolvedProps4 = workInProgress.pendingProps;
51458
51459        var _resolvedProps4 = workInProgress.elementType === _Component3 ? _unresolvedProps4 : resolveDefaultProps(_Component3, _unresolvedProps4);
51460
51461        return mountIncompleteClassComponent(current, workInProgress, _Component3, _resolvedProps4, renderExpirationTime);
51462      }
51463
51464    case SuspenseListComponent:
51465      {
51466        return updateSuspenseListComponent(current, workInProgress, renderExpirationTime);
51467      }
51468  }
51469
51470  {
51471    {
51472      throw Error( "Unknown unit of work tag (" + workInProgress.tag + "). This error is likely caused by a bug in React. Please file an issue." );
51473    }
51474  }
51475}
51476
51477function markUpdate(workInProgress) {
51478  // Tag the fiber with an update effect. This turns a Placement into
51479  // a PlacementAndUpdate.
51480  workInProgress.effectTag |= Update;
51481}
51482
51483function markRef$1(workInProgress) {
51484  workInProgress.effectTag |= Ref;
51485}
51486
51487var appendAllChildren;
51488var updateHostContainer;
51489var updateHostComponent$1;
51490var updateHostText$1;
51491
51492{
51493  // Mutation mode
51494  appendAllChildren = function (parent, workInProgress, needsVisibilityToggle, isHidden) {
51495    // We only have the top Fiber that was created but we need recurse down its
51496    // children to find all the terminal nodes.
51497    var node = workInProgress.child;
51498
51499    while (node !== null) {
51500      if (node.tag === HostComponent || node.tag === HostText) {
51501        appendInitialChild(parent, node.stateNode);
51502      } else if (node.tag === HostPortal) ; else if (node.child !== null) {
51503        node.child.return = node;
51504        node = node.child;
51505        continue;
51506      }
51507
51508      if (node === workInProgress) {
51509        return;
51510      }
51511
51512      while (node.sibling === null) {
51513        if (node.return === null || node.return === workInProgress) {
51514          return;
51515        }
51516
51517        node = node.return;
51518      }
51519
51520      node.sibling.return = node.return;
51521      node = node.sibling;
51522    }
51523  };
51524
51525  updateHostContainer = function (workInProgress) {// Noop
51526  };
51527
51528  updateHostComponent$1 = function (current, workInProgress, type, newProps, rootContainerInstance) {
51529    // If we have an alternate, that means this is an update and we need to
51530    // schedule a side-effect to do the updates.
51531    var oldProps = current.memoizedProps;
51532
51533    if (oldProps === newProps) {
51534      // In mutation mode, this is sufficient for a bailout because
51535      // we won't touch this node even if children changed.
51536      return;
51537    } // If we get updated because one of our children updated, we don't
51538    // have newProps so we'll have to reuse them.
51539    // TODO: Split the update API as separate for the props vs. children.
51540    // Even better would be if children weren't special cased at all tho.
51541
51542
51543    var instance = workInProgress.stateNode;
51544    var currentHostContext = getHostContext(); // TODO: Experiencing an error where oldProps is null. Suggests a host
51545    // component is hitting the resume path. Figure out why. Possibly
51546    // related to `hidden`.
51547
51548    var updatePayload = prepareUpdate(instance, type, oldProps, newProps, rootContainerInstance, currentHostContext); // TODO: Type this specific to this type of component.
51549
51550    workInProgress.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there
51551    // is a new ref we mark this as an update. All the work is done in commitWork.
51552
51553    if (updatePayload) {
51554      markUpdate(workInProgress);
51555    }
51556  };
51557
51558  updateHostText$1 = function (current, workInProgress, oldText, newText) {
51559    // If the text differs, mark it as an update. All the work in done in commitWork.
51560    if (oldText !== newText) {
51561      markUpdate(workInProgress);
51562    }
51563  };
51564}
51565
51566function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {
51567  switch (renderState.tailMode) {
51568    case 'hidden':
51569      {
51570        // Any insertions at the end of the tail list after this point
51571        // should be invisible. If there are already mounted boundaries
51572        // anything before them are not considered for collapsing.
51573        // Therefore we need to go through the whole tail to find if
51574        // there are any.
51575        var tailNode = renderState.tail;
51576        var lastTailNode = null;
51577
51578        while (tailNode !== null) {
51579          if (tailNode.alternate !== null) {
51580            lastTailNode = tailNode;
51581          }
51582
51583          tailNode = tailNode.sibling;
51584        } // Next we're simply going to delete all insertions after the
51585        // last rendered item.
51586
51587
51588        if (lastTailNode === null) {
51589          // All remaining items in the tail are insertions.
51590          renderState.tail = null;
51591        } else {
51592          // Detach the insertion after the last node that was already
51593          // inserted.
51594          lastTailNode.sibling = null;
51595        }
51596
51597        break;
51598      }
51599
51600    case 'collapsed':
51601      {
51602        // Any insertions at the end of the tail list after this point
51603        // should be invisible. If there are already mounted boundaries
51604        // anything before them are not considered for collapsing.
51605        // Therefore we need to go through the whole tail to find if
51606        // there are any.
51607        var _tailNode = renderState.tail;
51608        var _lastTailNode = null;
51609
51610        while (_tailNode !== null) {
51611          if (_tailNode.alternate !== null) {
51612            _lastTailNode = _tailNode;
51613          }
51614
51615          _tailNode = _tailNode.sibling;
51616        } // Next we're simply going to delete all insertions after the
51617        // last rendered item.
51618
51619
51620        if (_lastTailNode === null) {
51621          // All remaining items in the tail are insertions.
51622          if (!hasRenderedATailFallback && renderState.tail !== null) {
51623            // We suspended during the head. We want to show at least one
51624            // row at the tail. So we'll keep on and cut off the rest.
51625            renderState.tail.sibling = null;
51626          } else {
51627            renderState.tail = null;
51628          }
51629        } else {
51630          // Detach the insertion after the last node that was already
51631          // inserted.
51632          _lastTailNode.sibling = null;
51633        }
51634
51635        break;
51636      }
51637  }
51638}
51639
51640function completeWork(current, workInProgress, renderExpirationTime) {
51641  var newProps = workInProgress.pendingProps;
51642
51643  switch (workInProgress.tag) {
51644    case IndeterminateComponent:
51645    case LazyComponent:
51646    case SimpleMemoComponent:
51647    case FunctionComponent:
51648    case ForwardRef:
51649    case Fragment:
51650    case Mode:
51651    case Profiler:
51652    case ContextConsumer:
51653    case MemoComponent:
51654      return null;
51655
51656    case ClassComponent:
51657      {
51658        var Component = workInProgress.type;
51659
51660        if (isContextProvider(Component)) {
51661          popContext(workInProgress);
51662        }
51663
51664        return null;
51665      }
51666
51667    case HostRoot:
51668      {
51669        popHostContainer(workInProgress);
51670        popTopLevelContextObject(workInProgress);
51671        var fiberRoot = workInProgress.stateNode;
51672
51673        if (fiberRoot.pendingContext) {
51674          fiberRoot.context = fiberRoot.pendingContext;
51675          fiberRoot.pendingContext = null;
51676        }
51677
51678        if (current === null || current.child === null) {
51679          // If we hydrated, pop so that we can delete any remaining children
51680          // that weren't hydrated.
51681          var wasHydrated = popHydrationState(workInProgress);
51682
51683          if (wasHydrated) {
51684            // If we hydrated, then we'll need to schedule an update for
51685            // the commit side-effects on the root.
51686            markUpdate(workInProgress);
51687          }
51688        }
51689
51690        updateHostContainer(workInProgress);
51691        return null;
51692      }
51693
51694    case HostComponent:
51695      {
51696        popHostContext(workInProgress);
51697        var rootContainerInstance = getRootHostContainer();
51698        var type = workInProgress.type;
51699
51700        if (current !== null && workInProgress.stateNode != null) {
51701          updateHostComponent$1(current, workInProgress, type, newProps, rootContainerInstance);
51702
51703          if (current.ref !== workInProgress.ref) {
51704            markRef$1(workInProgress);
51705          }
51706        } else {
51707          if (!newProps) {
51708            if (!(workInProgress.stateNode !== null)) {
51709              {
51710                throw Error( "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." );
51711              }
51712            } // This can happen when we abort work.
51713
51714
51715            return null;
51716          }
51717
51718          var currentHostContext = getHostContext(); // TODO: Move createInstance to beginWork and keep it on a context
51719          // "stack" as the parent. Then append children as we go in beginWork
51720          // or completeWork depending on whether we want to add them top->down or
51721          // bottom->up. Top->down is faster in IE11.
51722
51723          var _wasHydrated = popHydrationState(workInProgress);
51724
51725          if (_wasHydrated) {
51726            // TODO: Move this and createInstance step into the beginPhase
51727            // to consolidate.
51728            if (prepareToHydrateHostInstance(workInProgress, rootContainerInstance, currentHostContext)) {
51729              // If changes to the hydrated node need to be applied at the
51730              // commit-phase we mark this as such.
51731              markUpdate(workInProgress);
51732            }
51733          } else {
51734            var instance = createInstance(type, newProps, rootContainerInstance, currentHostContext, workInProgress);
51735            appendAllChildren(instance, workInProgress, false, false); // This needs to be set before we mount Flare event listeners
51736
51737            workInProgress.stateNode = instance;
51738            // (eg DOM renderer supports auto-focus for certain elements).
51739            // Make sure such renderers get scheduled for later work.
51740
51741
51742            if (finalizeInitialChildren(instance, type, newProps, rootContainerInstance)) {
51743              markUpdate(workInProgress);
51744            }
51745          }
51746
51747          if (workInProgress.ref !== null) {
51748            // If there is a ref on a host node we need to schedule a callback
51749            markRef$1(workInProgress);
51750          }
51751        }
51752
51753        return null;
51754      }
51755
51756    case HostText:
51757      {
51758        var newText = newProps;
51759
51760        if (current && workInProgress.stateNode != null) {
51761          var oldText = current.memoizedProps; // If we have an alternate, that means this is an update and we need
51762          // to schedule a side-effect to do the updates.
51763
51764          updateHostText$1(current, workInProgress, oldText, newText);
51765        } else {
51766          if (typeof newText !== 'string') {
51767            if (!(workInProgress.stateNode !== null)) {
51768              {
51769                throw Error( "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." );
51770              }
51771            } // This can happen when we abort work.
51772
51773          }
51774
51775          var _rootContainerInstance = getRootHostContainer();
51776
51777          var _currentHostContext = getHostContext();
51778
51779          var _wasHydrated2 = popHydrationState(workInProgress);
51780
51781          if (_wasHydrated2) {
51782            if (prepareToHydrateHostTextInstance(workInProgress)) {
51783              markUpdate(workInProgress);
51784            }
51785          } else {
51786            workInProgress.stateNode = createTextInstance(newText, _rootContainerInstance, _currentHostContext, workInProgress);
51787          }
51788        }
51789
51790        return null;
51791      }
51792
51793    case SuspenseComponent:
51794      {
51795        popSuspenseContext(workInProgress);
51796        var nextState = workInProgress.memoizedState;
51797
51798        if ((workInProgress.effectTag & DidCapture) !== NoEffect) {
51799          // Something suspended. Re-render with the fallback children.
51800          workInProgress.expirationTime = renderExpirationTime; // Do not reset the effect list.
51801
51802          return workInProgress;
51803        }
51804
51805        var nextDidTimeout = nextState !== null;
51806        var prevDidTimeout = false;
51807
51808        if (current === null) {
51809          if (workInProgress.memoizedProps.fallback !== undefined) {
51810            popHydrationState(workInProgress);
51811          }
51812        } else {
51813          var prevState = current.memoizedState;
51814          prevDidTimeout = prevState !== null;
51815
51816          if (!nextDidTimeout && prevState !== null) {
51817            // We just switched from the fallback to the normal children.
51818            // Delete the fallback.
51819            // TODO: Would it be better to store the fallback fragment on
51820            // the stateNode during the begin phase?
51821            var currentFallbackChild = current.child.sibling;
51822
51823            if (currentFallbackChild !== null) {
51824              // Deletions go at the beginning of the return fiber's effect list
51825              var first = workInProgress.firstEffect;
51826
51827              if (first !== null) {
51828                workInProgress.firstEffect = currentFallbackChild;
51829                currentFallbackChild.nextEffect = first;
51830              } else {
51831                workInProgress.firstEffect = workInProgress.lastEffect = currentFallbackChild;
51832                currentFallbackChild.nextEffect = null;
51833              }
51834
51835              currentFallbackChild.effectTag = Deletion;
51836            }
51837          }
51838        }
51839
51840        if (nextDidTimeout && !prevDidTimeout) {
51841          // If this subtreee is running in blocking mode we can suspend,
51842          // otherwise we won't suspend.
51843          // TODO: This will still suspend a synchronous tree if anything
51844          // in the concurrent tree already suspended during this render.
51845          // This is a known bug.
51846          if ((workInProgress.mode & BlockingMode) !== NoMode) {
51847            // TODO: Move this back to throwException because this is too late
51848            // if this is a large tree which is common for initial loads. We
51849            // don't know if we should restart a render or not until we get
51850            // this marker, and this is too late.
51851            // If this render already had a ping or lower pri updates,
51852            // and this is the first time we know we're going to suspend we
51853            // should be able to immediately restart from within throwException.
51854            var hasInvisibleChildContext = current === null && workInProgress.memoizedProps.unstable_avoidThisFallback !== true;
51855
51856            if (hasInvisibleChildContext || hasSuspenseContext(suspenseStackCursor.current, InvisibleParentSuspenseContext)) {
51857              // If this was in an invisible tree or a new render, then showing
51858              // this boundary is ok.
51859              renderDidSuspend();
51860            } else {
51861              // Otherwise, we're going to have to hide content so we should
51862              // suspend for longer if possible.
51863              renderDidSuspendDelayIfPossible();
51864            }
51865          }
51866        }
51867
51868        {
51869          // TODO: Only schedule updates if these values are non equal, i.e. it changed.
51870          if (nextDidTimeout || prevDidTimeout) {
51871            // If this boundary just timed out, schedule an effect to attach a
51872            // retry listener to the promise. This flag is also used to hide the
51873            // primary children. In mutation mode, we also need the flag to
51874            // *unhide* children that were previously hidden, so check if this
51875            // is currently timed out, too.
51876            workInProgress.effectTag |= Update;
51877          }
51878        }
51879
51880        return null;
51881      }
51882
51883    case HostPortal:
51884      popHostContainer(workInProgress);
51885      updateHostContainer(workInProgress);
51886      return null;
51887
51888    case ContextProvider:
51889      // Pop provider fiber
51890      popProvider(workInProgress);
51891      return null;
51892
51893    case IncompleteClassComponent:
51894      {
51895        // Same as class component case. I put it down here so that the tags are
51896        // sequential to ensure this switch is compiled to a jump table.
51897        var _Component = workInProgress.type;
51898
51899        if (isContextProvider(_Component)) {
51900          popContext(workInProgress);
51901        }
51902
51903        return null;
51904      }
51905
51906    case SuspenseListComponent:
51907      {
51908        popSuspenseContext(workInProgress);
51909        var renderState = workInProgress.memoizedState;
51910
51911        if (renderState === null) {
51912          // We're running in the default, "independent" mode.
51913          // We don't do anything in this mode.
51914          return null;
51915        }
51916
51917        var didSuspendAlready = (workInProgress.effectTag & DidCapture) !== NoEffect;
51918        var renderedTail = renderState.rendering;
51919
51920        if (renderedTail === null) {
51921          // We just rendered the head.
51922          if (!didSuspendAlready) {
51923            // This is the first pass. We need to figure out if anything is still
51924            // suspended in the rendered set.
51925            // If new content unsuspended, but there's still some content that
51926            // didn't. Then we need to do a second pass that forces everything
51927            // to keep showing their fallbacks.
51928            // We might be suspended if something in this render pass suspended, or
51929            // something in the previous committed pass suspended. Otherwise,
51930            // there's no chance so we can skip the expensive call to
51931            // findFirstSuspended.
51932            var cannotBeSuspended = renderHasNotSuspendedYet() && (current === null || (current.effectTag & DidCapture) === NoEffect);
51933
51934            if (!cannotBeSuspended) {
51935              var row = workInProgress.child;
51936
51937              while (row !== null) {
51938                var suspended = findFirstSuspended(row);
51939
51940                if (suspended !== null) {
51941                  didSuspendAlready = true;
51942                  workInProgress.effectTag |= DidCapture;
51943                  cutOffTailIfNeeded(renderState, false); // If this is a newly suspended tree, it might not get committed as
51944                  // part of the second pass. In that case nothing will subscribe to
51945                  // its thennables. Instead, we'll transfer its thennables to the
51946                  // SuspenseList so that it can retry if they resolve.
51947                  // There might be multiple of these in the list but since we're
51948                  // going to wait for all of them anyway, it doesn't really matter
51949                  // which ones gets to ping. In theory we could get clever and keep
51950                  // track of how many dependencies remain but it gets tricky because
51951                  // in the meantime, we can add/remove/change items and dependencies.
51952                  // We might bail out of the loop before finding any but that
51953                  // doesn't matter since that means that the other boundaries that
51954                  // we did find already has their listeners attached.
51955
51956                  var newThennables = suspended.updateQueue;
51957
51958                  if (newThennables !== null) {
51959                    workInProgress.updateQueue = newThennables;
51960                    workInProgress.effectTag |= Update;
51961                  } // Rerender the whole list, but this time, we'll force fallbacks
51962                  // to stay in place.
51963                  // Reset the effect list before doing the second pass since that's now invalid.
51964
51965
51966                  if (renderState.lastEffect === null) {
51967                    workInProgress.firstEffect = null;
51968                  }
51969
51970                  workInProgress.lastEffect = renderState.lastEffect; // Reset the child fibers to their original state.
51971
51972                  resetChildFibers(workInProgress, renderExpirationTime); // Set up the Suspense Context to force suspense and immediately
51973                  // rerender the children.
51974
51975                  pushSuspenseContext(workInProgress, setShallowSuspenseContext(suspenseStackCursor.current, ForceSuspenseFallback));
51976                  return workInProgress.child;
51977                }
51978
51979                row = row.sibling;
51980              }
51981            }
51982          } else {
51983            cutOffTailIfNeeded(renderState, false);
51984          } // Next we're going to render the tail.
51985
51986        } else {
51987          // Append the rendered row to the child list.
51988          if (!didSuspendAlready) {
51989            var _suspended = findFirstSuspended(renderedTail);
51990
51991            if (_suspended !== null) {
51992              workInProgress.effectTag |= DidCapture;
51993              didSuspendAlready = true; // Ensure we transfer the update queue to the parent so that it doesn't
51994              // get lost if this row ends up dropped during a second pass.
51995
51996              var _newThennables = _suspended.updateQueue;
51997
51998              if (_newThennables !== null) {
51999                workInProgress.updateQueue = _newThennables;
52000                workInProgress.effectTag |= Update;
52001              }
52002
52003              cutOffTailIfNeeded(renderState, true); // This might have been modified.
52004
52005              if (renderState.tail === null && renderState.tailMode === 'hidden' && !renderedTail.alternate) {
52006                // We need to delete the row we just rendered.
52007                // Reset the effect list to what it was before we rendered this
52008                // child. The nested children have already appended themselves.
52009                var lastEffect = workInProgress.lastEffect = renderState.lastEffect; // Remove any effects that were appended after this point.
52010
52011                if (lastEffect !== null) {
52012                  lastEffect.nextEffect = null;
52013                } // We're done.
52014
52015
52016                return null;
52017              }
52018            } else if ( // The time it took to render last row is greater than time until
52019            // the expiration.
52020            now() * 2 - renderState.renderingStartTime > renderState.tailExpiration && renderExpirationTime > Never) {
52021              // We have now passed our CPU deadline and we'll just give up further
52022              // attempts to render the main content and only render fallbacks.
52023              // The assumption is that this is usually faster.
52024              workInProgress.effectTag |= DidCapture;
52025              didSuspendAlready = true;
52026              cutOffTailIfNeeded(renderState, false); // Since nothing actually suspended, there will nothing to ping this
52027              // to get it started back up to attempt the next item. If we can show
52028              // them, then they really have the same priority as this render.
52029              // So we'll pick it back up the very next render pass once we've had
52030              // an opportunity to yield for paint.
52031
52032              var nextPriority = renderExpirationTime - 1;
52033              workInProgress.expirationTime = workInProgress.childExpirationTime = nextPriority;
52034
52035              {
52036                markSpawnedWork(nextPriority);
52037              }
52038            }
52039          }
52040
52041          if (renderState.isBackwards) {
52042            // The effect list of the backwards tail will have been added
52043            // to the end. This breaks the guarantee that life-cycles fire in
52044            // sibling order but that isn't a strong guarantee promised by React.
52045            // Especially since these might also just pop in during future commits.
52046            // Append to the beginning of the list.
52047            renderedTail.sibling = workInProgress.child;
52048            workInProgress.child = renderedTail;
52049          } else {
52050            var previousSibling = renderState.last;
52051
52052            if (previousSibling !== null) {
52053              previousSibling.sibling = renderedTail;
52054            } else {
52055              workInProgress.child = renderedTail;
52056            }
52057
52058            renderState.last = renderedTail;
52059          }
52060        }
52061
52062        if (renderState.tail !== null) {
52063          // We still have tail rows to render.
52064          if (renderState.tailExpiration === 0) {
52065            // Heuristic for how long we're willing to spend rendering rows
52066            // until we just give up and show what we have so far.
52067            var TAIL_EXPIRATION_TIMEOUT_MS = 500;
52068            renderState.tailExpiration = now() + TAIL_EXPIRATION_TIMEOUT_MS; // TODO: This is meant to mimic the train model or JND but this
52069            // is a per component value. It should really be since the start
52070            // of the total render or last commit. Consider using something like
52071            // globalMostRecentFallbackTime. That doesn't account for being
52072            // suspended for part of the time or when it's a new render.
52073            // It should probably use a global start time value instead.
52074          } // Pop a row.
52075
52076
52077          var next = renderState.tail;
52078          renderState.rendering = next;
52079          renderState.tail = next.sibling;
52080          renderState.lastEffect = workInProgress.lastEffect;
52081          renderState.renderingStartTime = now();
52082          next.sibling = null; // Restore the context.
52083          // TODO: We can probably just avoid popping it instead and only
52084          // setting it the first time we go from not suspended to suspended.
52085
52086          var suspenseContext = suspenseStackCursor.current;
52087
52088          if (didSuspendAlready) {
52089            suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback);
52090          } else {
52091            suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);
52092          }
52093
52094          pushSuspenseContext(workInProgress, suspenseContext); // Do a pass over the next row.
52095
52096          return next;
52097        }
52098
52099        return null;
52100      }
52101  }
52102
52103  {
52104    {
52105      throw Error( "Unknown unit of work tag (" + workInProgress.tag + "). This error is likely caused by a bug in React. Please file an issue." );
52106    }
52107  }
52108}
52109
52110function unwindWork(workInProgress, renderExpirationTime) {
52111  switch (workInProgress.tag) {
52112    case ClassComponent:
52113      {
52114        var Component = workInProgress.type;
52115
52116        if (isContextProvider(Component)) {
52117          popContext(workInProgress);
52118        }
52119
52120        var effectTag = workInProgress.effectTag;
52121
52122        if (effectTag & ShouldCapture) {
52123          workInProgress.effectTag = effectTag & ~ShouldCapture | DidCapture;
52124          return workInProgress;
52125        }
52126
52127        return null;
52128      }
52129
52130    case HostRoot:
52131      {
52132        popHostContainer(workInProgress);
52133        popTopLevelContextObject(workInProgress);
52134        var _effectTag = workInProgress.effectTag;
52135
52136        if (!((_effectTag & DidCapture) === NoEffect)) {
52137          {
52138            throw Error( "The root failed to unmount after an error. This is likely a bug in React. Please file an issue." );
52139          }
52140        }
52141
52142        workInProgress.effectTag = _effectTag & ~ShouldCapture | DidCapture;
52143        return workInProgress;
52144      }
52145
52146    case HostComponent:
52147      {
52148        // TODO: popHydrationState
52149        popHostContext(workInProgress);
52150        return null;
52151      }
52152
52153    case SuspenseComponent:
52154      {
52155        popSuspenseContext(workInProgress);
52156
52157        var _effectTag2 = workInProgress.effectTag;
52158
52159        if (_effectTag2 & ShouldCapture) {
52160          workInProgress.effectTag = _effectTag2 & ~ShouldCapture | DidCapture; // Captured a suspense effect. Re-render the boundary.
52161
52162          return workInProgress;
52163        }
52164
52165        return null;
52166      }
52167
52168    case SuspenseListComponent:
52169      {
52170        popSuspenseContext(workInProgress); // SuspenseList doesn't actually catch anything. It should've been
52171        // caught by a nested boundary. If not, it should bubble through.
52172
52173        return null;
52174      }
52175
52176    case HostPortal:
52177      popHostContainer(workInProgress);
52178      return null;
52179
52180    case ContextProvider:
52181      popProvider(workInProgress);
52182      return null;
52183
52184    default:
52185      return null;
52186  }
52187}
52188
52189function unwindInterruptedWork(interruptedWork) {
52190  switch (interruptedWork.tag) {
52191    case ClassComponent:
52192      {
52193        var childContextTypes = interruptedWork.type.childContextTypes;
52194
52195        if (childContextTypes !== null && childContextTypes !== undefined) {
52196          popContext(interruptedWork);
52197        }
52198
52199        break;
52200      }
52201
52202    case HostRoot:
52203      {
52204        popHostContainer(interruptedWork);
52205        popTopLevelContextObject(interruptedWork);
52206        break;
52207      }
52208
52209    case HostComponent:
52210      {
52211        popHostContext(interruptedWork);
52212        break;
52213      }
52214
52215    case HostPortal:
52216      popHostContainer(interruptedWork);
52217      break;
52218
52219    case SuspenseComponent:
52220      popSuspenseContext(interruptedWork);
52221      break;
52222
52223    case SuspenseListComponent:
52224      popSuspenseContext(interruptedWork);
52225      break;
52226
52227    case ContextProvider:
52228      popProvider(interruptedWork);
52229      break;
52230  }
52231}
52232
52233function createCapturedValue(value, source) {
52234  // If the value is an error, call this function immediately after it is thrown
52235  // so the stack is accurate.
52236  return {
52237    value: value,
52238    source: source,
52239    stack: getStackByFiberInDevAndProd(source)
52240  };
52241}
52242
52243function logCapturedError(capturedError) {
52244
52245  var error = capturedError.error;
52246
52247  {
52248    var componentName = capturedError.componentName,
52249        componentStack = capturedError.componentStack,
52250        errorBoundaryName = capturedError.errorBoundaryName,
52251        errorBoundaryFound = capturedError.errorBoundaryFound,
52252        willRetry = capturedError.willRetry; // Browsers support silencing uncaught errors by calling
52253    // `preventDefault()` in window `error` handler.
52254    // We record this information as an expando on the error.
52255
52256    if (error != null && error._suppressLogging) {
52257      if (errorBoundaryFound && willRetry) {
52258        // The error is recoverable and was silenced.
52259        // Ignore it and don't print the stack addendum.
52260        // This is handy for testing error boundaries without noise.
52261        return;
52262      } // The error is fatal. Since the silencing might have
52263      // been accidental, we'll surface it anyway.
52264      // However, the browser would have silenced the original error
52265      // so we'll print it first, and then print the stack addendum.
52266
52267
52268      console['error'](error); // Don't transform to our wrapper
52269      // For a more detailed description of this block, see:
52270      // https://github.com/facebook/react/pull/13384
52271    }
52272
52273    var componentNameMessage = componentName ? "The above error occurred in the <" + componentName + "> component:" : 'The above error occurred in one of your React components:';
52274    var errorBoundaryMessage; // errorBoundaryFound check is sufficient; errorBoundaryName check is to satisfy Flow.
52275
52276    if (errorBoundaryFound && errorBoundaryName) {
52277      if (willRetry) {
52278        errorBoundaryMessage = "React will try to recreate this component tree from scratch " + ("using the error boundary you provided, " + errorBoundaryName + ".");
52279      } else {
52280        errorBoundaryMessage = "This error was initially handled by the error boundary " + errorBoundaryName + ".\n" + "Recreating the tree from scratch failed so React will unmount the tree.";
52281      }
52282    } else {
52283      errorBoundaryMessage = 'Consider adding an error boundary to your tree to customize error handling behavior.\n' + 'Visit https://fb.me/react-error-boundaries to learn more about error boundaries.';
52284    }
52285
52286    var combinedMessage = "" + componentNameMessage + componentStack + "\n\n" + ("" + errorBoundaryMessage); // In development, we provide our own message with just the component stack.
52287    // We don't include the original error message and JS stack because the browser
52288    // has already printed it. Even if the application swallows the error, it is still
52289    // displayed by the browser thanks to the DEV-only fake event trick in ReactErrorUtils.
52290
52291    console['error'](combinedMessage); // Don't transform to our wrapper
52292  }
52293}
52294
52295var didWarnAboutUndefinedSnapshotBeforeUpdate = null;
52296
52297{
52298  didWarnAboutUndefinedSnapshotBeforeUpdate = new Set();
52299}
52300
52301var PossiblyWeakSet = typeof WeakSet === 'function' ? WeakSet : Set;
52302function logError(boundary, errorInfo) {
52303  var source = errorInfo.source;
52304  var stack = errorInfo.stack;
52305
52306  if (stack === null && source !== null) {
52307    stack = getStackByFiberInDevAndProd(source);
52308  }
52309
52310  var capturedError = {
52311    componentName: source !== null ? getComponentName(source.type) : null,
52312    componentStack: stack !== null ? stack : '',
52313    error: errorInfo.value,
52314    errorBoundary: null,
52315    errorBoundaryName: null,
52316    errorBoundaryFound: false,
52317    willRetry: false
52318  };
52319
52320  if (boundary !== null && boundary.tag === ClassComponent) {
52321    capturedError.errorBoundary = boundary.stateNode;
52322    capturedError.errorBoundaryName = getComponentName(boundary.type);
52323    capturedError.errorBoundaryFound = true;
52324    capturedError.willRetry = true;
52325  }
52326
52327  try {
52328    logCapturedError(capturedError);
52329  } catch (e) {
52330    // This method must not throw, or React internal state will get messed up.
52331    // If console.error is overridden, or logCapturedError() shows a dialog that throws,
52332    // we want to report this error outside of the normal stack as a last resort.
52333    // https://github.com/facebook/react/issues/13188
52334    setTimeout(function () {
52335      throw e;
52336    });
52337  }
52338}
52339
52340var callComponentWillUnmountWithTimer = function (current, instance) {
52341  startPhaseTimer(current, 'componentWillUnmount');
52342  instance.props = current.memoizedProps;
52343  instance.state = current.memoizedState;
52344  instance.componentWillUnmount();
52345  stopPhaseTimer();
52346}; // Capture errors so they don't interrupt unmounting.
52347
52348
52349function safelyCallComponentWillUnmount(current, instance) {
52350  {
52351    invokeGuardedCallback(null, callComponentWillUnmountWithTimer, null, current, instance);
52352
52353    if (hasCaughtError()) {
52354      var unmountError = clearCaughtError();
52355      captureCommitPhaseError(current, unmountError);
52356    }
52357  }
52358}
52359
52360function safelyDetachRef(current) {
52361  var ref = current.ref;
52362
52363  if (ref !== null) {
52364    if (typeof ref === 'function') {
52365      {
52366        invokeGuardedCallback(null, ref, null, null);
52367
52368        if (hasCaughtError()) {
52369          var refError = clearCaughtError();
52370          captureCommitPhaseError(current, refError);
52371        }
52372      }
52373    } else {
52374      ref.current = null;
52375    }
52376  }
52377}
52378
52379function safelyCallDestroy(current, destroy) {
52380  {
52381    invokeGuardedCallback(null, destroy, null);
52382
52383    if (hasCaughtError()) {
52384      var error = clearCaughtError();
52385      captureCommitPhaseError(current, error);
52386    }
52387  }
52388}
52389
52390function commitBeforeMutationLifeCycles(current, finishedWork) {
52391  switch (finishedWork.tag) {
52392    case FunctionComponent:
52393    case ForwardRef:
52394    case SimpleMemoComponent:
52395    case Block:
52396      {
52397        return;
52398      }
52399
52400    case ClassComponent:
52401      {
52402        if (finishedWork.effectTag & Snapshot) {
52403          if (current !== null) {
52404            var prevProps = current.memoizedProps;
52405            var prevState = current.memoizedState;
52406            startPhaseTimer(finishedWork, 'getSnapshotBeforeUpdate');
52407            var instance = finishedWork.stateNode; // We could update instance props and state here,
52408            // but instead we rely on them being set during last render.
52409            // TODO: revisit this when we implement resuming.
52410
52411            {
52412              if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {
52413                if (instance.props !== finishedWork.memoizedProps) {
52414                  error('Expected %s props to match memoized props before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');
52415                }
52416
52417                if (instance.state !== finishedWork.memoizedState) {
52418                  error('Expected %s state to match memoized state before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');
52419                }
52420              }
52421            }
52422
52423            var snapshot = instance.getSnapshotBeforeUpdate(finishedWork.elementType === finishedWork.type ? prevProps : resolveDefaultProps(finishedWork.type, prevProps), prevState);
52424
52425            {
52426              var didWarnSet = didWarnAboutUndefinedSnapshotBeforeUpdate;
52427
52428              if (snapshot === undefined && !didWarnSet.has(finishedWork.type)) {
52429                didWarnSet.add(finishedWork.type);
52430
52431                error('%s.getSnapshotBeforeUpdate(): A snapshot value (or null) ' + 'must be returned. You have returned undefined.', getComponentName(finishedWork.type));
52432              }
52433            }
52434
52435            instance.__reactInternalSnapshotBeforeUpdate = snapshot;
52436            stopPhaseTimer();
52437          }
52438        }
52439
52440        return;
52441      }
52442
52443    case HostRoot:
52444    case HostComponent:
52445    case HostText:
52446    case HostPortal:
52447    case IncompleteClassComponent:
52448      // Nothing to do for these component types
52449      return;
52450  }
52451
52452  {
52453    {
52454      throw Error( "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue." );
52455    }
52456  }
52457}
52458
52459function commitHookEffectListUnmount(tag, finishedWork) {
52460  var updateQueue = finishedWork.updateQueue;
52461  var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;
52462
52463  if (lastEffect !== null) {
52464    var firstEffect = lastEffect.next;
52465    var effect = firstEffect;
52466
52467    do {
52468      if ((effect.tag & tag) === tag) {
52469        // Unmount
52470        var destroy = effect.destroy;
52471        effect.destroy = undefined;
52472
52473        if (destroy !== undefined) {
52474          destroy();
52475        }
52476      }
52477
52478      effect = effect.next;
52479    } while (effect !== firstEffect);
52480  }
52481}
52482
52483function commitHookEffectListMount(tag, finishedWork) {
52484  var updateQueue = finishedWork.updateQueue;
52485  var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;
52486
52487  if (lastEffect !== null) {
52488    var firstEffect = lastEffect.next;
52489    var effect = firstEffect;
52490
52491    do {
52492      if ((effect.tag & tag) === tag) {
52493        // Mount
52494        var create = effect.create;
52495        effect.destroy = create();
52496
52497        {
52498          var destroy = effect.destroy;
52499
52500          if (destroy !== undefined && typeof destroy !== 'function') {
52501            var addendum = void 0;
52502
52503            if (destroy === null) {
52504              addendum = ' You returned null. If your effect does not require clean ' + 'up, return undefined (or nothing).';
52505            } else if (typeof destroy.then === 'function') {
52506              addendum = '\n\nIt looks like you wrote useEffect(async () => ...) or returned a Promise. ' + 'Instead, write the async function inside your effect ' + 'and call it immediately:\n\n' + 'useEffect(() => {\n' + '  async function fetchData() {\n' + '    // You can await here\n' + '    const response = await MyAPI.getData(someId);\n' + '    // ...\n' + '  }\n' + '  fetchData();\n' + "}, [someId]); // Or [] if effect doesn't need props or state\n\n" + 'Learn more about data fetching with Hooks: https://fb.me/react-hooks-data-fetching';
52507            } else {
52508              addendum = ' You returned: ' + destroy;
52509            }
52510
52511            error('An effect function must not return anything besides a function, ' + 'which is used for clean-up.%s%s', addendum, getStackByFiberInDevAndProd(finishedWork));
52512          }
52513        }
52514      }
52515
52516      effect = effect.next;
52517    } while (effect !== firstEffect);
52518  }
52519}
52520
52521function commitPassiveHookEffects(finishedWork) {
52522  if ((finishedWork.effectTag & Passive) !== NoEffect) {
52523    switch (finishedWork.tag) {
52524      case FunctionComponent:
52525      case ForwardRef:
52526      case SimpleMemoComponent:
52527      case Block:
52528        {
52529          // TODO (#17945) We should call all passive destroy functions (for all fibers)
52530          // before calling any create functions. The current approach only serializes
52531          // these for a single fiber.
52532          commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork);
52533          commitHookEffectListMount(Passive$1 | HasEffect, finishedWork);
52534          break;
52535        }
52536    }
52537  }
52538}
52539
52540function commitLifeCycles(finishedRoot, current, finishedWork, committedExpirationTime) {
52541  switch (finishedWork.tag) {
52542    case FunctionComponent:
52543    case ForwardRef:
52544    case SimpleMemoComponent:
52545    case Block:
52546      {
52547        // At this point layout effects have already been destroyed (during mutation phase).
52548        // This is done to prevent sibling component effects from interfering with each other,
52549        // e.g. a destroy function in one component should never override a ref set
52550        // by a create function in another component during the same commit.
52551        commitHookEffectListMount(Layout | HasEffect, finishedWork);
52552
52553        return;
52554      }
52555
52556    case ClassComponent:
52557      {
52558        var instance = finishedWork.stateNode;
52559
52560        if (finishedWork.effectTag & Update) {
52561          if (current === null) {
52562            startPhaseTimer(finishedWork, 'componentDidMount'); // We could update instance props and state here,
52563            // but instead we rely on them being set during last render.
52564            // TODO: revisit this when we implement resuming.
52565
52566            {
52567              if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {
52568                if (instance.props !== finishedWork.memoizedProps) {
52569                  error('Expected %s props to match memoized props before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');
52570                }
52571
52572                if (instance.state !== finishedWork.memoizedState) {
52573                  error('Expected %s state to match memoized state before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');
52574                }
52575              }
52576            }
52577
52578            instance.componentDidMount();
52579            stopPhaseTimer();
52580          } else {
52581            var prevProps = finishedWork.elementType === finishedWork.type ? current.memoizedProps : resolveDefaultProps(finishedWork.type, current.memoizedProps);
52582            var prevState = current.memoizedState;
52583            startPhaseTimer(finishedWork, 'componentDidUpdate'); // We could update instance props and state here,
52584            // but instead we rely on them being set during last render.
52585            // TODO: revisit this when we implement resuming.
52586
52587            {
52588              if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {
52589                if (instance.props !== finishedWork.memoizedProps) {
52590                  error('Expected %s props to match memoized props before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');
52591                }
52592
52593                if (instance.state !== finishedWork.memoizedState) {
52594                  error('Expected %s state to match memoized state before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');
52595                }
52596              }
52597            }
52598
52599            instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate);
52600            stopPhaseTimer();
52601          }
52602        }
52603
52604        var updateQueue = finishedWork.updateQueue;
52605
52606        if (updateQueue !== null) {
52607          {
52608            if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {
52609              if (instance.props !== finishedWork.memoizedProps) {
52610                error('Expected %s props to match memoized props before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');
52611              }
52612
52613              if (instance.state !== finishedWork.memoizedState) {
52614                error('Expected %s state to match memoized state before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');
52615              }
52616            }
52617          } // We could update instance props and state here,
52618          // but instead we rely on them being set during last render.
52619          // TODO: revisit this when we implement resuming.
52620
52621
52622          commitUpdateQueue(finishedWork, updateQueue, instance);
52623        }
52624
52625        return;
52626      }
52627
52628    case HostRoot:
52629      {
52630        var _updateQueue = finishedWork.updateQueue;
52631
52632        if (_updateQueue !== null) {
52633          var _instance = null;
52634
52635          if (finishedWork.child !== null) {
52636            switch (finishedWork.child.tag) {
52637              case HostComponent:
52638                _instance = getPublicInstance(finishedWork.child.stateNode);
52639                break;
52640
52641              case ClassComponent:
52642                _instance = finishedWork.child.stateNode;
52643                break;
52644            }
52645          }
52646
52647          commitUpdateQueue(finishedWork, _updateQueue, _instance);
52648        }
52649
52650        return;
52651      }
52652
52653    case HostComponent:
52654      {
52655        var _instance2 = finishedWork.stateNode; // Renderers may schedule work to be done after host components are mounted
52656        // (eg DOM renderer may schedule auto-focus for inputs and form controls).
52657        // These effects should only be committed when components are first mounted,
52658        // aka when there is no current/alternate.
52659
52660        if (current === null && finishedWork.effectTag & Update) {
52661          var type = finishedWork.type;
52662          var props = finishedWork.memoizedProps;
52663          commitMount(_instance2, type, props);
52664        }
52665
52666        return;
52667      }
52668
52669    case HostText:
52670      {
52671        // We have no life-cycles associated with text.
52672        return;
52673      }
52674
52675    case HostPortal:
52676      {
52677        // We have no life-cycles associated with portals.
52678        return;
52679      }
52680
52681    case Profiler:
52682      {
52683        {
52684          var onRender = finishedWork.memoizedProps.onRender;
52685
52686          if (typeof onRender === 'function') {
52687            {
52688              onRender(finishedWork.memoizedProps.id, current === null ? 'mount' : 'update', finishedWork.actualDuration, finishedWork.treeBaseDuration, finishedWork.actualStartTime, getCommitTime(), finishedRoot.memoizedInteractions);
52689            }
52690          }
52691        }
52692
52693        return;
52694      }
52695
52696    case SuspenseComponent:
52697      {
52698        commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);
52699        return;
52700      }
52701
52702    case SuspenseListComponent:
52703    case IncompleteClassComponent:
52704    case FundamentalComponent:
52705    case ScopeComponent:
52706      return;
52707  }
52708
52709  {
52710    {
52711      throw Error( "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue." );
52712    }
52713  }
52714}
52715
52716function hideOrUnhideAllChildren(finishedWork, isHidden) {
52717  {
52718    // We only have the top Fiber that was inserted but we need to recurse down its
52719    // children to find all the terminal nodes.
52720    var node = finishedWork;
52721
52722    while (true) {
52723      if (node.tag === HostComponent) {
52724        var instance = node.stateNode;
52725
52726        if (isHidden) {
52727          hideInstance(instance);
52728        } else {
52729          unhideInstance(node.stateNode, node.memoizedProps);
52730        }
52731      } else if (node.tag === HostText) {
52732        var _instance3 = node.stateNode;
52733
52734        if (isHidden) {
52735          hideTextInstance(_instance3);
52736        } else {
52737          unhideTextInstance(_instance3, node.memoizedProps);
52738        }
52739      } else if (node.tag === SuspenseComponent && node.memoizedState !== null && node.memoizedState.dehydrated === null) {
52740        // Found a nested Suspense component that timed out. Skip over the
52741        // primary child fragment, which should remain hidden.
52742        var fallbackChildFragment = node.child.sibling;
52743        fallbackChildFragment.return = node;
52744        node = fallbackChildFragment;
52745        continue;
52746      } else if (node.child !== null) {
52747        node.child.return = node;
52748        node = node.child;
52749        continue;
52750      }
52751
52752      if (node === finishedWork) {
52753        return;
52754      }
52755
52756      while (node.sibling === null) {
52757        if (node.return === null || node.return === finishedWork) {
52758          return;
52759        }
52760
52761        node = node.return;
52762      }
52763
52764      node.sibling.return = node.return;
52765      node = node.sibling;
52766    }
52767  }
52768}
52769
52770function commitAttachRef(finishedWork) {
52771  var ref = finishedWork.ref;
52772
52773  if (ref !== null) {
52774    var instance = finishedWork.stateNode;
52775    var instanceToUse;
52776
52777    switch (finishedWork.tag) {
52778      case HostComponent:
52779        instanceToUse = getPublicInstance(instance);
52780        break;
52781
52782      default:
52783        instanceToUse = instance;
52784    } // Moved outside to ensure DCE works with this flag
52785
52786    if (typeof ref === 'function') {
52787      ref(instanceToUse);
52788    } else {
52789      {
52790        if (!ref.hasOwnProperty('current')) {
52791          error('Unexpected ref object provided for %s. ' + 'Use either a ref-setter function or React.createRef().%s', getComponentName(finishedWork.type), getStackByFiberInDevAndProd(finishedWork));
52792        }
52793      }
52794
52795      ref.current = instanceToUse;
52796    }
52797  }
52798}
52799
52800function commitDetachRef(current) {
52801  var currentRef = current.ref;
52802
52803  if (currentRef !== null) {
52804    if (typeof currentRef === 'function') {
52805      currentRef(null);
52806    } else {
52807      currentRef.current = null;
52808    }
52809  }
52810} // User-originating errors (lifecycles and refs) should not interrupt
52811// deletion, so don't let them throw. Host-originating errors should
52812// interrupt deletion, so it's okay
52813
52814
52815function commitUnmount(finishedRoot, current, renderPriorityLevel) {
52816  onCommitUnmount(current);
52817
52818  switch (current.tag) {
52819    case FunctionComponent:
52820    case ForwardRef:
52821    case MemoComponent:
52822    case SimpleMemoComponent:
52823    case Block:
52824      {
52825        var updateQueue = current.updateQueue;
52826
52827        if (updateQueue !== null) {
52828          var lastEffect = updateQueue.lastEffect;
52829
52830          if (lastEffect !== null) {
52831            var firstEffect = lastEffect.next;
52832
52833            {
52834              // When the owner fiber is deleted, the destroy function of a passive
52835              // effect hook is called during the synchronous commit phase. This is
52836              // a concession to implementation complexity. Calling it in the
52837              // passive effect phase (like they usually are, when dependencies
52838              // change during an update) would require either traversing the
52839              // children of the deleted fiber again, or including unmount effects
52840              // as part of the fiber effect list.
52841              //
52842              // Because this is during the sync commit phase, we need to change
52843              // the priority.
52844              //
52845              // TODO: Reconsider this implementation trade off.
52846              var priorityLevel = renderPriorityLevel > NormalPriority ? NormalPriority : renderPriorityLevel;
52847              runWithPriority$1(priorityLevel, function () {
52848                var effect = firstEffect;
52849
52850                do {
52851                  var _destroy = effect.destroy;
52852
52853                  if (_destroy !== undefined) {
52854                    safelyCallDestroy(current, _destroy);
52855                  }
52856
52857                  effect = effect.next;
52858                } while (effect !== firstEffect);
52859              });
52860            }
52861          }
52862        }
52863
52864        return;
52865      }
52866
52867    case ClassComponent:
52868      {
52869        safelyDetachRef(current);
52870        var instance = current.stateNode;
52871
52872        if (typeof instance.componentWillUnmount === 'function') {
52873          safelyCallComponentWillUnmount(current, instance);
52874        }
52875
52876        return;
52877      }
52878
52879    case HostComponent:
52880      {
52881
52882        safelyDetachRef(current);
52883        return;
52884      }
52885
52886    case HostPortal:
52887      {
52888        // TODO: this is recursive.
52889        // We are also not using this parent because
52890        // the portal will get pushed immediately.
52891        {
52892          unmountHostComponents(finishedRoot, current, renderPriorityLevel);
52893        }
52894
52895        return;
52896      }
52897
52898    case FundamentalComponent:
52899      {
52900
52901        return;
52902      }
52903
52904    case DehydratedFragment:
52905      {
52906
52907        return;
52908      }
52909
52910    case ScopeComponent:
52911      {
52912
52913        return;
52914      }
52915  }
52916}
52917
52918function commitNestedUnmounts(finishedRoot, root, renderPriorityLevel) {
52919  // While we're inside a removed host node we don't want to call
52920  // removeChild on the inner nodes because they're removed by the top
52921  // call anyway. We also want to call componentWillUnmount on all
52922  // composites before this host node is removed from the tree. Therefore
52923  // we do an inner loop while we're still inside the host node.
52924  var node = root;
52925
52926  while (true) {
52927    commitUnmount(finishedRoot, node, renderPriorityLevel); // Visit children because they may contain more composite or host nodes.
52928    // Skip portals because commitUnmount() currently visits them recursively.
52929
52930    if (node.child !== null && ( // If we use mutation we drill down into portals using commitUnmount above.
52931    // If we don't use mutation we drill down into portals here instead.
52932     node.tag !== HostPortal)) {
52933      node.child.return = node;
52934      node = node.child;
52935      continue;
52936    }
52937
52938    if (node === root) {
52939      return;
52940    }
52941
52942    while (node.sibling === null) {
52943      if (node.return === null || node.return === root) {
52944        return;
52945      }
52946
52947      node = node.return;
52948    }
52949
52950    node.sibling.return = node.return;
52951    node = node.sibling;
52952  }
52953}
52954
52955function detachFiber(current) {
52956  var alternate = current.alternate; // Cut off the return pointers to disconnect it from the tree. Ideally, we
52957  // should clear the child pointer of the parent alternate to let this
52958  // get GC:ed but we don't know which for sure which parent is the current
52959  // one so we'll settle for GC:ing the subtree of this child. This child
52960  // itself will be GC:ed when the parent updates the next time.
52961
52962  current.return = null;
52963  current.child = null;
52964  current.memoizedState = null;
52965  current.updateQueue = null;
52966  current.dependencies = null;
52967  current.alternate = null;
52968  current.firstEffect = null;
52969  current.lastEffect = null;
52970  current.pendingProps = null;
52971  current.memoizedProps = null;
52972  current.stateNode = null;
52973
52974  if (alternate !== null) {
52975    detachFiber(alternate);
52976  }
52977}
52978
52979function getHostParentFiber(fiber) {
52980  var parent = fiber.return;
52981
52982  while (parent !== null) {
52983    if (isHostParent(parent)) {
52984      return parent;
52985    }
52986
52987    parent = parent.return;
52988  }
52989
52990  {
52991    {
52992      throw Error( "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue." );
52993    }
52994  }
52995}
52996
52997function isHostParent(fiber) {
52998  return fiber.tag === HostComponent || fiber.tag === HostRoot || fiber.tag === HostPortal;
52999}
53000
53001function getHostSibling(fiber) {
53002  // We're going to search forward into the tree until we find a sibling host
53003  // node. Unfortunately, if multiple insertions are done in a row we have to
53004  // search past them. This leads to exponential search for the next sibling.
53005  // TODO: Find a more efficient way to do this.
53006  var node = fiber;
53007
53008  siblings: while (true) {
53009    // If we didn't find anything, let's try the next sibling.
53010    while (node.sibling === null) {
53011      if (node.return === null || isHostParent(node.return)) {
53012        // If we pop out of the root or hit the parent the fiber we are the
53013        // last sibling.
53014        return null;
53015      }
53016
53017      node = node.return;
53018    }
53019
53020    node.sibling.return = node.return;
53021    node = node.sibling;
53022
53023    while (node.tag !== HostComponent && node.tag !== HostText && node.tag !== DehydratedFragment) {
53024      // If it is not host node and, we might have a host node inside it.
53025      // Try to search down until we find one.
53026      if (node.effectTag & Placement) {
53027        // If we don't have a child, try the siblings instead.
53028        continue siblings;
53029      } // If we don't have a child, try the siblings instead.
53030      // We also skip portals because they are not part of this host tree.
53031
53032
53033      if (node.child === null || node.tag === HostPortal) {
53034        continue siblings;
53035      } else {
53036        node.child.return = node;
53037        node = node.child;
53038      }
53039    } // Check if this host node is stable or about to be placed.
53040
53041
53042    if (!(node.effectTag & Placement)) {
53043      // Found it!
53044      return node.stateNode;
53045    }
53046  }
53047}
53048
53049function commitPlacement(finishedWork) {
53050
53051
53052  var parentFiber = getHostParentFiber(finishedWork); // Note: these two variables *must* always be updated together.
53053
53054  var parent;
53055  var isContainer;
53056  var parentStateNode = parentFiber.stateNode;
53057
53058  switch (parentFiber.tag) {
53059    case HostComponent:
53060      parent = parentStateNode;
53061      isContainer = false;
53062      break;
53063
53064    case HostRoot:
53065      parent = parentStateNode.containerInfo;
53066      isContainer = true;
53067      break;
53068
53069    case HostPortal:
53070      parent = parentStateNode.containerInfo;
53071      isContainer = true;
53072      break;
53073
53074    case FundamentalComponent:
53075
53076    // eslint-disable-next-line-no-fallthrough
53077
53078    default:
53079      {
53080        {
53081          throw Error( "Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue." );
53082        }
53083      }
53084
53085  }
53086
53087  if (parentFiber.effectTag & ContentReset) {
53088    // Reset the text content of the parent before doing any insertions
53089    resetTextContent(parent); // Clear ContentReset from the effect tag
53090
53091    parentFiber.effectTag &= ~ContentReset;
53092  }
53093
53094  var before = getHostSibling(finishedWork); // We only have the top Fiber that was inserted but we need to recurse down its
53095  // children to find all the terminal nodes.
53096
53097  if (isContainer) {
53098    insertOrAppendPlacementNodeIntoContainer(finishedWork, before, parent);
53099  } else {
53100    insertOrAppendPlacementNode(finishedWork, before, parent);
53101  }
53102}
53103
53104function insertOrAppendPlacementNodeIntoContainer(node, before, parent) {
53105  var tag = node.tag;
53106  var isHost = tag === HostComponent || tag === HostText;
53107
53108  if (isHost || enableFundamentalAPI ) {
53109    var stateNode = isHost ? node.stateNode : node.stateNode.instance;
53110
53111    if (before) {
53112      insertInContainerBefore(parent, stateNode, before);
53113    } else {
53114      appendChildToContainer(parent, stateNode);
53115    }
53116  } else if (tag === HostPortal) ; else {
53117    var child = node.child;
53118
53119    if (child !== null) {
53120      insertOrAppendPlacementNodeIntoContainer(child, before, parent);
53121      var sibling = child.sibling;
53122
53123      while (sibling !== null) {
53124        insertOrAppendPlacementNodeIntoContainer(sibling, before, parent);
53125        sibling = sibling.sibling;
53126      }
53127    }
53128  }
53129}
53130
53131function insertOrAppendPlacementNode(node, before, parent) {
53132  var tag = node.tag;
53133  var isHost = tag === HostComponent || tag === HostText;
53134
53135  if (isHost || enableFundamentalAPI ) {
53136    var stateNode = isHost ? node.stateNode : node.stateNode.instance;
53137
53138    if (before) {
53139      insertBefore(parent, stateNode, before);
53140    } else {
53141      appendChild(parent, stateNode);
53142    }
53143  } else if (tag === HostPortal) ; else {
53144    var child = node.child;
53145
53146    if (child !== null) {
53147      insertOrAppendPlacementNode(child, before, parent);
53148      var sibling = child.sibling;
53149
53150      while (sibling !== null) {
53151        insertOrAppendPlacementNode(sibling, before, parent);
53152        sibling = sibling.sibling;
53153      }
53154    }
53155  }
53156}
53157
53158function unmountHostComponents(finishedRoot, current, renderPriorityLevel) {
53159  // We only have the top Fiber that was deleted but we need to recurse down its
53160  // children to find all the terminal nodes.
53161  var node = current; // Each iteration, currentParent is populated with node's host parent if not
53162  // currentParentIsValid.
53163
53164  var currentParentIsValid = false; // Note: these two variables *must* always be updated together.
53165
53166  var currentParent;
53167  var currentParentIsContainer;
53168
53169  while (true) {
53170    if (!currentParentIsValid) {
53171      var parent = node.return;
53172
53173      findParent: while (true) {
53174        if (!(parent !== null)) {
53175          {
53176            throw Error( "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue." );
53177          }
53178        }
53179
53180        var parentStateNode = parent.stateNode;
53181
53182        switch (parent.tag) {
53183          case HostComponent:
53184            currentParent = parentStateNode;
53185            currentParentIsContainer = false;
53186            break findParent;
53187
53188          case HostRoot:
53189            currentParent = parentStateNode.containerInfo;
53190            currentParentIsContainer = true;
53191            break findParent;
53192
53193          case HostPortal:
53194            currentParent = parentStateNode.containerInfo;
53195            currentParentIsContainer = true;
53196            break findParent;
53197
53198        }
53199
53200        parent = parent.return;
53201      }
53202
53203      currentParentIsValid = true;
53204    }
53205
53206    if (node.tag === HostComponent || node.tag === HostText) {
53207      commitNestedUnmounts(finishedRoot, node, renderPriorityLevel); // After all the children have unmounted, it is now safe to remove the
53208      // node from the tree.
53209
53210      if (currentParentIsContainer) {
53211        removeChildFromContainer(currentParent, node.stateNode);
53212      } else {
53213        removeChild(currentParent, node.stateNode);
53214      } // Don't visit children because we already visited them.
53215
53216    } else if (node.tag === HostPortal) {
53217      if (node.child !== null) {
53218        // When we go into a portal, it becomes the parent to remove from.
53219        // We will reassign it back when we pop the portal on the way up.
53220        currentParent = node.stateNode.containerInfo;
53221        currentParentIsContainer = true; // Visit children because portals might contain host components.
53222
53223        node.child.return = node;
53224        node = node.child;
53225        continue;
53226      }
53227    } else {
53228      commitUnmount(finishedRoot, node, renderPriorityLevel); // Visit children because we may find more host components below.
53229
53230      if (node.child !== null) {
53231        node.child.return = node;
53232        node = node.child;
53233        continue;
53234      }
53235    }
53236
53237    if (node === current) {
53238      return;
53239    }
53240
53241    while (node.sibling === null) {
53242      if (node.return === null || node.return === current) {
53243        return;
53244      }
53245
53246      node = node.return;
53247
53248      if (node.tag === HostPortal) {
53249        // When we go out of the portal, we need to restore the parent.
53250        // Since we don't keep a stack of them, we will search for it.
53251        currentParentIsValid = false;
53252      }
53253    }
53254
53255    node.sibling.return = node.return;
53256    node = node.sibling;
53257  }
53258}
53259
53260function commitDeletion(finishedRoot, current, renderPriorityLevel) {
53261  {
53262    // Recursively delete all host nodes from the parent.
53263    // Detach refs and call componentWillUnmount() on the whole subtree.
53264    unmountHostComponents(finishedRoot, current, renderPriorityLevel);
53265  }
53266
53267  detachFiber(current);
53268}
53269
53270function commitWork(current, finishedWork) {
53271
53272  switch (finishedWork.tag) {
53273    case FunctionComponent:
53274    case ForwardRef:
53275    case MemoComponent:
53276    case SimpleMemoComponent:
53277    case Block:
53278      {
53279        // Layout effects are destroyed during the mutation phase so that all
53280        // destroy functions for all fibers are called before any create functions.
53281        // This prevents sibling component effects from interfering with each other,
53282        // e.g. a destroy function in one component should never override a ref set
53283        // by a create function in another component during the same commit.
53284        commitHookEffectListUnmount(Layout | HasEffect, finishedWork);
53285        return;
53286      }
53287
53288    case ClassComponent:
53289      {
53290        return;
53291      }
53292
53293    case HostComponent:
53294      {
53295        var instance = finishedWork.stateNode;
53296
53297        if (instance != null) {
53298          // Commit the work prepared earlier.
53299          var newProps = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps
53300          // as the newProps. The updatePayload will contain the real change in
53301          // this case.
53302
53303          var oldProps = current !== null ? current.memoizedProps : newProps;
53304          var type = finishedWork.type; // TODO: Type the updateQueue to be specific to host components.
53305
53306          var updatePayload = finishedWork.updateQueue;
53307          finishedWork.updateQueue = null;
53308
53309          if (updatePayload !== null) {
53310            commitUpdate(instance, updatePayload, type, oldProps, newProps);
53311          }
53312        }
53313
53314        return;
53315      }
53316
53317    case HostText:
53318      {
53319        if (!(finishedWork.stateNode !== null)) {
53320          {
53321            throw Error( "This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue." );
53322          }
53323        }
53324
53325        var textInstance = finishedWork.stateNode;
53326        var newText = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps
53327        // as the newProps. The updatePayload will contain the real change in
53328        // this case.
53329
53330        var oldText = current !== null ? current.memoizedProps : newText;
53331        commitTextUpdate(textInstance, oldText, newText);
53332        return;
53333      }
53334
53335    case HostRoot:
53336      {
53337        {
53338          var _root = finishedWork.stateNode;
53339
53340          if (_root.hydrate) {
53341            // We've just hydrated. No need to hydrate again.
53342            _root.hydrate = false;
53343            commitHydratedContainer(_root.containerInfo);
53344          }
53345        }
53346
53347        return;
53348      }
53349
53350    case Profiler:
53351      {
53352        return;
53353      }
53354
53355    case SuspenseComponent:
53356      {
53357        commitSuspenseComponent(finishedWork);
53358        attachSuspenseRetryListeners(finishedWork);
53359        return;
53360      }
53361
53362    case SuspenseListComponent:
53363      {
53364        attachSuspenseRetryListeners(finishedWork);
53365        return;
53366      }
53367
53368    case IncompleteClassComponent:
53369      {
53370        return;
53371      }
53372  }
53373
53374  {
53375    {
53376      throw Error( "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue." );
53377    }
53378  }
53379}
53380
53381function commitSuspenseComponent(finishedWork) {
53382  var newState = finishedWork.memoizedState;
53383  var newDidTimeout;
53384  var primaryChildParent = finishedWork;
53385
53386  if (newState === null) {
53387    newDidTimeout = false;
53388  } else {
53389    newDidTimeout = true;
53390    primaryChildParent = finishedWork.child;
53391    markCommitTimeOfFallback();
53392  }
53393
53394  if ( primaryChildParent !== null) {
53395    hideOrUnhideAllChildren(primaryChildParent, newDidTimeout);
53396  }
53397}
53398
53399function commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {
53400
53401  var newState = finishedWork.memoizedState;
53402
53403  if (newState === null) {
53404    var current = finishedWork.alternate;
53405
53406    if (current !== null) {
53407      var prevState = current.memoizedState;
53408
53409      if (prevState !== null) {
53410        var suspenseInstance = prevState.dehydrated;
53411
53412        if (suspenseInstance !== null) {
53413          commitHydratedSuspenseInstance(suspenseInstance);
53414        }
53415      }
53416    }
53417  }
53418}
53419
53420function attachSuspenseRetryListeners(finishedWork) {
53421  // If this boundary just timed out, then it will have a set of thenables.
53422  // For each thenable, attach a listener so that when it resolves, React
53423  // attempts to re-render the boundary in the primary (pre-timeout) state.
53424  var thenables = finishedWork.updateQueue;
53425
53426  if (thenables !== null) {
53427    finishedWork.updateQueue = null;
53428    var retryCache = finishedWork.stateNode;
53429
53430    if (retryCache === null) {
53431      retryCache = finishedWork.stateNode = new PossiblyWeakSet();
53432    }
53433
53434    thenables.forEach(function (thenable) {
53435      // Memoize using the boundary fiber to prevent redundant listeners.
53436      var retry = resolveRetryThenable.bind(null, finishedWork, thenable);
53437
53438      if (!retryCache.has(thenable)) {
53439        {
53440          if (thenable.__reactDoNotTraceInteractions !== true) {
53441            retry = tracing.unstable_wrap(retry);
53442          }
53443        }
53444
53445        retryCache.add(thenable);
53446        thenable.then(retry, retry);
53447      }
53448    });
53449  }
53450}
53451
53452function commitResetTextContent(current) {
53453
53454  resetTextContent(current.stateNode);
53455}
53456
53457var PossiblyWeakMap$1 = typeof WeakMap === 'function' ? WeakMap : Map;
53458
53459function createRootErrorUpdate(fiber, errorInfo, expirationTime) {
53460  var update = createUpdate(expirationTime, null); // Unmount the root by rendering null.
53461
53462  update.tag = CaptureUpdate; // Caution: React DevTools currently depends on this property
53463  // being called "element".
53464
53465  update.payload = {
53466    element: null
53467  };
53468  var error = errorInfo.value;
53469
53470  update.callback = function () {
53471    onUncaughtError(error);
53472    logError(fiber, errorInfo);
53473  };
53474
53475  return update;
53476}
53477
53478function createClassErrorUpdate(fiber, errorInfo, expirationTime) {
53479  var update = createUpdate(expirationTime, null);
53480  update.tag = CaptureUpdate;
53481  var getDerivedStateFromError = fiber.type.getDerivedStateFromError;
53482
53483  if (typeof getDerivedStateFromError === 'function') {
53484    var error$1 = errorInfo.value;
53485
53486    update.payload = function () {
53487      logError(fiber, errorInfo);
53488      return getDerivedStateFromError(error$1);
53489    };
53490  }
53491
53492  var inst = fiber.stateNode;
53493
53494  if (inst !== null && typeof inst.componentDidCatch === 'function') {
53495    update.callback = function callback() {
53496      {
53497        markFailedErrorBoundaryForHotReloading(fiber);
53498      }
53499
53500      if (typeof getDerivedStateFromError !== 'function') {
53501        // To preserve the preexisting retry behavior of error boundaries,
53502        // we keep track of which ones already failed during this batch.
53503        // This gets reset before we yield back to the browser.
53504        // TODO: Warn in strict mode if getDerivedStateFromError is
53505        // not defined.
53506        markLegacyErrorBoundaryAsFailed(this); // Only log here if componentDidCatch is the only error boundary method defined
53507
53508        logError(fiber, errorInfo);
53509      }
53510
53511      var error$1 = errorInfo.value;
53512      var stack = errorInfo.stack;
53513      this.componentDidCatch(error$1, {
53514        componentStack: stack !== null ? stack : ''
53515      });
53516
53517      {
53518        if (typeof getDerivedStateFromError !== 'function') {
53519          // If componentDidCatch is the only error boundary method defined,
53520          // then it needs to call setState to recover from errors.
53521          // If no state update is scheduled then the boundary will swallow the error.
53522          if (fiber.expirationTime !== Sync) {
53523            error('%s: Error boundaries should implement getDerivedStateFromError(). ' + 'In that method, return a state update to display an error message or fallback UI.', getComponentName(fiber.type) || 'Unknown');
53524          }
53525        }
53526      }
53527    };
53528  } else {
53529    update.callback = function () {
53530      markFailedErrorBoundaryForHotReloading(fiber);
53531    };
53532  }
53533
53534  return update;
53535}
53536
53537function attachPingListener(root, renderExpirationTime, thenable) {
53538  // Attach a listener to the promise to "ping" the root and retry. But
53539  // only if one does not already exist for the current render expiration
53540  // time (which acts like a "thread ID" here).
53541  var pingCache = root.pingCache;
53542  var threadIDs;
53543
53544  if (pingCache === null) {
53545    pingCache = root.pingCache = new PossiblyWeakMap$1();
53546    threadIDs = new Set();
53547    pingCache.set(thenable, threadIDs);
53548  } else {
53549    threadIDs = pingCache.get(thenable);
53550
53551    if (threadIDs === undefined) {
53552      threadIDs = new Set();
53553      pingCache.set(thenable, threadIDs);
53554    }
53555  }
53556
53557  if (!threadIDs.has(renderExpirationTime)) {
53558    // Memoize using the thread ID to prevent redundant listeners.
53559    threadIDs.add(renderExpirationTime);
53560    var ping = pingSuspendedRoot.bind(null, root, thenable, renderExpirationTime);
53561    thenable.then(ping, ping);
53562  }
53563}
53564
53565function throwException(root, returnFiber, sourceFiber, value, renderExpirationTime) {
53566  // The source fiber did not complete.
53567  sourceFiber.effectTag |= Incomplete; // Its effect list is no longer valid.
53568
53569  sourceFiber.firstEffect = sourceFiber.lastEffect = null;
53570
53571  if (value !== null && typeof value === 'object' && typeof value.then === 'function') {
53572    // This is a thenable.
53573    var thenable = value;
53574
53575    if ((sourceFiber.mode & BlockingMode) === NoMode) {
53576      // Reset the memoizedState to what it was before we attempted
53577      // to render it.
53578      var currentSource = sourceFiber.alternate;
53579
53580      if (currentSource) {
53581        sourceFiber.updateQueue = currentSource.updateQueue;
53582        sourceFiber.memoizedState = currentSource.memoizedState;
53583        sourceFiber.expirationTime = currentSource.expirationTime;
53584      } else {
53585        sourceFiber.updateQueue = null;
53586        sourceFiber.memoizedState = null;
53587      }
53588    }
53589
53590    var hasInvisibleParentBoundary = hasSuspenseContext(suspenseStackCursor.current, InvisibleParentSuspenseContext); // Schedule the nearest Suspense to re-render the timed out view.
53591
53592    var _workInProgress = returnFiber;
53593
53594    do {
53595      if (_workInProgress.tag === SuspenseComponent && shouldCaptureSuspense(_workInProgress, hasInvisibleParentBoundary)) {
53596        // Found the nearest boundary.
53597        // Stash the promise on the boundary fiber. If the boundary times out, we'll
53598        // attach another listener to flip the boundary back to its normal state.
53599        var thenables = _workInProgress.updateQueue;
53600
53601        if (thenables === null) {
53602          var updateQueue = new Set();
53603          updateQueue.add(thenable);
53604          _workInProgress.updateQueue = updateQueue;
53605        } else {
53606          thenables.add(thenable);
53607        } // If the boundary is outside of blocking mode, we should *not*
53608        // suspend the commit. Pretend as if the suspended component rendered
53609        // null and keep rendering. In the commit phase, we'll schedule a
53610        // subsequent synchronous update to re-render the Suspense.
53611        //
53612        // Note: It doesn't matter whether the component that suspended was
53613        // inside a blocking mode tree. If the Suspense is outside of it, we
53614        // should *not* suspend the commit.
53615
53616
53617        if ((_workInProgress.mode & BlockingMode) === NoMode) {
53618          _workInProgress.effectTag |= DidCapture; // We're going to commit this fiber even though it didn't complete.
53619          // But we shouldn't call any lifecycle methods or callbacks. Remove
53620          // all lifecycle effect tags.
53621
53622          sourceFiber.effectTag &= ~(LifecycleEffectMask | Incomplete);
53623
53624          if (sourceFiber.tag === ClassComponent) {
53625            var currentSourceFiber = sourceFiber.alternate;
53626
53627            if (currentSourceFiber === null) {
53628              // This is a new mount. Change the tag so it's not mistaken for a
53629              // completed class component. For example, we should not call
53630              // componentWillUnmount if it is deleted.
53631              sourceFiber.tag = IncompleteClassComponent;
53632            } else {
53633              // When we try rendering again, we should not reuse the current fiber,
53634              // since it's known to be in an inconsistent state. Use a force update to
53635              // prevent a bail out.
53636              var update = createUpdate(Sync, null);
53637              update.tag = ForceUpdate;
53638              enqueueUpdate(sourceFiber, update);
53639            }
53640          } // The source fiber did not complete. Mark it with Sync priority to
53641          // indicate that it still has pending work.
53642
53643
53644          sourceFiber.expirationTime = Sync; // Exit without suspending.
53645
53646          return;
53647        } // Confirmed that the boundary is in a concurrent mode tree. Continue
53648        // with the normal suspend path.
53649        //
53650        // After this we'll use a set of heuristics to determine whether this
53651        // render pass will run to completion or restart or "suspend" the commit.
53652        // The actual logic for this is spread out in different places.
53653        //
53654        // This first principle is that if we're going to suspend when we complete
53655        // a root, then we should also restart if we get an update or ping that
53656        // might unsuspend it, and vice versa. The only reason to suspend is
53657        // because you think you might want to restart before committing. However,
53658        // it doesn't make sense to restart only while in the period we're suspended.
53659        //
53660        // Restarting too aggressively is also not good because it starves out any
53661        // intermediate loading state. So we use heuristics to determine when.
53662        // Suspense Heuristics
53663        //
53664        // If nothing threw a Promise or all the same fallbacks are already showing,
53665        // then don't suspend/restart.
53666        //
53667        // If this is an initial render of a new tree of Suspense boundaries and
53668        // those trigger a fallback, then don't suspend/restart. We want to ensure
53669        // that we can show the initial loading state as quickly as possible.
53670        //
53671        // If we hit a "Delayed" case, such as when we'd switch from content back into
53672        // a fallback, then we should always suspend/restart. SuspenseConfig applies to
53673        // this case. If none is defined, JND is used instead.
53674        //
53675        // If we're already showing a fallback and it gets "retried", allowing us to show
53676        // another level, but there's still an inner boundary that would show a fallback,
53677        // then we suspend/restart for 500ms since the last time we showed a fallback
53678        // anywhere in the tree. This effectively throttles progressive loading into a
53679        // consistent train of commits. This also gives us an opportunity to restart to
53680        // get to the completed state slightly earlier.
53681        //
53682        // If there's ambiguity due to batching it's resolved in preference of:
53683        // 1) "delayed", 2) "initial render", 3) "retry".
53684        //
53685        // We want to ensure that a "busy" state doesn't get force committed. We want to
53686        // ensure that new initial loading states can commit as soon as possible.
53687
53688
53689        attachPingListener(root, renderExpirationTime, thenable);
53690        _workInProgress.effectTag |= ShouldCapture;
53691        _workInProgress.expirationTime = renderExpirationTime;
53692        return;
53693      } // This boundary already captured during this render. Continue to the next
53694      // boundary.
53695
53696
53697      _workInProgress = _workInProgress.return;
53698    } while (_workInProgress !== null); // No boundary was found. Fallthrough to error mode.
53699    // TODO: Use invariant so the message is stripped in prod?
53700
53701
53702    value = new Error((getComponentName(sourceFiber.type) || 'A React component') + ' suspended while rendering, but no fallback UI was specified.\n' + '\n' + 'Add a <Suspense fallback=...> component higher in the tree to ' + 'provide a loading indicator or placeholder to display.' + getStackByFiberInDevAndProd(sourceFiber));
53703  } // We didn't find a boundary that could handle this type of exception. Start
53704  // over and traverse parent path again, this time treating the exception
53705  // as an error.
53706
53707
53708  renderDidError();
53709  value = createCapturedValue(value, sourceFiber);
53710  var workInProgress = returnFiber;
53711
53712  do {
53713    switch (workInProgress.tag) {
53714      case HostRoot:
53715        {
53716          var _errorInfo = value;
53717          workInProgress.effectTag |= ShouldCapture;
53718          workInProgress.expirationTime = renderExpirationTime;
53719
53720          var _update = createRootErrorUpdate(workInProgress, _errorInfo, renderExpirationTime);
53721
53722          enqueueCapturedUpdate(workInProgress, _update);
53723          return;
53724        }
53725
53726      case ClassComponent:
53727        // Capture and retry
53728        var errorInfo = value;
53729        var ctor = workInProgress.type;
53730        var instance = workInProgress.stateNode;
53731
53732        if ((workInProgress.effectTag & DidCapture) === NoEffect && (typeof ctor.getDerivedStateFromError === 'function' || instance !== null && typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance))) {
53733          workInProgress.effectTag |= ShouldCapture;
53734          workInProgress.expirationTime = renderExpirationTime; // Schedule the error boundary to re-render using updated state
53735
53736          var _update2 = createClassErrorUpdate(workInProgress, errorInfo, renderExpirationTime);
53737
53738          enqueueCapturedUpdate(workInProgress, _update2);
53739          return;
53740        }
53741
53742        break;
53743    }
53744
53745    workInProgress = workInProgress.return;
53746  } while (workInProgress !== null);
53747}
53748
53749var ceil = Math.ceil;
53750var ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher,
53751    ReactCurrentOwner$2 = ReactSharedInternals.ReactCurrentOwner,
53752    IsSomeRendererActing = ReactSharedInternals.IsSomeRendererActing;
53753var NoContext =
53754/*                    */
537550;
53756var BatchedContext =
53757/*               */
537581;
53759var EventContext =
53760/*                 */
537612;
53762var DiscreteEventContext =
53763/*         */
537644;
53765var LegacyUnbatchedContext =
53766/*       */
537678;
53768var RenderContext =
53769/*                */
5377016;
53771var CommitContext =
53772/*                */
5377332;
53774var RootIncomplete = 0;
53775var RootFatalErrored = 1;
53776var RootErrored = 2;
53777var RootSuspended = 3;
53778var RootSuspendedWithDelay = 4;
53779var RootCompleted = 5;
53780// Describes where we are in the React execution stack
53781var executionContext = NoContext; // The root we're working on
53782
53783var workInProgressRoot = null; // The fiber we're working on
53784
53785var workInProgress = null; // The expiration time we're rendering
53786
53787var renderExpirationTime$1 = NoWork; // Whether to root completed, errored, suspended, etc.
53788
53789var workInProgressRootExitStatus = RootIncomplete; // A fatal error, if one is thrown
53790
53791var workInProgressRootFatalError = null; // Most recent event time among processed updates during this render.
53792// This is conceptually a time stamp but expressed in terms of an ExpirationTime
53793// because we deal mostly with expiration times in the hot path, so this avoids
53794// the conversion happening in the hot path.
53795
53796var workInProgressRootLatestProcessedExpirationTime = Sync;
53797var workInProgressRootLatestSuspenseTimeout = Sync;
53798var workInProgressRootCanSuspendUsingConfig = null; // The work left over by components that were visited during this render. Only
53799// includes unprocessed updates, not work in bailed out children.
53800
53801var workInProgressRootNextUnprocessedUpdateTime = NoWork; // If we're pinged while rendering we don't always restart immediately.
53802// This flag determines if it might be worthwhile to restart if an opportunity
53803// happens latere.
53804
53805var workInProgressRootHasPendingPing = false; // The most recent time we committed a fallback. This lets us ensure a train
53806// model where we don't commit new loading states in too quick succession.
53807
53808var globalMostRecentFallbackTime = 0;
53809var FALLBACK_THROTTLE_MS = 500;
53810var nextEffect = null;
53811var hasUncaughtError = false;
53812var firstUncaughtError = null;
53813var legacyErrorBoundariesThatAlreadyFailed = null;
53814var rootDoesHavePassiveEffects = false;
53815var rootWithPendingPassiveEffects = null;
53816var pendingPassiveEffectsRenderPriority = NoPriority;
53817var pendingPassiveEffectsExpirationTime = NoWork;
53818var rootsWithPendingDiscreteUpdates = null; // Use these to prevent an infinite loop of nested updates
53819
53820var NESTED_UPDATE_LIMIT = 50;
53821var nestedUpdateCount = 0;
53822var rootWithNestedUpdates = null;
53823var NESTED_PASSIVE_UPDATE_LIMIT = 50;
53824var nestedPassiveUpdateCount = 0;
53825var interruptedBy = null; // Marks the need to reschedule pending interactions at these expiration times
53826// during the commit phase. This enables them to be traced across components
53827// that spawn new work during render. E.g. hidden boundaries, suspended SSR
53828// hydration or SuspenseList.
53829
53830var spawnedWorkDuringRender = null; // Expiration times are computed by adding to the current time (the start
53831// time). However, if two updates are scheduled within the same event, we
53832// should treat their start times as simultaneous, even if the actual clock
53833// time has advanced between the first and second call.
53834// In other words, because expiration times determine how updates are batched,
53835// we want all updates of like priority that occur within the same event to
53836// receive the same expiration time. Otherwise we get tearing.
53837
53838var currentEventTime = NoWork;
53839function requestCurrentTimeForUpdate() {
53840  if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {
53841    // We're inside React, so it's fine to read the actual time.
53842    return msToExpirationTime(now());
53843  } // We're not inside React, so we may be in the middle of a browser event.
53844
53845
53846  if (currentEventTime !== NoWork) {
53847    // Use the same start time for all updates until we enter React again.
53848    return currentEventTime;
53849  } // This is the first update since React yielded. Compute a new start time.
53850
53851
53852  currentEventTime = msToExpirationTime(now());
53853  return currentEventTime;
53854}
53855function getCurrentTime() {
53856  return msToExpirationTime(now());
53857}
53858function computeExpirationForFiber(currentTime, fiber, suspenseConfig) {
53859  var mode = fiber.mode;
53860
53861  if ((mode & BlockingMode) === NoMode) {
53862    return Sync;
53863  }
53864
53865  var priorityLevel = getCurrentPriorityLevel();
53866
53867  if ((mode & ConcurrentMode) === NoMode) {
53868    return priorityLevel === ImmediatePriority ? Sync : Batched;
53869  }
53870
53871  if ((executionContext & RenderContext) !== NoContext) {
53872    // Use whatever time we're already rendering
53873    // TODO: Should there be a way to opt out, like with `runWithPriority`?
53874    return renderExpirationTime$1;
53875  }
53876
53877  var expirationTime;
53878
53879  if (suspenseConfig !== null) {
53880    // Compute an expiration time based on the Suspense timeout.
53881    expirationTime = computeSuspenseExpiration(currentTime, suspenseConfig.timeoutMs | 0 || LOW_PRIORITY_EXPIRATION);
53882  } else {
53883    // Compute an expiration time based on the Scheduler priority.
53884    switch (priorityLevel) {
53885      case ImmediatePriority:
53886        expirationTime = Sync;
53887        break;
53888
53889      case UserBlockingPriority$1:
53890        // TODO: Rename this to computeUserBlockingExpiration
53891        expirationTime = computeInteractiveExpiration(currentTime);
53892        break;
53893
53894      case NormalPriority:
53895      case LowPriority:
53896        // TODO: Handle LowPriority
53897        // TODO: Rename this to... something better.
53898        expirationTime = computeAsyncExpiration(currentTime);
53899        break;
53900
53901      case IdlePriority:
53902        expirationTime = Idle;
53903        break;
53904
53905      default:
53906        {
53907          {
53908            throw Error( "Expected a valid priority level" );
53909          }
53910        }
53911
53912    }
53913  } // If we're in the middle of rendering a tree, do not update at the same
53914  // expiration time that is already rendering.
53915  // TODO: We shouldn't have to do this if the update is on a different root.
53916  // Refactor computeExpirationForFiber + scheduleUpdate so we have access to
53917  // the root when we check for this condition.
53918
53919
53920  if (workInProgressRoot !== null && expirationTime === renderExpirationTime$1) {
53921    // This is a trick to move this update into a separate batch
53922    expirationTime -= 1;
53923  }
53924
53925  return expirationTime;
53926}
53927function scheduleUpdateOnFiber(fiber, expirationTime) {
53928  checkForNestedUpdates();
53929  warnAboutRenderPhaseUpdatesInDEV(fiber);
53930  var root = markUpdateTimeFromFiberToRoot(fiber, expirationTime);
53931
53932  if (root === null) {
53933    warnAboutUpdateOnUnmountedFiberInDEV(fiber);
53934    return;
53935  }
53936
53937  checkForInterruption(fiber, expirationTime);
53938  recordScheduleUpdate(); // TODO: computeExpirationForFiber also reads the priority. Pass the
53939  // priority as an argument to that function and this one.
53940
53941  var priorityLevel = getCurrentPriorityLevel();
53942
53943  if (expirationTime === Sync) {
53944    if ( // Check if we're inside unbatchedUpdates
53945    (executionContext & LegacyUnbatchedContext) !== NoContext && // Check if we're not already rendering
53946    (executionContext & (RenderContext | CommitContext)) === NoContext) {
53947      // Register pending interactions on the root to avoid losing traced interaction data.
53948      schedulePendingInteractions(root, expirationTime); // This is a legacy edge case. The initial mount of a ReactDOM.render-ed
53949      // root inside of batchedUpdates should be synchronous, but layout updates
53950      // should be deferred until the end of the batch.
53951
53952      performSyncWorkOnRoot(root);
53953    } else {
53954      ensureRootIsScheduled(root);
53955      schedulePendingInteractions(root, expirationTime);
53956
53957      if (executionContext === NoContext) {
53958        // Flush the synchronous work now, unless we're already working or inside
53959        // a batch. This is intentionally inside scheduleUpdateOnFiber instead of
53960        // scheduleCallbackForFiber to preserve the ability to schedule a callback
53961        // without immediately flushing it. We only do this for user-initiated
53962        // updates, to preserve historical behavior of legacy mode.
53963        flushSyncCallbackQueue();
53964      }
53965    }
53966  } else {
53967    ensureRootIsScheduled(root);
53968    schedulePendingInteractions(root, expirationTime);
53969  }
53970
53971  if ((executionContext & DiscreteEventContext) !== NoContext && ( // Only updates at user-blocking priority or greater are considered
53972  // discrete, even inside a discrete event.
53973  priorityLevel === UserBlockingPriority$1 || priorityLevel === ImmediatePriority)) {
53974    // This is the result of a discrete event. Track the lowest priority
53975    // discrete update per root so we can flush them early, if needed.
53976    if (rootsWithPendingDiscreteUpdates === null) {
53977      rootsWithPendingDiscreteUpdates = new Map([[root, expirationTime]]);
53978    } else {
53979      var lastDiscreteTime = rootsWithPendingDiscreteUpdates.get(root);
53980
53981      if (lastDiscreteTime === undefined || lastDiscreteTime > expirationTime) {
53982        rootsWithPendingDiscreteUpdates.set(root, expirationTime);
53983      }
53984    }
53985  }
53986}
53987var scheduleWork = scheduleUpdateOnFiber; // This is split into a separate function so we can mark a fiber with pending
53988// work without treating it as a typical update that originates from an event;
53989// e.g. retrying a Suspense boundary isn't an update, but it does schedule work
53990// on a fiber.
53991
53992function markUpdateTimeFromFiberToRoot(fiber, expirationTime) {
53993  // Update the source fiber's expiration time
53994  if (fiber.expirationTime < expirationTime) {
53995    fiber.expirationTime = expirationTime;
53996  }
53997
53998  var alternate = fiber.alternate;
53999
54000  if (alternate !== null && alternate.expirationTime < expirationTime) {
54001    alternate.expirationTime = expirationTime;
54002  } // Walk the parent path to the root and update the child expiration time.
54003
54004
54005  var node = fiber.return;
54006  var root = null;
54007
54008  if (node === null && fiber.tag === HostRoot) {
54009    root = fiber.stateNode;
54010  } else {
54011    while (node !== null) {
54012      alternate = node.alternate;
54013
54014      if (node.childExpirationTime < expirationTime) {
54015        node.childExpirationTime = expirationTime;
54016
54017        if (alternate !== null && alternate.childExpirationTime < expirationTime) {
54018          alternate.childExpirationTime = expirationTime;
54019        }
54020      } else if (alternate !== null && alternate.childExpirationTime < expirationTime) {
54021        alternate.childExpirationTime = expirationTime;
54022      }
54023
54024      if (node.return === null && node.tag === HostRoot) {
54025        root = node.stateNode;
54026        break;
54027      }
54028
54029      node = node.return;
54030    }
54031  }
54032
54033  if (root !== null) {
54034    if (workInProgressRoot === root) {
54035      // Received an update to a tree that's in the middle of rendering. Mark
54036      // that's unprocessed work on this root.
54037      markUnprocessedUpdateTime(expirationTime);
54038
54039      if (workInProgressRootExitStatus === RootSuspendedWithDelay) {
54040        // The root already suspended with a delay, which means this render
54041        // definitely won't finish. Since we have a new update, let's mark it as
54042        // suspended now, right before marking the incoming update. This has the
54043        // effect of interrupting the current render and switching to the update.
54044        // TODO: This happens to work when receiving an update during the render
54045        // phase, because of the trick inside computeExpirationForFiber to
54046        // subtract 1 from `renderExpirationTime` to move it into a
54047        // separate bucket. But we should probably model it with an exception,
54048        // using the same mechanism we use to force hydration of a subtree.
54049        // TODO: This does not account for low pri updates that were already
54050        // scheduled before the root started rendering. Need to track the next
54051        // pending expiration time (perhaps by backtracking the return path) and
54052        // then trigger a restart in the `renderDidSuspendDelayIfPossible` path.
54053        markRootSuspendedAtTime(root, renderExpirationTime$1);
54054      }
54055    } // Mark that the root has a pending update.
54056
54057
54058    markRootUpdatedAtTime(root, expirationTime);
54059  }
54060
54061  return root;
54062}
54063
54064function getNextRootExpirationTimeToWorkOn(root) {
54065  // Determines the next expiration time that the root should render, taking
54066  // into account levels that may be suspended, or levels that may have
54067  // received a ping.
54068  var lastExpiredTime = root.lastExpiredTime;
54069
54070  if (lastExpiredTime !== NoWork) {
54071    return lastExpiredTime;
54072  } // "Pending" refers to any update that hasn't committed yet, including if it
54073  // suspended. The "suspended" range is therefore a subset.
54074
54075
54076  var firstPendingTime = root.firstPendingTime;
54077
54078  if (!isRootSuspendedAtTime(root, firstPendingTime)) {
54079    // The highest priority pending time is not suspended. Let's work on that.
54080    return firstPendingTime;
54081  } // If the first pending time is suspended, check if there's a lower priority
54082  // pending level that we know about. Or check if we received a ping. Work
54083  // on whichever is higher priority.
54084
54085
54086  var lastPingedTime = root.lastPingedTime;
54087  var nextKnownPendingLevel = root.nextKnownPendingLevel;
54088  var nextLevel = lastPingedTime > nextKnownPendingLevel ? lastPingedTime : nextKnownPendingLevel;
54089
54090  if ( nextLevel <= Idle && firstPendingTime !== nextLevel) {
54091    // Don't work on Idle/Never priority unless everything else is committed.
54092    return NoWork;
54093  }
54094
54095  return nextLevel;
54096} // Use this function to schedule a task for a root. There's only one task per
54097// root; if a task was already scheduled, we'll check to make sure the
54098// expiration time of the existing task is the same as the expiration time of
54099// the next level that the root has work on. This function is called on every
54100// update, and right before exiting a task.
54101
54102
54103function ensureRootIsScheduled(root) {
54104  var lastExpiredTime = root.lastExpiredTime;
54105
54106  if (lastExpiredTime !== NoWork) {
54107    // Special case: Expired work should flush synchronously.
54108    root.callbackExpirationTime = Sync;
54109    root.callbackPriority = ImmediatePriority;
54110    root.callbackNode = scheduleSyncCallback(performSyncWorkOnRoot.bind(null, root));
54111    return;
54112  }
54113
54114  var expirationTime = getNextRootExpirationTimeToWorkOn(root);
54115  var existingCallbackNode = root.callbackNode;
54116
54117  if (expirationTime === NoWork) {
54118    // There's nothing to work on.
54119    if (existingCallbackNode !== null) {
54120      root.callbackNode = null;
54121      root.callbackExpirationTime = NoWork;
54122      root.callbackPriority = NoPriority;
54123    }
54124
54125    return;
54126  } // TODO: If this is an update, we already read the current time. Pass the
54127  // time as an argument.
54128
54129
54130  var currentTime = requestCurrentTimeForUpdate();
54131  var priorityLevel = inferPriorityFromExpirationTime(currentTime, expirationTime); // If there's an existing render task, confirm it has the correct priority and
54132  // expiration time. Otherwise, we'll cancel it and schedule a new one.
54133
54134  if (existingCallbackNode !== null) {
54135    var existingCallbackPriority = root.callbackPriority;
54136    var existingCallbackExpirationTime = root.callbackExpirationTime;
54137
54138    if ( // Callback must have the exact same expiration time.
54139    existingCallbackExpirationTime === expirationTime && // Callback must have greater or equal priority.
54140    existingCallbackPriority >= priorityLevel) {
54141      // Existing callback is sufficient.
54142      return;
54143    } // Need to schedule a new task.
54144    // TODO: Instead of scheduling a new task, we should be able to change the
54145    // priority of the existing one.
54146
54147
54148    cancelCallback(existingCallbackNode);
54149  }
54150
54151  root.callbackExpirationTime = expirationTime;
54152  root.callbackPriority = priorityLevel;
54153  var callbackNode;
54154
54155  if (expirationTime === Sync) {
54156    // Sync React callbacks are scheduled on a special internal queue
54157    callbackNode = scheduleSyncCallback(performSyncWorkOnRoot.bind(null, root));
54158  } else {
54159    callbackNode = scheduleCallback(priorityLevel, performConcurrentWorkOnRoot.bind(null, root), // Compute a task timeout based on the expiration time. This also affects
54160    // ordering because tasks are processed in timeout order.
54161    {
54162      timeout: expirationTimeToMs(expirationTime) - now()
54163    });
54164  }
54165
54166  root.callbackNode = callbackNode;
54167} // This is the entry point for every concurrent task, i.e. anything that
54168// goes through Scheduler.
54169
54170
54171function performConcurrentWorkOnRoot(root, didTimeout) {
54172  // Since we know we're in a React event, we can clear the current
54173  // event time. The next update will compute a new event time.
54174  currentEventTime = NoWork;
54175
54176  if (didTimeout) {
54177    // The render task took too long to complete. Mark the current time as
54178    // expired to synchronously render all expired work in a single batch.
54179    var currentTime = requestCurrentTimeForUpdate();
54180    markRootExpiredAtTime(root, currentTime); // This will schedule a synchronous callback.
54181
54182    ensureRootIsScheduled(root);
54183    return null;
54184  } // Determine the next expiration time to work on, using the fields stored
54185  // on the root.
54186
54187
54188  var expirationTime = getNextRootExpirationTimeToWorkOn(root);
54189
54190  if (expirationTime !== NoWork) {
54191    var originalCallbackNode = root.callbackNode;
54192
54193    if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) {
54194      {
54195        throw Error( "Should not already be working." );
54196      }
54197    }
54198
54199    flushPassiveEffects(); // If the root or expiration time have changed, throw out the existing stack
54200    // and prepare a fresh one. Otherwise we'll continue where we left off.
54201
54202    if (root !== workInProgressRoot || expirationTime !== renderExpirationTime$1) {
54203      prepareFreshStack(root, expirationTime);
54204      startWorkOnPendingInteractions(root, expirationTime);
54205    } // If we have a work-in-progress fiber, it means there's still work to do
54206    // in this root.
54207
54208
54209    if (workInProgress !== null) {
54210      var prevExecutionContext = executionContext;
54211      executionContext |= RenderContext;
54212      var prevDispatcher = pushDispatcher();
54213      var prevInteractions = pushInteractions(root);
54214      startWorkLoopTimer(workInProgress);
54215
54216      do {
54217        try {
54218          workLoopConcurrent();
54219          break;
54220        } catch (thrownValue) {
54221          handleError(root, thrownValue);
54222        }
54223      } while (true);
54224
54225      resetContextDependencies();
54226      executionContext = prevExecutionContext;
54227      popDispatcher(prevDispatcher);
54228
54229      {
54230        popInteractions(prevInteractions);
54231      }
54232
54233      if (workInProgressRootExitStatus === RootFatalErrored) {
54234        var fatalError = workInProgressRootFatalError;
54235        stopInterruptedWorkLoopTimer();
54236        prepareFreshStack(root, expirationTime);
54237        markRootSuspendedAtTime(root, expirationTime);
54238        ensureRootIsScheduled(root);
54239        throw fatalError;
54240      }
54241
54242      if (workInProgress !== null) {
54243        // There's still work left over. Exit without committing.
54244        stopInterruptedWorkLoopTimer();
54245      } else {
54246        // We now have a consistent tree. The next step is either to commit it,
54247        // or, if something suspended, wait to commit it after a timeout.
54248        stopFinishedWorkLoopTimer();
54249        var finishedWork = root.finishedWork = root.current.alternate;
54250        root.finishedExpirationTime = expirationTime;
54251        finishConcurrentRender(root, finishedWork, workInProgressRootExitStatus, expirationTime);
54252      }
54253
54254      ensureRootIsScheduled(root);
54255
54256      if (root.callbackNode === originalCallbackNode) {
54257        // The task node scheduled for this root is the same one that's
54258        // currently executed. Need to return a continuation.
54259        return performConcurrentWorkOnRoot.bind(null, root);
54260      }
54261    }
54262  }
54263
54264  return null;
54265}
54266
54267function finishConcurrentRender(root, finishedWork, exitStatus, expirationTime) {
54268  // Set this to null to indicate there's no in-progress render.
54269  workInProgressRoot = null;
54270
54271  switch (exitStatus) {
54272    case RootIncomplete:
54273    case RootFatalErrored:
54274      {
54275        {
54276          {
54277            throw Error( "Root did not complete. This is a bug in React." );
54278          }
54279        }
54280      }
54281    // Flow knows about invariant, so it complains if I add a break
54282    // statement, but eslint doesn't know about invariant, so it complains
54283    // if I do. eslint-disable-next-line no-fallthrough
54284
54285    case RootErrored:
54286      {
54287        // If this was an async render, the error may have happened due to
54288        // a mutation in a concurrent event. Try rendering one more time,
54289        // synchronously, to see if the error goes away. If there are
54290        // lower priority updates, let's include those, too, in case they
54291        // fix the inconsistency. Render at Idle to include all updates.
54292        // If it was Idle or Never or some not-yet-invented time, render
54293        // at that time.
54294        markRootExpiredAtTime(root, expirationTime > Idle ? Idle : expirationTime); // We assume that this second render pass will be synchronous
54295        // and therefore not hit this path again.
54296
54297        break;
54298      }
54299
54300    case RootSuspended:
54301      {
54302        markRootSuspendedAtTime(root, expirationTime);
54303        var lastSuspendedTime = root.lastSuspendedTime;
54304
54305        if (expirationTime === lastSuspendedTime) {
54306          root.nextKnownPendingLevel = getRemainingExpirationTime(finishedWork);
54307        } // We have an acceptable loading state. We need to figure out if we
54308        // should immediately commit it or wait a bit.
54309        // If we have processed new updates during this render, we may now
54310        // have a new loading state ready. We want to ensure that we commit
54311        // that as soon as possible.
54312
54313
54314        var hasNotProcessedNewUpdates = workInProgressRootLatestProcessedExpirationTime === Sync;
54315
54316        if (hasNotProcessedNewUpdates && // do not delay if we're inside an act() scope
54317        !( IsThisRendererActing.current)) {
54318          // If we have not processed any new updates during this pass, then
54319          // this is either a retry of an existing fallback state or a
54320          // hidden tree. Hidden trees shouldn't be batched with other work
54321          // and after that's fixed it can only be a retry. We're going to
54322          // throttle committing retries so that we don't show too many
54323          // loading states too quickly.
54324          var msUntilTimeout = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now(); // Don't bother with a very short suspense time.
54325
54326          if (msUntilTimeout > 10) {
54327            if (workInProgressRootHasPendingPing) {
54328              var lastPingedTime = root.lastPingedTime;
54329
54330              if (lastPingedTime === NoWork || lastPingedTime >= expirationTime) {
54331                // This render was pinged but we didn't get to restart
54332                // earlier so try restarting now instead.
54333                root.lastPingedTime = expirationTime;
54334                prepareFreshStack(root, expirationTime);
54335                break;
54336              }
54337            }
54338
54339            var nextTime = getNextRootExpirationTimeToWorkOn(root);
54340
54341            if (nextTime !== NoWork && nextTime !== expirationTime) {
54342              // There's additional work on this root.
54343              break;
54344            }
54345
54346            if (lastSuspendedTime !== NoWork && lastSuspendedTime !== expirationTime) {
54347              // We should prefer to render the fallback of at the last
54348              // suspended level. Ping the last suspended level to try
54349              // rendering it again.
54350              root.lastPingedTime = lastSuspendedTime;
54351              break;
54352            } // The render is suspended, it hasn't timed out, and there's no
54353            // lower priority work to do. Instead of committing the fallback
54354            // immediately, wait for more data to arrive.
54355
54356
54357            root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), msUntilTimeout);
54358            break;
54359          }
54360        } // The work expired. Commit immediately.
54361
54362
54363        commitRoot(root);
54364        break;
54365      }
54366
54367    case RootSuspendedWithDelay:
54368      {
54369        markRootSuspendedAtTime(root, expirationTime);
54370        var _lastSuspendedTime = root.lastSuspendedTime;
54371
54372        if (expirationTime === _lastSuspendedTime) {
54373          root.nextKnownPendingLevel = getRemainingExpirationTime(finishedWork);
54374        }
54375
54376        if ( // do not delay if we're inside an act() scope
54377        !( IsThisRendererActing.current)) {
54378          // We're suspended in a state that should be avoided. We'll try to
54379          // avoid committing it for as long as the timeouts let us.
54380          if (workInProgressRootHasPendingPing) {
54381            var _lastPingedTime = root.lastPingedTime;
54382
54383            if (_lastPingedTime === NoWork || _lastPingedTime >= expirationTime) {
54384              // This render was pinged but we didn't get to restart earlier
54385              // so try restarting now instead.
54386              root.lastPingedTime = expirationTime;
54387              prepareFreshStack(root, expirationTime);
54388              break;
54389            }
54390          }
54391
54392          var _nextTime = getNextRootExpirationTimeToWorkOn(root);
54393
54394          if (_nextTime !== NoWork && _nextTime !== expirationTime) {
54395            // There's additional work on this root.
54396            break;
54397          }
54398
54399          if (_lastSuspendedTime !== NoWork && _lastSuspendedTime !== expirationTime) {
54400            // We should prefer to render the fallback of at the last
54401            // suspended level. Ping the last suspended level to try
54402            // rendering it again.
54403            root.lastPingedTime = _lastSuspendedTime;
54404            break;
54405          }
54406
54407          var _msUntilTimeout;
54408
54409          if (workInProgressRootLatestSuspenseTimeout !== Sync) {
54410            // We have processed a suspense config whose expiration time we
54411            // can use as the timeout.
54412            _msUntilTimeout = expirationTimeToMs(workInProgressRootLatestSuspenseTimeout) - now();
54413          } else if (workInProgressRootLatestProcessedExpirationTime === Sync) {
54414            // This should never normally happen because only new updates
54415            // cause delayed states, so we should have processed something.
54416            // However, this could also happen in an offscreen tree.
54417            _msUntilTimeout = 0;
54418          } else {
54419            // If we don't have a suspense config, we're going to use a
54420            // heuristic to determine how long we can suspend.
54421            var eventTimeMs = inferTimeFromExpirationTime(workInProgressRootLatestProcessedExpirationTime);
54422            var currentTimeMs = now();
54423            var timeUntilExpirationMs = expirationTimeToMs(expirationTime) - currentTimeMs;
54424            var timeElapsed = currentTimeMs - eventTimeMs;
54425
54426            if (timeElapsed < 0) {
54427              // We get this wrong some time since we estimate the time.
54428              timeElapsed = 0;
54429            }
54430
54431            _msUntilTimeout = jnd(timeElapsed) - timeElapsed; // Clamp the timeout to the expiration time. TODO: Once the
54432            // event time is exact instead of inferred from expiration time
54433            // we don't need this.
54434
54435            if (timeUntilExpirationMs < _msUntilTimeout) {
54436              _msUntilTimeout = timeUntilExpirationMs;
54437            }
54438          } // Don't bother with a very short suspense time.
54439
54440
54441          if (_msUntilTimeout > 10) {
54442            // The render is suspended, it hasn't timed out, and there's no
54443            // lower priority work to do. Instead of committing the fallback
54444            // immediately, wait for more data to arrive.
54445            root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), _msUntilTimeout);
54446            break;
54447          }
54448        } // The work expired. Commit immediately.
54449
54450
54451        commitRoot(root);
54452        break;
54453      }
54454
54455    case RootCompleted:
54456      {
54457        // The work completed. Ready to commit.
54458        if ( // do not delay if we're inside an act() scope
54459        !( IsThisRendererActing.current) && workInProgressRootLatestProcessedExpirationTime !== Sync && workInProgressRootCanSuspendUsingConfig !== null) {
54460          // If we have exceeded the minimum loading delay, which probably
54461          // means we have shown a spinner already, we might have to suspend
54462          // a bit longer to ensure that the spinner is shown for
54463          // enough time.
54464          var _msUntilTimeout2 = computeMsUntilSuspenseLoadingDelay(workInProgressRootLatestProcessedExpirationTime, expirationTime, workInProgressRootCanSuspendUsingConfig);
54465
54466          if (_msUntilTimeout2 > 10) {
54467            markRootSuspendedAtTime(root, expirationTime);
54468            root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), _msUntilTimeout2);
54469            break;
54470          }
54471        }
54472
54473        commitRoot(root);
54474        break;
54475      }
54476
54477    default:
54478      {
54479        {
54480          {
54481            throw Error( "Unknown root exit status." );
54482          }
54483        }
54484      }
54485  }
54486} // This is the entry point for synchronous tasks that don't go
54487// through Scheduler
54488
54489
54490function performSyncWorkOnRoot(root) {
54491  // Check if there's expired work on this root. Otherwise, render at Sync.
54492  var lastExpiredTime = root.lastExpiredTime;
54493  var expirationTime = lastExpiredTime !== NoWork ? lastExpiredTime : Sync;
54494
54495  if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) {
54496    {
54497      throw Error( "Should not already be working." );
54498    }
54499  }
54500
54501  flushPassiveEffects(); // If the root or expiration time have changed, throw out the existing stack
54502  // and prepare a fresh one. Otherwise we'll continue where we left off.
54503
54504  if (root !== workInProgressRoot || expirationTime !== renderExpirationTime$1) {
54505    prepareFreshStack(root, expirationTime);
54506    startWorkOnPendingInteractions(root, expirationTime);
54507  } // If we have a work-in-progress fiber, it means there's still work to do
54508  // in this root.
54509
54510
54511  if (workInProgress !== null) {
54512    var prevExecutionContext = executionContext;
54513    executionContext |= RenderContext;
54514    var prevDispatcher = pushDispatcher();
54515    var prevInteractions = pushInteractions(root);
54516    startWorkLoopTimer(workInProgress);
54517
54518    do {
54519      try {
54520        workLoopSync();
54521        break;
54522      } catch (thrownValue) {
54523        handleError(root, thrownValue);
54524      }
54525    } while (true);
54526
54527    resetContextDependencies();
54528    executionContext = prevExecutionContext;
54529    popDispatcher(prevDispatcher);
54530
54531    {
54532      popInteractions(prevInteractions);
54533    }
54534
54535    if (workInProgressRootExitStatus === RootFatalErrored) {
54536      var fatalError = workInProgressRootFatalError;
54537      stopInterruptedWorkLoopTimer();
54538      prepareFreshStack(root, expirationTime);
54539      markRootSuspendedAtTime(root, expirationTime);
54540      ensureRootIsScheduled(root);
54541      throw fatalError;
54542    }
54543
54544    if (workInProgress !== null) {
54545      // This is a sync render, so we should have finished the whole tree.
54546      {
54547        {
54548          throw Error( "Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue." );
54549        }
54550      }
54551    } else {
54552      // We now have a consistent tree. Because this is a sync render, we
54553      // will commit it even if something suspended.
54554      stopFinishedWorkLoopTimer();
54555      root.finishedWork = root.current.alternate;
54556      root.finishedExpirationTime = expirationTime;
54557      finishSyncRender(root);
54558    } // Before exiting, make sure there's a callback scheduled for the next
54559    // pending level.
54560
54561
54562    ensureRootIsScheduled(root);
54563  }
54564
54565  return null;
54566}
54567
54568function finishSyncRender(root) {
54569  // Set this to null to indicate there's no in-progress render.
54570  workInProgressRoot = null;
54571  commitRoot(root);
54572}
54573function flushDiscreteUpdates() {
54574  // TODO: Should be able to flush inside batchedUpdates, but not inside `act`.
54575  // However, `act` uses `batchedUpdates`, so there's no way to distinguish
54576  // those two cases. Need to fix this before exposing flushDiscreteUpdates
54577  // as a public API.
54578  if ((executionContext & (BatchedContext | RenderContext | CommitContext)) !== NoContext) {
54579    {
54580      if ((executionContext & RenderContext) !== NoContext) {
54581        error('unstable_flushDiscreteUpdates: Cannot flush updates when React is ' + 'already rendering.');
54582      }
54583    } // We're already rendering, so we can't synchronously flush pending work.
54584    // This is probably a nested event dispatch triggered by a lifecycle/effect,
54585    // like `el.focus()`. Exit.
54586
54587
54588    return;
54589  }
54590
54591  flushPendingDiscreteUpdates(); // If the discrete updates scheduled passive effects, flush them now so that
54592  // they fire before the next serial event.
54593
54594  flushPassiveEffects();
54595}
54596function syncUpdates(fn, a, b, c) {
54597  return runWithPriority$1(ImmediatePriority, fn.bind(null, a, b, c));
54598}
54599
54600function flushPendingDiscreteUpdates() {
54601  if (rootsWithPendingDiscreteUpdates !== null) {
54602    // For each root with pending discrete updates, schedule a callback to
54603    // immediately flush them.
54604    var roots = rootsWithPendingDiscreteUpdates;
54605    rootsWithPendingDiscreteUpdates = null;
54606    roots.forEach(function (expirationTime, root) {
54607      markRootExpiredAtTime(root, expirationTime);
54608      ensureRootIsScheduled(root);
54609    }); // Now flush the immediate queue.
54610
54611    flushSyncCallbackQueue();
54612  }
54613}
54614
54615function batchedUpdates$1(fn, a) {
54616  var prevExecutionContext = executionContext;
54617  executionContext |= BatchedContext;
54618
54619  try {
54620    return fn(a);
54621  } finally {
54622    executionContext = prevExecutionContext;
54623
54624    if (executionContext === NoContext) {
54625      // Flush the immediate callbacks that were scheduled during this batch
54626      flushSyncCallbackQueue();
54627    }
54628  }
54629}
54630function batchedEventUpdates$1(fn, a) {
54631  var prevExecutionContext = executionContext;
54632  executionContext |= EventContext;
54633
54634  try {
54635    return fn(a);
54636  } finally {
54637    executionContext = prevExecutionContext;
54638
54639    if (executionContext === NoContext) {
54640      // Flush the immediate callbacks that were scheduled during this batch
54641      flushSyncCallbackQueue();
54642    }
54643  }
54644}
54645function discreteUpdates$1(fn, a, b, c, d) {
54646  var prevExecutionContext = executionContext;
54647  executionContext |= DiscreteEventContext;
54648
54649  try {
54650    // Should this
54651    return runWithPriority$1(UserBlockingPriority$1, fn.bind(null, a, b, c, d));
54652  } finally {
54653    executionContext = prevExecutionContext;
54654
54655    if (executionContext === NoContext) {
54656      // Flush the immediate callbacks that were scheduled during this batch
54657      flushSyncCallbackQueue();
54658    }
54659  }
54660}
54661function unbatchedUpdates(fn, a) {
54662  var prevExecutionContext = executionContext;
54663  executionContext &= ~BatchedContext;
54664  executionContext |= LegacyUnbatchedContext;
54665
54666  try {
54667    return fn(a);
54668  } finally {
54669    executionContext = prevExecutionContext;
54670
54671    if (executionContext === NoContext) {
54672      // Flush the immediate callbacks that were scheduled during this batch
54673      flushSyncCallbackQueue();
54674    }
54675  }
54676}
54677function flushSync(fn, a) {
54678  if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {
54679    {
54680      {
54681        throw Error( "flushSync was called from inside a lifecycle method. It cannot be called when React is already rendering." );
54682      }
54683    }
54684  }
54685
54686  var prevExecutionContext = executionContext;
54687  executionContext |= BatchedContext;
54688
54689  try {
54690    return runWithPriority$1(ImmediatePriority, fn.bind(null, a));
54691  } finally {
54692    executionContext = prevExecutionContext; // Flush the immediate callbacks that were scheduled during this batch.
54693    // Note that this will happen even if batchedUpdates is higher up
54694    // the stack.
54695
54696    flushSyncCallbackQueue();
54697  }
54698}
54699
54700function prepareFreshStack(root, expirationTime) {
54701  root.finishedWork = null;
54702  root.finishedExpirationTime = NoWork;
54703  var timeoutHandle = root.timeoutHandle;
54704
54705  if (timeoutHandle !== noTimeout) {
54706    // The root previous suspended and scheduled a timeout to commit a fallback
54707    // state. Now that we have additional work, cancel the timeout.
54708    root.timeoutHandle = noTimeout; // $FlowFixMe Complains noTimeout is not a TimeoutID, despite the check above
54709
54710    cancelTimeout(timeoutHandle);
54711  }
54712
54713  if (workInProgress !== null) {
54714    var interruptedWork = workInProgress.return;
54715
54716    while (interruptedWork !== null) {
54717      unwindInterruptedWork(interruptedWork);
54718      interruptedWork = interruptedWork.return;
54719    }
54720  }
54721
54722  workInProgressRoot = root;
54723  workInProgress = createWorkInProgress(root.current, null);
54724  renderExpirationTime$1 = expirationTime;
54725  workInProgressRootExitStatus = RootIncomplete;
54726  workInProgressRootFatalError = null;
54727  workInProgressRootLatestProcessedExpirationTime = Sync;
54728  workInProgressRootLatestSuspenseTimeout = Sync;
54729  workInProgressRootCanSuspendUsingConfig = null;
54730  workInProgressRootNextUnprocessedUpdateTime = NoWork;
54731  workInProgressRootHasPendingPing = false;
54732
54733  {
54734    spawnedWorkDuringRender = null;
54735  }
54736
54737  {
54738    ReactStrictModeWarnings.discardPendingWarnings();
54739  }
54740}
54741
54742function handleError(root, thrownValue) {
54743  do {
54744    try {
54745      // Reset module-level state that was set during the render phase.
54746      resetContextDependencies();
54747      resetHooksAfterThrow();
54748      resetCurrentFiber();
54749
54750      if (workInProgress === null || workInProgress.return === null) {
54751        // Expected to be working on a non-root fiber. This is a fatal error
54752        // because there's no ancestor that can handle it; the root is
54753        // supposed to capture all errors that weren't caught by an error
54754        // boundary.
54755        workInProgressRootExitStatus = RootFatalErrored;
54756        workInProgressRootFatalError = thrownValue; // Set `workInProgress` to null. This represents advancing to the next
54757        // sibling, or the parent if there are no siblings. But since the root
54758        // has no siblings nor a parent, we set it to null. Usually this is
54759        // handled by `completeUnitOfWork` or `unwindWork`, but since we're
54760        // interntionally not calling those, we need set it here.
54761        // TODO: Consider calling `unwindWork` to pop the contexts.
54762
54763        workInProgress = null;
54764        return null;
54765      }
54766
54767      if (enableProfilerTimer && workInProgress.mode & ProfileMode) {
54768        // Record the time spent rendering before an error was thrown. This
54769        // avoids inaccurate Profiler durations in the case of a
54770        // suspended render.
54771        stopProfilerTimerIfRunningAndRecordDelta(workInProgress, true);
54772      }
54773
54774      throwException(root, workInProgress.return, workInProgress, thrownValue, renderExpirationTime$1);
54775      workInProgress = completeUnitOfWork(workInProgress);
54776    } catch (yetAnotherThrownValue) {
54777      // Something in the return path also threw.
54778      thrownValue = yetAnotherThrownValue;
54779      continue;
54780    } // Return to the normal work loop.
54781
54782
54783    return;
54784  } while (true);
54785}
54786
54787function pushDispatcher(root) {
54788  var prevDispatcher = ReactCurrentDispatcher$1.current;
54789  ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;
54790
54791  if (prevDispatcher === null) {
54792    // The React isomorphic package does not include a default dispatcher.
54793    // Instead the first renderer will lazily attach one, in order to give
54794    // nicer error messages.
54795    return ContextOnlyDispatcher;
54796  } else {
54797    return prevDispatcher;
54798  }
54799}
54800
54801function popDispatcher(prevDispatcher) {
54802  ReactCurrentDispatcher$1.current = prevDispatcher;
54803}
54804
54805function pushInteractions(root) {
54806  {
54807    var prevInteractions = tracing.__interactionsRef.current;
54808    tracing.__interactionsRef.current = root.memoizedInteractions;
54809    return prevInteractions;
54810  }
54811}
54812
54813function popInteractions(prevInteractions) {
54814  {
54815    tracing.__interactionsRef.current = prevInteractions;
54816  }
54817}
54818
54819function markCommitTimeOfFallback() {
54820  globalMostRecentFallbackTime = now();
54821}
54822function markRenderEventTimeAndConfig(expirationTime, suspenseConfig) {
54823  if (expirationTime < workInProgressRootLatestProcessedExpirationTime && expirationTime > Idle) {
54824    workInProgressRootLatestProcessedExpirationTime = expirationTime;
54825  }
54826
54827  if (suspenseConfig !== null) {
54828    if (expirationTime < workInProgressRootLatestSuspenseTimeout && expirationTime > Idle) {
54829      workInProgressRootLatestSuspenseTimeout = expirationTime; // Most of the time we only have one config and getting wrong is not bad.
54830
54831      workInProgressRootCanSuspendUsingConfig = suspenseConfig;
54832    }
54833  }
54834}
54835function markUnprocessedUpdateTime(expirationTime) {
54836  if (expirationTime > workInProgressRootNextUnprocessedUpdateTime) {
54837    workInProgressRootNextUnprocessedUpdateTime = expirationTime;
54838  }
54839}
54840function renderDidSuspend() {
54841  if (workInProgressRootExitStatus === RootIncomplete) {
54842    workInProgressRootExitStatus = RootSuspended;
54843  }
54844}
54845function renderDidSuspendDelayIfPossible() {
54846  if (workInProgressRootExitStatus === RootIncomplete || workInProgressRootExitStatus === RootSuspended) {
54847    workInProgressRootExitStatus = RootSuspendedWithDelay;
54848  } // Check if there's a lower priority update somewhere else in the tree.
54849
54850
54851  if (workInProgressRootNextUnprocessedUpdateTime !== NoWork && workInProgressRoot !== null) {
54852    // Mark the current render as suspended, and then mark that there's a
54853    // pending update.
54854    // TODO: This should immediately interrupt the current render, instead
54855    // of waiting until the next time we yield.
54856    markRootSuspendedAtTime(workInProgressRoot, renderExpirationTime$1);
54857    markRootUpdatedAtTime(workInProgressRoot, workInProgressRootNextUnprocessedUpdateTime);
54858  }
54859}
54860function renderDidError() {
54861  if (workInProgressRootExitStatus !== RootCompleted) {
54862    workInProgressRootExitStatus = RootErrored;
54863  }
54864} // Called during render to determine if anything has suspended.
54865// Returns false if we're not sure.
54866
54867function renderHasNotSuspendedYet() {
54868  // If something errored or completed, we can't really be sure,
54869  // so those are false.
54870  return workInProgressRootExitStatus === RootIncomplete;
54871}
54872
54873function inferTimeFromExpirationTime(expirationTime) {
54874  // We don't know exactly when the update was scheduled, but we can infer an
54875  // approximate start time from the expiration time.
54876  var earliestExpirationTimeMs = expirationTimeToMs(expirationTime);
54877  return earliestExpirationTimeMs - LOW_PRIORITY_EXPIRATION;
54878}
54879
54880function inferTimeFromExpirationTimeWithSuspenseConfig(expirationTime, suspenseConfig) {
54881  // We don't know exactly when the update was scheduled, but we can infer an
54882  // approximate start time from the expiration time by subtracting the timeout
54883  // that was added to the event time.
54884  var earliestExpirationTimeMs = expirationTimeToMs(expirationTime);
54885  return earliestExpirationTimeMs - (suspenseConfig.timeoutMs | 0 || LOW_PRIORITY_EXPIRATION);
54886} // The work loop is an extremely hot path. Tell Closure not to inline it.
54887
54888/** @noinline */
54889
54890
54891function workLoopSync() {
54892  // Already timed out, so perform work without checking if we need to yield.
54893  while (workInProgress !== null) {
54894    workInProgress = performUnitOfWork(workInProgress);
54895  }
54896}
54897/** @noinline */
54898
54899
54900function workLoopConcurrent() {
54901  // Perform work until Scheduler asks us to yield
54902  while (workInProgress !== null && !shouldYield()) {
54903    workInProgress = performUnitOfWork(workInProgress);
54904  }
54905}
54906
54907function performUnitOfWork(unitOfWork) {
54908  // The current, flushed, state of this fiber is the alternate. Ideally
54909  // nothing should rely on this, but relying on it here means that we don't
54910  // need an additional field on the work in progress.
54911  var current = unitOfWork.alternate;
54912  startWorkTimer(unitOfWork);
54913  setCurrentFiber(unitOfWork);
54914  var next;
54915
54916  if ( (unitOfWork.mode & ProfileMode) !== NoMode) {
54917    startProfilerTimer(unitOfWork);
54918    next = beginWork$1(current, unitOfWork, renderExpirationTime$1);
54919    stopProfilerTimerIfRunningAndRecordDelta(unitOfWork, true);
54920  } else {
54921    next = beginWork$1(current, unitOfWork, renderExpirationTime$1);
54922  }
54923
54924  resetCurrentFiber();
54925  unitOfWork.memoizedProps = unitOfWork.pendingProps;
54926
54927  if (next === null) {
54928    // If this doesn't spawn new work, complete the current work.
54929    next = completeUnitOfWork(unitOfWork);
54930  }
54931
54932  ReactCurrentOwner$2.current = null;
54933  return next;
54934}
54935
54936function completeUnitOfWork(unitOfWork) {
54937  // Attempt to complete the current unit of work, then move to the next
54938  // sibling. If there are no more siblings, return to the parent fiber.
54939  workInProgress = unitOfWork;
54940
54941  do {
54942    // The current, flushed, state of this fiber is the alternate. Ideally
54943    // nothing should rely on this, but relying on it here means that we don't
54944    // need an additional field on the work in progress.
54945    var current = workInProgress.alternate;
54946    var returnFiber = workInProgress.return; // Check if the work completed or if something threw.
54947
54948    if ((workInProgress.effectTag & Incomplete) === NoEffect) {
54949      setCurrentFiber(workInProgress);
54950      var next = void 0;
54951
54952      if ( (workInProgress.mode & ProfileMode) === NoMode) {
54953        next = completeWork(current, workInProgress, renderExpirationTime$1);
54954      } else {
54955        startProfilerTimer(workInProgress);
54956        next = completeWork(current, workInProgress, renderExpirationTime$1); // Update render duration assuming we didn't error.
54957
54958        stopProfilerTimerIfRunningAndRecordDelta(workInProgress, false);
54959      }
54960
54961      stopWorkTimer(workInProgress);
54962      resetCurrentFiber();
54963      resetChildExpirationTime(workInProgress);
54964
54965      if (next !== null) {
54966        // Completing this fiber spawned new work. Work on that next.
54967        return next;
54968      }
54969
54970      if (returnFiber !== null && // Do not append effects to parents if a sibling failed to complete
54971      (returnFiber.effectTag & Incomplete) === NoEffect) {
54972        // Append all the effects of the subtree and this fiber onto the effect
54973        // list of the parent. The completion order of the children affects the
54974        // side-effect order.
54975        if (returnFiber.firstEffect === null) {
54976          returnFiber.firstEffect = workInProgress.firstEffect;
54977        }
54978
54979        if (workInProgress.lastEffect !== null) {
54980          if (returnFiber.lastEffect !== null) {
54981            returnFiber.lastEffect.nextEffect = workInProgress.firstEffect;
54982          }
54983
54984          returnFiber.lastEffect = workInProgress.lastEffect;
54985        } // If this fiber had side-effects, we append it AFTER the children's
54986        // side-effects. We can perform certain side-effects earlier if needed,
54987        // by doing multiple passes over the effect list. We don't want to
54988        // schedule our own side-effect on our own list because if end up
54989        // reusing children we'll schedule this effect onto itself since we're
54990        // at the end.
54991
54992
54993        var effectTag = workInProgress.effectTag; // Skip both NoWork and PerformedWork tags when creating the effect
54994        // list. PerformedWork effect is read by React DevTools but shouldn't be
54995        // committed.
54996
54997        if (effectTag > PerformedWork) {
54998          if (returnFiber.lastEffect !== null) {
54999            returnFiber.lastEffect.nextEffect = workInProgress;
55000          } else {
55001            returnFiber.firstEffect = workInProgress;
55002          }
55003
55004          returnFiber.lastEffect = workInProgress;
55005        }
55006      }
55007    } else {
55008      // This fiber did not complete because something threw. Pop values off
55009      // the stack without entering the complete phase. If this is a boundary,
55010      // capture values if possible.
55011      var _next = unwindWork(workInProgress); // Because this fiber did not complete, don't reset its expiration time.
55012
55013
55014      if ( (workInProgress.mode & ProfileMode) !== NoMode) {
55015        // Record the render duration for the fiber that errored.
55016        stopProfilerTimerIfRunningAndRecordDelta(workInProgress, false); // Include the time spent working on failed children before continuing.
55017
55018        var actualDuration = workInProgress.actualDuration;
55019        var child = workInProgress.child;
55020
55021        while (child !== null) {
55022          actualDuration += child.actualDuration;
55023          child = child.sibling;
55024        }
55025
55026        workInProgress.actualDuration = actualDuration;
55027      }
55028
55029      if (_next !== null) {
55030        // If completing this work spawned new work, do that next. We'll come
55031        // back here again.
55032        // Since we're restarting, remove anything that is not a host effect
55033        // from the effect tag.
55034        // TODO: The name stopFailedWorkTimer is misleading because Suspense
55035        // also captures and restarts.
55036        stopFailedWorkTimer(workInProgress);
55037        _next.effectTag &= HostEffectMask;
55038        return _next;
55039      }
55040
55041      stopWorkTimer(workInProgress);
55042
55043      if (returnFiber !== null) {
55044        // Mark the parent fiber as incomplete and clear its effect list.
55045        returnFiber.firstEffect = returnFiber.lastEffect = null;
55046        returnFiber.effectTag |= Incomplete;
55047      }
55048    }
55049
55050    var siblingFiber = workInProgress.sibling;
55051
55052    if (siblingFiber !== null) {
55053      // If there is more work to do in this returnFiber, do that next.
55054      return siblingFiber;
55055    } // Otherwise, return to the parent
55056
55057
55058    workInProgress = returnFiber;
55059  } while (workInProgress !== null); // We've reached the root.
55060
55061
55062  if (workInProgressRootExitStatus === RootIncomplete) {
55063    workInProgressRootExitStatus = RootCompleted;
55064  }
55065
55066  return null;
55067}
55068
55069function getRemainingExpirationTime(fiber) {
55070  var updateExpirationTime = fiber.expirationTime;
55071  var childExpirationTime = fiber.childExpirationTime;
55072  return updateExpirationTime > childExpirationTime ? updateExpirationTime : childExpirationTime;
55073}
55074
55075function resetChildExpirationTime(completedWork) {
55076  if (renderExpirationTime$1 !== Never && completedWork.childExpirationTime === Never) {
55077    // The children of this component are hidden. Don't bubble their
55078    // expiration times.
55079    return;
55080  }
55081
55082  var newChildExpirationTime = NoWork; // Bubble up the earliest expiration time.
55083
55084  if ( (completedWork.mode & ProfileMode) !== NoMode) {
55085    // In profiling mode, resetChildExpirationTime is also used to reset
55086    // profiler durations.
55087    var actualDuration = completedWork.actualDuration;
55088    var treeBaseDuration = completedWork.selfBaseDuration; // When a fiber is cloned, its actualDuration is reset to 0. This value will
55089    // only be updated if work is done on the fiber (i.e. it doesn't bailout).
55090    // When work is done, it should bubble to the parent's actualDuration. If
55091    // the fiber has not been cloned though, (meaning no work was done), then
55092    // this value will reflect the amount of time spent working on a previous
55093    // render. In that case it should not bubble. We determine whether it was
55094    // cloned by comparing the child pointer.
55095
55096    var shouldBubbleActualDurations = completedWork.alternate === null || completedWork.child !== completedWork.alternate.child;
55097    var child = completedWork.child;
55098
55099    while (child !== null) {
55100      var childUpdateExpirationTime = child.expirationTime;
55101      var childChildExpirationTime = child.childExpirationTime;
55102
55103      if (childUpdateExpirationTime > newChildExpirationTime) {
55104        newChildExpirationTime = childUpdateExpirationTime;
55105      }
55106
55107      if (childChildExpirationTime > newChildExpirationTime) {
55108        newChildExpirationTime = childChildExpirationTime;
55109      }
55110
55111      if (shouldBubbleActualDurations) {
55112        actualDuration += child.actualDuration;
55113      }
55114
55115      treeBaseDuration += child.treeBaseDuration;
55116      child = child.sibling;
55117    }
55118
55119    completedWork.actualDuration = actualDuration;
55120    completedWork.treeBaseDuration = treeBaseDuration;
55121  } else {
55122    var _child = completedWork.child;
55123
55124    while (_child !== null) {
55125      var _childUpdateExpirationTime = _child.expirationTime;
55126      var _childChildExpirationTime = _child.childExpirationTime;
55127
55128      if (_childUpdateExpirationTime > newChildExpirationTime) {
55129        newChildExpirationTime = _childUpdateExpirationTime;
55130      }
55131
55132      if (_childChildExpirationTime > newChildExpirationTime) {
55133        newChildExpirationTime = _childChildExpirationTime;
55134      }
55135
55136      _child = _child.sibling;
55137    }
55138  }
55139
55140  completedWork.childExpirationTime = newChildExpirationTime;
55141}
55142
55143function commitRoot(root) {
55144  var renderPriorityLevel = getCurrentPriorityLevel();
55145  runWithPriority$1(ImmediatePriority, commitRootImpl.bind(null, root, renderPriorityLevel));
55146  return null;
55147}
55148
55149function commitRootImpl(root, renderPriorityLevel) {
55150  do {
55151    // `flushPassiveEffects` will call `flushSyncUpdateQueue` at the end, which
55152    // means `flushPassiveEffects` will sometimes result in additional
55153    // passive effects. So we need to keep flushing in a loop until there are
55154    // no more pending effects.
55155    // TODO: Might be better if `flushPassiveEffects` did not automatically
55156    // flush synchronous work at the end, to avoid factoring hazards like this.
55157    flushPassiveEffects();
55158  } while (rootWithPendingPassiveEffects !== null);
55159
55160  flushRenderPhaseStrictModeWarningsInDEV();
55161
55162  if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) {
55163    {
55164      throw Error( "Should not already be working." );
55165    }
55166  }
55167
55168  var finishedWork = root.finishedWork;
55169  var expirationTime = root.finishedExpirationTime;
55170
55171  if (finishedWork === null) {
55172    return null;
55173  }
55174
55175  root.finishedWork = null;
55176  root.finishedExpirationTime = NoWork;
55177
55178  if (!(finishedWork !== root.current)) {
55179    {
55180      throw Error( "Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue." );
55181    }
55182  } // commitRoot never returns a continuation; it always finishes synchronously.
55183  // So we can clear these now to allow a new callback to be scheduled.
55184
55185
55186  root.callbackNode = null;
55187  root.callbackExpirationTime = NoWork;
55188  root.callbackPriority = NoPriority;
55189  root.nextKnownPendingLevel = NoWork;
55190  startCommitTimer(); // Update the first and last pending times on this root. The new first
55191  // pending time is whatever is left on the root fiber.
55192
55193  var remainingExpirationTimeBeforeCommit = getRemainingExpirationTime(finishedWork);
55194  markRootFinishedAtTime(root, expirationTime, remainingExpirationTimeBeforeCommit);
55195
55196  if (root === workInProgressRoot) {
55197    // We can reset these now that they are finished.
55198    workInProgressRoot = null;
55199    workInProgress = null;
55200    renderExpirationTime$1 = NoWork;
55201  } // This indicates that the last root we worked on is not the same one that
55202  // we're committing now. This most commonly happens when a suspended root
55203  // times out.
55204  // Get the list of effects.
55205
55206
55207  var firstEffect;
55208
55209  if (finishedWork.effectTag > PerformedWork) {
55210    // A fiber's effect list consists only of its children, not itself. So if
55211    // the root has an effect, we need to add it to the end of the list. The
55212    // resulting list is the set that would belong to the root's parent, if it
55213    // had one; that is, all the effects in the tree including the root.
55214    if (finishedWork.lastEffect !== null) {
55215      finishedWork.lastEffect.nextEffect = finishedWork;
55216      firstEffect = finishedWork.firstEffect;
55217    } else {
55218      firstEffect = finishedWork;
55219    }
55220  } else {
55221    // There is no effect on the root.
55222    firstEffect = finishedWork.firstEffect;
55223  }
55224
55225  if (firstEffect !== null) {
55226    var prevExecutionContext = executionContext;
55227    executionContext |= CommitContext;
55228    var prevInteractions = pushInteractions(root); // Reset this to null before calling lifecycles
55229
55230    ReactCurrentOwner$2.current = null; // The commit phase is broken into several sub-phases. We do a separate pass
55231    // of the effect list for each phase: all mutation effects come before all
55232    // layout effects, and so on.
55233    // The first phase a "before mutation" phase. We use this phase to read the
55234    // state of the host tree right before we mutate it. This is where
55235    // getSnapshotBeforeUpdate is called.
55236
55237    startCommitSnapshotEffectsTimer();
55238    prepareForCommit(root.containerInfo);
55239    nextEffect = firstEffect;
55240
55241    do {
55242      {
55243        invokeGuardedCallback(null, commitBeforeMutationEffects, null);
55244
55245        if (hasCaughtError()) {
55246          if (!(nextEffect !== null)) {
55247            {
55248              throw Error( "Should be working on an effect." );
55249            }
55250          }
55251
55252          var error = clearCaughtError();
55253          captureCommitPhaseError(nextEffect, error);
55254          nextEffect = nextEffect.nextEffect;
55255        }
55256      }
55257    } while (nextEffect !== null);
55258
55259    stopCommitSnapshotEffectsTimer();
55260
55261    {
55262      // Mark the current commit time to be shared by all Profilers in this
55263      // batch. This enables them to be grouped later.
55264      recordCommitTime();
55265    } // The next phase is the mutation phase, where we mutate the host tree.
55266
55267
55268    startCommitHostEffectsTimer();
55269    nextEffect = firstEffect;
55270
55271    do {
55272      {
55273        invokeGuardedCallback(null, commitMutationEffects, null, root, renderPriorityLevel);
55274
55275        if (hasCaughtError()) {
55276          if (!(nextEffect !== null)) {
55277            {
55278              throw Error( "Should be working on an effect." );
55279            }
55280          }
55281
55282          var _error = clearCaughtError();
55283
55284          captureCommitPhaseError(nextEffect, _error);
55285          nextEffect = nextEffect.nextEffect;
55286        }
55287      }
55288    } while (nextEffect !== null);
55289
55290    stopCommitHostEffectsTimer();
55291    resetAfterCommit(root.containerInfo); // The work-in-progress tree is now the current tree. This must come after
55292    // the mutation phase, so that the previous tree is still current during
55293    // componentWillUnmount, but before the layout phase, so that the finished
55294    // work is current during componentDidMount/Update.
55295
55296    root.current = finishedWork; // The next phase is the layout phase, where we call effects that read
55297    // the host tree after it's been mutated. The idiomatic use case for this is
55298    // layout, but class component lifecycles also fire here for legacy reasons.
55299
55300    startCommitLifeCyclesTimer();
55301    nextEffect = firstEffect;
55302
55303    do {
55304      {
55305        invokeGuardedCallback(null, commitLayoutEffects, null, root, expirationTime);
55306
55307        if (hasCaughtError()) {
55308          if (!(nextEffect !== null)) {
55309            {
55310              throw Error( "Should be working on an effect." );
55311            }
55312          }
55313
55314          var _error2 = clearCaughtError();
55315
55316          captureCommitPhaseError(nextEffect, _error2);
55317          nextEffect = nextEffect.nextEffect;
55318        }
55319      }
55320    } while (nextEffect !== null);
55321
55322    stopCommitLifeCyclesTimer();
55323    nextEffect = null; // Tell Scheduler to yield at the end of the frame, so the browser has an
55324    // opportunity to paint.
55325
55326    requestPaint();
55327
55328    {
55329      popInteractions(prevInteractions);
55330    }
55331
55332    executionContext = prevExecutionContext;
55333  } else {
55334    // No effects.
55335    root.current = finishedWork; // Measure these anyway so the flamegraph explicitly shows that there were
55336    // no effects.
55337    // TODO: Maybe there's a better way to report this.
55338
55339    startCommitSnapshotEffectsTimer();
55340    stopCommitSnapshotEffectsTimer();
55341
55342    {
55343      recordCommitTime();
55344    }
55345
55346    startCommitHostEffectsTimer();
55347    stopCommitHostEffectsTimer();
55348    startCommitLifeCyclesTimer();
55349    stopCommitLifeCyclesTimer();
55350  }
55351
55352  stopCommitTimer();
55353  var rootDidHavePassiveEffects = rootDoesHavePassiveEffects;
55354
55355  if (rootDoesHavePassiveEffects) {
55356    // This commit has passive effects. Stash a reference to them. But don't
55357    // schedule a callback until after flushing layout work.
55358    rootDoesHavePassiveEffects = false;
55359    rootWithPendingPassiveEffects = root;
55360    pendingPassiveEffectsExpirationTime = expirationTime;
55361    pendingPassiveEffectsRenderPriority = renderPriorityLevel;
55362  } else {
55363    // We are done with the effect chain at this point so let's clear the
55364    // nextEffect pointers to assist with GC. If we have passive effects, we'll
55365    // clear this in flushPassiveEffects.
55366    nextEffect = firstEffect;
55367
55368    while (nextEffect !== null) {
55369      var nextNextEffect = nextEffect.nextEffect;
55370      nextEffect.nextEffect = null;
55371      nextEffect = nextNextEffect;
55372    }
55373  } // Check if there's remaining work on this root
55374
55375
55376  var remainingExpirationTime = root.firstPendingTime;
55377
55378  if (remainingExpirationTime !== NoWork) {
55379    {
55380      if (spawnedWorkDuringRender !== null) {
55381        var expirationTimes = spawnedWorkDuringRender;
55382        spawnedWorkDuringRender = null;
55383
55384        for (var i = 0; i < expirationTimes.length; i++) {
55385          scheduleInteractions(root, expirationTimes[i], root.memoizedInteractions);
55386        }
55387      }
55388
55389      schedulePendingInteractions(root, remainingExpirationTime);
55390    }
55391  } else {
55392    // If there's no remaining work, we can clear the set of already failed
55393    // error boundaries.
55394    legacyErrorBoundariesThatAlreadyFailed = null;
55395  }
55396
55397  {
55398    if (!rootDidHavePassiveEffects) {
55399      // If there are no passive effects, then we can complete the pending interactions.
55400      // Otherwise, we'll wait until after the passive effects are flushed.
55401      // Wait to do this until after remaining work has been scheduled,
55402      // so that we don't prematurely signal complete for interactions when there's e.g. hidden work.
55403      finishPendingInteractions(root, expirationTime);
55404    }
55405  }
55406
55407  if (remainingExpirationTime === Sync) {
55408    // Count the number of times the root synchronously re-renders without
55409    // finishing. If there are too many, it indicates an infinite update loop.
55410    if (root === rootWithNestedUpdates) {
55411      nestedUpdateCount++;
55412    } else {
55413      nestedUpdateCount = 0;
55414      rootWithNestedUpdates = root;
55415    }
55416  } else {
55417    nestedUpdateCount = 0;
55418  }
55419
55420  onCommitRoot(finishedWork.stateNode, expirationTime); // Always call this before exiting `commitRoot`, to ensure that any
55421  // additional work on this root is scheduled.
55422
55423  ensureRootIsScheduled(root);
55424
55425  if (hasUncaughtError) {
55426    hasUncaughtError = false;
55427    var _error3 = firstUncaughtError;
55428    firstUncaughtError = null;
55429    throw _error3;
55430  }
55431
55432  if ((executionContext & LegacyUnbatchedContext) !== NoContext) {
55433    // This is a legacy edge case. We just committed the initial mount of
55434    // a ReactDOM.render-ed root inside of batchedUpdates. The commit fired
55435    // synchronously, but layout updates should be deferred until the end
55436    // of the batch.
55437    return null;
55438  } // If layout work was scheduled, flush it now.
55439
55440
55441  flushSyncCallbackQueue();
55442  return null;
55443}
55444
55445function commitBeforeMutationEffects() {
55446  while (nextEffect !== null) {
55447    var effectTag = nextEffect.effectTag;
55448
55449    if ((effectTag & Snapshot) !== NoEffect) {
55450      setCurrentFiber(nextEffect);
55451      recordEffect();
55452      var current = nextEffect.alternate;
55453      commitBeforeMutationLifeCycles(current, nextEffect);
55454      resetCurrentFiber();
55455    }
55456
55457    if ((effectTag & Passive) !== NoEffect) {
55458      // If there are passive effects, schedule a callback to flush at
55459      // the earliest opportunity.
55460      if (!rootDoesHavePassiveEffects) {
55461        rootDoesHavePassiveEffects = true;
55462        scheduleCallback(NormalPriority, function () {
55463          flushPassiveEffects();
55464          return null;
55465        });
55466      }
55467    }
55468
55469    nextEffect = nextEffect.nextEffect;
55470  }
55471}
55472
55473function commitMutationEffects(root, renderPriorityLevel) {
55474  // TODO: Should probably move the bulk of this function to commitWork.
55475  while (nextEffect !== null) {
55476    setCurrentFiber(nextEffect);
55477    var effectTag = nextEffect.effectTag;
55478
55479    if (effectTag & ContentReset) {
55480      commitResetTextContent(nextEffect);
55481    }
55482
55483    if (effectTag & Ref) {
55484      var current = nextEffect.alternate;
55485
55486      if (current !== null) {
55487        commitDetachRef(current);
55488      }
55489    } // The following switch statement is only concerned about placement,
55490    // updates, and deletions. To avoid needing to add a case for every possible
55491    // bitmap value, we remove the secondary effects from the effect tag and
55492    // switch on that value.
55493
55494
55495    var primaryEffectTag = effectTag & (Placement | Update | Deletion | Hydrating);
55496
55497    switch (primaryEffectTag) {
55498      case Placement:
55499        {
55500          commitPlacement(nextEffect); // Clear the "placement" from effect tag so that we know that this is
55501          // inserted, before any life-cycles like componentDidMount gets called.
55502          // TODO: findDOMNode doesn't rely on this any more but isMounted does
55503          // and isMounted is deprecated anyway so we should be able to kill this.
55504
55505          nextEffect.effectTag &= ~Placement;
55506          break;
55507        }
55508
55509      case PlacementAndUpdate:
55510        {
55511          // Placement
55512          commitPlacement(nextEffect); // Clear the "placement" from effect tag so that we know that this is
55513          // inserted, before any life-cycles like componentDidMount gets called.
55514
55515          nextEffect.effectTag &= ~Placement; // Update
55516
55517          var _current = nextEffect.alternate;
55518          commitWork(_current, nextEffect);
55519          break;
55520        }
55521
55522      case Hydrating:
55523        {
55524          nextEffect.effectTag &= ~Hydrating;
55525          break;
55526        }
55527
55528      case HydratingAndUpdate:
55529        {
55530          nextEffect.effectTag &= ~Hydrating; // Update
55531
55532          var _current2 = nextEffect.alternate;
55533          commitWork(_current2, nextEffect);
55534          break;
55535        }
55536
55537      case Update:
55538        {
55539          var _current3 = nextEffect.alternate;
55540          commitWork(_current3, nextEffect);
55541          break;
55542        }
55543
55544      case Deletion:
55545        {
55546          commitDeletion(root, nextEffect, renderPriorityLevel);
55547          break;
55548        }
55549    } // TODO: Only record a mutation effect if primaryEffectTag is non-zero.
55550
55551
55552    recordEffect();
55553    resetCurrentFiber();
55554    nextEffect = nextEffect.nextEffect;
55555  }
55556}
55557
55558function commitLayoutEffects(root, committedExpirationTime) {
55559  // TODO: Should probably move the bulk of this function to commitWork.
55560  while (nextEffect !== null) {
55561    setCurrentFiber(nextEffect);
55562    var effectTag = nextEffect.effectTag;
55563
55564    if (effectTag & (Update | Callback)) {
55565      recordEffect();
55566      var current = nextEffect.alternate;
55567      commitLifeCycles(root, current, nextEffect);
55568    }
55569
55570    if (effectTag & Ref) {
55571      recordEffect();
55572      commitAttachRef(nextEffect);
55573    }
55574
55575    resetCurrentFiber();
55576    nextEffect = nextEffect.nextEffect;
55577  }
55578}
55579
55580function flushPassiveEffects() {
55581  if (pendingPassiveEffectsRenderPriority !== NoPriority) {
55582    var priorityLevel = pendingPassiveEffectsRenderPriority > NormalPriority ? NormalPriority : pendingPassiveEffectsRenderPriority;
55583    pendingPassiveEffectsRenderPriority = NoPriority;
55584    return runWithPriority$1(priorityLevel, flushPassiveEffectsImpl);
55585  }
55586}
55587
55588function flushPassiveEffectsImpl() {
55589  if (rootWithPendingPassiveEffects === null) {
55590    return false;
55591  }
55592
55593  var root = rootWithPendingPassiveEffects;
55594  var expirationTime = pendingPassiveEffectsExpirationTime;
55595  rootWithPendingPassiveEffects = null;
55596  pendingPassiveEffectsExpirationTime = NoWork;
55597
55598  if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) {
55599    {
55600      throw Error( "Cannot flush passive effects while already rendering." );
55601    }
55602  }
55603
55604  var prevExecutionContext = executionContext;
55605  executionContext |= CommitContext;
55606  var prevInteractions = pushInteractions(root);
55607
55608  {
55609    // Note: This currently assumes there are no passive effects on the root fiber
55610    // because the root is not part of its own effect list.
55611    // This could change in the future.
55612    var _effect2 = root.current.firstEffect;
55613
55614    while (_effect2 !== null) {
55615      {
55616        setCurrentFiber(_effect2);
55617        invokeGuardedCallback(null, commitPassiveHookEffects, null, _effect2);
55618
55619        if (hasCaughtError()) {
55620          if (!(_effect2 !== null)) {
55621            {
55622              throw Error( "Should be working on an effect." );
55623            }
55624          }
55625
55626          var _error5 = clearCaughtError();
55627
55628          captureCommitPhaseError(_effect2, _error5);
55629        }
55630
55631        resetCurrentFiber();
55632      }
55633
55634      var nextNextEffect = _effect2.nextEffect; // Remove nextEffect pointer to assist GC
55635
55636      _effect2.nextEffect = null;
55637      _effect2 = nextNextEffect;
55638    }
55639  }
55640
55641  {
55642    popInteractions(prevInteractions);
55643    finishPendingInteractions(root, expirationTime);
55644  }
55645
55646  executionContext = prevExecutionContext;
55647  flushSyncCallbackQueue(); // If additional passive effects were scheduled, increment a counter. If this
55648  // exceeds the limit, we'll fire a warning.
55649
55650  nestedPassiveUpdateCount = rootWithPendingPassiveEffects === null ? 0 : nestedPassiveUpdateCount + 1;
55651  return true;
55652}
55653
55654function isAlreadyFailedLegacyErrorBoundary(instance) {
55655  return legacyErrorBoundariesThatAlreadyFailed !== null && legacyErrorBoundariesThatAlreadyFailed.has(instance);
55656}
55657function markLegacyErrorBoundaryAsFailed(instance) {
55658  if (legacyErrorBoundariesThatAlreadyFailed === null) {
55659    legacyErrorBoundariesThatAlreadyFailed = new Set([instance]);
55660  } else {
55661    legacyErrorBoundariesThatAlreadyFailed.add(instance);
55662  }
55663}
55664
55665function prepareToThrowUncaughtError(error) {
55666  if (!hasUncaughtError) {
55667    hasUncaughtError = true;
55668    firstUncaughtError = error;
55669  }
55670}
55671
55672var onUncaughtError = prepareToThrowUncaughtError;
55673
55674function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {
55675  var errorInfo = createCapturedValue(error, sourceFiber);
55676  var update = createRootErrorUpdate(rootFiber, errorInfo, Sync);
55677  enqueueUpdate(rootFiber, update);
55678  var root = markUpdateTimeFromFiberToRoot(rootFiber, Sync);
55679
55680  if (root !== null) {
55681    ensureRootIsScheduled(root);
55682    schedulePendingInteractions(root, Sync);
55683  }
55684}
55685
55686function captureCommitPhaseError(sourceFiber, error) {
55687  if (sourceFiber.tag === HostRoot) {
55688    // Error was thrown at the root. There is no parent, so the root
55689    // itself should capture it.
55690    captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);
55691    return;
55692  }
55693
55694  var fiber = sourceFiber.return;
55695
55696  while (fiber !== null) {
55697    if (fiber.tag === HostRoot) {
55698      captureCommitPhaseErrorOnRoot(fiber, sourceFiber, error);
55699      return;
55700    } else if (fiber.tag === ClassComponent) {
55701      var ctor = fiber.type;
55702      var instance = fiber.stateNode;
55703
55704      if (typeof ctor.getDerivedStateFromError === 'function' || typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance)) {
55705        var errorInfo = createCapturedValue(error, sourceFiber);
55706        var update = createClassErrorUpdate(fiber, errorInfo, // TODO: This is always sync
55707        Sync);
55708        enqueueUpdate(fiber, update);
55709        var root = markUpdateTimeFromFiberToRoot(fiber, Sync);
55710
55711        if (root !== null) {
55712          ensureRootIsScheduled(root);
55713          schedulePendingInteractions(root, Sync);
55714        }
55715
55716        return;
55717      }
55718    }
55719
55720    fiber = fiber.return;
55721  }
55722}
55723function pingSuspendedRoot(root, thenable, suspendedTime) {
55724  var pingCache = root.pingCache;
55725
55726  if (pingCache !== null) {
55727    // The thenable resolved, so we no longer need to memoize, because it will
55728    // never be thrown again.
55729    pingCache.delete(thenable);
55730  }
55731
55732  if (workInProgressRoot === root && renderExpirationTime$1 === suspendedTime) {
55733    // Received a ping at the same priority level at which we're currently
55734    // rendering. We might want to restart this render. This should mirror
55735    // the logic of whether or not a root suspends once it completes.
55736    // TODO: If we're rendering sync either due to Sync, Batched or expired,
55737    // we should probably never restart.
55738    // If we're suspended with delay, we'll always suspend so we can always
55739    // restart. If we're suspended without any updates, it might be a retry.
55740    // If it's early in the retry we can restart. We can't know for sure
55741    // whether we'll eventually process an update during this render pass,
55742    // but it's somewhat unlikely that we get to a ping before that, since
55743    // getting to the root most update is usually very fast.
55744    if (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && workInProgressRootLatestProcessedExpirationTime === Sync && now() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS) {
55745      // Restart from the root. Don't need to schedule a ping because
55746      // we're already working on this tree.
55747      prepareFreshStack(root, renderExpirationTime$1);
55748    } else {
55749      // Even though we can't restart right now, we might get an
55750      // opportunity later. So we mark this render as having a ping.
55751      workInProgressRootHasPendingPing = true;
55752    }
55753
55754    return;
55755  }
55756
55757  if (!isRootSuspendedAtTime(root, suspendedTime)) {
55758    // The root is no longer suspended at this time.
55759    return;
55760  }
55761
55762  var lastPingedTime = root.lastPingedTime;
55763
55764  if (lastPingedTime !== NoWork && lastPingedTime < suspendedTime) {
55765    // There's already a lower priority ping scheduled.
55766    return;
55767  } // Mark the time at which this ping was scheduled.
55768
55769
55770  root.lastPingedTime = suspendedTime;
55771
55772  ensureRootIsScheduled(root);
55773  schedulePendingInteractions(root, suspendedTime);
55774}
55775
55776function retryTimedOutBoundary(boundaryFiber, retryTime) {
55777  // The boundary fiber (a Suspense component or SuspenseList component)
55778  // previously was rendered in its fallback state. One of the promises that
55779  // suspended it has resolved, which means at least part of the tree was
55780  // likely unblocked. Try rendering again, at a new expiration time.
55781  if (retryTime === NoWork) {
55782    var suspenseConfig = null; // Retries don't carry over the already committed update.
55783
55784    var currentTime = requestCurrentTimeForUpdate();
55785    retryTime = computeExpirationForFiber(currentTime, boundaryFiber, suspenseConfig);
55786  } // TODO: Special case idle priority?
55787
55788
55789  var root = markUpdateTimeFromFiberToRoot(boundaryFiber, retryTime);
55790
55791  if (root !== null) {
55792    ensureRootIsScheduled(root);
55793    schedulePendingInteractions(root, retryTime);
55794  }
55795}
55796function resolveRetryThenable(boundaryFiber, thenable) {
55797  var retryTime = NoWork; // Default
55798
55799  var retryCache;
55800
55801  {
55802    retryCache = boundaryFiber.stateNode;
55803  }
55804
55805  if (retryCache !== null) {
55806    // The thenable resolved, so we no longer need to memoize, because it will
55807    // never be thrown again.
55808    retryCache.delete(thenable);
55809  }
55810
55811  retryTimedOutBoundary(boundaryFiber, retryTime);
55812} // Computes the next Just Noticeable Difference (JND) boundary.
55813// The theory is that a person can't tell the difference between small differences in time.
55814// Therefore, if we wait a bit longer than necessary that won't translate to a noticeable
55815// difference in the experience. However, waiting for longer might mean that we can avoid
55816// showing an intermediate loading state. The longer we have already waited, the harder it
55817// is to tell small differences in time. Therefore, the longer we've already waited,
55818// the longer we can wait additionally. At some point we have to give up though.
55819// We pick a train model where the next boundary commits at a consistent schedule.
55820// These particular numbers are vague estimates. We expect to adjust them based on research.
55821
55822function jnd(timeElapsed) {
55823  return timeElapsed < 120 ? 120 : timeElapsed < 480 ? 480 : timeElapsed < 1080 ? 1080 : timeElapsed < 1920 ? 1920 : timeElapsed < 3000 ? 3000 : timeElapsed < 4320 ? 4320 : ceil(timeElapsed / 1960) * 1960;
55824}
55825
55826function computeMsUntilSuspenseLoadingDelay(mostRecentEventTime, committedExpirationTime, suspenseConfig) {
55827  var busyMinDurationMs = suspenseConfig.busyMinDurationMs | 0;
55828
55829  if (busyMinDurationMs <= 0) {
55830    return 0;
55831  }
55832
55833  var busyDelayMs = suspenseConfig.busyDelayMs | 0; // Compute the time until this render pass would expire.
55834
55835  var currentTimeMs = now();
55836  var eventTimeMs = inferTimeFromExpirationTimeWithSuspenseConfig(mostRecentEventTime, suspenseConfig);
55837  var timeElapsed = currentTimeMs - eventTimeMs;
55838
55839  if (timeElapsed <= busyDelayMs) {
55840    // If we haven't yet waited longer than the initial delay, we don't
55841    // have to wait any additional time.
55842    return 0;
55843  }
55844
55845  var msUntilTimeout = busyDelayMs + busyMinDurationMs - timeElapsed; // This is the value that is passed to `setTimeout`.
55846
55847  return msUntilTimeout;
55848}
55849
55850function checkForNestedUpdates() {
55851  if (nestedUpdateCount > NESTED_UPDATE_LIMIT) {
55852    nestedUpdateCount = 0;
55853    rootWithNestedUpdates = null;
55854
55855    {
55856      {
55857        throw Error( "Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops." );
55858      }
55859    }
55860  }
55861
55862  {
55863    if (nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT) {
55864      nestedPassiveUpdateCount = 0;
55865
55866      error('Maximum update depth exceeded. This can happen when a component ' + "calls setState inside useEffect, but useEffect either doesn't " + 'have a dependency array, or one of the dependencies changes on ' + 'every render.');
55867    }
55868  }
55869}
55870
55871function flushRenderPhaseStrictModeWarningsInDEV() {
55872  {
55873    ReactStrictModeWarnings.flushLegacyContextWarning();
55874
55875    {
55876      ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings();
55877    }
55878  }
55879}
55880
55881function stopFinishedWorkLoopTimer() {
55882  var didCompleteRoot = true;
55883  stopWorkLoopTimer(interruptedBy, didCompleteRoot);
55884  interruptedBy = null;
55885}
55886
55887function stopInterruptedWorkLoopTimer() {
55888  // TODO: Track which fiber caused the interruption.
55889  var didCompleteRoot = false;
55890  stopWorkLoopTimer(interruptedBy, didCompleteRoot);
55891  interruptedBy = null;
55892}
55893
55894function checkForInterruption(fiberThatReceivedUpdate, updateExpirationTime) {
55895  if ( workInProgressRoot !== null && updateExpirationTime > renderExpirationTime$1) {
55896    interruptedBy = fiberThatReceivedUpdate;
55897  }
55898}
55899
55900var didWarnStateUpdateForUnmountedComponent = null;
55901
55902function warnAboutUpdateOnUnmountedFiberInDEV(fiber) {
55903  {
55904    var tag = fiber.tag;
55905
55906    if (tag !== HostRoot && tag !== ClassComponent && tag !== FunctionComponent && tag !== ForwardRef && tag !== MemoComponent && tag !== SimpleMemoComponent && tag !== Block) {
55907      // Only warn for user-defined components, not internal ones like Suspense.
55908      return;
55909    }
55910    // the problematic code almost always lies inside that component.
55911
55912
55913    var componentName = getComponentName(fiber.type) || 'ReactComponent';
55914
55915    if (didWarnStateUpdateForUnmountedComponent !== null) {
55916      if (didWarnStateUpdateForUnmountedComponent.has(componentName)) {
55917        return;
55918      }
55919
55920      didWarnStateUpdateForUnmountedComponent.add(componentName);
55921    } else {
55922      didWarnStateUpdateForUnmountedComponent = new Set([componentName]);
55923    }
55924
55925    error("Can't perform a React state update on an unmounted component. This " + 'is a no-op, but it indicates a memory leak in your application. To ' + 'fix, cancel all subscriptions and asynchronous tasks in %s.%s', tag === ClassComponent ? 'the componentWillUnmount method' : 'a useEffect cleanup function', getStackByFiberInDevAndProd(fiber));
55926  }
55927}
55928
55929var beginWork$1;
55930
55931{
55932  var dummyFiber = null;
55933
55934  beginWork$1 = function (current, unitOfWork, expirationTime) {
55935    // If a component throws an error, we replay it again in a synchronously
55936    // dispatched event, so that the debugger will treat it as an uncaught
55937    // error See ReactErrorUtils for more information.
55938    // Before entering the begin phase, copy the work-in-progress onto a dummy
55939    // fiber. If beginWork throws, we'll use this to reset the state.
55940    var originalWorkInProgressCopy = assignFiberPropertiesInDEV(dummyFiber, unitOfWork);
55941
55942    try {
55943      return beginWork(current, unitOfWork, expirationTime);
55944    } catch (originalError) {
55945      if (originalError !== null && typeof originalError === 'object' && typeof originalError.then === 'function') {
55946        // Don't replay promises. Treat everything else like an error.
55947        throw originalError;
55948      } // Keep this code in sync with handleError; any changes here must have
55949      // corresponding changes there.
55950
55951
55952      resetContextDependencies();
55953      resetHooksAfterThrow(); // Don't reset current debug fiber, since we're about to work on the
55954      // same fiber again.
55955      // Unwind the failed stack frame
55956
55957      unwindInterruptedWork(unitOfWork); // Restore the original properties of the fiber.
55958
55959      assignFiberPropertiesInDEV(unitOfWork, originalWorkInProgressCopy);
55960
55961      if ( unitOfWork.mode & ProfileMode) {
55962        // Reset the profiler timer.
55963        startProfilerTimer(unitOfWork);
55964      } // Run beginWork again.
55965
55966
55967      invokeGuardedCallback(null, beginWork, null, current, unitOfWork, expirationTime);
55968
55969      if (hasCaughtError()) {
55970        var replayError = clearCaughtError(); // `invokeGuardedCallback` sometimes sets an expando `_suppressLogging`.
55971        // Rethrow this error instead of the original one.
55972
55973        throw replayError;
55974      } else {
55975        // This branch is reachable if the render phase is impure.
55976        throw originalError;
55977      }
55978    }
55979  };
55980}
55981
55982var didWarnAboutUpdateInRender = false;
55983var didWarnAboutUpdateInRenderForAnotherComponent;
55984
55985{
55986  didWarnAboutUpdateInRenderForAnotherComponent = new Set();
55987}
55988
55989function warnAboutRenderPhaseUpdatesInDEV(fiber) {
55990  {
55991    if (isRendering && (executionContext & RenderContext) !== NoContext) {
55992      switch (fiber.tag) {
55993        case FunctionComponent:
55994        case ForwardRef:
55995        case SimpleMemoComponent:
55996          {
55997            var renderingComponentName = workInProgress && getComponentName(workInProgress.type) || 'Unknown'; // Dedupe by the rendering component because it's the one that needs to be fixed.
55998
55999            var dedupeKey = renderingComponentName;
56000
56001            if (!didWarnAboutUpdateInRenderForAnotherComponent.has(dedupeKey)) {
56002              didWarnAboutUpdateInRenderForAnotherComponent.add(dedupeKey);
56003              var setStateComponentName = getComponentName(fiber.type) || 'Unknown';
56004
56005              error('Cannot update a component (`%s`) while rendering a ' + 'different component (`%s`). To locate the bad setState() call inside `%s`, ' + 'follow the stack trace as described in https://fb.me/setstate-in-render', setStateComponentName, renderingComponentName, renderingComponentName);
56006            }
56007
56008            break;
56009          }
56010
56011        case ClassComponent:
56012          {
56013            if (!didWarnAboutUpdateInRender) {
56014              error('Cannot update during an existing state transition (such as ' + 'within `render`). Render methods should be a pure ' + 'function of props and state.');
56015
56016              didWarnAboutUpdateInRender = true;
56017            }
56018
56019            break;
56020          }
56021      }
56022    }
56023  }
56024} // a 'shared' variable that changes when act() opens/closes in tests.
56025
56026
56027var IsThisRendererActing = {
56028  current: false
56029};
56030function warnIfNotScopedWithMatchingAct(fiber) {
56031  {
56032    if ( IsSomeRendererActing.current === true && IsThisRendererActing.current !== true) {
56033      error("It looks like you're using the wrong act() around your test interactions.\n" + 'Be sure to use the matching version of act() corresponding to your renderer:\n\n' + '// for react-dom:\n' + "import {act} from 'react-dom/test-utils';\n" + '// ...\n' + 'act(() => ...);\n\n' + '// for react-test-renderer:\n' + "import TestRenderer from 'react-test-renderer';\n" + 'const {act} = TestRenderer;\n' + '// ...\n' + 'act(() => ...);' + '%s', getStackByFiberInDevAndProd(fiber));
56034    }
56035  }
56036}
56037function warnIfNotCurrentlyActingEffectsInDEV(fiber) {
56038  {
56039    if ( (fiber.mode & StrictMode) !== NoMode && IsSomeRendererActing.current === false && IsThisRendererActing.current === false) {
56040      error('An update to %s ran an effect, but was not wrapped in act(...).\n\n' + 'When testing, code that causes React state updates should be ' + 'wrapped into act(...):\n\n' + 'act(() => {\n' + '  /* fire events that update state */\n' + '});\n' + '/* assert on the output */\n\n' + "This ensures that you're testing the behavior the user would see " + 'in the browser.' + ' Learn more at https://fb.me/react-wrap-tests-with-act' + '%s', getComponentName(fiber.type), getStackByFiberInDevAndProd(fiber));
56041    }
56042  }
56043}
56044
56045function warnIfNotCurrentlyActingUpdatesInDEV(fiber) {
56046  {
56047    if ( executionContext === NoContext && IsSomeRendererActing.current === false && IsThisRendererActing.current === false) {
56048      error('An update to %s inside a test was not wrapped in act(...).\n\n' + 'When testing, code that causes React state updates should be ' + 'wrapped into act(...):\n\n' + 'act(() => {\n' + '  /* fire events that update state */\n' + '});\n' + '/* assert on the output */\n\n' + "This ensures that you're testing the behavior the user would see " + 'in the browser.' + ' Learn more at https://fb.me/react-wrap-tests-with-act' + '%s', getComponentName(fiber.type), getStackByFiberInDevAndProd(fiber));
56049    }
56050  }
56051}
56052
56053var warnIfNotCurrentlyActingUpdatesInDev = warnIfNotCurrentlyActingUpdatesInDEV; // In tests, we want to enforce a mocked scheduler.
56054
56055var didWarnAboutUnmockedScheduler = false; // TODO Before we release concurrent mode, revisit this and decide whether a mocked
56056// scheduler is the actual recommendation. The alternative could be a testing build,
56057// a new lib, or whatever; we dunno just yet. This message is for early adopters
56058// to get their tests right.
56059
56060function warnIfUnmockedScheduler(fiber) {
56061  {
56062    if (didWarnAboutUnmockedScheduler === false && Scheduler.unstable_flushAllWithoutAsserting === undefined) {
56063      if (fiber.mode & BlockingMode || fiber.mode & ConcurrentMode) {
56064        didWarnAboutUnmockedScheduler = true;
56065
56066        error('In Concurrent or Sync modes, the "scheduler" module needs to be mocked ' + 'to guarantee consistent behaviour across tests and browsers. ' + 'For example, with jest: \n' + "jest.mock('scheduler', () => require('scheduler/unstable_mock'));\n\n" + 'For more info, visit https://fb.me/react-mock-scheduler');
56067      }
56068    }
56069  }
56070}
56071
56072function computeThreadID(root, expirationTime) {
56073  // Interaction threads are unique per root and expiration time.
56074  return expirationTime * 1000 + root.interactionThreadID;
56075}
56076
56077function markSpawnedWork(expirationTime) {
56078
56079  if (spawnedWorkDuringRender === null) {
56080    spawnedWorkDuringRender = [expirationTime];
56081  } else {
56082    spawnedWorkDuringRender.push(expirationTime);
56083  }
56084}
56085
56086function scheduleInteractions(root, expirationTime, interactions) {
56087
56088  if (interactions.size > 0) {
56089    var pendingInteractionMap = root.pendingInteractionMap;
56090    var pendingInteractions = pendingInteractionMap.get(expirationTime);
56091
56092    if (pendingInteractions != null) {
56093      interactions.forEach(function (interaction) {
56094        if (!pendingInteractions.has(interaction)) {
56095          // Update the pending async work count for previously unscheduled interaction.
56096          interaction.__count++;
56097        }
56098
56099        pendingInteractions.add(interaction);
56100      });
56101    } else {
56102      pendingInteractionMap.set(expirationTime, new Set(interactions)); // Update the pending async work count for the current interactions.
56103
56104      interactions.forEach(function (interaction) {
56105        interaction.__count++;
56106      });
56107    }
56108
56109    var subscriber = tracing.__subscriberRef.current;
56110
56111    if (subscriber !== null) {
56112      var threadID = computeThreadID(root, expirationTime);
56113      subscriber.onWorkScheduled(interactions, threadID);
56114    }
56115  }
56116}
56117
56118function schedulePendingInteractions(root, expirationTime) {
56119
56120  scheduleInteractions(root, expirationTime, tracing.__interactionsRef.current);
56121}
56122
56123function startWorkOnPendingInteractions(root, expirationTime) {
56124  // we can accurately attribute time spent working on it, And so that cascading
56125  // work triggered during the render phase will be associated with it.
56126
56127
56128  var interactions = new Set();
56129  root.pendingInteractionMap.forEach(function (scheduledInteractions, scheduledExpirationTime) {
56130    if (scheduledExpirationTime >= expirationTime) {
56131      scheduledInteractions.forEach(function (interaction) {
56132        return interactions.add(interaction);
56133      });
56134    }
56135  }); // Store the current set of interactions on the FiberRoot for a few reasons:
56136  // We can re-use it in hot functions like performConcurrentWorkOnRoot()
56137  // without having to recalculate it. We will also use it in commitWork() to
56138  // pass to any Profiler onRender() hooks. This also provides DevTools with a
56139  // way to access it when the onCommitRoot() hook is called.
56140
56141  root.memoizedInteractions = interactions;
56142
56143  if (interactions.size > 0) {
56144    var subscriber = tracing.__subscriberRef.current;
56145
56146    if (subscriber !== null) {
56147      var threadID = computeThreadID(root, expirationTime);
56148
56149      try {
56150        subscriber.onWorkStarted(interactions, threadID);
56151      } catch (error) {
56152        // If the subscriber throws, rethrow it in a separate task
56153        scheduleCallback(ImmediatePriority, function () {
56154          throw error;
56155        });
56156      }
56157    }
56158  }
56159}
56160
56161function finishPendingInteractions(root, committedExpirationTime) {
56162
56163  var earliestRemainingTimeAfterCommit = root.firstPendingTime;
56164  var subscriber;
56165
56166  try {
56167    subscriber = tracing.__subscriberRef.current;
56168
56169    if (subscriber !== null && root.memoizedInteractions.size > 0) {
56170      var threadID = computeThreadID(root, committedExpirationTime);
56171      subscriber.onWorkStopped(root.memoizedInteractions, threadID);
56172    }
56173  } catch (error) {
56174    // If the subscriber throws, rethrow it in a separate task
56175    scheduleCallback(ImmediatePriority, function () {
56176      throw error;
56177    });
56178  } finally {
56179    // Clear completed interactions from the pending Map.
56180    // Unless the render was suspended or cascading work was scheduled,
56181    // In which case– leave pending interactions until the subsequent render.
56182    var pendingInteractionMap = root.pendingInteractionMap;
56183    pendingInteractionMap.forEach(function (scheduledInteractions, scheduledExpirationTime) {
56184      // Only decrement the pending interaction count if we're done.
56185      // If there's still work at the current priority,
56186      // That indicates that we are waiting for suspense data.
56187      if (scheduledExpirationTime > earliestRemainingTimeAfterCommit) {
56188        pendingInteractionMap.delete(scheduledExpirationTime);
56189        scheduledInteractions.forEach(function (interaction) {
56190          interaction.__count--;
56191
56192          if (subscriber !== null && interaction.__count === 0) {
56193            try {
56194              subscriber.onInteractionScheduledWorkCompleted(interaction);
56195            } catch (error) {
56196              // If the subscriber throws, rethrow it in a separate task
56197              scheduleCallback(ImmediatePriority, function () {
56198                throw error;
56199              });
56200            }
56201          }
56202        });
56203      }
56204    });
56205  }
56206}
56207
56208var onScheduleFiberRoot = null;
56209var onCommitFiberRoot = null;
56210var onCommitFiberUnmount = null;
56211var hasLoggedError = false;
56212var isDevToolsPresent = typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined';
56213function injectInternals(internals) {
56214  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {
56215    // No DevTools
56216    return false;
56217  }
56218
56219  var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__;
56220
56221  if (hook.isDisabled) {
56222    // This isn't a real property on the hook, but it can be set to opt out
56223    // of DevTools integration and associated warnings and logs.
56224    // https://github.com/facebook/react/issues/3877
56225    return true;
56226  }
56227
56228  if (!hook.supportsFiber) {
56229    {
56230      error('The installed version of React DevTools is too old and will not work ' + 'with the current version of React. Please update React DevTools. ' + 'https://fb.me/react-devtools');
56231    } // DevTools exists, even though it doesn't support Fiber.
56232
56233
56234    return true;
56235  }
56236
56237  try {
56238    var rendererID = hook.inject(internals); // We have successfully injected, so now it is safe to set up hooks.
56239
56240    if (true) {
56241      // Only used by Fast Refresh
56242      if (typeof hook.onScheduleFiberRoot === 'function') {
56243        onScheduleFiberRoot = function (root, children) {
56244          try {
56245            hook.onScheduleFiberRoot(rendererID, root, children);
56246          } catch (err) {
56247            if ( true && !hasLoggedError) {
56248              hasLoggedError = true;
56249
56250              error('React instrumentation encountered an error: %s', err);
56251            }
56252          }
56253        };
56254      }
56255    }
56256
56257    onCommitFiberRoot = function (root, expirationTime) {
56258      try {
56259        var didError = (root.current.effectTag & DidCapture) === DidCapture;
56260
56261        if (enableProfilerTimer) {
56262          var currentTime = getCurrentTime();
56263          var priorityLevel = inferPriorityFromExpirationTime(currentTime, expirationTime);
56264          hook.onCommitFiberRoot(rendererID, root, priorityLevel, didError);
56265        } else {
56266          hook.onCommitFiberRoot(rendererID, root, undefined, didError);
56267        }
56268      } catch (err) {
56269        if (true) {
56270          if (!hasLoggedError) {
56271            hasLoggedError = true;
56272
56273            error('React instrumentation encountered an error: %s', err);
56274          }
56275        }
56276      }
56277    };
56278
56279    onCommitFiberUnmount = function (fiber) {
56280      try {
56281        hook.onCommitFiberUnmount(rendererID, fiber);
56282      } catch (err) {
56283        if (true) {
56284          if (!hasLoggedError) {
56285            hasLoggedError = true;
56286
56287            error('React instrumentation encountered an error: %s', err);
56288          }
56289        }
56290      }
56291    };
56292  } catch (err) {
56293    // Catch all errors because it is unsafe to throw during initialization.
56294    {
56295      error('React instrumentation encountered an error: %s.', err);
56296    }
56297  } // DevTools exists
56298
56299
56300  return true;
56301}
56302function onScheduleRoot(root, children) {
56303  if (typeof onScheduleFiberRoot === 'function') {
56304    onScheduleFiberRoot(root, children);
56305  }
56306}
56307function onCommitRoot(root, expirationTime) {
56308  if (typeof onCommitFiberRoot === 'function') {
56309    onCommitFiberRoot(root, expirationTime);
56310  }
56311}
56312function onCommitUnmount(fiber) {
56313  if (typeof onCommitFiberUnmount === 'function') {
56314    onCommitFiberUnmount(fiber);
56315  }
56316}
56317
56318var hasBadMapPolyfill;
56319
56320{
56321  hasBadMapPolyfill = false;
56322
56323  try {
56324    var nonExtensibleObject = Object.preventExtensions({});
56325    var testMap = new Map([[nonExtensibleObject, null]]);
56326    var testSet = new Set([nonExtensibleObject]); // This is necessary for Rollup to not consider these unused.
56327    // https://github.com/rollup/rollup/issues/1771
56328    // TODO: we can remove these if Rollup fixes the bug.
56329
56330    testMap.set(0, 0);
56331    testSet.add(0);
56332  } catch (e) {
56333    // TODO: Consider warning about bad polyfills
56334    hasBadMapPolyfill = true;
56335  }
56336}
56337
56338var debugCounter = 1;
56339
56340function FiberNode(tag, pendingProps, key, mode) {
56341  // Instance
56342  this.tag = tag;
56343  this.key = key;
56344  this.elementType = null;
56345  this.type = null;
56346  this.stateNode = null; // Fiber
56347
56348  this.return = null;
56349  this.child = null;
56350  this.sibling = null;
56351  this.index = 0;
56352  this.ref = null;
56353  this.pendingProps = pendingProps;
56354  this.memoizedProps = null;
56355  this.updateQueue = null;
56356  this.memoizedState = null;
56357  this.dependencies = null;
56358  this.mode = mode; // Effects
56359
56360  this.effectTag = NoEffect;
56361  this.nextEffect = null;
56362  this.firstEffect = null;
56363  this.lastEffect = null;
56364  this.expirationTime = NoWork;
56365  this.childExpirationTime = NoWork;
56366  this.alternate = null;
56367
56368  {
56369    // Note: The following is done to avoid a v8 performance cliff.
56370    //
56371    // Initializing the fields below to smis and later updating them with
56372    // double values will cause Fibers to end up having separate shapes.
56373    // This behavior/bug has something to do with Object.preventExtension().
56374    // Fortunately this only impacts DEV builds.
56375    // Unfortunately it makes React unusably slow for some applications.
56376    // To work around this, initialize the fields below with doubles.
56377    //
56378    // Learn more about this here:
56379    // https://github.com/facebook/react/issues/14365
56380    // https://bugs.chromium.org/p/v8/issues/detail?id=8538
56381    this.actualDuration = Number.NaN;
56382    this.actualStartTime = Number.NaN;
56383    this.selfBaseDuration = Number.NaN;
56384    this.treeBaseDuration = Number.NaN; // It's okay to replace the initial doubles with smis after initialization.
56385    // This won't trigger the performance cliff mentioned above,
56386    // and it simplifies other profiler code (including DevTools).
56387
56388    this.actualDuration = 0;
56389    this.actualStartTime = -1;
56390    this.selfBaseDuration = 0;
56391    this.treeBaseDuration = 0;
56392  } // This is normally DEV-only except www when it adds listeners.
56393  // TODO: remove the User Timing integration in favor of Root Events.
56394
56395
56396  {
56397    this._debugID = debugCounter++;
56398    this._debugIsCurrentlyTiming = false;
56399  }
56400
56401  {
56402    this._debugSource = null;
56403    this._debugOwner = null;
56404    this._debugNeedsRemount = false;
56405    this._debugHookTypes = null;
56406
56407    if (!hasBadMapPolyfill && typeof Object.preventExtensions === 'function') {
56408      Object.preventExtensions(this);
56409    }
56410  }
56411} // This is a constructor function, rather than a POJO constructor, still
56412// please ensure we do the following:
56413// 1) Nobody should add any instance methods on this. Instance methods can be
56414//    more difficult to predict when they get optimized and they are almost
56415//    never inlined properly in static compilers.
56416// 2) Nobody should rely on `instanceof Fiber` for type testing. We should
56417//    always know when it is a fiber.
56418// 3) We might want to experiment with using numeric keys since they are easier
56419//    to optimize in a non-JIT environment.
56420// 4) We can easily go from a constructor to a createFiber object literal if that
56421//    is faster.
56422// 5) It should be easy to port this to a C struct and keep a C implementation
56423//    compatible.
56424
56425
56426var createFiber = function (tag, pendingProps, key, mode) {
56427  // $FlowFixMe: the shapes are exact here but Flow doesn't like constructors
56428  return new FiberNode(tag, pendingProps, key, mode);
56429};
56430
56431function shouldConstruct(Component) {
56432  var prototype = Component.prototype;
56433  return !!(prototype && prototype.isReactComponent);
56434}
56435
56436function isSimpleFunctionComponent(type) {
56437  return typeof type === 'function' && !shouldConstruct(type) && type.defaultProps === undefined;
56438}
56439function resolveLazyComponentTag(Component) {
56440  if (typeof Component === 'function') {
56441    return shouldConstruct(Component) ? ClassComponent : FunctionComponent;
56442  } else if (Component !== undefined && Component !== null) {
56443    var $$typeof = Component.$$typeof;
56444
56445    if ($$typeof === REACT_FORWARD_REF_TYPE) {
56446      return ForwardRef;
56447    }
56448
56449    if ($$typeof === REACT_MEMO_TYPE) {
56450      return MemoComponent;
56451    }
56452  }
56453
56454  return IndeterminateComponent;
56455} // This is used to create an alternate fiber to do work on.
56456
56457function createWorkInProgress(current, pendingProps) {
56458  var workInProgress = current.alternate;
56459
56460  if (workInProgress === null) {
56461    // We use a double buffering pooling technique because we know that we'll
56462    // only ever need at most two versions of a tree. We pool the "other" unused
56463    // node that we're free to reuse. This is lazily created to avoid allocating
56464    // extra objects for things that are never updated. It also allow us to
56465    // reclaim the extra memory if needed.
56466    workInProgress = createFiber(current.tag, pendingProps, current.key, current.mode);
56467    workInProgress.elementType = current.elementType;
56468    workInProgress.type = current.type;
56469    workInProgress.stateNode = current.stateNode;
56470
56471    {
56472      // DEV-only fields
56473      {
56474        workInProgress._debugID = current._debugID;
56475      }
56476
56477      workInProgress._debugSource = current._debugSource;
56478      workInProgress._debugOwner = current._debugOwner;
56479      workInProgress._debugHookTypes = current._debugHookTypes;
56480    }
56481
56482    workInProgress.alternate = current;
56483    current.alternate = workInProgress;
56484  } else {
56485    workInProgress.pendingProps = pendingProps; // We already have an alternate.
56486    // Reset the effect tag.
56487
56488    workInProgress.effectTag = NoEffect; // The effect list is no longer valid.
56489
56490    workInProgress.nextEffect = null;
56491    workInProgress.firstEffect = null;
56492    workInProgress.lastEffect = null;
56493
56494    {
56495      // We intentionally reset, rather than copy, actualDuration & actualStartTime.
56496      // This prevents time from endlessly accumulating in new commits.
56497      // This has the downside of resetting values for different priority renders,
56498      // But works for yielding (the common case) and should support resuming.
56499      workInProgress.actualDuration = 0;
56500      workInProgress.actualStartTime = -1;
56501    }
56502  }
56503
56504  workInProgress.childExpirationTime = current.childExpirationTime;
56505  workInProgress.expirationTime = current.expirationTime;
56506  workInProgress.child = current.child;
56507  workInProgress.memoizedProps = current.memoizedProps;
56508  workInProgress.memoizedState = current.memoizedState;
56509  workInProgress.updateQueue = current.updateQueue; // Clone the dependencies object. This is mutated during the render phase, so
56510  // it cannot be shared with the current fiber.
56511
56512  var currentDependencies = current.dependencies;
56513  workInProgress.dependencies = currentDependencies === null ? null : {
56514    expirationTime: currentDependencies.expirationTime,
56515    firstContext: currentDependencies.firstContext,
56516    responders: currentDependencies.responders
56517  }; // These will be overridden during the parent's reconciliation
56518
56519  workInProgress.sibling = current.sibling;
56520  workInProgress.index = current.index;
56521  workInProgress.ref = current.ref;
56522
56523  {
56524    workInProgress.selfBaseDuration = current.selfBaseDuration;
56525    workInProgress.treeBaseDuration = current.treeBaseDuration;
56526  }
56527
56528  {
56529    workInProgress._debugNeedsRemount = current._debugNeedsRemount;
56530
56531    switch (workInProgress.tag) {
56532      case IndeterminateComponent:
56533      case FunctionComponent:
56534      case SimpleMemoComponent:
56535        workInProgress.type = resolveFunctionForHotReloading(current.type);
56536        break;
56537
56538      case ClassComponent:
56539        workInProgress.type = resolveClassForHotReloading(current.type);
56540        break;
56541
56542      case ForwardRef:
56543        workInProgress.type = resolveForwardRefForHotReloading(current.type);
56544        break;
56545    }
56546  }
56547
56548  return workInProgress;
56549} // Used to reuse a Fiber for a second pass.
56550
56551function resetWorkInProgress(workInProgress, renderExpirationTime) {
56552  // This resets the Fiber to what createFiber or createWorkInProgress would
56553  // have set the values to before during the first pass. Ideally this wouldn't
56554  // be necessary but unfortunately many code paths reads from the workInProgress
56555  // when they should be reading from current and writing to workInProgress.
56556  // We assume pendingProps, index, key, ref, return are still untouched to
56557  // avoid doing another reconciliation.
56558  // Reset the effect tag but keep any Placement tags, since that's something
56559  // that child fiber is setting, not the reconciliation.
56560  workInProgress.effectTag &= Placement; // The effect list is no longer valid.
56561
56562  workInProgress.nextEffect = null;
56563  workInProgress.firstEffect = null;
56564  workInProgress.lastEffect = null;
56565  var current = workInProgress.alternate;
56566
56567  if (current === null) {
56568    // Reset to createFiber's initial values.
56569    workInProgress.childExpirationTime = NoWork;
56570    workInProgress.expirationTime = renderExpirationTime;
56571    workInProgress.child = null;
56572    workInProgress.memoizedProps = null;
56573    workInProgress.memoizedState = null;
56574    workInProgress.updateQueue = null;
56575    workInProgress.dependencies = null;
56576
56577    {
56578      // Note: We don't reset the actualTime counts. It's useful to accumulate
56579      // actual time across multiple render passes.
56580      workInProgress.selfBaseDuration = 0;
56581      workInProgress.treeBaseDuration = 0;
56582    }
56583  } else {
56584    // Reset to the cloned values that createWorkInProgress would've.
56585    workInProgress.childExpirationTime = current.childExpirationTime;
56586    workInProgress.expirationTime = current.expirationTime;
56587    workInProgress.child = current.child;
56588    workInProgress.memoizedProps = current.memoizedProps;
56589    workInProgress.memoizedState = current.memoizedState;
56590    workInProgress.updateQueue = current.updateQueue; // Clone the dependencies object. This is mutated during the render phase, so
56591    // it cannot be shared with the current fiber.
56592
56593    var currentDependencies = current.dependencies;
56594    workInProgress.dependencies = currentDependencies === null ? null : {
56595      expirationTime: currentDependencies.expirationTime,
56596      firstContext: currentDependencies.firstContext,
56597      responders: currentDependencies.responders
56598    };
56599
56600    {
56601      // Note: We don't reset the actualTime counts. It's useful to accumulate
56602      // actual time across multiple render passes.
56603      workInProgress.selfBaseDuration = current.selfBaseDuration;
56604      workInProgress.treeBaseDuration = current.treeBaseDuration;
56605    }
56606  }
56607
56608  return workInProgress;
56609}
56610function createHostRootFiber(tag) {
56611  var mode;
56612
56613  if (tag === ConcurrentRoot) {
56614    mode = ConcurrentMode | BlockingMode | StrictMode;
56615  } else if (tag === BlockingRoot) {
56616    mode = BlockingMode | StrictMode;
56617  } else {
56618    mode = NoMode;
56619  }
56620
56621  if ( isDevToolsPresent) {
56622    // Always collect profile timings when DevTools are present.
56623    // This enables DevTools to start capturing timing at any point–
56624    // Without some nodes in the tree having empty base times.
56625    mode |= ProfileMode;
56626  }
56627
56628  return createFiber(HostRoot, null, null, mode);
56629}
56630function createFiberFromTypeAndProps(type, // React$ElementType
56631key, pendingProps, owner, mode, expirationTime) {
56632  var fiber;
56633  var fiberTag = IndeterminateComponent; // The resolved type is set if we know what the final type will be. I.e. it's not lazy.
56634
56635  var resolvedType = type;
56636
56637  if (typeof type === 'function') {
56638    if (shouldConstruct(type)) {
56639      fiberTag = ClassComponent;
56640
56641      {
56642        resolvedType = resolveClassForHotReloading(resolvedType);
56643      }
56644    } else {
56645      {
56646        resolvedType = resolveFunctionForHotReloading(resolvedType);
56647      }
56648    }
56649  } else if (typeof type === 'string') {
56650    fiberTag = HostComponent;
56651  } else {
56652    getTag: switch (type) {
56653      case REACT_FRAGMENT_TYPE:
56654        return createFiberFromFragment(pendingProps.children, mode, expirationTime, key);
56655
56656      case REACT_CONCURRENT_MODE_TYPE:
56657        fiberTag = Mode;
56658        mode |= ConcurrentMode | BlockingMode | StrictMode;
56659        break;
56660
56661      case REACT_STRICT_MODE_TYPE:
56662        fiberTag = Mode;
56663        mode |= StrictMode;
56664        break;
56665
56666      case REACT_PROFILER_TYPE:
56667        return createFiberFromProfiler(pendingProps, mode, expirationTime, key);
56668
56669      case REACT_SUSPENSE_TYPE:
56670        return createFiberFromSuspense(pendingProps, mode, expirationTime, key);
56671
56672      case REACT_SUSPENSE_LIST_TYPE:
56673        return createFiberFromSuspenseList(pendingProps, mode, expirationTime, key);
56674
56675      default:
56676        {
56677          if (typeof type === 'object' && type !== null) {
56678            switch (type.$$typeof) {
56679              case REACT_PROVIDER_TYPE:
56680                fiberTag = ContextProvider;
56681                break getTag;
56682
56683              case REACT_CONTEXT_TYPE:
56684                // This is a consumer
56685                fiberTag = ContextConsumer;
56686                break getTag;
56687
56688              case REACT_FORWARD_REF_TYPE:
56689                fiberTag = ForwardRef;
56690
56691                {
56692                  resolvedType = resolveForwardRefForHotReloading(resolvedType);
56693                }
56694
56695                break getTag;
56696
56697              case REACT_MEMO_TYPE:
56698                fiberTag = MemoComponent;
56699                break getTag;
56700
56701              case REACT_LAZY_TYPE:
56702                fiberTag = LazyComponent;
56703                resolvedType = null;
56704                break getTag;
56705
56706              case REACT_BLOCK_TYPE:
56707                fiberTag = Block;
56708                break getTag;
56709
56710            }
56711          }
56712
56713          var info = '';
56714
56715          {
56716            if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {
56717              info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and " + 'named imports.';
56718            }
56719
56720            var ownerName = owner ? getComponentName(owner.type) : null;
56721
56722            if (ownerName) {
56723              info += '\n\nCheck the render method of `' + ownerName + '`.';
56724            }
56725          }
56726
56727          {
56728            {
56729              throw Error( "Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + (type == null ? type : typeof type) + "." + info );
56730            }
56731          }
56732        }
56733    }
56734  }
56735
56736  fiber = createFiber(fiberTag, pendingProps, key, mode);
56737  fiber.elementType = type;
56738  fiber.type = resolvedType;
56739  fiber.expirationTime = expirationTime;
56740  return fiber;
56741}
56742function createFiberFromElement(element, mode, expirationTime) {
56743  var owner = null;
56744
56745  {
56746    owner = element._owner;
56747  }
56748
56749  var type = element.type;
56750  var key = element.key;
56751  var pendingProps = element.props;
56752  var fiber = createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, expirationTime);
56753
56754  {
56755    fiber._debugSource = element._source;
56756    fiber._debugOwner = element._owner;
56757  }
56758
56759  return fiber;
56760}
56761function createFiberFromFragment(elements, mode, expirationTime, key) {
56762  var fiber = createFiber(Fragment, elements, key, mode);
56763  fiber.expirationTime = expirationTime;
56764  return fiber;
56765}
56766
56767function createFiberFromProfiler(pendingProps, mode, expirationTime, key) {
56768  {
56769    if (typeof pendingProps.id !== 'string' || typeof pendingProps.onRender !== 'function') {
56770      error('Profiler must specify an "id" string and "onRender" function as props');
56771    }
56772  }
56773
56774  var fiber = createFiber(Profiler, pendingProps, key, mode | ProfileMode); // TODO: The Profiler fiber shouldn't have a type. It has a tag.
56775
56776  fiber.elementType = REACT_PROFILER_TYPE;
56777  fiber.type = REACT_PROFILER_TYPE;
56778  fiber.expirationTime = expirationTime;
56779  return fiber;
56780}
56781
56782function createFiberFromSuspense(pendingProps, mode, expirationTime, key) {
56783  var fiber = createFiber(SuspenseComponent, pendingProps, key, mode); // TODO: The SuspenseComponent fiber shouldn't have a type. It has a tag.
56784  // This needs to be fixed in getComponentName so that it relies on the tag
56785  // instead.
56786
56787  fiber.type = REACT_SUSPENSE_TYPE;
56788  fiber.elementType = REACT_SUSPENSE_TYPE;
56789  fiber.expirationTime = expirationTime;
56790  return fiber;
56791}
56792function createFiberFromSuspenseList(pendingProps, mode, expirationTime, key) {
56793  var fiber = createFiber(SuspenseListComponent, pendingProps, key, mode);
56794
56795  {
56796    // TODO: The SuspenseListComponent fiber shouldn't have a type. It has a tag.
56797    // This needs to be fixed in getComponentName so that it relies on the tag
56798    // instead.
56799    fiber.type = REACT_SUSPENSE_LIST_TYPE;
56800  }
56801
56802  fiber.elementType = REACT_SUSPENSE_LIST_TYPE;
56803  fiber.expirationTime = expirationTime;
56804  return fiber;
56805}
56806function createFiberFromText(content, mode, expirationTime) {
56807  var fiber = createFiber(HostText, content, null, mode);
56808  fiber.expirationTime = expirationTime;
56809  return fiber;
56810}
56811function createFiberFromHostInstanceForDeletion() {
56812  var fiber = createFiber(HostComponent, null, null, NoMode); // TODO: These should not need a type.
56813
56814  fiber.elementType = 'DELETED';
56815  fiber.type = 'DELETED';
56816  return fiber;
56817}
56818function createFiberFromPortal(portal, mode, expirationTime) {
56819  var pendingProps = portal.children !== null ? portal.children : [];
56820  var fiber = createFiber(HostPortal, pendingProps, portal.key, mode);
56821  fiber.expirationTime = expirationTime;
56822  fiber.stateNode = {
56823    containerInfo: portal.containerInfo,
56824    pendingChildren: null,
56825    // Used by persistent updates
56826    implementation: portal.implementation
56827  };
56828  return fiber;
56829} // Used for stashing WIP properties to replay failed work in DEV.
56830
56831function assignFiberPropertiesInDEV(target, source) {
56832  if (target === null) {
56833    // This Fiber's initial properties will always be overwritten.
56834    // We only use a Fiber to ensure the same hidden class so DEV isn't slow.
56835    target = createFiber(IndeterminateComponent, null, null, NoMode);
56836  } // This is intentionally written as a list of all properties.
56837  // We tried to use Object.assign() instead but this is called in
56838  // the hottest path, and Object.assign() was too slow:
56839  // https://github.com/facebook/react/issues/12502
56840  // This code is DEV-only so size is not a concern.
56841
56842
56843  target.tag = source.tag;
56844  target.key = source.key;
56845  target.elementType = source.elementType;
56846  target.type = source.type;
56847  target.stateNode = source.stateNode;
56848  target.return = source.return;
56849  target.child = source.child;
56850  target.sibling = source.sibling;
56851  target.index = source.index;
56852  target.ref = source.ref;
56853  target.pendingProps = source.pendingProps;
56854  target.memoizedProps = source.memoizedProps;
56855  target.updateQueue = source.updateQueue;
56856  target.memoizedState = source.memoizedState;
56857  target.dependencies = source.dependencies;
56858  target.mode = source.mode;
56859  target.effectTag = source.effectTag;
56860  target.nextEffect = source.nextEffect;
56861  target.firstEffect = source.firstEffect;
56862  target.lastEffect = source.lastEffect;
56863  target.expirationTime = source.expirationTime;
56864  target.childExpirationTime = source.childExpirationTime;
56865  target.alternate = source.alternate;
56866
56867  {
56868    target.actualDuration = source.actualDuration;
56869    target.actualStartTime = source.actualStartTime;
56870    target.selfBaseDuration = source.selfBaseDuration;
56871    target.treeBaseDuration = source.treeBaseDuration;
56872  }
56873
56874  {
56875    target._debugID = source._debugID;
56876  }
56877
56878  target._debugSource = source._debugSource;
56879  target._debugOwner = source._debugOwner;
56880  target._debugIsCurrentlyTiming = source._debugIsCurrentlyTiming;
56881  target._debugNeedsRemount = source._debugNeedsRemount;
56882  target._debugHookTypes = source._debugHookTypes;
56883  return target;
56884}
56885
56886function FiberRootNode(containerInfo, tag, hydrate) {
56887  this.tag = tag;
56888  this.current = null;
56889  this.containerInfo = containerInfo;
56890  this.pendingChildren = null;
56891  this.pingCache = null;
56892  this.finishedExpirationTime = NoWork;
56893  this.finishedWork = null;
56894  this.timeoutHandle = noTimeout;
56895  this.context = null;
56896  this.pendingContext = null;
56897  this.hydrate = hydrate;
56898  this.callbackNode = null;
56899  this.callbackPriority = NoPriority;
56900  this.firstPendingTime = NoWork;
56901  this.firstSuspendedTime = NoWork;
56902  this.lastSuspendedTime = NoWork;
56903  this.nextKnownPendingLevel = NoWork;
56904  this.lastPingedTime = NoWork;
56905  this.lastExpiredTime = NoWork;
56906
56907  {
56908    this.interactionThreadID = tracing.unstable_getThreadID();
56909    this.memoizedInteractions = new Set();
56910    this.pendingInteractionMap = new Map();
56911  }
56912}
56913
56914function createFiberRoot(containerInfo, tag, hydrate, hydrationCallbacks) {
56915  var root = new FiberRootNode(containerInfo, tag, hydrate);
56916  // stateNode is any.
56917
56918
56919  var uninitializedFiber = createHostRootFiber(tag);
56920  root.current = uninitializedFiber;
56921  uninitializedFiber.stateNode = root;
56922  initializeUpdateQueue(uninitializedFiber);
56923  return root;
56924}
56925function isRootSuspendedAtTime(root, expirationTime) {
56926  var firstSuspendedTime = root.firstSuspendedTime;
56927  var lastSuspendedTime = root.lastSuspendedTime;
56928  return firstSuspendedTime !== NoWork && firstSuspendedTime >= expirationTime && lastSuspendedTime <= expirationTime;
56929}
56930function markRootSuspendedAtTime(root, expirationTime) {
56931  var firstSuspendedTime = root.firstSuspendedTime;
56932  var lastSuspendedTime = root.lastSuspendedTime;
56933
56934  if (firstSuspendedTime < expirationTime) {
56935    root.firstSuspendedTime = expirationTime;
56936  }
56937
56938  if (lastSuspendedTime > expirationTime || firstSuspendedTime === NoWork) {
56939    root.lastSuspendedTime = expirationTime;
56940  }
56941
56942  if (expirationTime <= root.lastPingedTime) {
56943    root.lastPingedTime = NoWork;
56944  }
56945
56946  if (expirationTime <= root.lastExpiredTime) {
56947    root.lastExpiredTime = NoWork;
56948  }
56949}
56950function markRootUpdatedAtTime(root, expirationTime) {
56951  // Update the range of pending times
56952  var firstPendingTime = root.firstPendingTime;
56953
56954  if (expirationTime > firstPendingTime) {
56955    root.firstPendingTime = expirationTime;
56956  } // Update the range of suspended times. Treat everything lower priority or
56957  // equal to this update as unsuspended.
56958
56959
56960  var firstSuspendedTime = root.firstSuspendedTime;
56961
56962  if (firstSuspendedTime !== NoWork) {
56963    if (expirationTime >= firstSuspendedTime) {
56964      // The entire suspended range is now unsuspended.
56965      root.firstSuspendedTime = root.lastSuspendedTime = root.nextKnownPendingLevel = NoWork;
56966    } else if (expirationTime >= root.lastSuspendedTime) {
56967      root.lastSuspendedTime = expirationTime + 1;
56968    } // This is a pending level. Check if it's higher priority than the next
56969    // known pending level.
56970
56971
56972    if (expirationTime > root.nextKnownPendingLevel) {
56973      root.nextKnownPendingLevel = expirationTime;
56974    }
56975  }
56976}
56977function markRootFinishedAtTime(root, finishedExpirationTime, remainingExpirationTime) {
56978  // Update the range of pending times
56979  root.firstPendingTime = remainingExpirationTime; // Update the range of suspended times. Treat everything higher priority or
56980  // equal to this update as unsuspended.
56981
56982  if (finishedExpirationTime <= root.lastSuspendedTime) {
56983    // The entire suspended range is now unsuspended.
56984    root.firstSuspendedTime = root.lastSuspendedTime = root.nextKnownPendingLevel = NoWork;
56985  } else if (finishedExpirationTime <= root.firstSuspendedTime) {
56986    // Part of the suspended range is now unsuspended. Narrow the range to
56987    // include everything between the unsuspended time (non-inclusive) and the
56988    // last suspended time.
56989    root.firstSuspendedTime = finishedExpirationTime - 1;
56990  }
56991
56992  if (finishedExpirationTime <= root.lastPingedTime) {
56993    // Clear the pinged time
56994    root.lastPingedTime = NoWork;
56995  }
56996
56997  if (finishedExpirationTime <= root.lastExpiredTime) {
56998    // Clear the expired time
56999    root.lastExpiredTime = NoWork;
57000  }
57001}
57002function markRootExpiredAtTime(root, expirationTime) {
57003  var lastExpiredTime = root.lastExpiredTime;
57004
57005  if (lastExpiredTime === NoWork || lastExpiredTime > expirationTime) {
57006    root.lastExpiredTime = expirationTime;
57007  }
57008}
57009
57010var didWarnAboutNestedUpdates;
57011var didWarnAboutFindNodeInStrictMode;
57012
57013{
57014  didWarnAboutNestedUpdates = false;
57015  didWarnAboutFindNodeInStrictMode = {};
57016}
57017
57018function getContextForSubtree(parentComponent) {
57019  if (!parentComponent) {
57020    return emptyContextObject;
57021  }
57022
57023  var fiber = get(parentComponent);
57024  var parentContext = findCurrentUnmaskedContext(fiber);
57025
57026  if (fiber.tag === ClassComponent) {
57027    var Component = fiber.type;
57028
57029    if (isContextProvider(Component)) {
57030      return processChildContext(fiber, Component, parentContext);
57031    }
57032  }
57033
57034  return parentContext;
57035}
57036
57037function findHostInstanceWithWarning(component, methodName) {
57038  {
57039    var fiber = get(component);
57040
57041    if (fiber === undefined) {
57042      if (typeof component.render === 'function') {
57043        {
57044          {
57045            throw Error( "Unable to find node on an unmounted component." );
57046          }
57047        }
57048      } else {
57049        {
57050          {
57051            throw Error( "Argument appears to not be a ReactComponent. Keys: " + Object.keys(component) );
57052          }
57053        }
57054      }
57055    }
57056
57057    var hostFiber = findCurrentHostFiber(fiber);
57058
57059    if (hostFiber === null) {
57060      return null;
57061    }
57062
57063    if (hostFiber.mode & StrictMode) {
57064      var componentName = getComponentName(fiber.type) || 'Component';
57065
57066      if (!didWarnAboutFindNodeInStrictMode[componentName]) {
57067        didWarnAboutFindNodeInStrictMode[componentName] = true;
57068
57069        if (fiber.mode & StrictMode) {
57070          error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which is inside StrictMode. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-find-node%s', methodName, methodName, componentName, getStackByFiberInDevAndProd(hostFiber));
57071        } else {
57072          error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which renders StrictMode children. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-find-node%s', methodName, methodName, componentName, getStackByFiberInDevAndProd(hostFiber));
57073        }
57074      }
57075    }
57076
57077    return hostFiber.stateNode;
57078  }
57079}
57080
57081function createContainer(containerInfo, tag, hydrate, hydrationCallbacks) {
57082  return createFiberRoot(containerInfo, tag, hydrate);
57083}
57084function updateContainer(element, container, parentComponent, callback) {
57085  {
57086    onScheduleRoot(container, element);
57087  }
57088
57089  var current$1 = container.current;
57090  var currentTime = requestCurrentTimeForUpdate();
57091
57092  {
57093    // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests
57094    if ('undefined' !== typeof jest) {
57095      warnIfUnmockedScheduler(current$1);
57096      warnIfNotScopedWithMatchingAct(current$1);
57097    }
57098  }
57099
57100  var suspenseConfig = requestCurrentSuspenseConfig();
57101  var expirationTime = computeExpirationForFiber(currentTime, current$1, suspenseConfig);
57102  var context = getContextForSubtree(parentComponent);
57103
57104  if (container.context === null) {
57105    container.context = context;
57106  } else {
57107    container.pendingContext = context;
57108  }
57109
57110  {
57111    if (isRendering && current !== null && !didWarnAboutNestedUpdates) {
57112      didWarnAboutNestedUpdates = true;
57113
57114      error('Render methods should be a pure function of props and state; ' + 'triggering nested component updates from render is not allowed. ' + 'If necessary, trigger nested updates in componentDidUpdate.\n\n' + 'Check the render method of %s.', getComponentName(current.type) || 'Unknown');
57115    }
57116  }
57117
57118  var update = createUpdate(expirationTime, suspenseConfig); // Caution: React DevTools currently depends on this property
57119  // being called "element".
57120
57121  update.payload = {
57122    element: element
57123  };
57124  callback = callback === undefined ? null : callback;
57125
57126  if (callback !== null) {
57127    {
57128      if (typeof callback !== 'function') {
57129        error('render(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callback);
57130      }
57131    }
57132
57133    update.callback = callback;
57134  }
57135
57136  enqueueUpdate(current$1, update);
57137  scheduleWork(current$1, expirationTime);
57138  return expirationTime;
57139}
57140function getPublicRootInstance(container) {
57141  var containerFiber = container.current;
57142
57143  if (!containerFiber.child) {
57144    return null;
57145  }
57146
57147  switch (containerFiber.child.tag) {
57148    case HostComponent:
57149      return getPublicInstance(containerFiber.child.stateNode);
57150
57151    default:
57152      return containerFiber.child.stateNode;
57153  }
57154}
57155
57156function markRetryTimeImpl(fiber, retryTime) {
57157  var suspenseState = fiber.memoizedState;
57158
57159  if (suspenseState !== null && suspenseState.dehydrated !== null) {
57160    if (suspenseState.retryTime < retryTime) {
57161      suspenseState.retryTime = retryTime;
57162    }
57163  }
57164} // Increases the priority of thennables when they resolve within this boundary.
57165
57166
57167function markRetryTimeIfNotHydrated(fiber, retryTime) {
57168  markRetryTimeImpl(fiber, retryTime);
57169  var alternate = fiber.alternate;
57170
57171  if (alternate) {
57172    markRetryTimeImpl(alternate, retryTime);
57173  }
57174}
57175
57176function attemptUserBlockingHydration$1(fiber) {
57177  if (fiber.tag !== SuspenseComponent) {
57178    // We ignore HostRoots here because we can't increase
57179    // their priority and they should not suspend on I/O,
57180    // since you have to wrap anything that might suspend in
57181    // Suspense.
57182    return;
57183  }
57184
57185  var expTime = computeInteractiveExpiration(requestCurrentTimeForUpdate());
57186  scheduleWork(fiber, expTime);
57187  markRetryTimeIfNotHydrated(fiber, expTime);
57188}
57189function attemptContinuousHydration$1(fiber) {
57190  if (fiber.tag !== SuspenseComponent) {
57191    // We ignore HostRoots here because we can't increase
57192    // their priority and they should not suspend on I/O,
57193    // since you have to wrap anything that might suspend in
57194    // Suspense.
57195    return;
57196  }
57197
57198  scheduleWork(fiber, ContinuousHydration);
57199  markRetryTimeIfNotHydrated(fiber, ContinuousHydration);
57200}
57201function attemptHydrationAtCurrentPriority$1(fiber) {
57202  if (fiber.tag !== SuspenseComponent) {
57203    // We ignore HostRoots here because we can't increase
57204    // their priority other than synchronously flush it.
57205    return;
57206  }
57207
57208  var currentTime = requestCurrentTimeForUpdate();
57209  var expTime = computeExpirationForFiber(currentTime, fiber, null);
57210  scheduleWork(fiber, expTime);
57211  markRetryTimeIfNotHydrated(fiber, expTime);
57212}
57213function findHostInstanceWithNoPortals(fiber) {
57214  var hostFiber = findCurrentHostFiberWithNoPortals(fiber);
57215
57216  if (hostFiber === null) {
57217    return null;
57218  }
57219
57220  if (hostFiber.tag === FundamentalComponent) {
57221    return hostFiber.stateNode.instance;
57222  }
57223
57224  return hostFiber.stateNode;
57225}
57226
57227var shouldSuspendImpl = function (fiber) {
57228  return false;
57229};
57230
57231function shouldSuspend(fiber) {
57232  return shouldSuspendImpl(fiber);
57233}
57234var overrideHookState = null;
57235var overrideProps = null;
57236var scheduleUpdate = null;
57237var setSuspenseHandler = null;
57238
57239{
57240  var copyWithSetImpl = function (obj, path, idx, value) {
57241    if (idx >= path.length) {
57242      return value;
57243    }
57244
57245    var key = path[idx];
57246    var updated = Array.isArray(obj) ? obj.slice() : _assign({}, obj); // $FlowFixMe number or string is fine here
57247
57248    updated[key] = copyWithSetImpl(obj[key], path, idx + 1, value);
57249    return updated;
57250  };
57251
57252  var copyWithSet = function (obj, path, value) {
57253    return copyWithSetImpl(obj, path, 0, value);
57254  }; // Support DevTools editable values for useState and useReducer.
57255
57256
57257  overrideHookState = function (fiber, id, path, value) {
57258    // For now, the "id" of stateful hooks is just the stateful hook index.
57259    // This may change in the future with e.g. nested hooks.
57260    var currentHook = fiber.memoizedState;
57261
57262    while (currentHook !== null && id > 0) {
57263      currentHook = currentHook.next;
57264      id--;
57265    }
57266
57267    if (currentHook !== null) {
57268      var newState = copyWithSet(currentHook.memoizedState, path, value);
57269      currentHook.memoizedState = newState;
57270      currentHook.baseState = newState; // We aren't actually adding an update to the queue,
57271      // because there is no update we can add for useReducer hooks that won't trigger an error.
57272      // (There's no appropriate action type for DevTools overrides.)
57273      // As a result though, React will see the scheduled update as a noop and bailout.
57274      // Shallow cloning props works as a workaround for now to bypass the bailout check.
57275
57276      fiber.memoizedProps = _assign({}, fiber.memoizedProps);
57277      scheduleWork(fiber, Sync);
57278    }
57279  }; // Support DevTools props for function components, forwardRef, memo, host components, etc.
57280
57281
57282  overrideProps = function (fiber, path, value) {
57283    fiber.pendingProps = copyWithSet(fiber.memoizedProps, path, value);
57284
57285    if (fiber.alternate) {
57286      fiber.alternate.pendingProps = fiber.pendingProps;
57287    }
57288
57289    scheduleWork(fiber, Sync);
57290  };
57291
57292  scheduleUpdate = function (fiber) {
57293    scheduleWork(fiber, Sync);
57294  };
57295
57296  setSuspenseHandler = function (newShouldSuspendImpl) {
57297    shouldSuspendImpl = newShouldSuspendImpl;
57298  };
57299}
57300
57301function injectIntoDevTools(devToolsConfig) {
57302  var findFiberByHostInstance = devToolsConfig.findFiberByHostInstance;
57303  var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;
57304  return injectInternals(_assign({}, devToolsConfig, {
57305    overrideHookState: overrideHookState,
57306    overrideProps: overrideProps,
57307    setSuspenseHandler: setSuspenseHandler,
57308    scheduleUpdate: scheduleUpdate,
57309    currentDispatcherRef: ReactCurrentDispatcher,
57310    findHostInstanceByFiber: function (fiber) {
57311      var hostFiber = findCurrentHostFiber(fiber);
57312
57313      if (hostFiber === null) {
57314        return null;
57315      }
57316
57317      return hostFiber.stateNode;
57318    },
57319    findFiberByHostInstance: function (instance) {
57320      if (!findFiberByHostInstance) {
57321        // Might not be implemented by the renderer.
57322        return null;
57323      }
57324
57325      return findFiberByHostInstance(instance);
57326    },
57327    // React Refresh
57328    findHostInstancesForRefresh:  findHostInstancesForRefresh ,
57329    scheduleRefresh:  scheduleRefresh ,
57330    scheduleRoot:  scheduleRoot ,
57331    setRefreshHandler:  setRefreshHandler ,
57332    // Enables DevTools to append owner stacks to error messages in DEV mode.
57333    getCurrentFiber:  function () {
57334      return current;
57335    }
57336  }));
57337}
57338var IsSomeRendererActing$1 = ReactSharedInternals.IsSomeRendererActing;
57339
57340function ReactDOMRoot(container, options) {
57341  this._internalRoot = createRootImpl(container, ConcurrentRoot, options);
57342}
57343
57344function ReactDOMBlockingRoot(container, tag, options) {
57345  this._internalRoot = createRootImpl(container, tag, options);
57346}
57347
57348ReactDOMRoot.prototype.render = ReactDOMBlockingRoot.prototype.render = function (children) {
57349  var root = this._internalRoot;
57350
57351  {
57352    if (typeof arguments[1] === 'function') {
57353      error('render(...): does not support the second callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');
57354    }
57355
57356    var container = root.containerInfo;
57357
57358    if (container.nodeType !== COMMENT_NODE) {
57359      var hostInstance = findHostInstanceWithNoPortals(root.current);
57360
57361      if (hostInstance) {
57362        if (hostInstance.parentNode !== container) {
57363          error('render(...): It looks like the React-rendered content of the ' + 'root container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + "root.unmount() to empty a root's container.");
57364        }
57365      }
57366    }
57367  }
57368
57369  updateContainer(children, root, null, null);
57370};
57371
57372ReactDOMRoot.prototype.unmount = ReactDOMBlockingRoot.prototype.unmount = function () {
57373  {
57374    if (typeof arguments[0] === 'function') {
57375      error('unmount(...): does not support a callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');
57376    }
57377  }
57378
57379  var root = this._internalRoot;
57380  var container = root.containerInfo;
57381  updateContainer(null, root, null, function () {
57382    unmarkContainerAsRoot(container);
57383  });
57384};
57385
57386function createRootImpl(container, tag, options) {
57387  // Tag is either LegacyRoot or Concurrent Root
57388  var hydrate = options != null && options.hydrate === true;
57389  var hydrationCallbacks = options != null && options.hydrationOptions || null;
57390  var root = createContainer(container, tag, hydrate);
57391  markContainerAsRoot(root.current, container);
57392
57393  if (hydrate && tag !== LegacyRoot) {
57394    var doc = container.nodeType === DOCUMENT_NODE ? container : container.ownerDocument;
57395    eagerlyTrapReplayableEvents(container, doc);
57396  }
57397
57398  return root;
57399}
57400function createLegacyRoot(container, options) {
57401  return new ReactDOMBlockingRoot(container, LegacyRoot, options);
57402}
57403function isValidContainer(node) {
57404  return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || node.nodeType === COMMENT_NODE && node.nodeValue === ' react-mount-point-unstable '));
57405}
57406
57407var ReactCurrentOwner$3 = ReactSharedInternals.ReactCurrentOwner;
57408var topLevelUpdateWarnings;
57409var warnedAboutHydrateAPI = false;
57410
57411{
57412  topLevelUpdateWarnings = function (container) {
57413    if (container._reactRootContainer && container.nodeType !== COMMENT_NODE) {
57414      var hostInstance = findHostInstanceWithNoPortals(container._reactRootContainer._internalRoot.current);
57415
57416      if (hostInstance) {
57417        if (hostInstance.parentNode !== container) {
57418          error('render(...): It looks like the React-rendered content of this ' + 'container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + 'ReactDOM.unmountComponentAtNode to empty a container.');
57419        }
57420      }
57421    }
57422
57423    var isRootRenderedBySomeReact = !!container._reactRootContainer;
57424    var rootEl = getReactRootElementInContainer(container);
57425    var hasNonRootReactChild = !!(rootEl && getInstanceFromNode$1(rootEl));
57426
57427    if (hasNonRootReactChild && !isRootRenderedBySomeReact) {
57428      error('render(...): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.');
57429    }
57430
57431    if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === 'BODY') {
57432      error('render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.');
57433    }
57434  };
57435}
57436
57437function getReactRootElementInContainer(container) {
57438  if (!container) {
57439    return null;
57440  }
57441
57442  if (container.nodeType === DOCUMENT_NODE) {
57443    return container.documentElement;
57444  } else {
57445    return container.firstChild;
57446  }
57447}
57448
57449function shouldHydrateDueToLegacyHeuristic(container) {
57450  var rootElement = getReactRootElementInContainer(container);
57451  return !!(rootElement && rootElement.nodeType === ELEMENT_NODE && rootElement.hasAttribute(ROOT_ATTRIBUTE_NAME));
57452}
57453
57454function legacyCreateRootFromDOMContainer(container, forceHydrate) {
57455  var shouldHydrate = forceHydrate || shouldHydrateDueToLegacyHeuristic(container); // First clear any existing content.
57456
57457  if (!shouldHydrate) {
57458    var warned = false;
57459    var rootSibling;
57460
57461    while (rootSibling = container.lastChild) {
57462      {
57463        if (!warned && rootSibling.nodeType === ELEMENT_NODE && rootSibling.hasAttribute(ROOT_ATTRIBUTE_NAME)) {
57464          warned = true;
57465
57466          error('render(): Target node has markup rendered by React, but there ' + 'are unrelated nodes as well. This is most commonly caused by ' + 'white-space inserted around server-rendered markup.');
57467        }
57468      }
57469
57470      container.removeChild(rootSibling);
57471    }
57472  }
57473
57474  {
57475    if (shouldHydrate && !forceHydrate && !warnedAboutHydrateAPI) {
57476      warnedAboutHydrateAPI = true;
57477
57478      warn('render(): Calling ReactDOM.render() to hydrate server-rendered markup ' + 'will stop working in React v17. Replace the ReactDOM.render() call ' + 'with ReactDOM.hydrate() if you want React to attach to the server HTML.');
57479    }
57480  }
57481
57482  return createLegacyRoot(container, shouldHydrate ? {
57483    hydrate: true
57484  } : undefined);
57485}
57486
57487function warnOnInvalidCallback$1(callback, callerName) {
57488  {
57489    if (callback !== null && typeof callback !== 'function') {
57490      error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback);
57491    }
57492  }
57493}
57494
57495function legacyRenderSubtreeIntoContainer(parentComponent, children, container, forceHydrate, callback) {
57496  {
57497    topLevelUpdateWarnings(container);
57498    warnOnInvalidCallback$1(callback === undefined ? null : callback, 'render');
57499  } // TODO: Without `any` type, Flow says "Property cannot be accessed on any
57500  // member of intersection type." Whyyyyyy.
57501
57502
57503  var root = container._reactRootContainer;
57504  var fiberRoot;
57505
57506  if (!root) {
57507    // Initial mount
57508    root = container._reactRootContainer = legacyCreateRootFromDOMContainer(container, forceHydrate);
57509    fiberRoot = root._internalRoot;
57510
57511    if (typeof callback === 'function') {
57512      var originalCallback = callback;
57513
57514      callback = function () {
57515        var instance = getPublicRootInstance(fiberRoot);
57516        originalCallback.call(instance);
57517      };
57518    } // Initial mount should not be batched.
57519
57520
57521    unbatchedUpdates(function () {
57522      updateContainer(children, fiberRoot, parentComponent, callback);
57523    });
57524  } else {
57525    fiberRoot = root._internalRoot;
57526
57527    if (typeof callback === 'function') {
57528      var _originalCallback = callback;
57529
57530      callback = function () {
57531        var instance = getPublicRootInstance(fiberRoot);
57532
57533        _originalCallback.call(instance);
57534      };
57535    } // Update
57536
57537
57538    updateContainer(children, fiberRoot, parentComponent, callback);
57539  }
57540
57541  return getPublicRootInstance(fiberRoot);
57542}
57543
57544function findDOMNode(componentOrElement) {
57545  {
57546    var owner = ReactCurrentOwner$3.current;
57547
57548    if (owner !== null && owner.stateNode !== null) {
57549      var warnedAboutRefsInRender = owner.stateNode._warnedAboutRefsInRender;
57550
57551      if (!warnedAboutRefsInRender) {
57552        error('%s is accessing findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentName(owner.type) || 'A component');
57553      }
57554
57555      owner.stateNode._warnedAboutRefsInRender = true;
57556    }
57557  }
57558
57559  if (componentOrElement == null) {
57560    return null;
57561  }
57562
57563  if (componentOrElement.nodeType === ELEMENT_NODE) {
57564    return componentOrElement;
57565  }
57566
57567  {
57568    return findHostInstanceWithWarning(componentOrElement, 'findDOMNode');
57569  }
57570}
57571function hydrate(element, container, callback) {
57572  if (!isValidContainer(container)) {
57573    {
57574      throw Error( "Target container is not a DOM element." );
57575    }
57576  }
57577
57578  {
57579    var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;
57580
57581    if (isModernRoot) {
57582      error('You are calling ReactDOM.hydrate() on a container that was previously ' + 'passed to ReactDOM.createRoot(). This is not supported. ' + 'Did you mean to call createRoot(container, {hydrate: true}).render(element)?');
57583    }
57584  } // TODO: throw or warn if we couldn't hydrate?
57585
57586
57587  return legacyRenderSubtreeIntoContainer(null, element, container, true, callback);
57588}
57589function render(element, container, callback) {
57590  if (!isValidContainer(container)) {
57591    {
57592      throw Error( "Target container is not a DOM element." );
57593    }
57594  }
57595
57596  {
57597    var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;
57598
57599    if (isModernRoot) {
57600      error('You are calling ReactDOM.render() on a container that was previously ' + 'passed to ReactDOM.createRoot(). This is not supported. ' + 'Did you mean to call root.render(element)?');
57601    }
57602  }
57603
57604  return legacyRenderSubtreeIntoContainer(null, element, container, false, callback);
57605}
57606function unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {
57607  if (!isValidContainer(containerNode)) {
57608    {
57609      throw Error( "Target container is not a DOM element." );
57610    }
57611  }
57612
57613  if (!(parentComponent != null && has(parentComponent))) {
57614    {
57615      throw Error( "parentComponent must be a valid React Component" );
57616    }
57617  }
57618
57619  return legacyRenderSubtreeIntoContainer(parentComponent, element, containerNode, false, callback);
57620}
57621function unmountComponentAtNode(container) {
57622  if (!isValidContainer(container)) {
57623    {
57624      throw Error( "unmountComponentAtNode(...): Target container is not a DOM element." );
57625    }
57626  }
57627
57628  {
57629    var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;
57630
57631    if (isModernRoot) {
57632      error('You are calling ReactDOM.unmountComponentAtNode() on a container that was previously ' + 'passed to ReactDOM.createRoot(). This is not supported. Did you mean to call root.unmount()?');
57633    }
57634  }
57635
57636  if (container._reactRootContainer) {
57637    {
57638      var rootEl = getReactRootElementInContainer(container);
57639      var renderedByDifferentReact = rootEl && !getInstanceFromNode$1(rootEl);
57640
57641      if (renderedByDifferentReact) {
57642        error("unmountComponentAtNode(): The node you're attempting to unmount " + 'was rendered by another copy of React.');
57643      }
57644    } // Unmount should not be batched.
57645
57646
57647    unbatchedUpdates(function () {
57648      legacyRenderSubtreeIntoContainer(null, null, container, false, function () {
57649        // $FlowFixMe This should probably use `delete container._reactRootContainer`
57650        container._reactRootContainer = null;
57651        unmarkContainerAsRoot(container);
57652      });
57653    }); // If you call unmountComponentAtNode twice in quick succession, you'll
57654    // get `true` twice. That's probably fine?
57655
57656    return true;
57657  } else {
57658    {
57659      var _rootEl = getReactRootElementInContainer(container);
57660
57661      var hasNonRootReactChild = !!(_rootEl && getInstanceFromNode$1(_rootEl)); // Check if the container itself is a React root node.
57662
57663      var isContainerReactRoot = container.nodeType === ELEMENT_NODE && isValidContainer(container.parentNode) && !!container.parentNode._reactRootContainer;
57664
57665      if (hasNonRootReactChild) {
57666        error("unmountComponentAtNode(): The node you're attempting to unmount " + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.');
57667      }
57668    }
57669
57670    return false;
57671  }
57672}
57673
57674function createPortal(children, containerInfo, // TODO: figure out the API for cross-renderer implementation.
57675implementation) {
57676  var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
57677  return {
57678    // This tag allow us to uniquely identify this as a React Portal
57679    $$typeof: REACT_PORTAL_TYPE,
57680    key: key == null ? null : '' + key,
57681    children: children,
57682    containerInfo: containerInfo,
57683    implementation: implementation
57684  };
57685}
57686
57687var ReactVersion = '16.14.0';
57688
57689setAttemptUserBlockingHydration(attemptUserBlockingHydration$1);
57690setAttemptContinuousHydration(attemptContinuousHydration$1);
57691setAttemptHydrationAtCurrentPriority(attemptHydrationAtCurrentPriority$1);
57692var didWarnAboutUnstableCreatePortal = false;
57693
57694{
57695  if (typeof Map !== 'function' || // $FlowIssue Flow incorrectly thinks Map has no prototype
57696  Map.prototype == null || typeof Map.prototype.forEach !== 'function' || typeof Set !== 'function' || // $FlowIssue Flow incorrectly thinks Set has no prototype
57697  Set.prototype == null || typeof Set.prototype.clear !== 'function' || typeof Set.prototype.forEach !== 'function') {
57698    error('React depends on Map and Set built-in types. Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills');
57699  }
57700}
57701
57702setRestoreImplementation(restoreControlledState$3);
57703setBatchingImplementation(batchedUpdates$1, discreteUpdates$1, flushDiscreteUpdates, batchedEventUpdates$1);
57704
57705function createPortal$1(children, container) {
57706  var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
57707
57708  if (!isValidContainer(container)) {
57709    {
57710      throw Error( "Target container is not a DOM element." );
57711    }
57712  } // TODO: pass ReactDOM portal implementation as third argument
57713  // $FlowFixMe The Flow type is opaque but there's no way to actually create it.
57714
57715
57716  return createPortal(children, container, null, key);
57717}
57718
57719function renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {
57720
57721  return unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback);
57722}
57723
57724function unstable_createPortal(children, container) {
57725  var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
57726
57727  {
57728    if (!didWarnAboutUnstableCreatePortal) {
57729      didWarnAboutUnstableCreatePortal = true;
57730
57731      warn('The ReactDOM.unstable_createPortal() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactDOM.createPortal() instead. It has the exact same API, ' + 'but without the "unstable_" prefix.');
57732    }
57733  }
57734
57735  return createPortal$1(children, container, key);
57736}
57737
57738var Internals = {
57739  // Keep in sync with ReactDOMUnstableNativeDependencies.js
57740  // ReactTestUtils.js, and ReactTestUtilsAct.js. This is an array for better minification.
57741  Events: [getInstanceFromNode$1, getNodeFromInstance$1, getFiberCurrentPropsFromNode$1, injectEventPluginsByName, eventNameDispatchConfigs, accumulateTwoPhaseDispatches, accumulateDirectDispatches, enqueueStateRestore, restoreStateIfNeeded, dispatchEvent, runEventsInBatch, flushPassiveEffects, IsThisRendererActing]
57742};
57743var foundDevTools = injectIntoDevTools({
57744  findFiberByHostInstance: getClosestInstanceFromNode,
57745  bundleType:  1 ,
57746  version: ReactVersion,
57747  rendererPackageName: 'react-dom'
57748});
57749
57750{
57751  if (!foundDevTools && canUseDOM && window.top === window.self) {
57752    // If we're in Chrome or Firefox, provide a download link if not installed.
57753    if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {
57754      var protocol = window.location.protocol; // Don't warn in exotic cases like chrome-extension://.
57755
57756      if (/^(https?|file):$/.test(protocol)) {
57757        // eslint-disable-next-line react-internal/no-production-logging
57758        console.info('%cDownload the React DevTools ' + 'for a better development experience: ' + 'https://fb.me/react-devtools' + (protocol === 'file:' ? '\nYou might need to use a local HTTP server (instead of file://): ' + 'https://fb.me/react-devtools-faq' : ''), 'font-weight:bold');
57759      }
57760    }
57761  }
57762}
57763
57764exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals;
57765exports.createPortal = createPortal$1;
57766exports.findDOMNode = findDOMNode;
57767exports.flushSync = flushSync;
57768exports.hydrate = hydrate;
57769exports.render = render;
57770exports.unmountComponentAtNode = unmountComponentAtNode;
57771exports.unstable_batchedUpdates = batchedUpdates$1;
57772exports.unstable_createPortal = unstable_createPortal;
57773exports.unstable_renderSubtreeIntoContainer = renderSubtreeIntoContainer;
57774exports.version = ReactVersion;
57775  })();
57776}
57777
57778
57779/***/ }),
57780
vendor: 1,447 bytes, lines 57781-57825
57781/***/ "./node_modules/react-dom/index.js":
57782/*!*****************************************!*\
57783  !*** ./node_modules/react-dom/index.js ***!
57784  \*****************************************/
57785/*! no static exports found */
57786/***/ (function(module, exports, __webpack_require__) {
57787
57788"use strict";
57789
57790
57791function checkDCE() {
57792  /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
57793  if (
57794    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||
57795    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'
57796  ) {
57797    return;
57798  }
57799  if (true) {
57800    // This branch is unreachable because this function is only called
57801    // in production, but the condition is true only in development.
57802    // Therefore if the branch is still here, dead code elimination wasn't
57803    // properly applied.
57804    // Don't change the message. React DevTools relies on it. Also make sure
57805    // this message doesn't occur elsewhere in this function, or it will cause
57806    // a false positive.
57807    throw new Error('^_^');
57808  }
57809  try {
57810    // Verify that the code above has been dead code eliminated (DCE'd).
57811    __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);
57812  } catch (err) {
57813    // DevTools shouldn't crash React, no matter what.
57814    // We should still report in case we break this code.
57815    console.error(err);
57816  }
57817}
57818
57819if (false) {} else {
57820  module.exports = __webpack_require__(/*! ./cjs/react-dom.development.js */ "./node_modules/react-dom/cjs/react-dom.development.js");
57821}
57822
57823
57824/***/ }),
57825
vendor: 3,155 bytes, lines 57826-57931
57826/***/ "./node_modules/react-fast-compare/index.js":
57827/*!**************************************************!*\
57828  !*** ./node_modules/react-fast-compare/index.js ***!
57829  \**************************************************/
57830/*! no static exports found */
57831/***/ (function(module, exports, __webpack_require__) {
57832
57833"use strict";
57834
57835
57836var isArray = Array.isArray;
57837var keyList = Object.keys;
57838var hasProp = Object.prototype.hasOwnProperty;
57839var hasElementType = typeof Element !== 'undefined';
57840
57841function equal(a, b) {
57842  // fast-deep-equal index.js 2.0.1
57843  if (a === b) return true;
57844
57845  if (a && b && typeof a == 'object' && typeof b == 'object') {
57846    var arrA = isArray(a)
57847      , arrB = isArray(b)
57848      , i
57849      , length
57850      , key;
57851
57852    if (arrA && arrB) {
57853      length = a.length;
57854      if (length != b.length) return false;
57855      for (i = length; i-- !== 0;)
57856        if (!equal(a[i], b[i])) return false;
57857      return true;
57858    }
57859
57860    if (arrA != arrB) return false;
57861
57862    var dateA = a instanceof Date
57863      , dateB = b instanceof Date;
57864    if (dateA != dateB) return false;
57865    if (dateA && dateB) return a.getTime() == b.getTime();
57866
57867    var regexpA = a instanceof RegExp
57868      , regexpB = b instanceof RegExp;
57869    if (regexpA != regexpB) return false;
57870    if (regexpA && regexpB) return a.toString() == b.toString();
57871
57872    var keys = keyList(a);
57873    length = keys.length;
57874
57875    if (length !== keyList(b).length)
57876      return false;
57877
57878    for (i = length; i-- !== 0;)
57879      if (!hasProp.call(b, keys[i])) return false;
57880    // end fast-deep-equal
57881
57882    // start react-fast-compare
57883    // custom handling for DOM elements
57884    if (hasElementType && a instanceof Element && b instanceof Element)
57885      return a === b;
57886
57887    // custom handling for React
57888    for (i = length; i-- !== 0;) {
57889      key = keys[i];
57890      if (key === '_owner' && a.$$typeof) {
57891        // React-specific: avoid traversing React elements' _owner.
57892        //  _owner contains circular references
57893        // and is not needed when comparing the actual elements (and not their owners)
57894        // .$$typeof and ._store on just reasonable markers of a react element
57895        continue;
57896      } else {
57897        // all other properties should be traversed as usual
57898        if (!equal(a[key], b[key])) return false;
57899      }
57900    }
57901    // end react-fast-compare
57902
57903    // fast-deep-equal index.js 2.0.1
57904    return true;
57905  }
57906
57907  return a !== a && b !== b;
57908}
57909// end fast-deep-equal
57910
57911module.exports = function exportedEqual(a, b) {
57912  try {
57913    return equal(a, b);
57914  } catch (error) {
57915    if ((error.message && error.message.match(/stack|recursion/i)) || (error.number === -2146828260)) {
57916      // warn on circular references, don't crash
57917      // browsers give this different errors name and messages:
57918      // chrome/safari: "RangeError", "Maximum call stack size exceeded"
57919      // firefox: "InternalError", too much recursion"
57920      // edge: "Error", "Out of stack space"
57921      console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message);
57922      return false;
57923    }
57924    // some other error. we should definitely know about these
57925    throw error;
57926  }
57927};
57928
57929
57930/***/ }),
57931
vendor: 7,304 bytes, lines 57932-58124
57932/***/ "./node_modules/react-is/cjs/react-is.development.js":
57933/*!***********************************************************!*\
57934  !*** ./node_modules/react-is/cjs/react-is.development.js ***!
57935  \***********************************************************/
57936/*! no static exports found */
57937/***/ (function(module, exports, __webpack_require__) {
57938
57939"use strict";
57940/** @license React v16.13.1
57941 * react-is.development.js
57942 *
57943 * Copyright (c) Facebook, Inc. and its affiliates.
57944 *
57945 * This source code is licensed under the MIT license found in the
57946 * LICENSE file in the root directory of this source tree.
57947 */
57948
57949
57950
57951
57952
57953if (true) {
57954  (function() {
57955'use strict';
57956
57957// The Symbol used to tag the ReactElement-like types. If there is no native Symbol
57958// nor polyfill, then a plain number is used for performance.
57959var hasSymbol = typeof Symbol === 'function' && Symbol.for;
57960var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
57961var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
57962var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
57963var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
57964var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
57965var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
57966var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
57967// (unstable) APIs that have been removed. Can we remove the symbols?
57968
57969var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
57970var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
57971var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
57972var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
57973var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
57974var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
57975var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
57976var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
57977var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
57978var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
57979var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
57980
57981function isValidElementType(type) {
57982  return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
57983  type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
57984}
57985
57986function typeOf(object) {
57987  if (typeof object === 'object' && object !== null) {
57988    var $$typeof = object.$$typeof;
57989
57990    switch ($$typeof) {
57991      case REACT_ELEMENT_TYPE:
57992        var type = object.type;
57993
57994        switch (type) {
57995          case REACT_ASYNC_MODE_TYPE:
57996          case REACT_CONCURRENT_MODE_TYPE:
57997          case REACT_FRAGMENT_TYPE:
57998          case REACT_PROFILER_TYPE:
57999          case REACT_STRICT_MODE_TYPE:
58000          case REACT_SUSPENSE_TYPE:
58001            return type;
58002
58003          default:
58004            var $$typeofType = type && type.$$typeof;
58005
58006            switch ($$typeofType) {
58007              case REACT_CONTEXT_TYPE:
58008              case REACT_FORWARD_REF_TYPE:
58009              case REACT_LAZY_TYPE:
58010              case REACT_MEMO_TYPE:
58011              case REACT_PROVIDER_TYPE:
58012                return $$typeofType;
58013
58014              default:
58015                return $$typeof;
58016            }
58017
58018        }
58019
58020      case REACT_PORTAL_TYPE:
58021        return $$typeof;
58022    }
58023  }
58024
58025  return undefined;
58026} // AsyncMode is deprecated along with isAsyncMode
58027
58028var AsyncMode = REACT_ASYNC_MODE_TYPE;
58029var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
58030var ContextConsumer = REACT_CONTEXT_TYPE;
58031var ContextProvider = REACT_PROVIDER_TYPE;
58032var Element = REACT_ELEMENT_TYPE;
58033var ForwardRef = REACT_FORWARD_REF_TYPE;
58034var Fragment = REACT_FRAGMENT_TYPE;
58035var Lazy = REACT_LAZY_TYPE;
58036var Memo = REACT_MEMO_TYPE;
58037var Portal = REACT_PORTAL_TYPE;
58038var Profiler = REACT_PROFILER_TYPE;
58039var StrictMode = REACT_STRICT_MODE_TYPE;
58040var Suspense = REACT_SUSPENSE_TYPE;
58041var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
58042
58043function isAsyncMode(object) {
58044  {
58045    if (!hasWarnedAboutDeprecatedIsAsyncMode) {
58046      hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
58047
58048      console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
58049    }
58050  }
58051
58052  return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
58053}
58054function isConcurrentMode(object) {
58055  return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
58056}
58057function isContextConsumer(object) {
58058  return typeOf(object) === REACT_CONTEXT_TYPE;
58059}
58060function isContextProvider(object) {
58061  return typeOf(object) === REACT_PROVIDER_TYPE;
58062}
58063function isElement(object) {
58064  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
58065}
58066function isForwardRef(object) {
58067  return typeOf(object) === REACT_FORWARD_REF_TYPE;
58068}
58069function isFragment(object) {
58070  return typeOf(object) === REACT_FRAGMENT_TYPE;
58071}
58072function isLazy(object) {
58073  return typeOf(object) === REACT_LAZY_TYPE;
58074}
58075function isMemo(object) {
58076  return typeOf(object) === REACT_MEMO_TYPE;
58077}
58078function isPortal(object) {
58079  return typeOf(object) === REACT_PORTAL_TYPE;
58080}
58081function isProfiler(object) {
58082  return typeOf(object) === REACT_PROFILER_TYPE;
58083}
58084function isStrictMode(object) {
58085  return typeOf(object) === REACT_STRICT_MODE_TYPE;
58086}
58087function isSuspense(object) {
58088  return typeOf(object) === REACT_SUSPENSE_TYPE;
58089}
58090
58091exports.AsyncMode = AsyncMode;
58092exports.ConcurrentMode = ConcurrentMode;
58093exports.ContextConsumer = ContextConsumer;
58094exports.ContextProvider = ContextProvider;
58095exports.Element = Element;
58096exports.ForwardRef = ForwardRef;
58097exports.Fragment = Fragment;
58098exports.Lazy = Lazy;
58099exports.Memo = Memo;
58100exports.Portal = Portal;
58101exports.Profiler = Profiler;
58102exports.StrictMode = StrictMode;
58103exports.Suspense = Suspense;
58104exports.isAsyncMode = isAsyncMode;
58105exports.isConcurrentMode = isConcurrentMode;
58106exports.isContextConsumer = isContextConsumer;
58107exports.isContextProvider = isContextProvider;
58108exports.isElement = isElement;
58109exports.isForwardRef = isForwardRef;
58110exports.isFragment = isFragment;
58111exports.isLazy = isLazy;
58112exports.isMemo = isMemo;
58113exports.isPortal = isPortal;
58114exports.isProfiler = isProfiler;
58115exports.isStrictMode = isStrictMode;
58116exports.isSuspense = isSuspense;
58117exports.isValidElementType = isValidElementType;
58118exports.typeOf = typeOf;
58119  })();
58120}
58121
58122
58123/***/ }),
58124
vendor: 451 bytes, lines 58125-58141
58125/***/ "./node_modules/react-is/index.js":
58126/*!****************************************!*\
58127  !*** ./node_modules/react-is/index.js ***!
58128  \****************************************/
58129/*! no static exports found */
58130/***/ (function(module, exports, __webpack_require__) {
58131
58132"use strict";
58133
58134
58135if (false) {} else {
58136  module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "./node_modules/react-is/cjs/react-is.development.js");
58137}
58138
58139
58140/***/ }),
58141
vendor: 13,505 bytes, lines 58142-58152
58142/***/ "./node_modules/react-text-mask/dist/reactTextMask.js":
58143/*!************************************************************!*\
58144  !*** ./node_modules/react-text-mask/dist/reactTextMask.js ***!
58145  \************************************************************/
58146/*! no static exports found */
58147/***/ (function(module, exports, __webpack_require__) {
58148
58149!function(e,t){ true?module.exports=t(__webpack_require__(/*! react */ "./node_modules/react/index.js")):undefined}(this,function(e){return function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0}),t.conformToMask=void 0;var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),f=r(3);Object.defineProperty(t,"conformToMask",{enumerable:!0,get:function(){return n(f).default}});var c=r(11),p=n(c),d=r(9),h=n(d),v=r(5),y=n(v),m=r(2),b=function(e){function t(){var e;i(this,t);for(var r=arguments.length,n=Array(r),o=0;o<r;o++)n[o]=arguments[o];var u=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(n)));return u.setRef=u.setRef.bind(u),u.onBlur=u.onBlur.bind(u),u.onChange=u.onChange.bind(u),u}return u(t,e),l(t,[{key:"setRef",value:function(e){this.inputElement=e}},{key:"initTextMask",value:function(){var e=this.props,t=this.props.value;this.textMaskInputElement=(0,y.default)(s({inputElement:this.inputElement},e)),this.textMaskInputElement.update(t)}},{key:"componentDidMount",value:function(){this.initTextMask()}},{key:"componentDidUpdate",value:function(e){var t=this.props,r=t.value,n=t.pipe,o=t.mask,i=t.guide,a=t.placeholderChar,u=t.showMask,s={guide:i,placeholderChar:a,showMask:u},l="function"==typeof n&&"function"==typeof e.pipe?n.toString()!==e.pipe.toString():(0,m.isNil)(n)&&!(0,m.isNil)(e.pipe)||!(0,m.isNil)(n)&&(0,m.isNil)(e.pipe),f=o.toString()!==e.mask.toString(),c=Object.keys(s).some(function(t){return s[t]!==e[t]})||f||l,p=r!==this.inputElement.value;(p||c)&&this.initTextMask()}},{key:"render",value:function e(){var t=this.props,e=t.render,r=o(t,["render"]);return delete r.mask,delete r.guide,delete r.pipe,delete r.placeholderChar,delete r.keepCharPositions,delete r.value,delete r.onBlur,delete r.onChange,delete r.showMask,e(this.setRef,s({onBlur:this.onBlur,onChange:this.onChange,defaultValue:this.props.value},r))}},{key:"onChange",value:function(e){this.textMaskInputElement.update(),"function"==typeof this.props.onChange&&this.props.onChange(e)}},{key:"onBlur",value:function(e){"function"==typeof this.props.onBlur&&this.props.onBlur(e)}}]),t}(p.default.PureComponent);t.default=b,b.propTypes={mask:h.default.oneOfType([h.default.array,h.default.func,h.default.bool,h.default.shape({mask:h.default.oneOfType([h.default.array,h.default.func]),pipe:h.default.func})]).isRequired,guide:h.default.bool,value:h.default.oneOfType([h.default.string,h.default.number]),pipe:h.default.func,placeholderChar:h.default.string,keepCharPositions:h.default.bool,showMask:h.default.bool},b.defaultProps={render:function(e,t){return p.default.createElement("input",s({ref:e},t))}}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.placeholderChar="_",t.strFunction="function"},function(e,t,r){"use strict";function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:l.placeholderChar;if(!o(e))throw new Error("Text-mask:convertMaskToPlaceholder; The mask property must be an array.");if(e.indexOf(t)!==-1)throw new Error("Placeholder character must not be used as part of the mask. Please specify a character that is not present in your mask as your placeholder character.\n\n"+("The placeholder character that was received is: "+JSON.stringify(t)+"\n\n")+("The mask that was received is: "+JSON.stringify(e)));return e.map(function(e){return e instanceof RegExp?t:e}).join("")}function o(e){return Array.isArray&&Array.isArray(e)||e instanceof Array}function i(e){return"string"==typeof e||e instanceof String}function a(e){return"number"==typeof e&&void 0===e.length&&!isNaN(e)}function u(e){return"undefined"==typeof e||null===e}function s(e){for(var t=[],r=void 0;r=e.indexOf(c),r!==-1;)t.push(r),e.splice(r,1);return{maskWithoutCaretTraps:e,indexes:t}}Object.defineProperty(t,"__esModule",{value:!0}),t.convertMaskToPlaceholder=n,t.isArray=o,t.isString=i,t.isNumber=a,t.isNil=u,t.processCaretTraps=s;var l=r(1),f=[],c="[]"},function(e,t,r){"use strict";function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!(0,i.isArray)(t)){if(("undefined"==typeof t?"undefined":o(t))!==a.strFunction)throw new Error("Text-mask:conformToMask; The mask property must be an array.");t=t(e,r),t=(0,i.processCaretTraps)(t).maskWithoutCaretTraps}var n=r.guide,l=void 0===n||n,f=r.previousConformedValue,c=void 0===f?s:f,p=r.placeholderChar,d=void 0===p?a.placeholderChar:p,h=r.placeholder,v=void 0===h?(0,i.convertMaskToPlaceholder)(t,d):h,y=r.currentCaretPosition,m=r.keepCharPositions,b=l===!1&&void 0!==c,g=e.length,k=c.length,C=v.length,O=t.length,T=g-k,P=T>0,x=y+(P?-T:0),w=x+Math.abs(T);if(m===!0&&!P){for(var S=s,_=x;_<w;_++)v[_]===d&&(S+=d);e=e.slice(0,x)+S+e.slice(x,g)}for(var M=e.split(s).map(function(e,t){return{char:e,isNew:t>=x&&t<w}}),j=g-1;j>=0;j--){var E=M[j].char;if(E!==d){var R=j>=x&&k===O;E===v[R?j-T:j]&&M.splice(j,1)}}var V=s,N=!1;e:for(var A=0;A<C;A++){var B=v[A];if(B===d){if(M.length>0)for(;M.length>0;){var I=M.shift(),F=I.char,q=I.isNew;if(F===d&&b!==!0){V+=d;continue e}if(t[A].test(F)){if(m===!0&&q!==!1&&c!==s&&l!==!1&&P){for(var D=M.length,L=null,W=0;W<D;W++){var J=M[W];if(J.char!==d&&J.isNew===!1)break;if(J.char===d){L=W;break}}null!==L?(V+=F,M.splice(L,1)):A--}else V+=F;continue e}N=!0}b===!1&&(V+=v.substr(A,C));break}V+=B}if(b&&P===!1){for(var U=null,H=0;H<V.length;H++)v[H]===d&&(U=H);V=null!==U?V.substr(0,U+1):s}return{conformedValue:V,meta:{someCharsRejected:N}}}Object.defineProperty(t,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=n;var i=r(2),a=r(1),u=[],s=""},function(e,t){"use strict";function r(e){var t=e.previousConformedValue,r=void 0===t?o:t,i=e.previousPlaceholder,a=void 0===i?o:i,u=e.currentCaretPosition,s=void 0===u?0:u,l=e.conformedValue,f=e.rawValue,c=e.placeholderChar,p=e.placeholder,d=e.indexesOfPipedChars,h=void 0===d?n:d,v=e.caretTrapIndexes,y=void 0===v?n:v;if(0===s||!f.length)return 0;var m=f.length,b=r.length,g=p.length,k=l.length,C=m-b,O=C>0,T=0===b,P=C>1&&!O&&!T;if(P)return s;var x=O&&(r===l||l===p),w=0,S=void 0,_=void 0;if(x)w=s-C;else{var M=l.toLowerCase(),j=f.toLowerCase(),E=j.substr(0,s).split(o),R=E.filter(function(e){return M.indexOf(e)!==-1});_=R[R.length-1];var V=a.substr(0,R.length).split(o).filter(function(e){return e!==c}).length,N=p.substr(0,R.length).split(o).filter(function(e){return e!==c}).length,A=N!==V,B=void 0!==a[R.length-1]&&void 0!==p[R.length-2]&&a[R.length-1]!==c&&a[R.length-1]!==p[R.length-1]&&a[R.length-1]===p[R.length-2];!O&&(A||B)&&V>0&&p.indexOf(_)>-1&&void 0!==f[s]&&(S=!0,_=f[s]);for(var I=h.map(function(e){return M[e]}),F=I.filter(function(e){return e===_}).length,q=R.filter(function(e){return e===_}).length,D=p.substr(0,p.indexOf(c)).split(o).filter(function(e,t){return e===_&&f[t]!==e}).length,L=D+q+F+(S?1:0),W=0,J=0;J<k;J++){var U=M[J];if(w=J+1,U===_&&W++,W>=L)break}}if(O){for(var H=w,Y=w;Y<=g;Y++)if(p[Y]===c&&(H=Y),p[Y]===c||y.indexOf(Y)!==-1||Y===g)return H}else if(S){for(var z=w-1;z>=0;z--)if(l[z]===_||y.indexOf(z)!==-1||0===z)return z}else for(var G=w;G>=0;G--)if(p[G-1]===c||y.indexOf(G)!==-1||0===G)return G}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r;var n=[],o=""},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e){var t={previousConformedValue:void 0,previousPlaceholder:void 0};return{state:t,update:function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=n.inputElement,l=n.mask,c=n.guide,y=n.pipe,b=n.placeholderChar,g=void 0===b?h.placeholderChar:b,k=n.keepCharPositions,C=void 0!==k&&k,O=n.showMask,T=void 0!==O&&O;if("undefined"==typeof r&&(r=o.value),r!==t.previousConformedValue){("undefined"==typeof l?"undefined":s(l))===m&&void 0!==l.pipe&&void 0!==l.mask&&(y=l.pipe,l=l.mask);var P=void 0,x=void 0;if(l instanceof Array&&(P=(0,d.convertMaskToPlaceholder)(l,g)),l!==!1){var w=a(r),S=o.selectionEnd,_=t.previousConformedValue,M=t.previousPlaceholder,j=void 0;if(("undefined"==typeof l?"undefined":s(l))===h.strFunction){if(x=l(w,{currentCaretPosition:S,previousConformedValue:_,placeholderChar:g}),x===!1)return;var E=(0,d.processCaretTraps)(x),R=E.maskWithoutCaretTraps,V=E.indexes;x=R,j=V,P=(0,d.convertMaskToPlaceholder)(x,g)}else x=l;var N={previousConformedValue:_,guide:c,placeholderChar:g,pipe:y,placeholder:P,currentCaretPosition:S,keepCharPositions:C},A=(0,p.default)(w,x,N),B=A.conformedValue,I=("undefined"==typeof y?"undefined":s(y))===h.strFunction,F={};I&&(F=y(B,u({rawValue:w},N)),F===!1?F={value:_,rejected:!0}:(0,d.isString)(F)&&(F={value:F}));var q=I?F.value:B,D=(0,f.default)({previousConformedValue:_,previousPlaceholder:M,conformedValue:q,placeholder:P,rawValue:w,currentCaretPosition:S,placeholderChar:g,indexesOfPipedChars:F.indexesOfPipedChars,caretTrapIndexes:j}),L=q===P&&0===D,W=T?P:v,J=L?W:q;t.previousConformedValue=J,t.previousPlaceholder=P,o.value!==J&&(o.value=J,i(o,D))}}}}}function i(e,t){document.activeElement===e&&(b?g(function(){return e.setSelectionRange(t,t,y)},0):e.setSelectionRange(t,t,y))}function a(e){if((0,d.isString)(e))return e;if((0,d.isNumber)(e))return String(e);if(void 0===e||null===e)return v;throw new Error("The 'value' provided to Text Mask needs to be a string or a number. The value received was:\n\n "+JSON.stringify(e))}Object.defineProperty(t,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=o;var l=r(4),f=n(l),c=r(3),p=n(c),d=r(2),h=r(1),v="",y="none",m="object",b="undefined"!=typeof navigator&&/Android/i.test(navigator.userAgent),g="undefined"!=typeof requestAnimationFrame?requestAnimationFrame:setTimeout},function(e,t){"use strict";function r(e){return function(){return e}}var n=function(){};n.thatReturns=r,n.thatReturnsFalse=r(!1),n.thatReturnsTrue=r(!0),n.thatReturnsNull=r(null),n.thatReturnsThis=function(){return this},n.thatReturnsArgument=function(e){return e},e.exports=n},function(e,t,r){"use strict";function n(e,t,r,n,i,a,u,s){if(o(t),!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var f=[r,n,i,a,u,s],c=0;l=new Error(t.replace(/%s/g,function(){return f[c++]})),l.name="Invariant Violation"}throw l.framesToPop=1,l}}var o=function(e){};e.exports=n},function(e,t,r){"use strict";var n=r(6),o=r(7),i=r(10);e.exports=function(){function e(e,t,r,n,a,u){u!==i&&o(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return r.checkPropTypes=n,r.PropTypes=r,r}},function(e,t,r){"use strict";"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports=r(8)()},function(e,t){"use strict";var r="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";e.exports=r},function(t,r){t.exports=e}])});
58150
58151/***/ }),
58152
vendor: 61,065 bytes, lines 58153-60076
58153/***/ "./node_modules/react/cjs/react.development.js":
58154/*!*****************************************************!*\
58155  !*** ./node_modules/react/cjs/react.development.js ***!
58156  \*****************************************************/
58157/*! no static exports found */
58158/***/ (function(module, exports, __webpack_require__) {
58159
58160"use strict";
58161/** @license React v16.14.0
58162 * react.development.js
58163 *
58164 * Copyright (c) Facebook, Inc. and its affiliates.
58165 *
58166 * This source code is licensed under the MIT license found in the
58167 * LICENSE file in the root directory of this source tree.
58168 */
58169
58170
58171
58172
58173
58174if (true) {
58175  (function() {
58176'use strict';
58177
58178var _assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js");
58179var checkPropTypes = __webpack_require__(/*! prop-types/checkPropTypes */ "./node_modules/prop-types/checkPropTypes.js");
58180
58181var ReactVersion = '16.14.0';
58182
58183// The Symbol used to tag the ReactElement-like types. If there is no native Symbol
58184// nor polyfill, then a plain number is used for performance.
58185var hasSymbol = typeof Symbol === 'function' && Symbol.for;
58186var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
58187var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
58188var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
58189var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
58190var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
58191var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
58192var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
58193var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
58194var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
58195var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
58196var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
58197var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
58198var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
58199var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
58200var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
58201var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
58202var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
58203var MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
58204var FAUX_ITERATOR_SYMBOL = '@@iterator';
58205function getIteratorFn(maybeIterable) {
58206  if (maybeIterable === null || typeof maybeIterable !== 'object') {
58207    return null;
58208  }
58209
58210  var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];
58211
58212  if (typeof maybeIterator === 'function') {
58213    return maybeIterator;
58214  }
58215
58216  return null;
58217}
58218
58219/**
58220 * Keeps track of the current dispatcher.
58221 */
58222var ReactCurrentDispatcher = {
58223  /**
58224   * @internal
58225   * @type {ReactComponent}
58226   */
58227  current: null
58228};
58229
58230/**
58231 * Keeps track of the current batch's configuration such as how long an update
58232 * should suspend for if it needs to.
58233 */
58234var ReactCurrentBatchConfig = {
58235  suspense: null
58236};
58237
58238/**
58239 * Keeps track of the current owner.
58240 *
58241 * The current owner is the component who should own any components that are
58242 * currently being constructed.
58243 */
58244var ReactCurrentOwner = {
58245  /**
58246   * @internal
58247   * @type {ReactComponent}
58248   */
58249  current: null
58250};
58251
58252var BEFORE_SLASH_RE = /^(.*)[\\\/]/;
58253function describeComponentFrame (name, source, ownerName) {
58254  var sourceInfo = '';
58255
58256  if (source) {
58257    var path = source.fileName;
58258    var fileName = path.replace(BEFORE_SLASH_RE, '');
58259
58260    {
58261      // In DEV, include code for a common special case:
58262      // prefer "folder/index.js" instead of just "index.js".
58263      if (/^index\./.test(fileName)) {
58264        var match = path.match(BEFORE_SLASH_RE);
58265
58266        if (match) {
58267          var pathBeforeSlash = match[1];
58268
58269          if (pathBeforeSlash) {
58270            var folderName = pathBeforeSlash.replace(BEFORE_SLASH_RE, '');
58271            fileName = folderName + '/' + fileName;
58272          }
58273        }
58274      }
58275    }
58276
58277    sourceInfo = ' (at ' + fileName + ':' + source.lineNumber + ')';
58278  } else if (ownerName) {
58279    sourceInfo = ' (created by ' + ownerName + ')';
58280  }
58281
58282  return '\n    in ' + (name || 'Unknown') + sourceInfo;
58283}
58284
58285var Resolved = 1;
58286function refineResolvedLazyComponent(lazyComponent) {
58287  return lazyComponent._status === Resolved ? lazyComponent._result : null;
58288}
58289
58290function getWrappedName(outerType, innerType, wrapperName) {
58291  var functionName = innerType.displayName || innerType.name || '';
58292  return outerType.displayName || (functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName);
58293}
58294
58295function getComponentName(type) {
58296  if (type == null) {
58297    // Host root, text node or just invalid type.
58298    return null;
58299  }
58300
58301  {
58302    if (typeof type.tag === 'number') {
58303      error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.');
58304    }
58305  }
58306
58307  if (typeof type === 'function') {
58308    return type.displayName || type.name || null;
58309  }
58310
58311  if (typeof type === 'string') {
58312    return type;
58313  }
58314
58315  switch (type) {
58316    case REACT_FRAGMENT_TYPE:
58317      return 'Fragment';
58318
58319    case REACT_PORTAL_TYPE:
58320      return 'Portal';
58321
58322    case REACT_PROFILER_TYPE:
58323      return "Profiler";
58324
58325    case REACT_STRICT_MODE_TYPE:
58326      return 'StrictMode';
58327
58328    case REACT_SUSPENSE_TYPE:
58329      return 'Suspense';
58330
58331    case REACT_SUSPENSE_LIST_TYPE:
58332      return 'SuspenseList';
58333  }
58334
58335  if (typeof type === 'object') {
58336    switch (type.$$typeof) {
58337      case REACT_CONTEXT_TYPE:
58338        return 'Context.Consumer';
58339
58340      case REACT_PROVIDER_TYPE:
58341        return 'Context.Provider';
58342
58343      case REACT_FORWARD_REF_TYPE:
58344        return getWrappedName(type, type.render, 'ForwardRef');
58345
58346      case REACT_MEMO_TYPE:
58347        return getComponentName(type.type);
58348
58349      case REACT_BLOCK_TYPE:
58350        return getComponentName(type.render);
58351
58352      case REACT_LAZY_TYPE:
58353        {
58354          var thenable = type;
58355          var resolvedThenable = refineResolvedLazyComponent(thenable);
58356
58357          if (resolvedThenable) {
58358            return getComponentName(resolvedThenable);
58359          }
58360
58361          break;
58362        }
58363    }
58364  }
58365
58366  return null;
58367}
58368
58369var ReactDebugCurrentFrame = {};
58370var currentlyValidatingElement = null;
58371function setCurrentlyValidatingElement(element) {
58372  {
58373    currentlyValidatingElement = element;
58374  }
58375}
58376
58377{
58378  // Stack implementation injected by the current renderer.
58379  ReactDebugCurrentFrame.getCurrentStack = null;
58380
58381  ReactDebugCurrentFrame.getStackAddendum = function () {
58382    var stack = ''; // Add an extra top frame while an element is being validated
58383
58384    if (currentlyValidatingElement) {
58385      var name = getComponentName(currentlyValidatingElement.type);
58386      var owner = currentlyValidatingElement._owner;
58387      stack += describeComponentFrame(name, currentlyValidatingElement._source, owner && getComponentName(owner.type));
58388    } // Delegate to the injected renderer-specific implementation
58389
58390
58391    var impl = ReactDebugCurrentFrame.getCurrentStack;
58392
58393    if (impl) {
58394      stack += impl() || '';
58395    }
58396
58397    return stack;
58398  };
58399}
58400
58401/**
58402 * Used by act() to track whether you're inside an act() scope.
58403 */
58404var IsSomeRendererActing = {
58405  current: false
58406};
58407
58408var ReactSharedInternals = {
58409  ReactCurrentDispatcher: ReactCurrentDispatcher,
58410  ReactCurrentBatchConfig: ReactCurrentBatchConfig,
58411  ReactCurrentOwner: ReactCurrentOwner,
58412  IsSomeRendererActing: IsSomeRendererActing,
58413  // Used by renderers to avoid bundling object-assign twice in UMD bundles:
58414  assign: _assign
58415};
58416
58417{
58418  _assign(ReactSharedInternals, {
58419    // These should not be included in production.
58420    ReactDebugCurrentFrame: ReactDebugCurrentFrame,
58421    // Shim for React DOM 16.0.0 which still destructured (but not used) this.
58422    // TODO: remove in React 17.0.
58423    ReactComponentTreeHook: {}
58424  });
58425}
58426
58427// by calls to these methods by a Babel plugin.
58428//
58429// In PROD (or in packages without access to React internals),
58430// they are left as they are instead.
58431
58432function warn(format) {
58433  {
58434    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
58435      args[_key - 1] = arguments[_key];
58436    }
58437
58438    printWarning('warn', format, args);
58439  }
58440}
58441function error(format) {
58442  {
58443    for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
58444      args[_key2 - 1] = arguments[_key2];
58445    }
58446
58447    printWarning('error', format, args);
58448  }
58449}
58450
58451function printWarning(level, format, args) {
58452  // When changing this logic, you might want to also
58453  // update consoleWithStackDev.www.js as well.
58454  {
58455    var hasExistingStack = args.length > 0 && typeof args[args.length - 1] === 'string' && args[args.length - 1].indexOf('\n    in') === 0;
58456
58457    if (!hasExistingStack) {
58458      var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
58459      var stack = ReactDebugCurrentFrame.getStackAddendum();
58460
58461      if (stack !== '') {
58462        format += '%s';
58463        args = args.concat([stack]);
58464      }
58465    }
58466
58467    var argsWithFormat = args.map(function (item) {
58468      return '' + item;
58469    }); // Careful: RN currently depends on this prefix
58470
58471    argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it
58472    // breaks IE9: https://github.com/facebook/react/issues/13610
58473    // eslint-disable-next-line react-internal/no-production-logging
58474
58475    Function.prototype.apply.call(console[level], console, argsWithFormat);
58476
58477    try {
58478      // --- Welcome to debugging React ---
58479      // This error was thrown as a convenience so that you can use this stack
58480      // to find the callsite that caused this warning to fire.
58481      var argIndex = 0;
58482      var message = 'Warning: ' + format.replace(/%s/g, function () {
58483        return args[argIndex++];
58484      });
58485      throw new Error(message);
58486    } catch (x) {}
58487  }
58488}
58489
58490var didWarnStateUpdateForUnmountedComponent = {};
58491
58492function warnNoop(publicInstance, callerName) {
58493  {
58494    var _constructor = publicInstance.constructor;
58495    var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';
58496    var warningKey = componentName + "." + callerName;
58497
58498    if (didWarnStateUpdateForUnmountedComponent[warningKey]) {
58499      return;
58500    }
58501
58502    error("Can't call %s on a component that is not yet mounted. " + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);
58503
58504    didWarnStateUpdateForUnmountedComponent[warningKey] = true;
58505  }
58506}
58507/**
58508 * This is the abstract API for an update queue.
58509 */
58510
58511
58512var ReactNoopUpdateQueue = {
58513  /**
58514   * Checks whether or not this composite component is mounted.
58515   * @param {ReactClass} publicInstance The instance we want to test.
58516   * @return {boolean} True if mounted, false otherwise.
58517   * @protected
58518   * @final
58519   */
58520  isMounted: function (publicInstance) {
58521    return false;
58522  },
58523
58524  /**
58525   * Forces an update. This should only be invoked when it is known with
58526   * certainty that we are **not** in a DOM transaction.
58527   *
58528   * You may want to call this when you know that some deeper aspect of the
58529   * component's state has changed but `setState` was not called.
58530   *
58531   * This will not invoke `shouldComponentUpdate`, but it will invoke
58532   * `componentWillUpdate` and `componentDidUpdate`.
58533   *
58534   * @param {ReactClass} publicInstance The instance that should rerender.
58535   * @param {?function} callback Called after component is updated.
58536   * @param {?string} callerName name of the calling function in the public API.
58537   * @internal
58538   */
58539  enqueueForceUpdate: function (publicInstance, callback, callerName) {
58540    warnNoop(publicInstance, 'forceUpdate');
58541  },
58542
58543  /**
58544   * Replaces all of the state. Always use this or `setState` to mutate state.
58545   * You should treat `this.state` as immutable.
58546   *
58547   * There is no guarantee that `this.state` will be immediately updated, so
58548   * accessing `this.state` after calling this method may return the old value.
58549   *
58550   * @param {ReactClass} publicInstance The instance that should rerender.
58551   * @param {object} completeState Next state.
58552   * @param {?function} callback Called after component is updated.
58553   * @param {?string} callerName name of the calling function in the public API.
58554   * @internal
58555   */
58556  enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {
58557    warnNoop(publicInstance, 'replaceState');
58558  },
58559
58560  /**
58561   * Sets a subset of the state. This only exists because _pendingState is
58562   * internal. This provides a merging strategy that is not available to deep
58563   * properties which is confusing. TODO: Expose pendingState or don't use it
58564   * during the merge.
58565   *
58566   * @param {ReactClass} publicInstance The instance that should rerender.
58567   * @param {object} partialState Next partial state to be merged with state.
58568   * @param {?function} callback Called after component is updated.
58569   * @param {?string} Name of the calling function in the public API.
58570   * @internal
58571   */
58572  enqueueSetState: function (publicInstance, partialState, callback, callerName) {
58573    warnNoop(publicInstance, 'setState');
58574  }
58575};
58576
58577var emptyObject = {};
58578
58579{
58580  Object.freeze(emptyObject);
58581}
58582/**
58583 * Base class helpers for the updating state of a component.
58584 */
58585
58586
58587function Component(props, context, updater) {
58588  this.props = props;
58589  this.context = context; // If a component has string refs, we will assign a different object later.
58590
58591  this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the
58592  // renderer.
58593
58594  this.updater = updater || ReactNoopUpdateQueue;
58595}
58596
58597Component.prototype.isReactComponent = {};
58598/**
58599 * Sets a subset of the state. Always use this to mutate
58600 * state. You should treat `this.state` as immutable.
58601 *
58602 * There is no guarantee that `this.state` will be immediately updated, so
58603 * accessing `this.state` after calling this method may return the old value.
58604 *
58605 * There is no guarantee that calls to `setState` will run synchronously,
58606 * as they may eventually be batched together.  You can provide an optional
58607 * callback that will be executed when the call to setState is actually
58608 * completed.
58609 *
58610 * When a function is provided to setState, it will be called at some point in
58611 * the future (not synchronously). It will be called with the up to date
58612 * component arguments (state, props, context). These values can be different
58613 * from this.* because your function may be called after receiveProps but before
58614 * shouldComponentUpdate, and this new state, props, and context will not yet be
58615 * assigned to this.
58616 *
58617 * @param {object|function} partialState Next partial state or function to
58618 *        produce next partial state to be merged with current state.
58619 * @param {?function} callback Called after state is updated.
58620 * @final
58621 * @protected
58622 */
58623
58624Component.prototype.setState = function (partialState, callback) {
58625  if (!(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null)) {
58626    {
58627      throw Error( "setState(...): takes an object of state variables to update or a function which returns an object of state variables." );
58628    }
58629  }
58630
58631  this.updater.enqueueSetState(this, partialState, callback, 'setState');
58632};
58633/**
58634 * Forces an update. This should only be invoked when it is known with
58635 * certainty that we are **not** in a DOM transaction.
58636 *
58637 * You may want to call this when you know that some deeper aspect of the
58638 * component's state has changed but `setState` was not called.
58639 *
58640 * This will not invoke `shouldComponentUpdate`, but it will invoke
58641 * `componentWillUpdate` and `componentDidUpdate`.
58642 *
58643 * @param {?function} callback Called after update is complete.
58644 * @final
58645 * @protected
58646 */
58647
58648
58649Component.prototype.forceUpdate = function (callback) {
58650  this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');
58651};
58652/**
58653 * Deprecated APIs. These APIs used to exist on classic React classes but since
58654 * we would like to deprecate them, we're not going to move them over to this
58655 * modern base class. Instead, we define a getter that warns if it's accessed.
58656 */
58657
58658
58659{
58660  var deprecatedAPIs = {
58661    isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],
58662    replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']
58663  };
58664
58665  var defineDeprecationWarning = function (methodName, info) {
58666    Object.defineProperty(Component.prototype, methodName, {
58667      get: function () {
58668        warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);
58669
58670        return undefined;
58671      }
58672    });
58673  };
58674
58675  for (var fnName in deprecatedAPIs) {
58676    if (deprecatedAPIs.hasOwnProperty(fnName)) {
58677      defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);
58678    }
58679  }
58680}
58681
58682function ComponentDummy() {}
58683
58684ComponentDummy.prototype = Component.prototype;
58685/**
58686 * Convenience component with default shallow equality check for sCU.
58687 */
58688
58689function PureComponent(props, context, updater) {
58690  this.props = props;
58691  this.context = context; // If a component has string refs, we will assign a different object later.
58692
58693  this.refs = emptyObject;
58694  this.updater = updater || ReactNoopUpdateQueue;
58695}
58696
58697var pureComponentPrototype = PureComponent.prototype = new ComponentDummy();
58698pureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.
58699
58700_assign(pureComponentPrototype, Component.prototype);
58701
58702pureComponentPrototype.isPureReactComponent = true;
58703
58704// an immutable object with a single mutable value
58705function createRef() {
58706  var refObject = {
58707    current: null
58708  };
58709
58710  {
58711    Object.seal(refObject);
58712  }
58713
58714  return refObject;
58715}
58716
58717var hasOwnProperty = Object.prototype.hasOwnProperty;
58718var RESERVED_PROPS = {
58719  key: true,
58720  ref: true,
58721  __self: true,
58722  __source: true
58723};
58724var specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;
58725
58726{
58727  didWarnAboutStringRefs = {};
58728}
58729
58730function hasValidRef(config) {
58731  {
58732    if (hasOwnProperty.call(config, 'ref')) {
58733      var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;
58734
58735      if (getter && getter.isReactWarning) {
58736        return false;
58737      }
58738    }
58739  }
58740
58741  return config.ref !== undefined;
58742}
58743
58744function hasValidKey(config) {
58745  {
58746    if (hasOwnProperty.call(config, 'key')) {
58747      var getter = Object.getOwnPropertyDescriptor(config, 'key').get;
58748
58749      if (getter && getter.isReactWarning) {
58750        return false;
58751      }
58752    }
58753  }
58754
58755  return config.key !== undefined;
58756}
58757
58758function defineKeyPropWarningGetter(props, displayName) {
58759  var warnAboutAccessingKey = function () {
58760    {
58761      if (!specialPropKeyWarningShown) {
58762        specialPropKeyWarningShown = true;
58763
58764        error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName);
58765      }
58766    }
58767  };
58768
58769  warnAboutAccessingKey.isReactWarning = true;
58770  Object.defineProperty(props, 'key', {
58771    get: warnAboutAccessingKey,
58772    configurable: true
58773  });
58774}
58775
58776function defineRefPropWarningGetter(props, displayName) {
58777  var warnAboutAccessingRef = function () {
58778    {
58779      if (!specialPropRefWarningShown) {
58780        specialPropRefWarningShown = true;
58781
58782        error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName);
58783      }
58784    }
58785  };
58786
58787  warnAboutAccessingRef.isReactWarning = true;
58788  Object.defineProperty(props, 'ref', {
58789    get: warnAboutAccessingRef,
58790    configurable: true
58791  });
58792}
58793
58794function warnIfStringRefCannotBeAutoConverted(config) {
58795  {
58796    if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {
58797      var componentName = getComponentName(ReactCurrentOwner.current.type);
58798
58799      if (!didWarnAboutStringRefs[componentName]) {
58800        error('Component "%s" contains the string ref "%s". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-string-ref', getComponentName(ReactCurrentOwner.current.type), config.ref);
58801
58802        didWarnAboutStringRefs[componentName] = true;
58803      }
58804    }
58805  }
58806}
58807/**
58808 * Factory method to create a new React element. This no longer adheres to
58809 * the class pattern, so do not use new to call it. Also, instanceof check
58810 * will not work. Instead test $$typeof field against Symbol.for('react.element') to check
58811 * if something is a React Element.
58812 *
58813 * @param {*} type
58814 * @param {*} props
58815 * @param {*} key
58816 * @param {string|object} ref
58817 * @param {*} owner
58818 * @param {*} self A *temporary* helper to detect places where `this` is
58819 * different from the `owner` when React.createElement is called, so that we
58820 * can warn. We want to get rid of owner and replace string `ref`s with arrow
58821 * functions, and as long as `this` and owner are the same, there will be no
58822 * change in behavior.
58823 * @param {*} source An annotation object (added by a transpiler or otherwise)
58824 * indicating filename, line number, and/or other information.
58825 * @internal
58826 */
58827
58828
58829var ReactElement = function (type, key, ref, self, source, owner, props) {
58830  var element = {
58831    // This tag allows us to uniquely identify this as a React Element
58832    $$typeof: REACT_ELEMENT_TYPE,
58833    // Built-in properties that belong on the element
58834    type: type,
58835    key: key,
58836    ref: ref,
58837    props: props,
58838    // Record the component responsible for creating this element.
58839    _owner: owner
58840  };
58841
58842  {
58843    // The validation flag is currently mutative. We put it on
58844    // an external backing store so that we can freeze the whole object.
58845    // This can be replaced with a WeakMap once they are implemented in
58846    // commonly used development environments.
58847    element._store = {}; // To make comparing ReactElements easier for testing purposes, we make
58848    // the validation flag non-enumerable (where possible, which should
58849    // include every environment we run tests in), so the test framework
58850    // ignores it.
58851
58852    Object.defineProperty(element._store, 'validated', {
58853      configurable: false,
58854      enumerable: false,
58855      writable: true,
58856      value: false
58857    }); // self and source are DEV only properties.
58858
58859    Object.defineProperty(element, '_self', {
58860      configurable: false,
58861      enumerable: false,
58862      writable: false,
58863      value: self
58864    }); // Two elements created in two different places should be considered
58865    // equal for testing purposes and therefore we hide it from enumeration.
58866
58867    Object.defineProperty(element, '_source', {
58868      configurable: false,
58869      enumerable: false,
58870      writable: false,
58871      value: source
58872    });
58873
58874    if (Object.freeze) {
58875      Object.freeze(element.props);
58876      Object.freeze(element);
58877    }
58878  }
58879
58880  return element;
58881};
58882/**
58883 * Create and return a new ReactElement of the given type.
58884 * See https://reactjs.org/docs/react-api.html#createelement
58885 */
58886
58887function createElement(type, config, children) {
58888  var propName; // Reserved names are extracted
58889
58890  var props = {};
58891  var key = null;
58892  var ref = null;
58893  var self = null;
58894  var source = null;
58895
58896  if (config != null) {
58897    if (hasValidRef(config)) {
58898      ref = config.ref;
58899
58900      {
58901        warnIfStringRefCannotBeAutoConverted(config);
58902      }
58903    }
58904
58905    if (hasValidKey(config)) {
58906      key = '' + config.key;
58907    }
58908
58909    self = config.__self === undefined ? null : config.__self;
58910    source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object
58911
58912    for (propName in config) {
58913      if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
58914        props[propName] = config[propName];
58915      }
58916    }
58917  } // Children can be more than one argument, and those are transferred onto
58918  // the newly allocated props object.
58919
58920
58921  var childrenLength = arguments.length - 2;
58922
58923  if (childrenLength === 1) {
58924    props.children = children;
58925  } else if (childrenLength > 1) {
58926    var childArray = Array(childrenLength);
58927
58928    for (var i = 0; i < childrenLength; i++) {
58929      childArray[i] = arguments[i + 2];
58930    }
58931
58932    {
58933      if (Object.freeze) {
58934        Object.freeze(childArray);
58935      }
58936    }
58937
58938    props.children = childArray;
58939  } // Resolve default props
58940
58941
58942  if (type && type.defaultProps) {
58943    var defaultProps = type.defaultProps;
58944
58945    for (propName in defaultProps) {
58946      if (props[propName] === undefined) {
58947        props[propName] = defaultProps[propName];
58948      }
58949    }
58950  }
58951
58952  {
58953    if (key || ref) {
58954      var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;
58955
58956      if (key) {
58957        defineKeyPropWarningGetter(props, displayName);
58958      }
58959
58960      if (ref) {
58961        defineRefPropWarningGetter(props, displayName);
58962      }
58963    }
58964  }
58965
58966  return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);
58967}
58968function cloneAndReplaceKey(oldElement, newKey) {
58969  var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);
58970  return newElement;
58971}
58972/**
58973 * Clone and return a new ReactElement using element as the starting point.
58974 * See https://reactjs.org/docs/react-api.html#cloneelement
58975 */
58976
58977function cloneElement(element, config, children) {
58978  if (!!(element === null || element === undefined)) {
58979    {
58980      throw Error( "React.cloneElement(...): The argument must be a React element, but you passed " + element + "." );
58981    }
58982  }
58983
58984  var propName; // Original props are copied
58985
58986  var props = _assign({}, element.props); // Reserved names are extracted
58987
58988
58989  var key = element.key;
58990  var ref = element.ref; // Self is preserved since the owner is preserved.
58991
58992  var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a
58993  // transpiler, and the original source is probably a better indicator of the
58994  // true owner.
58995
58996  var source = element._source; // Owner will be preserved, unless ref is overridden
58997
58998  var owner = element._owner;
58999
59000  if (config != null) {
59001    if (hasValidRef(config)) {
59002      // Silently steal the ref from the parent.
59003      ref = config.ref;
59004      owner = ReactCurrentOwner.current;
59005    }
59006
59007    if (hasValidKey(config)) {
59008      key = '' + config.key;
59009    } // Remaining properties override existing props
59010
59011
59012    var defaultProps;
59013
59014    if (element.type && element.type.defaultProps) {
59015      defaultProps = element.type.defaultProps;
59016    }
59017
59018    for (propName in config) {
59019      if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
59020        if (config[propName] === undefined && defaultProps !== undefined) {
59021          // Resolve default props
59022          props[propName] = defaultProps[propName];
59023        } else {
59024          props[propName] = config[propName];
59025        }
59026      }
59027    }
59028  } // Children can be more than one argument, and those are transferred onto
59029  // the newly allocated props object.
59030
59031
59032  var childrenLength = arguments.length - 2;
59033
59034  if (childrenLength === 1) {
59035    props.children = children;
59036  } else if (childrenLength > 1) {
59037    var childArray = Array(childrenLength);
59038
59039    for (var i = 0; i < childrenLength; i++) {
59040      childArray[i] = arguments[i + 2];
59041    }
59042
59043    props.children = childArray;
59044  }
59045
59046  return ReactElement(element.type, key, ref, self, source, owner, props);
59047}
59048/**
59049 * Verifies the object is a ReactElement.
59050 * See https://reactjs.org/docs/react-api.html#isvalidelement
59051 * @param {?object} object
59052 * @return {boolean} True if `object` is a ReactElement.
59053 * @final
59054 */
59055
59056function isValidElement(object) {
59057  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
59058}
59059
59060var SEPARATOR = '.';
59061var SUBSEPARATOR = ':';
59062/**
59063 * Escape and wrap key so it is safe to use as a reactid
59064 *
59065 * @param {string} key to be escaped.
59066 * @return {string} the escaped key.
59067 */
59068
59069function escape(key) {
59070  var escapeRegex = /[=:]/g;
59071  var escaperLookup = {
59072    '=': '=0',
59073    ':': '=2'
59074  };
59075  var escapedString = ('' + key).replace(escapeRegex, function (match) {
59076    return escaperLookup[match];
59077  });
59078  return '$' + escapedString;
59079}
59080/**
59081 * TODO: Test that a single child and an array with one item have the same key
59082 * pattern.
59083 */
59084
59085
59086var didWarnAboutMaps = false;
59087var userProvidedKeyEscapeRegex = /\/+/g;
59088
59089function escapeUserProvidedKey(text) {
59090  return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/');
59091}
59092
59093var POOL_SIZE = 10;
59094var traverseContextPool = [];
59095
59096function getPooledTraverseContext(mapResult, keyPrefix, mapFunction, mapContext) {
59097  if (traverseContextPool.length) {
59098    var traverseContext = traverseContextPool.pop();
59099    traverseContext.result = mapResult;
59100    traverseContext.keyPrefix = keyPrefix;
59101    traverseContext.func = mapFunction;
59102    traverseContext.context = mapContext;
59103    traverseContext.count = 0;
59104    return traverseContext;
59105  } else {
59106    return {
59107      result: mapResult,
59108      keyPrefix: keyPrefix,
59109      func: mapFunction,
59110      context: mapContext,
59111      count: 0
59112    };
59113  }
59114}
59115
59116function releaseTraverseContext(traverseContext) {
59117  traverseContext.result = null;
59118  traverseContext.keyPrefix = null;
59119  traverseContext.func = null;
59120  traverseContext.context = null;
59121  traverseContext.count = 0;
59122
59123  if (traverseContextPool.length < POOL_SIZE) {
59124    traverseContextPool.push(traverseContext);
59125  }
59126}
59127/**
59128 * @param {?*} children Children tree container.
59129 * @param {!string} nameSoFar Name of the key path so far.
59130 * @param {!function} callback Callback to invoke with each child found.
59131 * @param {?*} traverseContext Used to pass information throughout the traversal
59132 * process.
59133 * @return {!number} The number of children in this subtree.
59134 */
59135
59136
59137function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {
59138  var type = typeof children;
59139
59140  if (type === 'undefined' || type === 'boolean') {
59141    // All of the above are perceived as null.
59142    children = null;
59143  }
59144
59145  var invokeCallback = false;
59146
59147  if (children === null) {
59148    invokeCallback = true;
59149  } else {
59150    switch (type) {
59151      case 'string':
59152      case 'number':
59153        invokeCallback = true;
59154        break;
59155
59156      case 'object':
59157        switch (children.$$typeof) {
59158          case REACT_ELEMENT_TYPE:
59159          case REACT_PORTAL_TYPE:
59160            invokeCallback = true;
59161        }
59162
59163    }
59164  }
59165
59166  if (invokeCallback) {
59167    callback(traverseContext, children, // If it's the only child, treat the name as if it was wrapped in an array
59168    // so that it's consistent if the number of children grows.
59169    nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);
59170    return 1;
59171  }
59172
59173  var child;
59174  var nextName;
59175  var subtreeCount = 0; // Count of children found in the current subtree.
59176
59177  var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;
59178
59179  if (Array.isArray(children)) {
59180    for (var i = 0; i < children.length; i++) {
59181      child = children[i];
59182      nextName = nextNamePrefix + getComponentKey(child, i);
59183      subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
59184    }
59185  } else {
59186    var iteratorFn = getIteratorFn(children);
59187
59188    if (typeof iteratorFn === 'function') {
59189
59190      {
59191        // Warn about using Maps as children
59192        if (iteratorFn === children.entries) {
59193          if (!didWarnAboutMaps) {
59194            warn('Using Maps as children is deprecated and will be removed in ' + 'a future major release. Consider converting children to ' + 'an array of keyed ReactElements instead.');
59195          }
59196
59197          didWarnAboutMaps = true;
59198        }
59199      }
59200
59201      var iterator = iteratorFn.call(children);
59202      var step;
59203      var ii = 0;
59204
59205      while (!(step = iterator.next()).done) {
59206        child = step.value;
59207        nextName = nextNamePrefix + getComponentKey(child, ii++);
59208        subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
59209      }
59210    } else if (type === 'object') {
59211      var addendum = '';
59212
59213      {
59214        addendum = ' If you meant to render a collection of children, use an array ' + 'instead.' + ReactDebugCurrentFrame.getStackAddendum();
59215      }
59216
59217      var childrenString = '' + children;
59218
59219      {
59220        {
59221          throw Error( "Objects are not valid as a React child (found: " + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + ")." + addendum );
59222        }
59223      }
59224    }
59225  }
59226
59227  return subtreeCount;
59228}
59229/**
59230 * Traverses children that are typically specified as `props.children`, but
59231 * might also be specified through attributes:
59232 *
59233 * - `traverseAllChildren(this.props.children, ...)`
59234 * - `traverseAllChildren(this.props.leftPanelChildren, ...)`
59235 *
59236 * The `traverseContext` is an optional argument that is passed through the
59237 * entire traversal. It can be used to store accumulations or anything else that
59238 * the callback might find relevant.
59239 *
59240 * @param {?*} children Children tree object.
59241 * @param {!function} callback To invoke upon traversing each child.
59242 * @param {?*} traverseContext Context for traversal.
59243 * @return {!number} The number of children in this subtree.
59244 */
59245
59246
59247function traverseAllChildren(children, callback, traverseContext) {
59248  if (children == null) {
59249    return 0;
59250  }
59251
59252  return traverseAllChildrenImpl(children, '', callback, traverseContext);
59253}
59254/**
59255 * Generate a key string that identifies a component within a set.
59256 *
59257 * @param {*} component A component that could contain a manual key.
59258 * @param {number} index Index that is used if a manual key is not provided.
59259 * @return {string}
59260 */
59261
59262
59263function getComponentKey(component, index) {
59264  // Do some typechecking here since we call this blindly. We want to ensure
59265  // that we don't block potential future ES APIs.
59266  if (typeof component === 'object' && component !== null && component.key != null) {
59267    // Explicit key
59268    return escape(component.key);
59269  } // Implicit key determined by the index in the set
59270
59271
59272  return index.toString(36);
59273}
59274
59275function forEachSingleChild(bookKeeping, child, name) {
59276  var func = bookKeeping.func,
59277      context = bookKeeping.context;
59278  func.call(context, child, bookKeeping.count++);
59279}
59280/**
59281 * Iterates through children that are typically specified as `props.children`.
59282 *
59283 * See https://reactjs.org/docs/react-api.html#reactchildrenforeach
59284 *
59285 * The provided forEachFunc(child, index) will be called for each
59286 * leaf child.
59287 *
59288 * @param {?*} children Children tree container.
59289 * @param {function(*, int)} forEachFunc
59290 * @param {*} forEachContext Context for forEachContext.
59291 */
59292
59293
59294function forEachChildren(children, forEachFunc, forEachContext) {
59295  if (children == null) {
59296    return children;
59297  }
59298
59299  var traverseContext = getPooledTraverseContext(null, null, forEachFunc, forEachContext);
59300  traverseAllChildren(children, forEachSingleChild, traverseContext);
59301  releaseTraverseContext(traverseContext);
59302}
59303
59304function mapSingleChildIntoContext(bookKeeping, child, childKey) {
59305  var result = bookKeeping.result,
59306      keyPrefix = bookKeeping.keyPrefix,
59307      func = bookKeeping.func,
59308      context = bookKeeping.context;
59309  var mappedChild = func.call(context, child, bookKeeping.count++);
59310
59311  if (Array.isArray(mappedChild)) {
59312    mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, function (c) {
59313      return c;
59314    });
59315  } else if (mappedChild != null) {
59316    if (isValidElement(mappedChild)) {
59317      mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as
59318      // traverseAllChildren used to do for objects as children
59319      keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey);
59320    }
59321
59322    result.push(mappedChild);
59323  }
59324}
59325
59326function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {
59327  var escapedPrefix = '';
59328
59329  if (prefix != null) {
59330    escapedPrefix = escapeUserProvidedKey(prefix) + '/';
59331  }
59332
59333  var traverseContext = getPooledTraverseContext(array, escapedPrefix, func, context);
59334  traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);
59335  releaseTraverseContext(traverseContext);
59336}
59337/**
59338 * Maps children that are typically specified as `props.children`.
59339 *
59340 * See https://reactjs.org/docs/react-api.html#reactchildrenmap
59341 *
59342 * The provided mapFunction(child, key, index) will be called for each
59343 * leaf child.
59344 *
59345 * @param {?*} children Children tree container.
59346 * @param {function(*, int)} func The map function.
59347 * @param {*} context Context for mapFunction.
59348 * @return {object} Object containing the ordered map of results.
59349 */
59350
59351
59352function mapChildren(children, func, context) {
59353  if (children == null) {
59354    return children;
59355  }
59356
59357  var result = [];
59358  mapIntoWithKeyPrefixInternal(children, result, null, func, context);
59359  return result;
59360}
59361/**
59362 * Count the number of children that are typically specified as
59363 * `props.children`.
59364 *
59365 * See https://reactjs.org/docs/react-api.html#reactchildrencount
59366 *
59367 * @param {?*} children Children tree container.
59368 * @return {number} The number of children.
59369 */
59370
59371
59372function countChildren(children) {
59373  return traverseAllChildren(children, function () {
59374    return null;
59375  }, null);
59376}
59377/**
59378 * Flatten a children object (typically specified as `props.children`) and
59379 * return an array with appropriately re-keyed children.
59380 *
59381 * See https://reactjs.org/docs/react-api.html#reactchildrentoarray
59382 */
59383
59384
59385function toArray(children) {
59386  var result = [];
59387  mapIntoWithKeyPrefixInternal(children, result, null, function (child) {
59388    return child;
59389  });
59390  return result;
59391}
59392/**
59393 * Returns the first child in a collection of children and verifies that there
59394 * is only one child in the collection.
59395 *
59396 * See https://reactjs.org/docs/react-api.html#reactchildrenonly
59397 *
59398 * The current implementation of this function assumes that a single child gets
59399 * passed without a wrapper, but the purpose of this helper function is to
59400 * abstract away the particular structure of children.
59401 *
59402 * @param {?object} children Child collection structure.
59403 * @return {ReactElement} The first and only `ReactElement` contained in the
59404 * structure.
59405 */
59406
59407
59408function onlyChild(children) {
59409  if (!isValidElement(children)) {
59410    {
59411      throw Error( "React.Children.only expected to receive a single React element child." );
59412    }
59413  }
59414
59415  return children;
59416}
59417
59418function createContext(defaultValue, calculateChangedBits) {
59419  if (calculateChangedBits === undefined) {
59420    calculateChangedBits = null;
59421  } else {
59422    {
59423      if (calculateChangedBits !== null && typeof calculateChangedBits !== 'function') {
59424        error('createContext: Expected the optional second argument to be a ' + 'function. Instead received: %s', calculateChangedBits);
59425      }
59426    }
59427  }
59428
59429  var context = {
59430    $$typeof: REACT_CONTEXT_TYPE,
59431    _calculateChangedBits: calculateChangedBits,
59432    // As a workaround to support multiple concurrent renderers, we categorize
59433    // some renderers as primary and others as secondary. We only expect
59434    // there to be two concurrent renderers at most: React Native (primary) and
59435    // Fabric (secondary); React DOM (primary) and React ART (secondary).
59436    // Secondary renderers store their context values on separate fields.
59437    _currentValue: defaultValue,
59438    _currentValue2: defaultValue,
59439    // Used to track how many concurrent renderers this context currently
59440    // supports within in a single renderer. Such as parallel server rendering.
59441    _threadCount: 0,
59442    // These are circular
59443    Provider: null,
59444    Consumer: null
59445  };
59446  context.Provider = {
59447    $$typeof: REACT_PROVIDER_TYPE,
59448    _context: context
59449  };
59450  var hasWarnedAboutUsingNestedContextConsumers = false;
59451  var hasWarnedAboutUsingConsumerProvider = false;
59452
59453  {
59454    // A separate object, but proxies back to the original context object for
59455    // backwards compatibility. It has a different $$typeof, so we can properly
59456    // warn for the incorrect usage of Context as a Consumer.
59457    var Consumer = {
59458      $$typeof: REACT_CONTEXT_TYPE,
59459      _context: context,
59460      _calculateChangedBits: context._calculateChangedBits
59461    }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here
59462
59463    Object.defineProperties(Consumer, {
59464      Provider: {
59465        get: function () {
59466          if (!hasWarnedAboutUsingConsumerProvider) {
59467            hasWarnedAboutUsingConsumerProvider = true;
59468
59469            error('Rendering <Context.Consumer.Provider> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Provider> instead?');
59470          }
59471
59472          return context.Provider;
59473        },
59474        set: function (_Provider) {
59475          context.Provider = _Provider;
59476        }
59477      },
59478      _currentValue: {
59479        get: function () {
59480          return context._currentValue;
59481        },
59482        set: function (_currentValue) {
59483          context._currentValue = _currentValue;
59484        }
59485      },
59486      _currentValue2: {
59487        get: function () {
59488          return context._currentValue2;
59489        },
59490        set: function (_currentValue2) {
59491          context._currentValue2 = _currentValue2;
59492        }
59493      },
59494      _threadCount: {
59495        get: function () {
59496          return context._threadCount;
59497        },
59498        set: function (_threadCount) {
59499          context._threadCount = _threadCount;
59500        }
59501      },
59502      Consumer: {
59503        get: function () {
59504          if (!hasWarnedAboutUsingNestedContextConsumers) {
59505            hasWarnedAboutUsingNestedContextConsumers = true;
59506
59507            error('Rendering <Context.Consumer.Consumer> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');
59508          }
59509
59510          return context.Consumer;
59511        }
59512      }
59513    }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty
59514
59515    context.Consumer = Consumer;
59516  }
59517
59518  {
59519    context._currentRenderer = null;
59520    context._currentRenderer2 = null;
59521  }
59522
59523  return context;
59524}
59525
59526function lazy(ctor) {
59527  var lazyType = {
59528    $$typeof: REACT_LAZY_TYPE,
59529    _ctor: ctor,
59530    // React uses these fields to store the result.
59531    _status: -1,
59532    _result: null
59533  };
59534
59535  {
59536    // In production, this would just set it on the object.
59537    var defaultProps;
59538    var propTypes;
59539    Object.defineProperties(lazyType, {
59540      defaultProps: {
59541        configurable: true,
59542        get: function () {
59543          return defaultProps;
59544        },
59545        set: function (newDefaultProps) {
59546          error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');
59547
59548          defaultProps = newDefaultProps; // Match production behavior more closely:
59549
59550          Object.defineProperty(lazyType, 'defaultProps', {
59551            enumerable: true
59552          });
59553        }
59554      },
59555      propTypes: {
59556        configurable: true,
59557        get: function () {
59558          return propTypes;
59559        },
59560        set: function (newPropTypes) {
59561          error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');
59562
59563          propTypes = newPropTypes; // Match production behavior more closely:
59564
59565          Object.defineProperty(lazyType, 'propTypes', {
59566            enumerable: true
59567          });
59568        }
59569      }
59570    });
59571  }
59572
59573  return lazyType;
59574}
59575
59576function forwardRef(render) {
59577  {
59578    if (render != null && render.$$typeof === REACT_MEMO_TYPE) {
59579      error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');
59580    } else if (typeof render !== 'function') {
59581      error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);
59582    } else {
59583      if (render.length !== 0 && render.length !== 2) {
59584        error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');
59585      }
59586    }
59587
59588    if (render != null) {
59589      if (render.defaultProps != null || render.propTypes != null) {
59590        error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');
59591      }
59592    }
59593  }
59594
59595  return {
59596    $$typeof: REACT_FORWARD_REF_TYPE,
59597    render: render
59598  };
59599}
59600
59601function isValidElementType(type) {
59602  return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
59603  type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
59604}
59605
59606function memo(type, compare) {
59607  {
59608    if (!isValidElementType(type)) {
59609      error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);
59610    }
59611  }
59612
59613  return {
59614    $$typeof: REACT_MEMO_TYPE,
59615    type: type,
59616    compare: compare === undefined ? null : compare
59617  };
59618}
59619
59620function resolveDispatcher() {
59621  var dispatcher = ReactCurrentDispatcher.current;
59622
59623  if (!(dispatcher !== null)) {
59624    {
59625      throw Error( "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem." );
59626    }
59627  }
59628
59629  return dispatcher;
59630}
59631
59632function useContext(Context, unstable_observedBits) {
59633  var dispatcher = resolveDispatcher();
59634
59635  {
59636    if (unstable_observedBits !== undefined) {
59637      error('useContext() second argument is reserved for future ' + 'use in React. Passing it is not supported. ' + 'You passed: %s.%s', unstable_observedBits, typeof unstable_observedBits === 'number' && Array.isArray(arguments[2]) ? '\n\nDid you call array.map(useContext)? ' + 'Calling Hooks inside a loop is not supported. ' + 'Learn more at https://fb.me/rules-of-hooks' : '');
59638    } // TODO: add a more generic warning for invalid values.
59639
59640
59641    if (Context._context !== undefined) {
59642      var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs
59643      // and nobody should be using this in existing code.
59644
59645      if (realContext.Consumer === Context) {
59646        error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');
59647      } else if (realContext.Provider === Context) {
59648        error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');
59649      }
59650    }
59651  }
59652
59653  return dispatcher.useContext(Context, unstable_observedBits);
59654}
59655function useState(initialState) {
59656  var dispatcher = resolveDispatcher();
59657  return dispatcher.useState(initialState);
59658}
59659function useReducer(reducer, initialArg, init) {
59660  var dispatcher = resolveDispatcher();
59661  return dispatcher.useReducer(reducer, initialArg, init);
59662}
59663function useRef(initialValue) {
59664  var dispatcher = resolveDispatcher();
59665  return dispatcher.useRef(initialValue);
59666}
59667function useEffect(create, deps) {
59668  var dispatcher = resolveDispatcher();
59669  return dispatcher.useEffect(create, deps);
59670}
59671function useLayoutEffect(create, deps) {
59672  var dispatcher = resolveDispatcher();
59673  return dispatcher.useLayoutEffect(create, deps);
59674}
59675function useCallback(callback, deps) {
59676  var dispatcher = resolveDispatcher();
59677  return dispatcher.useCallback(callback, deps);
59678}
59679function useMemo(create, deps) {
59680  var dispatcher = resolveDispatcher();
59681  return dispatcher.useMemo(create, deps);
59682}
59683function useImperativeHandle(ref, create, deps) {
59684  var dispatcher = resolveDispatcher();
59685  return dispatcher.useImperativeHandle(ref, create, deps);
59686}
59687function useDebugValue(value, formatterFn) {
59688  {
59689    var dispatcher = resolveDispatcher();
59690    return dispatcher.useDebugValue(value, formatterFn);
59691  }
59692}
59693
59694var propTypesMisspellWarningShown;
59695
59696{
59697  propTypesMisspellWarningShown = false;
59698}
59699
59700function getDeclarationErrorAddendum() {
59701  if (ReactCurrentOwner.current) {
59702    var name = getComponentName(ReactCurrentOwner.current.type);
59703
59704    if (name) {
59705      return '\n\nCheck the render method of `' + name + '`.';
59706    }
59707  }
59708
59709  return '';
59710}
59711
59712function getSourceInfoErrorAddendum(source) {
59713  if (source !== undefined) {
59714    var fileName = source.fileName.replace(/^.*[\\\/]/, '');
59715    var lineNumber = source.lineNumber;
59716    return '\n\nCheck your code at ' + fileName + ':' + lineNumber + '.';
59717  }
59718
59719  return '';
59720}
59721
59722function getSourceInfoErrorAddendumForProps(elementProps) {
59723  if (elementProps !== null && elementProps !== undefined) {
59724    return getSourceInfoErrorAddendum(elementProps.__source);
59725  }
59726
59727  return '';
59728}
59729/**
59730 * Warn if there's no key explicitly set on dynamic arrays of children or
59731 * object keys are not valid. This allows us to keep track of children between
59732 * updates.
59733 */
59734
59735
59736var ownerHasKeyUseWarning = {};
59737
59738function getCurrentComponentErrorInfo(parentType) {
59739  var info = getDeclarationErrorAddendum();
59740
59741  if (!info) {
59742    var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;
59743
59744    if (parentName) {
59745      info = "\n\nCheck the top-level render call using <" + parentName + ">.";
59746    }
59747  }
59748
59749  return info;
59750}
59751/**
59752 * Warn if the element doesn't have an explicit key assigned to it.
59753 * This element is in an array. The array could grow and shrink or be
59754 * reordered. All children that haven't already been validated are required to
59755 * have a "key" property assigned to it. Error statuses are cached so a warning
59756 * will only be shown once.
59757 *
59758 * @internal
59759 * @param {ReactElement} element Element that requires a key.
59760 * @param {*} parentType element's parent's type.
59761 */
59762
59763
59764function validateExplicitKey(element, parentType) {
59765  if (!element._store || element._store.validated || element.key != null) {
59766    return;
59767  }
59768
59769  element._store.validated = true;
59770  var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);
59771
59772  if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {
59773    return;
59774  }
59775
59776  ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a
59777  // property, it may be the creator of the child that's responsible for
59778  // assigning it a key.
59779
59780  var childOwner = '';
59781
59782  if (element && element._owner && element._owner !== ReactCurrentOwner.current) {
59783    // Give the component that originally created this child.
59784    childOwner = " It was passed a child from " + getComponentName(element._owner.type) + ".";
59785  }
59786
59787  setCurrentlyValidatingElement(element);
59788
59789  {
59790    error('Each child in a list should have a unique "key" prop.' + '%s%s See https://fb.me/react-warning-keys for more information.', currentComponentErrorInfo, childOwner);
59791  }
59792
59793  setCurrentlyValidatingElement(null);
59794}
59795/**
59796 * Ensure that every element either is passed in a static location, in an
59797 * array with an explicit keys property defined, or in an object literal
59798 * with valid key property.
59799 *
59800 * @internal
59801 * @param {ReactNode} node Statically passed child of any type.
59802 * @param {*} parentType node's parent's type.
59803 */
59804
59805
59806function validateChildKeys(node, parentType) {
59807  if (typeof node !== 'object') {
59808    return;
59809  }
59810
59811  if (Array.isArray(node)) {
59812    for (var i = 0; i < node.length; i++) {
59813      var child = node[i];
59814
59815      if (isValidElement(child)) {
59816        validateExplicitKey(child, parentType);
59817      }
59818    }
59819  } else if (isValidElement(node)) {
59820    // This element was passed in a valid location.
59821    if (node._store) {
59822      node._store.validated = true;
59823    }
59824  } else if (node) {
59825    var iteratorFn = getIteratorFn(node);
59826
59827    if (typeof iteratorFn === 'function') {
59828      // Entry iterators used to provide implicit keys,
59829      // but now we print a separate warning for them later.
59830      if (iteratorFn !== node.entries) {
59831        var iterator = iteratorFn.call(node);
59832        var step;
59833
59834        while (!(step = iterator.next()).done) {
59835          if (isValidElement(step.value)) {
59836            validateExplicitKey(step.value, parentType);
59837          }
59838        }
59839      }
59840    }
59841  }
59842}
59843/**
59844 * Given an element, validate that its props follow the propTypes definition,
59845 * provided by the type.
59846 *
59847 * @param {ReactElement} element
59848 */
59849
59850
59851function validatePropTypes(element) {
59852  {
59853    var type = element.type;
59854
59855    if (type === null || type === undefined || typeof type === 'string') {
59856      return;
59857    }
59858
59859    var name = getComponentName(type);
59860    var propTypes;
59861
59862    if (typeof type === 'function') {
59863      propTypes = type.propTypes;
59864    } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.
59865    // Inner props are checked in the reconciler.
59866    type.$$typeof === REACT_MEMO_TYPE)) {
59867      propTypes = type.propTypes;
59868    } else {
59869      return;
59870    }
59871
59872    if (propTypes) {
59873      setCurrentlyValidatingElement(element);
59874      checkPropTypes(propTypes, element.props, 'prop', name, ReactDebugCurrentFrame.getStackAddendum);
59875      setCurrentlyValidatingElement(null);
59876    } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {
59877      propTypesMisspellWarningShown = true;
59878
59879      error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', name || 'Unknown');
59880    }
59881
59882    if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {
59883      error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');
59884    }
59885  }
59886}
59887/**
59888 * Given a fragment, validate that it can only be provided with fragment props
59889 * @param {ReactElement} fragment
59890 */
59891
59892
59893function validateFragmentProps(fragment) {
59894  {
59895    setCurrentlyValidatingElement(fragment);
59896    var keys = Object.keys(fragment.props);
59897
59898    for (var i = 0; i < keys.length; i++) {
59899      var key = keys[i];
59900
59901      if (key !== 'children' && key !== 'key') {
59902        error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);
59903
59904        break;
59905      }
59906    }
59907
59908    if (fragment.ref !== null) {
59909      error('Invalid attribute `ref` supplied to `React.Fragment`.');
59910    }
59911
59912    setCurrentlyValidatingElement(null);
59913  }
59914}
59915function createElementWithValidation(type, props, children) {
59916  var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to
59917  // succeed and there will likely be errors in render.
59918
59919  if (!validType) {
59920    var info = '';
59921
59922    if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {
59923      info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and named imports.";
59924    }
59925
59926    var sourceInfo = getSourceInfoErrorAddendumForProps(props);
59927
59928    if (sourceInfo) {
59929      info += sourceInfo;
59930    } else {
59931      info += getDeclarationErrorAddendum();
59932    }
59933
59934    var typeString;
59935
59936    if (type === null) {
59937      typeString = 'null';
59938    } else if (Array.isArray(type)) {
59939      typeString = 'array';
59940    } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {
59941      typeString = "<" + (getComponentName(type.type) || 'Unknown') + " />";
59942      info = ' Did you accidentally export a JSX literal instead of a component?';
59943    } else {
59944      typeString = typeof type;
59945    }
59946
59947    {
59948      error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);
59949    }
59950  }
59951
59952  var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.
59953  // TODO: Drop this when these are no longer allowed as the type argument.
59954
59955  if (element == null) {
59956    return element;
59957  } // Skip key warning if the type isn't valid since our key validation logic
59958  // doesn't expect a non-string/function type and can throw confusing errors.
59959  // We don't want exception behavior to differ between dev and prod.
59960  // (Rendering will throw with a helpful message and as soon as the type is
59961  // fixed, the key warnings will appear.)
59962
59963
59964  if (validType) {
59965    for (var i = 2; i < arguments.length; i++) {
59966      validateChildKeys(arguments[i], type);
59967    }
59968  }
59969
59970  if (type === REACT_FRAGMENT_TYPE) {
59971    validateFragmentProps(element);
59972  } else {
59973    validatePropTypes(element);
59974  }
59975
59976  return element;
59977}
59978var didWarnAboutDeprecatedCreateFactory = false;
59979function createFactoryWithValidation(type) {
59980  var validatedFactory = createElementWithValidation.bind(null, type);
59981  validatedFactory.type = type;
59982
59983  {
59984    if (!didWarnAboutDeprecatedCreateFactory) {
59985      didWarnAboutDeprecatedCreateFactory = true;
59986
59987      warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');
59988    } // Legacy hook: remove it
59989
59990
59991    Object.defineProperty(validatedFactory, 'type', {
59992      enumerable: false,
59993      get: function () {
59994        warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');
59995
59996        Object.defineProperty(this, 'type', {
59997          value: type
59998        });
59999        return type;
60000      }
60001    });
60002  }
60003
60004  return validatedFactory;
60005}
60006function cloneElementWithValidation(element, props, children) {
60007  var newElement = cloneElement.apply(this, arguments);
60008
60009  for (var i = 2; i < arguments.length; i++) {
60010    validateChildKeys(arguments[i], newElement.type);
60011  }
60012
60013  validatePropTypes(newElement);
60014  return newElement;
60015}
60016
60017{
60018
60019  try {
60020    var frozenObject = Object.freeze({});
60021    var testMap = new Map([[frozenObject, null]]);
60022    var testSet = new Set([frozenObject]); // This is necessary for Rollup to not consider these unused.
60023    // https://github.com/rollup/rollup/issues/1771
60024    // TODO: we can remove these if Rollup fixes the bug.
60025
60026    testMap.set(0, 0);
60027    testSet.add(0);
60028  } catch (e) {
60029  }
60030}
60031
60032var createElement$1 =  createElementWithValidation ;
60033var cloneElement$1 =  cloneElementWithValidation ;
60034var createFactory =  createFactoryWithValidation ;
60035var Children = {
60036  map: mapChildren,
60037  forEach: forEachChildren,
60038  count: countChildren,
60039  toArray: toArray,
60040  only: onlyChild
60041};
60042
60043exports.Children = Children;
60044exports.Component = Component;
60045exports.Fragment = REACT_FRAGMENT_TYPE;
60046exports.Profiler = REACT_PROFILER_TYPE;
60047exports.PureComponent = PureComponent;
60048exports.StrictMode = REACT_STRICT_MODE_TYPE;
60049exports.Suspense = REACT_SUSPENSE_TYPE;
60050exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;
60051exports.cloneElement = cloneElement$1;
60052exports.createContext = createContext;
60053exports.createElement = createElement$1;
60054exports.createFactory = createFactory;
60055exports.createRef = createRef;
60056exports.forwardRef = forwardRef;
60057exports.isValidElement = isValidElement;
60058exports.lazy = lazy;
60059exports.memo = memo;
60060exports.useCallback = useCallback;
60061exports.useContext = useContext;
60062exports.useDebugValue = useDebugValue;
60063exports.useEffect = useEffect;
60064exports.useImperativeHandle = useImperativeHandle;
60065exports.useLayoutEffect = useLayoutEffect;
60066exports.useMemo = useMemo;
60067exports.useReducer = useReducer;
60068exports.useRef = useRef;
60069exports.useState = useState;
60070exports.version = ReactVersion;
60071  })();
60072}
60073
60074
60075/***/ }),
60076
vendor: 430 bytes, lines 60077-60093
60077/***/ "./node_modules/react/index.js":
60078/*!*************************************!*\
60079  !*** ./node_modules/react/index.js ***!
60080  \*************************************/
60081/*! no static exports found */
60082/***/ (function(module, exports, __webpack_require__) {
60083
60084"use strict";
60085
60086
60087if (false) {} else {
60088  module.exports = __webpack_require__(/*! ./cjs/react.development.js */ "./node_modules/react/cjs/react.development.js");
60089}
60090
60091
60092/***/ }),
60093
vendor: 9,367 bytes, lines 60094-60454
60094/***/ "./node_modules/scheduler/cjs/scheduler-tracing.development.js":
60095/*!*********************************************************************!*\
60096  !*** ./node_modules/scheduler/cjs/scheduler-tracing.development.js ***!
60097  \*********************************************************************/
60098/*! no static exports found */
60099/***/ (function(module, exports, __webpack_require__) {
60100
60101"use strict";
60102/** @license React v0.19.1
60103 * scheduler-tracing.development.js
60104 *
60105 * Copyright (c) Facebook, Inc. and its affiliates.
60106 *
60107 * This source code is licensed under the MIT license found in the
60108 * LICENSE file in the root directory of this source tree.
60109 */
60110
60111
60112
60113
60114
60115if (true) {
60116  (function() {
60117'use strict';
60118
60119var DEFAULT_THREAD_ID = 0; // Counters used to generate unique IDs.
60120
60121var interactionIDCounter = 0;
60122var threadIDCounter = 0; // Set of currently traced interactions.
60123// Interactions "stack"–
60124// Meaning that newly traced interactions are appended to the previously active set.
60125// When an interaction goes out of scope, the previous set (if any) is restored.
60126
60127exports.__interactionsRef = null; // Listener(s) to notify when interactions begin and end.
60128
60129exports.__subscriberRef = null;
60130
60131{
60132  exports.__interactionsRef = {
60133    current: new Set()
60134  };
60135  exports.__subscriberRef = {
60136    current: null
60137  };
60138}
60139function unstable_clear(callback) {
60140
60141  var prevInteractions = exports.__interactionsRef.current;
60142  exports.__interactionsRef.current = new Set();
60143
60144  try {
60145    return callback();
60146  } finally {
60147    exports.__interactionsRef.current = prevInteractions;
60148  }
60149}
60150function unstable_getCurrent() {
60151  {
60152    return exports.__interactionsRef.current;
60153  }
60154}
60155function unstable_getThreadID() {
60156  return ++threadIDCounter;
60157}
60158function unstable_trace(name, timestamp, callback) {
60159  var threadID = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : DEFAULT_THREAD_ID;
60160
60161  var interaction = {
60162    __count: 1,
60163    id: interactionIDCounter++,
60164    name: name,
60165    timestamp: timestamp
60166  };
60167  var prevInteractions = exports.__interactionsRef.current; // Traced interactions should stack/accumulate.
60168  // To do that, clone the current interactions.
60169  // The previous set will be restored upon completion.
60170
60171  var interactions = new Set(prevInteractions);
60172  interactions.add(interaction);
60173  exports.__interactionsRef.current = interactions;
60174  var subscriber = exports.__subscriberRef.current;
60175  var returnValue;
60176
60177  try {
60178    if (subscriber !== null) {
60179      subscriber.onInteractionTraced(interaction);
60180    }
60181  } finally {
60182    try {
60183      if (subscriber !== null) {
60184        subscriber.onWorkStarted(interactions, threadID);
60185      }
60186    } finally {
60187      try {
60188        returnValue = callback();
60189      } finally {
60190        exports.__interactionsRef.current = prevInteractions;
60191
60192        try {
60193          if (subscriber !== null) {
60194            subscriber.onWorkStopped(interactions, threadID);
60195          }
60196        } finally {
60197          interaction.__count--; // If no async work was scheduled for this interaction,
60198          // Notify subscribers that it's completed.
60199
60200          if (subscriber !== null && interaction.__count === 0) {
60201            subscriber.onInteractionScheduledWorkCompleted(interaction);
60202          }
60203        }
60204      }
60205    }
60206  }
60207
60208  return returnValue;
60209}
60210function unstable_wrap(callback) {
60211  var threadID = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_THREAD_ID;
60212
60213  var wrappedInteractions = exports.__interactionsRef.current;
60214  var subscriber = exports.__subscriberRef.current;
60215
60216  if (subscriber !== null) {
60217    subscriber.onWorkScheduled(wrappedInteractions, threadID);
60218  } // Update the pending async work count for the current interactions.
60219  // Update after calling subscribers in case of error.
60220
60221
60222  wrappedInteractions.forEach(function (interaction) {
60223    interaction.__count++;
60224  });
60225  var hasRun = false;
60226
60227  function wrapped() {
60228    var prevInteractions = exports.__interactionsRef.current;
60229    exports.__interactionsRef.current = wrappedInteractions;
60230    subscriber = exports.__subscriberRef.current;
60231
60232    try {
60233      var returnValue;
60234
60235      try {
60236        if (subscriber !== null) {
60237          subscriber.onWorkStarted(wrappedInteractions, threadID);
60238        }
60239      } finally {
60240        try {
60241          returnValue = callback.apply(undefined, arguments);
60242        } finally {
60243          exports.__interactionsRef.current = prevInteractions;
60244
60245          if (subscriber !== null) {
60246            subscriber.onWorkStopped(wrappedInteractions, threadID);
60247          }
60248        }
60249      }
60250
60251      return returnValue;
60252    } finally {
60253      if (!hasRun) {
60254        // We only expect a wrapped function to be executed once,
60255        // But in the event that it's executed more than once–
60256        // Only decrement the outstanding interaction counts once.
60257        hasRun = true; // Update pending async counts for all wrapped interactions.
60258        // If this was the last scheduled async work for any of them,
60259        // Mark them as completed.
60260
60261        wrappedInteractions.forEach(function (interaction) {
60262          interaction.__count--;
60263
60264          if (subscriber !== null && interaction.__count === 0) {
60265            subscriber.onInteractionScheduledWorkCompleted(interaction);
60266          }
60267        });
60268      }
60269    }
60270  }
60271
60272  wrapped.cancel = function cancel() {
60273    subscriber = exports.__subscriberRef.current;
60274
60275    try {
60276      if (subscriber !== null) {
60277        subscriber.onWorkCanceled(wrappedInteractions, threadID);
60278      }
60279    } finally {
60280      // Update pending async counts for all wrapped interactions.
60281      // If this was the last scheduled async work for any of them,
60282      // Mark them as completed.
60283      wrappedInteractions.forEach(function (interaction) {
60284        interaction.__count--;
60285
60286        if (subscriber && interaction.__count === 0) {
60287          subscriber.onInteractionScheduledWorkCompleted(interaction);
60288        }
60289      });
60290    }
60291  };
60292
60293  return wrapped;
60294}
60295
60296var subscribers = null;
60297
60298{
60299  subscribers = new Set();
60300}
60301
60302function unstable_subscribe(subscriber) {
60303  {
60304    subscribers.add(subscriber);
60305
60306    if (subscribers.size === 1) {
60307      exports.__subscriberRef.current = {
60308        onInteractionScheduledWorkCompleted: onInteractionScheduledWorkCompleted,
60309        onInteractionTraced: onInteractionTraced,
60310        onWorkCanceled: onWorkCanceled,
60311        onWorkScheduled: onWorkScheduled,
60312        onWorkStarted: onWorkStarted,
60313        onWorkStopped: onWorkStopped
60314      };
60315    }
60316  }
60317}
60318function unstable_unsubscribe(subscriber) {
60319  {
60320    subscribers.delete(subscriber);
60321
60322    if (subscribers.size === 0) {
60323      exports.__subscriberRef.current = null;
60324    }
60325  }
60326}
60327
60328function onInteractionTraced(interaction) {
60329  var didCatchError = false;
60330  var caughtError = null;
60331  subscribers.forEach(function (subscriber) {
60332    try {
60333      subscriber.onInteractionTraced(interaction);
60334    } catch (error) {
60335      if (!didCatchError) {
60336        didCatchError = true;
60337        caughtError = error;
60338      }
60339    }
60340  });
60341
60342  if (didCatchError) {
60343    throw caughtError;
60344  }
60345}
60346
60347function onInteractionScheduledWorkCompleted(interaction) {
60348  var didCatchError = false;
60349  var caughtError = null;
60350  subscribers.forEach(function (subscriber) {
60351    try {
60352      subscriber.onInteractionScheduledWorkCompleted(interaction);
60353    } catch (error) {
60354      if (!didCatchError) {
60355        didCatchError = true;
60356        caughtError = error;
60357      }
60358    }
60359  });
60360
60361  if (didCatchError) {
60362    throw caughtError;
60363  }
60364}
60365
60366function onWorkScheduled(interactions, threadID) {
60367  var didCatchError = false;
60368  var caughtError = null;
60369  subscribers.forEach(function (subscriber) {
60370    try {
60371      subscriber.onWorkScheduled(interactions, threadID);
60372    } catch (error) {
60373      if (!didCatchError) {
60374        didCatchError = true;
60375        caughtError = error;
60376      }
60377    }
60378  });
60379
60380  if (didCatchError) {
60381    throw caughtError;
60382  }
60383}
60384
60385function onWorkStarted(interactions, threadID) {
60386  var didCatchError = false;
60387  var caughtError = null;
60388  subscribers.forEach(function (subscriber) {
60389    try {
60390      subscriber.onWorkStarted(interactions, threadID);
60391    } catch (error) {
60392      if (!didCatchError) {
60393        didCatchError = true;
60394        caughtError = error;
60395      }
60396    }
60397  });
60398
60399  if (didCatchError) {
60400    throw caughtError;
60401  }
60402}
60403
60404function onWorkStopped(interactions, threadID) {
60405  var didCatchError = false;
60406  var caughtError = null;
60407  subscribers.forEach(function (subscriber) {
60408    try {
60409      subscriber.onWorkStopped(interactions, threadID);
60410    } catch (error) {
60411      if (!didCatchError) {
60412        didCatchError = true;
60413        caughtError = error;
60414      }
60415    }
60416  });
60417
60418  if (didCatchError) {
60419    throw caughtError;
60420  }
60421}
60422
60423function onWorkCanceled(interactions, threadID) {
60424  var didCatchError = false;
60425  var caughtError = null;
60426  subscribers.forEach(function (subscriber) {
60427    try {
60428      subscriber.onWorkCanceled(interactions, threadID);
60429    } catch (error) {
60430      if (!didCatchError) {
60431        didCatchError = true;
60432        caughtError = error;
60433      }
60434    }
60435  });
60436
60437  if (didCatchError) {
60438    throw caughtError;
60439  }
60440}
60441
60442exports.unstable_clear = unstable_clear;
60443exports.unstable_getCurrent = unstable_getCurrent;
60444exports.unstable_getThreadID = unstable_getThreadID;
60445exports.unstable_subscribe = unstable_subscribe;
60446exports.unstable_trace = unstable_trace;
60447exports.unstable_unsubscribe = unstable_unsubscribe;
60448exports.unstable_wrap = unstable_wrap;
60449  })();
60450}
60451
60452
60453/***/ }),
60454
vendor: 24,094 bytes, lines 60455-61324
60455/***/ "./node_modules/scheduler/cjs/scheduler.development.js":
60456/*!*************************************************************!*\
60457  !*** ./node_modules/scheduler/cjs/scheduler.development.js ***!
60458  \*************************************************************/
60459/*! no static exports found */
60460/***/ (function(module, exports, __webpack_require__) {
60461
60462"use strict";
60463/** @license React v0.19.1
60464 * scheduler.development.js
60465 *
60466 * Copyright (c) Facebook, Inc. and its affiliates.
60467 *
60468 * This source code is licensed under the MIT license found in the
60469 * LICENSE file in the root directory of this source tree.
60470 */
60471
60472
60473
60474
60475
60476if (true) {
60477  (function() {
60478'use strict';
60479
60480var enableSchedulerDebugging = false;
60481var enableProfiling = true;
60482
60483var requestHostCallback;
60484var requestHostTimeout;
60485var cancelHostTimeout;
60486var shouldYieldToHost;
60487var requestPaint;
60488
60489if ( // If Scheduler runs in a non-DOM environment, it falls back to a naive
60490// implementation using setTimeout.
60491typeof window === 'undefined' || // Check if MessageChannel is supported, too.
60492typeof MessageChannel !== 'function') {
60493  // If this accidentally gets imported in a non-browser environment, e.g. JavaScriptCore,
60494  // fallback to a naive implementation.
60495  var _callback = null;
60496  var _timeoutID = null;
60497
60498  var _flushCallback = function () {
60499    if (_callback !== null) {
60500      try {
60501        var currentTime = exports.unstable_now();
60502        var hasRemainingTime = true;
60503
60504        _callback(hasRemainingTime, currentTime);
60505
60506        _callback = null;
60507      } catch (e) {
60508        setTimeout(_flushCallback, 0);
60509        throw e;
60510      }
60511    }
60512  };
60513
60514  var initialTime = Date.now();
60515
60516  exports.unstable_now = function () {
60517    return Date.now() - initialTime;
60518  };
60519
60520  requestHostCallback = function (cb) {
60521    if (_callback !== null) {
60522      // Protect against re-entrancy.
60523      setTimeout(requestHostCallback, 0, cb);
60524    } else {
60525      _callback = cb;
60526      setTimeout(_flushCallback, 0);
60527    }
60528  };
60529
60530  requestHostTimeout = function (cb, ms) {
60531    _timeoutID = setTimeout(cb, ms);
60532  };
60533
60534  cancelHostTimeout = function () {
60535    clearTimeout(_timeoutID);
60536  };
60537
60538  shouldYieldToHost = function () {
60539    return false;
60540  };
60541
60542  requestPaint = exports.unstable_forceFrameRate = function () {};
60543} else {
60544  // Capture local references to native APIs, in case a polyfill overrides them.
60545  var performance = window.performance;
60546  var _Date = window.Date;
60547  var _setTimeout = window.setTimeout;
60548  var _clearTimeout = window.clearTimeout;
60549
60550  if (typeof console !== 'undefined') {
60551    // TODO: Scheduler no longer requires these methods to be polyfilled. But
60552    // maybe we want to continue warning if they don't exist, to preserve the
60553    // option to rely on it in the future?
60554    var requestAnimationFrame = window.requestAnimationFrame;
60555    var cancelAnimationFrame = window.cancelAnimationFrame; // TODO: Remove fb.me link
60556
60557    if (typeof requestAnimationFrame !== 'function') {
60558      // Using console['error'] to evade Babel and ESLint
60559      console['error']("This browser doesn't support requestAnimationFrame. " + 'Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills');
60560    }
60561
60562    if (typeof cancelAnimationFrame !== 'function') {
60563      // Using console['error'] to evade Babel and ESLint
60564      console['error']("This browser doesn't support cancelAnimationFrame. " + 'Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills');
60565    }
60566  }
60567
60568  if (typeof performance === 'object' && typeof performance.now === 'function') {
60569    exports.unstable_now = function () {
60570      return performance.now();
60571    };
60572  } else {
60573    var _initialTime = _Date.now();
60574
60575    exports.unstable_now = function () {
60576      return _Date.now() - _initialTime;
60577    };
60578  }
60579
60580  var isMessageLoopRunning = false;
60581  var scheduledHostCallback = null;
60582  var taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main
60583  // thread, like user events. By default, it yields multiple times per frame.
60584  // It does not attempt to align with frame boundaries, since most tasks don't
60585  // need to be frame aligned; for those that do, use requestAnimationFrame.
60586
60587  var yieldInterval = 5;
60588  var deadline = 0; // TODO: Make this configurable
60589
60590  {
60591    // `isInputPending` is not available. Since we have no way of knowing if
60592    // there's pending input, always yield at the end of the frame.
60593    shouldYieldToHost = function () {
60594      return exports.unstable_now() >= deadline;
60595    }; // Since we yield every frame regardless, `requestPaint` has no effect.
60596
60597
60598    requestPaint = function () {};
60599  }
60600
60601  exports.unstable_forceFrameRate = function (fps) {
60602    if (fps < 0 || fps > 125) {
60603      // Using console['error'] to evade Babel and ESLint
60604      console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing framerates higher than 125 fps is not unsupported');
60605      return;
60606    }
60607
60608    if (fps > 0) {
60609      yieldInterval = Math.floor(1000 / fps);
60610    } else {
60611      // reset the framerate
60612      yieldInterval = 5;
60613    }
60614  };
60615
60616  var performWorkUntilDeadline = function () {
60617    if (scheduledHostCallback !== null) {
60618      var currentTime = exports.unstable_now(); // Yield after `yieldInterval` ms, regardless of where we are in the vsync
60619      // cycle. This means there's always time remaining at the beginning of
60620      // the message event.
60621
60622      deadline = currentTime + yieldInterval;
60623      var hasTimeRemaining = true;
60624
60625      try {
60626        var hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);
60627
60628        if (!hasMoreWork) {
60629          isMessageLoopRunning = false;
60630          scheduledHostCallback = null;
60631        } else {
60632          // If there's more work, schedule the next message event at the end
60633          // of the preceding one.
60634          port.postMessage(null);
60635        }
60636      } catch (error) {
60637        // If a scheduler task throws, exit the current browser task so the
60638        // error can be observed.
60639        port.postMessage(null);
60640        throw error;
60641      }
60642    } else {
60643      isMessageLoopRunning = false;
60644    } // Yielding to the browser will give it a chance to paint, so we can
60645  };
60646
60647  var channel = new MessageChannel();
60648  var port = channel.port2;
60649  channel.port1.onmessage = performWorkUntilDeadline;
60650
60651  requestHostCallback = function (callback) {
60652    scheduledHostCallback = callback;
60653
60654    if (!isMessageLoopRunning) {
60655      isMessageLoopRunning = true;
60656      port.postMessage(null);
60657    }
60658  };
60659
60660  requestHostTimeout = function (callback, ms) {
60661    taskTimeoutID = _setTimeout(function () {
60662      callback(exports.unstable_now());
60663    }, ms);
60664  };
60665
60666  cancelHostTimeout = function () {
60667    _clearTimeout(taskTimeoutID);
60668
60669    taskTimeoutID = -1;
60670  };
60671}
60672
60673function push(heap, node) {
60674  var index = heap.length;
60675  heap.push(node);
60676  siftUp(heap, node, index);
60677}
60678function peek(heap) {
60679  var first = heap[0];
60680  return first === undefined ? null : first;
60681}
60682function pop(heap) {
60683  var first = heap[0];
60684
60685  if (first !== undefined) {
60686    var last = heap.pop();
60687
60688    if (last !== first) {
60689      heap[0] = last;
60690      siftDown(heap, last, 0);
60691    }
60692
60693    return first;
60694  } else {
60695    return null;
60696  }
60697}
60698
60699function siftUp(heap, node, i) {
60700  var index = i;
60701
60702  while (true) {
60703    var parentIndex = index - 1 >>> 1;
60704    var parent = heap[parentIndex];
60705
60706    if (parent !== undefined && compare(parent, node) > 0) {
60707      // The parent is larger. Swap positions.
60708      heap[parentIndex] = node;
60709      heap[index] = parent;
60710      index = parentIndex;
60711    } else {
60712      // The parent is smaller. Exit.
60713      return;
60714    }
60715  }
60716}
60717
60718function siftDown(heap, node, i) {
60719  var index = i;
60720  var length = heap.length;
60721
60722  while (index < length) {
60723    var leftIndex = (index + 1) * 2 - 1;
60724    var left = heap[leftIndex];
60725    var rightIndex = leftIndex + 1;
60726    var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those.
60727
60728    if (left !== undefined && compare(left, node) < 0) {
60729      if (right !== undefined && compare(right, left) < 0) {
60730        heap[index] = right;
60731        heap[rightIndex] = node;
60732        index = rightIndex;
60733      } else {
60734        heap[index] = left;
60735        heap[leftIndex] = node;
60736        index = leftIndex;
60737      }
60738    } else if (right !== undefined && compare(right, node) < 0) {
60739      heap[index] = right;
60740      heap[rightIndex] = node;
60741      index = rightIndex;
60742    } else {
60743      // Neither child is smaller. Exit.
60744      return;
60745    }
60746  }
60747}
60748
60749function compare(a, b) {
60750  // Compare sort index first, then task id.
60751  var diff = a.sortIndex - b.sortIndex;
60752  return diff !== 0 ? diff : a.id - b.id;
60753}
60754
60755// TODO: Use symbols?
60756var NoPriority = 0;
60757var ImmediatePriority = 1;
60758var UserBlockingPriority = 2;
60759var NormalPriority = 3;
60760var LowPriority = 4;
60761var IdlePriority = 5;
60762
60763var runIdCounter = 0;
60764var mainThreadIdCounter = 0;
60765var profilingStateSize = 4;
60766var sharedProfilingBuffer =  // $FlowFixMe Flow doesn't know about SharedArrayBuffer
60767typeof SharedArrayBuffer === 'function' ? new SharedArrayBuffer(profilingStateSize * Int32Array.BYTES_PER_ELEMENT) : // $FlowFixMe Flow doesn't know about ArrayBuffer
60768typeof ArrayBuffer === 'function' ? new ArrayBuffer(profilingStateSize * Int32Array.BYTES_PER_ELEMENT) : null // Don't crash the init path on IE9
60769;
60770var profilingState =  sharedProfilingBuffer !== null ? new Int32Array(sharedProfilingBuffer) : []; // We can't read this but it helps save bytes for null checks
60771
60772var PRIORITY = 0;
60773var CURRENT_TASK_ID = 1;
60774var CURRENT_RUN_ID = 2;
60775var QUEUE_SIZE = 3;
60776
60777{
60778  profilingState[PRIORITY] = NoPriority; // This is maintained with a counter, because the size of the priority queue
60779  // array might include canceled tasks.
60780
60781  profilingState[QUEUE_SIZE] = 0;
60782  profilingState[CURRENT_TASK_ID] = 0;
60783} // Bytes per element is 4
60784
60785
60786var INITIAL_EVENT_LOG_SIZE = 131072;
60787var MAX_EVENT_LOG_SIZE = 524288; // Equivalent to 2 megabytes
60788
60789var eventLogSize = 0;
60790var eventLogBuffer = null;
60791var eventLog = null;
60792var eventLogIndex = 0;
60793var TaskStartEvent = 1;
60794var TaskCompleteEvent = 2;
60795var TaskErrorEvent = 3;
60796var TaskCancelEvent = 4;
60797var TaskRunEvent = 5;
60798var TaskYieldEvent = 6;
60799var SchedulerSuspendEvent = 7;
60800var SchedulerResumeEvent = 8;
60801
60802function logEvent(entries) {
60803  if (eventLog !== null) {
60804    var offset = eventLogIndex;
60805    eventLogIndex += entries.length;
60806
60807    if (eventLogIndex + 1 > eventLogSize) {
60808      eventLogSize *= 2;
60809
60810      if (eventLogSize > MAX_EVENT_LOG_SIZE) {
60811        // Using console['error'] to evade Babel and ESLint
60812        console['error']("Scheduler Profiling: Event log exceeded maximum size. Don't " + 'forget to call `stopLoggingProfilingEvents()`.');
60813        stopLoggingProfilingEvents();
60814        return;
60815      }
60816
60817      var newEventLog = new Int32Array(eventLogSize * 4);
60818      newEventLog.set(eventLog);
60819      eventLogBuffer = newEventLog.buffer;
60820      eventLog = newEventLog;
60821    }
60822
60823    eventLog.set(entries, offset);
60824  }
60825}
60826
60827function startLoggingProfilingEvents() {
60828  eventLogSize = INITIAL_EVENT_LOG_SIZE;
60829  eventLogBuffer = new ArrayBuffer(eventLogSize * 4);
60830  eventLog = new Int32Array(eventLogBuffer);
60831  eventLogIndex = 0;
60832}
60833function stopLoggingProfilingEvents() {
60834  var buffer = eventLogBuffer;
60835  eventLogSize = 0;
60836  eventLogBuffer = null;
60837  eventLog = null;
60838  eventLogIndex = 0;
60839  return buffer;
60840}
60841function markTaskStart(task, ms) {
60842  {
60843    profilingState[QUEUE_SIZE]++;
60844
60845    if (eventLog !== null) {
60846      // performance.now returns a float, representing milliseconds. When the
60847      // event is logged, it's coerced to an int. Convert to microseconds to
60848      // maintain extra degrees of precision.
60849      logEvent([TaskStartEvent, ms * 1000, task.id, task.priorityLevel]);
60850    }
60851  }
60852}
60853function markTaskCompleted(task, ms) {
60854  {
60855    profilingState[PRIORITY] = NoPriority;
60856    profilingState[CURRENT_TASK_ID] = 0;
60857    profilingState[QUEUE_SIZE]--;
60858
60859    if (eventLog !== null) {
60860      logEvent([TaskCompleteEvent, ms * 1000, task.id]);
60861    }
60862  }
60863}
60864function markTaskCanceled(task, ms) {
60865  {
60866    profilingState[QUEUE_SIZE]--;
60867
60868    if (eventLog !== null) {
60869      logEvent([TaskCancelEvent, ms * 1000, task.id]);
60870    }
60871  }
60872}
60873function markTaskErrored(task, ms) {
60874  {
60875    profilingState[PRIORITY] = NoPriority;
60876    profilingState[CURRENT_TASK_ID] = 0;
60877    profilingState[QUEUE_SIZE]--;
60878
60879    if (eventLog !== null) {
60880      logEvent([TaskErrorEvent, ms * 1000, task.id]);
60881    }
60882  }
60883}
60884function markTaskRun(task, ms) {
60885  {
60886    runIdCounter++;
60887    profilingState[PRIORITY] = task.priorityLevel;
60888    profilingState[CURRENT_TASK_ID] = task.id;
60889    profilingState[CURRENT_RUN_ID] = runIdCounter;
60890
60891    if (eventLog !== null) {
60892      logEvent([TaskRunEvent, ms * 1000, task.id, runIdCounter]);
60893    }
60894  }
60895}
60896function markTaskYield(task, ms) {
60897  {
60898    profilingState[PRIORITY] = NoPriority;
60899    profilingState[CURRENT_TASK_ID] = 0;
60900    profilingState[CURRENT_RUN_ID] = 0;
60901
60902    if (eventLog !== null) {
60903      logEvent([TaskYieldEvent, ms * 1000, task.id, runIdCounter]);
60904    }
60905  }
60906}
60907function markSchedulerSuspended(ms) {
60908  {
60909    mainThreadIdCounter++;
60910
60911    if (eventLog !== null) {
60912      logEvent([SchedulerSuspendEvent, ms * 1000, mainThreadIdCounter]);
60913    }
60914  }
60915}
60916function markSchedulerUnsuspended(ms) {
60917  {
60918    if (eventLog !== null) {
60919      logEvent([SchedulerResumeEvent, ms * 1000, mainThreadIdCounter]);
60920    }
60921  }
60922}
60923
60924/* eslint-disable no-var */
60925// Math.pow(2, 30) - 1
60926// 0b111111111111111111111111111111
60927
60928var maxSigned31BitInt = 1073741823; // Times out immediately
60929
60930var IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out
60931
60932var USER_BLOCKING_PRIORITY = 250;
60933var NORMAL_PRIORITY_TIMEOUT = 5000;
60934var LOW_PRIORITY_TIMEOUT = 10000; // Never times out
60935
60936var IDLE_PRIORITY = maxSigned31BitInt; // Tasks are stored on a min heap
60937
60938var taskQueue = [];
60939var timerQueue = []; // Incrementing id counter. Used to maintain insertion order.
60940
60941var taskIdCounter = 1; // Pausing the scheduler is useful for debugging.
60942var currentTask = null;
60943var currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrancy.
60944
60945var isPerformingWork = false;
60946var isHostCallbackScheduled = false;
60947var isHostTimeoutScheduled = false;
60948
60949function advanceTimers(currentTime) {
60950  // Check for tasks that are no longer delayed and add them to the queue.
60951  var timer = peek(timerQueue);
60952
60953  while (timer !== null) {
60954    if (timer.callback === null) {
60955      // Timer was cancelled.
60956      pop(timerQueue);
60957    } else if (timer.startTime <= currentTime) {
60958      // Timer fired. Transfer to the task queue.
60959      pop(timerQueue);
60960      timer.sortIndex = timer.expirationTime;
60961      push(taskQueue, timer);
60962
60963      {
60964        markTaskStart(timer, currentTime);
60965        timer.isQueued = true;
60966      }
60967    } else {
60968      // Remaining timers are pending.
60969      return;
60970    }
60971
60972    timer = peek(timerQueue);
60973  }
60974}
60975
60976function handleTimeout(currentTime) {
60977  isHostTimeoutScheduled = false;
60978  advanceTimers(currentTime);
60979
60980  if (!isHostCallbackScheduled) {
60981    if (peek(taskQueue) !== null) {
60982      isHostCallbackScheduled = true;
60983      requestHostCallback(flushWork);
60984    } else {
60985      var firstTimer = peek(timerQueue);
60986
60987      if (firstTimer !== null) {
60988        requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);
60989      }
60990    }
60991  }
60992}
60993
60994function flushWork(hasTimeRemaining, initialTime) {
60995  {
60996    markSchedulerUnsuspended(initialTime);
60997  } // We'll need a host callback the next time work is scheduled.
60998
60999
61000  isHostCallbackScheduled = false;
61001
61002  if (isHostTimeoutScheduled) {
61003    // We scheduled a timeout but it's no longer needed. Cancel it.
61004    isHostTimeoutScheduled = false;
61005    cancelHostTimeout();
61006  }
61007
61008  isPerformingWork = true;
61009  var previousPriorityLevel = currentPriorityLevel;
61010
61011  try {
61012    if (enableProfiling) {
61013      try {
61014        return workLoop(hasTimeRemaining, initialTime);
61015      } catch (error) {
61016        if (currentTask !== null) {
61017          var currentTime = exports.unstable_now();
61018          markTaskErrored(currentTask, currentTime);
61019          currentTask.isQueued = false;
61020        }
61021
61022        throw error;
61023      }
61024    } else {
61025      // No catch in prod codepath.
61026      return workLoop(hasTimeRemaining, initialTime);
61027    }
61028  } finally {
61029    currentTask = null;
61030    currentPriorityLevel = previousPriorityLevel;
61031    isPerformingWork = false;
61032
61033    {
61034      var _currentTime = exports.unstable_now();
61035
61036      markSchedulerSuspended(_currentTime);
61037    }
61038  }
61039}
61040
61041function workLoop(hasTimeRemaining, initialTime) {
61042  var currentTime = initialTime;
61043  advanceTimers(currentTime);
61044  currentTask = peek(taskQueue);
61045
61046  while (currentTask !== null && !(enableSchedulerDebugging )) {
61047    if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) {
61048      // This currentTask hasn't expired, and we've reached the deadline.
61049      break;
61050    }
61051
61052    var callback = currentTask.callback;
61053
61054    if (callback !== null) {
61055      currentTask.callback = null;
61056      currentPriorityLevel = currentTask.priorityLevel;
61057      var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;
61058      markTaskRun(currentTask, currentTime);
61059      var continuationCallback = callback(didUserCallbackTimeout);
61060      currentTime = exports.unstable_now();
61061
61062      if (typeof continuationCallback === 'function') {
61063        currentTask.callback = continuationCallback;
61064        markTaskYield(currentTask, currentTime);
61065      } else {
61066        {
61067          markTaskCompleted(currentTask, currentTime);
61068          currentTask.isQueued = false;
61069        }
61070
61071        if (currentTask === peek(taskQueue)) {
61072          pop(taskQueue);
61073        }
61074      }
61075
61076      advanceTimers(currentTime);
61077    } else {
61078      pop(taskQueue);
61079    }
61080
61081    currentTask = peek(taskQueue);
61082  } // Return whether there's additional work
61083
61084
61085  if (currentTask !== null) {
61086    return true;
61087  } else {
61088    var firstTimer = peek(timerQueue);
61089
61090    if (firstTimer !== null) {
61091      requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);
61092    }
61093
61094    return false;
61095  }
61096}
61097
61098function unstable_runWithPriority(priorityLevel, eventHandler) {
61099  switch (priorityLevel) {
61100    case ImmediatePriority:
61101    case UserBlockingPriority:
61102    case NormalPriority:
61103    case LowPriority:
61104    case IdlePriority:
61105      break;
61106
61107    default:
61108      priorityLevel = NormalPriority;
61109  }
61110
61111  var previousPriorityLevel = currentPriorityLevel;
61112  currentPriorityLevel = priorityLevel;
61113
61114  try {
61115    return eventHandler();
61116  } finally {
61117    currentPriorityLevel = previousPriorityLevel;
61118  }
61119}
61120
61121function unstable_next(eventHandler) {
61122  var priorityLevel;
61123
61124  switch (currentPriorityLevel) {
61125    case ImmediatePriority:
61126    case UserBlockingPriority:
61127    case NormalPriority:
61128      // Shift down to normal priority
61129      priorityLevel = NormalPriority;
61130      break;
61131
61132    default:
61133      // Anything lower than normal priority should remain at the current level.
61134      priorityLevel = currentPriorityLevel;
61135      break;
61136  }
61137
61138  var previousPriorityLevel = currentPriorityLevel;
61139  currentPriorityLevel = priorityLevel;
61140
61141  try {
61142    return eventHandler();
61143  } finally {
61144    currentPriorityLevel = previousPriorityLevel;
61145  }
61146}
61147
61148function unstable_wrapCallback(callback) {
61149  var parentPriorityLevel = currentPriorityLevel;
61150  return function () {
61151    // This is a fork of runWithPriority, inlined for performance.
61152    var previousPriorityLevel = currentPriorityLevel;
61153    currentPriorityLevel = parentPriorityLevel;
61154
61155    try {
61156      return callback.apply(this, arguments);
61157    } finally {
61158      currentPriorityLevel = previousPriorityLevel;
61159    }
61160  };
61161}
61162
61163function timeoutForPriorityLevel(priorityLevel) {
61164  switch (priorityLevel) {
61165    case ImmediatePriority:
61166      return IMMEDIATE_PRIORITY_TIMEOUT;
61167
61168    case UserBlockingPriority:
61169      return USER_BLOCKING_PRIORITY;
61170
61171    case IdlePriority:
61172      return IDLE_PRIORITY;
61173
61174    case LowPriority:
61175      return LOW_PRIORITY_TIMEOUT;
61176
61177    case NormalPriority:
61178    default:
61179      return NORMAL_PRIORITY_TIMEOUT;
61180  }
61181}
61182
61183function unstable_scheduleCallback(priorityLevel, callback, options) {
61184  var currentTime = exports.unstable_now();
61185  var startTime;
61186  var timeout;
61187
61188  if (typeof options === 'object' && options !== null) {
61189    var delay = options.delay;
61190
61191    if (typeof delay === 'number' && delay > 0) {
61192      startTime = currentTime + delay;
61193    } else {
61194      startTime = currentTime;
61195    }
61196
61197    timeout = typeof options.timeout === 'number' ? options.timeout : timeoutForPriorityLevel(priorityLevel);
61198  } else {
61199    timeout = timeoutForPriorityLevel(priorityLevel);
61200    startTime = currentTime;
61201  }
61202
61203  var expirationTime = startTime + timeout;
61204  var newTask = {
61205    id: taskIdCounter++,
61206    callback: callback,
61207    priorityLevel: priorityLevel,
61208    startTime: startTime,
61209    expirationTime: expirationTime,
61210    sortIndex: -1
61211  };
61212
61213  {
61214    newTask.isQueued = false;
61215  }
61216
61217  if (startTime > currentTime) {
61218    // This is a delayed task.
61219    newTask.sortIndex = startTime;
61220    push(timerQueue, newTask);
61221
61222    if (peek(taskQueue) === null && newTask === peek(timerQueue)) {
61223      // All tasks are delayed, and this is the task with the earliest delay.
61224      if (isHostTimeoutScheduled) {
61225        // Cancel an existing timeout.
61226        cancelHostTimeout();
61227      } else {
61228        isHostTimeoutScheduled = true;
61229      } // Schedule a timeout.
61230
61231
61232      requestHostTimeout(handleTimeout, startTime - currentTime);
61233    }
61234  } else {
61235    newTask.sortIndex = expirationTime;
61236    push(taskQueue, newTask);
61237
61238    {
61239      markTaskStart(newTask, currentTime);
61240      newTask.isQueued = true;
61241    } // Schedule a host callback, if needed. If we're already performing work,
61242    // wait until the next time we yield.
61243
61244
61245    if (!isHostCallbackScheduled && !isPerformingWork) {
61246      isHostCallbackScheduled = true;
61247      requestHostCallback(flushWork);
61248    }
61249  }
61250
61251  return newTask;
61252}
61253
61254function unstable_pauseExecution() {
61255}
61256
61257function unstable_continueExecution() {
61258
61259  if (!isHostCallbackScheduled && !isPerformingWork) {
61260    isHostCallbackScheduled = true;
61261    requestHostCallback(flushWork);
61262  }
61263}
61264
61265function unstable_getFirstCallbackNode() {
61266  return peek(taskQueue);
61267}
61268
61269function unstable_cancelCallback(task) {
61270  {
61271    if (task.isQueued) {
61272      var currentTime = exports.unstable_now();
61273      markTaskCanceled(task, currentTime);
61274      task.isQueued = false;
61275    }
61276  } // Null out the callback to indicate the task has been canceled. (Can't
61277  // remove from the queue because you can't remove arbitrary nodes from an
61278  // array based heap, only the first one.)
61279
61280
61281  task.callback = null;
61282}
61283
61284function unstable_getCurrentPriorityLevel() {
61285  return currentPriorityLevel;
61286}
61287
61288function unstable_shouldYield() {
61289  var currentTime = exports.unstable_now();
61290  advanceTimers(currentTime);
61291  var firstTask = peek(taskQueue);
61292  return firstTask !== currentTask && currentTask !== null && firstTask !== null && firstTask.callback !== null && firstTask.startTime <= currentTime && firstTask.expirationTime < currentTask.expirationTime || shouldYieldToHost();
61293}
61294
61295var unstable_requestPaint = requestPaint;
61296var unstable_Profiling =  {
61297  startLoggingProfilingEvents: startLoggingProfilingEvents,
61298  stopLoggingProfilingEvents: stopLoggingProfilingEvents,
61299  sharedProfilingBuffer: sharedProfilingBuffer
61300} ;
61301
61302exports.unstable_IdlePriority = IdlePriority;
61303exports.unstable_ImmediatePriority = ImmediatePriority;
61304exports.unstable_LowPriority = LowPriority;
61305exports.unstable_NormalPriority = NormalPriority;
61306exports.unstable_Profiling = unstable_Profiling;
61307exports.unstable_UserBlockingPriority = UserBlockingPriority;
61308exports.unstable_cancelCallback = unstable_cancelCallback;
61309exports.unstable_continueExecution = unstable_continueExecution;
61310exports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;
61311exports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;
61312exports.unstable_next = unstable_next;
61313exports.unstable_pauseExecution = unstable_pauseExecution;
61314exports.unstable_requestPaint = unstable_requestPaint;
61315exports.unstable_runWithPriority = unstable_runWithPriority;
61316exports.unstable_scheduleCallback = unstable_scheduleCallback;
61317exports.unstable_shouldYield = unstable_shouldYield;
61318exports.unstable_wrapCallback = unstable_wrapCallback;
61319  })();
61320}
61321
61322
61323/***/ }),
61324
vendor: 458 bytes, lines 61325-61341
61325/***/ "./node_modules/scheduler/index.js":
61326/*!*****************************************!*\
61327  !*** ./node_modules/scheduler/index.js ***!
61328  \*****************************************/
61329/*! no static exports found */
61330/***/ (function(module, exports, __webpack_require__) {
61331
61332"use strict";
61333
61334
61335if (false) {} else {
61336  module.exports = __webpack_require__(/*! ./cjs/scheduler.development.js */ "./node_modules/scheduler/cjs/scheduler.development.js");
61337}
61338
61339
61340/***/ }),
61341
vendor: 482 bytes, lines 61342-61358
61342/***/ "./node_modules/scheduler/tracing.js":
61343/*!*******************************************!*\
61344  !*** ./node_modules/scheduler/tracing.js ***!
61345  \*******************************************/
61346/*! no static exports found */
61347/***/ (function(module, exports, __webpack_require__) {
61348
61349"use strict";
61350
61351
61352if (false) {} else {
61353  module.exports = __webpack_require__(/*! ./cjs/scheduler-tracing.development.js */ "./node_modules/scheduler/cjs/scheduler-tracing.development.js");
61354}
61355
61356
61357/***/ }),
61358
vendor: 2,742 bytes, lines 61359-61369
61359/***/ "./node_modules/text-mask-addons/dist/createNumberMask.js":
61360/*!****************************************************************!*\
61361  !*** ./node_modules/text-mask-addons/dist/createNumberMask.js ***!
61362  \****************************************************************/
61363/*! no static exports found */
61364/***/ (function(module, exports, __webpack_require__) {
61365
61366!function(e,t){ true?module.exports=t():undefined}(this,function(){return function(e){function t(n){if(o[n])return o[n].exports;var i=o[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var o={};return t.m=e,t.c=o,t.p="",t(0)}([function(e,t,o){e.exports=o(2)},,function(e,t){"use strict";function o(){function e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,t=e.length;if(e===l||e[0]===y[0]&&1===t)return y.split(l).concat([v]).concat(g.split(l));if(e===k&&M)return y.split(l).concat(["0",k,v]).concat(g.split(l));var o=e[0]===s&&q;o&&(e=e.toString().substr(1));var c=e.lastIndexOf(k),u=c!==-1,a=void 0,b=void 0,h=void 0;if(e.slice(T*-1)===g&&(e=e.slice(0,T*-1)),u&&(M||$)?(a=e.slice(e.slice(0,R)===y?R:0,c),b=e.slice(c+1,t),b=n(b.replace(f,l))):a=e.slice(0,R)===y?e.slice(R):e,P&&("undefined"==typeof P?"undefined":r(P))===p){var S="."===j?"[.]":""+j,w=(a.match(new RegExp(S,"g"))||[]).length;a=a.slice(0,P+w*Z)}return a=a.replace(f,l),E||(a=a.replace(/^0+(0$|[^0])/,"$1")),a=x?i(a,j):a,h=n(a),(u&&M||$===!0)&&(e[c-1]!==k&&h.push(m),h.push(k,m),b&&(("undefined"==typeof L?"undefined":r(L))===p&&(b=b.slice(0,L)),h=h.concat(b)),$===!0&&e[c-1]===k&&h.push(v)),R>0&&(h=y.split(l).concat(h)),o&&(h.length===R&&h.push(v),h=[d].concat(h)),g.length>0&&(h=h.concat(g.split(l))),h}var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=t.prefix,y=void 0===o?c:o,b=t.suffix,g=void 0===b?l:b,h=t.includeThousandsSeparator,x=void 0===h||h,S=t.thousandsSeparatorSymbol,j=void 0===S?u:S,w=t.allowDecimal,M=void 0!==w&&w,N=t.decimalSymbol,k=void 0===N?a:N,D=t.decimalLimit,L=void 0===D?2:D,O=t.requireDecimal,$=void 0!==O&&O,_=t.allowNegative,q=void 0!==_&&_,B=t.allowLeadingZeroes,E=void 0!==B&&B,I=t.integerLimit,P=void 0===I?null:I,R=y&&y.length||0,T=g&&g.length||0,Z=j&&j.length||0;return e.instanceOf="createNumberMask",e}function n(e){return e.split(l).map(function(e){return v.test(e)?v:e})}function i(e,t){return e.replace(/\B(?=(\d{3})+(?!\d))/g,t)}Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.default=o;var c="$",l="",u=",",a=".",s="-",d=/-/,f=/\D+/g,p="number",v=/\d/,m="[]"}])});
61367
61368/***/ }),
61369
vendor: 835 bytes, lines 61370-61402
61370/***/ "./node_modules/tiny-warning/dist/tiny-warning.esm.js":
61371/*!************************************************************!*\
61372  !*** ./node_modules/tiny-warning/dist/tiny-warning.esm.js ***!
61373  \************************************************************/
61374/*! exports provided: default */
61375/***/ (function(module, __webpack_exports__, __webpack_require__) {
61376
61377"use strict";
61378__webpack_require__.r(__webpack_exports__);
61379var isProduction = "development" === 'production';
61380function warning(condition, message) {
61381  if (!isProduction) {
61382    if (condition) {
61383      return;
61384    }
61385
61386    var text = "Warning: " + message;
61387
61388    if (typeof console !== 'undefined') {
61389      console.warn(text);
61390    }
61391
61392    try {
61393      throw Error(text);
61394    } catch (x) {}
61395  }
61396}
61397
61398/* harmony default export */ __webpack_exports__["default"] = (warning);
61399
61400
61401/***/ }),
61402
vendor: 724 bytes, lines 61403-61433
61403/***/ "./node_modules/webpack/buildin/global.js":
61404/*!***********************************!*\
61405  !*** (webpack)/buildin/global.js ***!
61406  \***********************************/
61407/*! no static exports found */
61408/***/ (function(module, exports) {
61409
61410var g;
61411
61412// This works in non-strict mode
61413g = (function() {
61414	return this;
61415})();
61416
61417try {
61418	// This works if eval is allowed (see CSP)
61419	g = g || new Function("return this")();
61420} catch (e) {
61421	// This works if the window reference is available
61422	if (typeof window === "object") g = window;
61423}
61424
61425// g can still be undefined, but nothing to do about it...
61426// We return undefined, instead of nothing here, so it's
61427// easier to handle this case. if(!global) { ...}
61428
61429module.exports = g;
61430
61431
61432/***/ }),
61433
vendor: 857 bytes, lines 61434-61468
61434/***/ "./node_modules/webpack/buildin/harmony-module.js":
61435/*!*******************************************!*\
61436  !*** (webpack)/buildin/harmony-module.js ***!
61437  \*******************************************/
61438/*! no static exports found */
61439/***/ (function(module, exports) {
61440
61441module.exports = function(originalModule) {
61442	if (!originalModule.webpackPolyfill) {
61443		var module = Object.create(originalModule);
61444		// module.parent = undefined by default
61445		if (!module.children) module.children = [];
61446		Object.defineProperty(module, "loaded", {
61447			enumerable: true,
61448			get: function() {
61449				return module.l;
61450			}
61451		});
61452		Object.defineProperty(module, "id", {
61453			enumerable: true,
61454			get: function() {
61455				return module.i;
61456			}
61457		});
61458		Object.defineProperty(module, "exports", {
61459			enumerable: true
61460		});
61461		module.webpackPolyfill = 1;
61462	}
61463	return module;
61464};
61465
61466
61467/***/ }),
61468
vendor: 746 bytes, lines 61469-61500
61469/***/ "./node_modules/webpack/buildin/module.js":
61470/*!***********************************!*\
61471  !*** (webpack)/buildin/module.js ***!
61472  \***********************************/
61473/*! no static exports found */
61474/***/ (function(module, exports) {
61475
61476module.exports = function(module) {
61477	if (!module.webpackPolyfill) {
61478		module.deprecate = function() {};
61479		module.paths = [];
61480		// module.parent = undefined by default
61481		if (!module.children) module.children = [];
61482		Object.defineProperty(module, "loaded", {
61483			enumerable: true,
61484			get: function() {
61485				return module.l;
61486			}
61487		});
61488		Object.defineProperty(module, "id", {
61489			enumerable: true,
61490			get: function() {
61491				return module.i;
61492			}
61493		});
61494		module.webpackPolyfill = 1;
61495	}
61496	return module;
61497};
61498
61499
61500/***/ })
61500,
61501
61502/***/ 0:
61503/*!****************************!*\
61504  !*** multi ./js/donate.js ***!
61505  \****************************/
61506/*! no static exports found */
61507/***/ (function(module, exports, __webpack_require__) {
61508
61509module.exports = __webpack_require__(/*! ./js/donate.js */"./js/donate.js");
61510
61511
61512/***/ })
61513
61514/******/ });
61515//# sourceMappingURL=donate.js.map

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