From 09bc2fc8c3a956851f980e8149ca3191a86bd448 Mon Sep 17 00:00:00 2001 From: Ronald Huereca Date: Mon, 12 Feb 2024 02:11:57 -0600 Subject: [PATCH 1/3] Adding generic block to Pattern Importer. --- build/index.asset.php | 2 +- build/index.js | 7375 ++++++++++++++++++- build/index.js.map | 1 - build/js/blocks/pattern-importer/block.json | 12 +- pattern-wrangler.php | 8 + php/Blocks.php | 190 +- src/index.js | 2 +- src/js/blocks/pattern-importer/block.js | 24 +- src/js/blocks/pattern-importer/block.json | 12 +- 9 files changed, 7344 insertions(+), 282 deletions(-) delete mode 100644 build/index.js.map diff --git a/build/index.asset.php b/build/index.asset.php index d3e0e03..259c58c 100644 --- a/build/index.asset.php +++ b/build/index.asset.php @@ -1 +1 @@ - array('react', 'wp-i18n', 'wp-plugins'), 'version' => '9165383a9b85136eb360'); + array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-i18n'), 'version' => '10a9bc14df2b8b7032ef'); diff --git a/build/index.js b/build/index.js index 38afa08..067a9e6 100644 --- a/build/index.js +++ b/build/index.js @@ -1,109 +1,7315 @@ /******/ (() => { // webpackBootstrap -/******/ "use strict"; /******/ var __webpack_modules__ = ({ -/***/ "./src/js/blocks/plugins/pattern-preview.js": +/***/ "./src/js/blocks/pattern-importer/block.js": +/*!*************************************************!*\ + !*** ./src/js/blocks/pattern-importer/block.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! classnames */ "./node_modules/classnames/index.js"); +/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var lodash_uniqueid__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash.uniqueid */ "./node_modules/lodash.uniqueid/index.js"); +/* harmony import */ var lodash_uniqueid__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_uniqueid__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components"); +/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks"); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data"); +/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor"); +/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/compose */ "@wordpress/compose"); +/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var _utils_SendCommand__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/SendCommand */ "./src/js/blocks/utils/SendCommand.js"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } +function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; } +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } +function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } +/* eslint-disable no-undef */ +/* eslint-disable no-unused-vars */ +/* eslint-disable camelcase */ +/** + * External dependencies + */ + + + + + + + + + + + + +// Image RegEx. +var imageRegEx = /(]+src=")([^">]+)("[^>]+>)/gi; +var backgroundImageRegEx = /url\(["']?(.+?\.(jpg|jpeg|png|gif|webp))["']?\)/gi; +var uniqueIdRegex = /\"uniqueId\"\:\"([^"]+)\"/gi; + +// Unique ID storing. +var uniqueIds = []; + +// For storing the number of images imported. +var imageCount = 0; +var escapeRegExp = function escapeRegExp(content) { + return content.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +}; + +var PatternImporter = function PatternImporter(props) { + // Shortcuts. + var attributes = props.attributes, + setAttributes = props.setAttributes, + clientId = props.clientId; + var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(''), + _useState2 = _slicedToArray(_useState, 2), + patternText = _useState2[0], + setPatternText = _useState2[1]; + var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]), + _useState4 = _slicedToArray(_useState3, 2), + patternImages = _useState4[0], + setPatternImages = _useState4[1]; + var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]), + _useState6 = _slicedToArray(_useState5, 2), + patternBackgroundImages = _useState6[0], + setPatternBackgroundImages = _useState6[1]; + var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false), + _useState8 = _slicedToArray(_useState7, 2), + importing = _useState8[0], + setImporting = _useState8[1]; + var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0), + _useState10 = _slicedToArray(_useState9, 2), + imageProcessingCount = _useState10[0], + setImageProcessingCount = _useState10[1]; + var _useDispatch = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_6__.useDispatch)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_7__.store), + replaceBlock = _useDispatch.replaceBlock; + var onPatternSubmit = /*#__PURE__*/function () { + var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() { + var processImage, matches, imagesToProcess, bgMatches, imagesProcessed, imagePromises, localPatternText; + return _regeneratorRuntime().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + setImporting(true); + processImage = /*#__PURE__*/function () { + var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(imgUrl, imgAlt) { + var response; + return _regeneratorRuntime().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return (0,_utils_SendCommand__WEBPACK_IMPORTED_MODULE_9__["default"])(dlxPWPatternInserter.restNonce, { + imgUrl: imgUrl, + imgAlt: imgAlt + }, dlxPWPatternInserter.restUrl + '/process_image'); + case 2: + response = _context.sent; + return _context.abrupt("return", response); + case 4: + case "end": + return _context.stop(); + } + }, _callee); + })); + return function processImage(_x, _x2) { + return _ref2.apply(this, arguments); + }; + }(); + matches = _toConsumableArray(patternText.matchAll(imageRegEx)); + imagesToProcess = []; // If there are matches, we need to process them. + if (matches.length) { + setPatternImages(matches); + matches.forEach(function (match) { + imagesToProcess.push(match[2]); + }); + } + + // Check for background images. + bgMatches = _toConsumableArray(patternText.matchAll(backgroundImageRegEx)); // If there are bg matches, we need to process them. + if (bgMatches.length) { + setPatternBackgroundImages(bgMatches); + bgMatches.forEach(function (match) { + imagesToProcess.push(match[1]); + }); + } + imagesProcessed = []; + imagePromises = []; + localPatternText = patternText; // Let's loop through images and process. + if (imagesToProcess.length) { + imagePromises = imagesToProcess.map(function (image) { + try { + var response = processImage(image, ''); + response.then(function (restResponse) { + imagesProcessed.push(image); + var _restResponse$data = restResponse.data, + data = _restResponse$data.data, + success = _restResponse$data.success; + if (success) { + imageCount++; + setImageProcessingCount(imageCount); + + // Get the image URL and replace in pattern. + var newImageUrl = data.attachmentUrl; + + // Replace old URL with new URL. + localPatternText = localPatternText.replace(image, newImageUrl); + setPatternText(localPatternText); + } else { + // Fail silently. + imageCount++; + setImageProcessingCount(imageCount); + } + })["catch"](function (error) { + // Fail silently. + imageCount++; + setImageProcessingCount(imageCount); + }); + return response; + } catch (error) { + // Fail silently. + imageCount++; + setImageProcessingCount(imageCount); + } + }); + } + Promise.all(imagePromises).then(function () { + var pwUniqueIdMatches = _toConsumableArray(localPatternText.matchAll(uniqueIdRegex)); + + // If there are matches, we need to process them. + if (pwUniqueIdMatches.length) { + // Loop through matches, generate unique ID, and replace. + pwUniqueIdMatches.forEach(function (match) { + var newUniqueId = generateUniqueId(); + uniqueIds.push(newUniqueId); + patternText.replace(match[1], "\"uniqueId\":\"".concat(newUniqueId, "\"")); + }); + } + + // Convert pattern to blocks. + try { + var patternBlocks = (0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_5__.parse)(localPatternText); + replaceBlock(clientId, patternBlocks); + + // Insert block in place of this one. + //replaceInnerBlocks( clientId, patternBlocks ); + } catch (error) {} + })["catch"](function (error) { + var pwUniqueIdMatches = _toConsumableArray(localPatternText.matchAll(uniqueIdRegex)); + + // If there are matches, we need to process them. + if (pwUniqueIdMatches.length) { + // Loop through matches, generate unique ID, and replace. + pwUniqueIdMatches.forEach(function (match) { + var newUniqueId = generateUniqueId(); + uniqueIds.push(newUniqueId); + patternText.replace(match[1], "\"uniqueId\":\"".concat(newUniqueId, "\"")); + }); + } + // Convert pattern to blocks. + try { + var patternBlocks = (0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_5__.parse)(localPatternText); + replaceBlock(clientId, patternBlocks); + + // Insert block in place of this one. + //replaceInnerBlocks( clientId, patternBlocks ); + } catch (error) {} + }); + case 12: + case "end": + return _context2.stop(); + } + }, _callee2); + })); + return function onPatternSubmit() { + return _ref.apply(this, arguments); + }; + }(); + + /** + * Return and generate a new unique ID. + * + * @return {string} The uniqueId. + */ + var generateUniqueId = function generateUniqueId() { + // Get the substr of current client ID for prefix. + var prefix = clientId.substring(2, 9).replace('-', ''); + var newUniqueId = lodash_uniqueid__WEBPACK_IMPORTED_MODULE_3___default()(prefix); + + // Make sure it isn't in the array already. Recursive much? + if (uniqueIds.includes(newUniqueId)) { + return generateUniqueId(); + } + return newUniqueId; + }; + var block = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.Card, { + className: "dlx-pattern-inserter" + }, /*#__PURE__*/React.createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.CardHeader, null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Pattern Importer', 'dlx-pattern-wrangler')), /*#__PURE__*/React.createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.CardBody, null, /*#__PURE__*/React.createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.TextareaControl, { + label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Paste your pattern here', 'dlx-pattern-wrangler'), + placeholder: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Paste your pattern here', 'dlx-pattern-wrangler'), + value: patternText, + onChange: function onChange(value) { + return setPatternText(value); + }, + disabled: importing + })), /*#__PURE__*/React.createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.CardFooter, null, /*#__PURE__*/React.createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.Button, { + variant: "primary", + disabled: !patternText || importing, + onClick: onPatternSubmit + }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Import', 'dlx-pattern-wrangler')), importing && /*#__PURE__*/React.createElement("span", { + className: "gb-pattern-importer-image" + }, /*#__PURE__*/React.createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.Spinner, null), "Processing ".concat(imageCount, " of ").concat(patternImages.length, " images."))))); + var blockProps = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_7__.useBlockProps)({ + className: 'dlx-pattern-inserter-wrapper' + }); + return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", blockProps, block)); +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PatternImporter); + +/***/ }), + +/***/ "./src/js/blocks/pattern-importer/index.js": +/*!*************************************************!*\ + !*** ./src/js/blocks/pattern-importer/index.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks"); +/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _block__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./block */ "./src/js/blocks/pattern-importer/block.js"); +/* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./block.json */ "./src/js/blocks/pattern-importer/block.json"); + + + +var PatternIcon = /*#__PURE__*/React.createElement("svg", { + xmlns: "http://www.w3.org/2000/svg", + width: 24, + height: 24, + viewBox: "0 0 24 24" +}, /*#__PURE__*/React.createElement("path", { + fill: "currentColor", + d: "M0 3v8h11V0H3a3 3 0 0 0-3 3ZM0 21a3 3 0 0 0 3 3h8V13H0ZM13 13v11h8a3 3 0 0 0 3-3v-8ZM17 11h2V7h4V5h-4V1h-2v4h-4v2h4v4z" +})); +(0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__.registerBlockType)(_block_json__WEBPACK_IMPORTED_MODULE_2__, { + edit: _block__WEBPACK_IMPORTED_MODULE_1__["default"], + save: function save() { + return null; + }, + icon: PatternIcon +}); + +/***/ }), + +/***/ "./src/js/blocks/utils/SendCommand.js": +/*!********************************************!*\ + !*** ./src/js/blocks/utils/SendCommand.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ SendCommand) +/* harmony export */ }); +/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! axios */ "./node_modules/axios/lib/axios.js"); +/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! qs */ "./node_modules/qs/lib/index.js"); +/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_0__); +/* eslint-disable no-undef */ +/* eslint-disable camelcase */ + + + +/** + * Send a REST request via JS. + * + * @param {string} nonce The REST nonce. + * @param {Object} data The REST data to pass. + * @param {string} restEndPoint The REST endpoint to use. + * @param {string} method The REST method to use. Defaults to 'post'. + * @return {Promise} The REST request promise. + */ +function SendCommand(nonce, data, restEndPoint) { + var method = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'post'; + if ('undefined' === typeof data) { + data = {}; + } + var options = { + method: method, + url: restEndPoint, + params: data, + headers: { + 'X-WP-Nonce': nonce + }, + data: data + }; + return (0,axios__WEBPACK_IMPORTED_MODULE_1__["default"])(options); +} + +/***/ }), + +/***/ "./node_modules/call-bind/callBound.js": +/*!*********************************************!*\ + !*** ./node_modules/call-bind/callBound.js ***! + \*********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var GetIntrinsic = __webpack_require__(/*! get-intrinsic */ "./node_modules/get-intrinsic/index.js"); + +var callBind = __webpack_require__(/*! ./ */ "./node_modules/call-bind/index.js"); + +var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf')); + +module.exports = function callBoundIntrinsic(name, allowMissing) { + var intrinsic = GetIntrinsic(name, !!allowMissing); + if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) { + return callBind(intrinsic); + } + return intrinsic; +}; + + +/***/ }), + +/***/ "./node_modules/call-bind/index.js": +/*!*****************************************!*\ + !*** ./node_modules/call-bind/index.js ***! + \*****************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js"); +var GetIntrinsic = __webpack_require__(/*! get-intrinsic */ "./node_modules/get-intrinsic/index.js"); +var setFunctionLength = __webpack_require__(/*! set-function-length */ "./node_modules/set-function-length/index.js"); + +var $TypeError = GetIntrinsic('%TypeError%'); +var $apply = GetIntrinsic('%Function.prototype.apply%'); +var $call = GetIntrinsic('%Function.prototype.call%'); +var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply); + +var $defineProperty = GetIntrinsic('%Object.defineProperty%', true); +var $max = GetIntrinsic('%Math.max%'); + +if ($defineProperty) { + try { + $defineProperty({}, 'a', { value: 1 }); + } catch (e) { + // IE 8 has a broken defineProperty + $defineProperty = null; + } +} + +module.exports = function callBind(originalFunction) { + if (typeof originalFunction !== 'function') { + throw new $TypeError('a function is required'); + } + var func = $reflectApply(bind, $call, arguments); + return setFunctionLength( + func, + 1 + $max(0, originalFunction.length - (arguments.length - 1)), + true + ); +}; + +var applyBind = function applyBind() { + return $reflectApply(bind, $apply, arguments); +}; + +if ($defineProperty) { + $defineProperty(module.exports, 'apply', { value: applyBind }); +} else { + module.exports.apply = applyBind; +} + + +/***/ }), + +/***/ "./node_modules/classnames/index.js": +/*!******************************************!*\ + !*** ./node_modules/classnames/index.js ***! + \******************************************/ +/***/ ((module, exports) => { + +var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +/* global define */ + +(function () { + 'use strict'; + + var hasOwn = {}.hasOwnProperty; + var nativeCodeString = '[native code]'; + + function classNames() { + var classes = []; + + for (var i = 0; i < arguments.length; i++) { + var arg = arguments[i]; + if (!arg) continue; + + var argType = typeof arg; + + if (argType === 'string' || argType === 'number') { + classes.push(arg); + } else if (Array.isArray(arg)) { + if (arg.length) { + var inner = classNames.apply(null, arg); + if (inner) { + classes.push(inner); + } + } + } else if (argType === 'object') { + if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) { + classes.push(arg.toString()); + continue; + } + + for (var key in arg) { + if (hasOwn.call(arg, key) && arg[key]) { + classes.push(key); + } + } + } + } + + return classes.join(' '); + } + + if ( true && module.exports) { + classNames.default = classNames; + module.exports = classNames; + } else if (true) { + // register as 'classnames', consistent with npm package name + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () { + return classNames; + }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else {} +}()); + + +/***/ }), + +/***/ "./node_modules/define-data-property/index.js": +/*!****************************************************!*\ + !*** ./node_modules/define-data-property/index.js ***! + \****************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var hasPropertyDescriptors = __webpack_require__(/*! has-property-descriptors */ "./node_modules/has-property-descriptors/index.js")(); + +var GetIntrinsic = __webpack_require__(/*! get-intrinsic */ "./node_modules/get-intrinsic/index.js"); + +var $defineProperty = hasPropertyDescriptors && GetIntrinsic('%Object.defineProperty%', true); +if ($defineProperty) { + try { + $defineProperty({}, 'a', { value: 1 }); + } catch (e) { + // IE 8 has a broken defineProperty + $defineProperty = false; + } +} + +var $SyntaxError = GetIntrinsic('%SyntaxError%'); +var $TypeError = GetIntrinsic('%TypeError%'); + +var gopd = __webpack_require__(/*! gopd */ "./node_modules/gopd/index.js"); + +/** @type {(obj: Record, property: PropertyKey, value: unknown, nonEnumerable?: boolean | null, nonWritable?: boolean | null, nonConfigurable?: boolean | null, loose?: boolean) => void} */ +module.exports = function defineDataProperty( + obj, + property, + value +) { + if (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) { + throw new $TypeError('`obj` must be an object or a function`'); + } + if (typeof property !== 'string' && typeof property !== 'symbol') { + throw new $TypeError('`property` must be a string or a symbol`'); + } + if (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) { + throw new $TypeError('`nonEnumerable`, if provided, must be a boolean or null'); + } + if (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) { + throw new $TypeError('`nonWritable`, if provided, must be a boolean or null'); + } + if (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) { + throw new $TypeError('`nonConfigurable`, if provided, must be a boolean or null'); + } + if (arguments.length > 6 && typeof arguments[6] !== 'boolean') { + throw new $TypeError('`loose`, if provided, must be a boolean'); + } + + var nonEnumerable = arguments.length > 3 ? arguments[3] : null; + var nonWritable = arguments.length > 4 ? arguments[4] : null; + var nonConfigurable = arguments.length > 5 ? arguments[5] : null; + var loose = arguments.length > 6 ? arguments[6] : false; + + /* @type {false | TypedPropertyDescriptor} */ + var desc = !!gopd && gopd(obj, property); + + if ($defineProperty) { + $defineProperty(obj, property, { + configurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable, + enumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable, + value: value, + writable: nonWritable === null && desc ? desc.writable : !nonWritable + }); + } else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) { + // must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable + obj[property] = value; // eslint-disable-line no-param-reassign + } else { + throw new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.'); + } +}; + + +/***/ }), + +/***/ "./node_modules/function-bind/implementation.js": +/*!******************************************************!*\ + !*** ./node_modules/function-bind/implementation.js ***! + \******************************************************/ +/***/ ((module) => { + +"use strict"; + + +/* eslint no-invalid-this: 1 */ + +var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible '; +var toStr = Object.prototype.toString; +var max = Math.max; +var funcType = '[object Function]'; + +var concatty = function concatty(a, b) { + var arr = []; + + for (var i = 0; i < a.length; i += 1) { + arr[i] = a[i]; + } + for (var j = 0; j < b.length; j += 1) { + arr[j + a.length] = b[j]; + } + + return arr; +}; + +var slicy = function slicy(arrLike, offset) { + var arr = []; + for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) { + arr[j] = arrLike[i]; + } + return arr; +}; + +var joiny = function (arr, joiner) { + var str = ''; + for (var i = 0; i < arr.length; i += 1) { + str += arr[i]; + if (i + 1 < arr.length) { + str += joiner; + } + } + return str; +}; + +module.exports = function bind(that) { + var target = this; + if (typeof target !== 'function' || toStr.apply(target) !== funcType) { + throw new TypeError(ERROR_MESSAGE + target); + } + var args = slicy(arguments, 1); + + var bound; + var binder = function () { + if (this instanceof bound) { + var result = target.apply( + this, + concatty(args, arguments) + ); + if (Object(result) === result) { + return result; + } + return this; + } + return target.apply( + that, + concatty(args, arguments) + ); + + }; + + var boundLength = max(0, target.length - args.length); + var boundArgs = []; + for (var i = 0; i < boundLength; i++) { + boundArgs[i] = '$' + i; + } + + bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder); + + if (target.prototype) { + var Empty = function Empty() {}; + Empty.prototype = target.prototype; + bound.prototype = new Empty(); + Empty.prototype = null; + } + + return bound; +}; + + +/***/ }), + +/***/ "./node_modules/function-bind/index.js": +/*!*********************************************!*\ + !*** ./node_modules/function-bind/index.js ***! + \*********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var implementation = __webpack_require__(/*! ./implementation */ "./node_modules/function-bind/implementation.js"); + +module.exports = Function.prototype.bind || implementation; + + +/***/ }), + +/***/ "./node_modules/get-intrinsic/index.js": +/*!*********************************************!*\ + !*** ./node_modules/get-intrinsic/index.js ***! + \*********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var undefined; + +var $SyntaxError = SyntaxError; +var $Function = Function; +var $TypeError = TypeError; + +// eslint-disable-next-line consistent-return +var getEvalledConstructor = function (expressionSyntax) { + try { + return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')(); + } catch (e) {} +}; + +var $gOPD = Object.getOwnPropertyDescriptor; +if ($gOPD) { + try { + $gOPD({}, ''); + } catch (e) { + $gOPD = null; // this is IE 8, which has a broken gOPD + } +} + +var throwTypeError = function () { + throw new $TypeError(); +}; +var ThrowTypeError = $gOPD + ? (function () { + try { + // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties + arguments.callee; // IE 8 does not throw here + return throwTypeError; + } catch (calleeThrows) { + try { + // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '') + return $gOPD(arguments, 'callee').get; + } catch (gOPDthrows) { + return throwTypeError; + } + } + }()) + : throwTypeError; + +var hasSymbols = __webpack_require__(/*! has-symbols */ "./node_modules/has-symbols/index.js")(); +var hasProto = __webpack_require__(/*! has-proto */ "./node_modules/has-proto/index.js")(); + +var getProto = Object.getPrototypeOf || ( + hasProto + ? function (x) { return x.__proto__; } // eslint-disable-line no-proto + : null +); + +var needsEval = {}; + +var TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array); + +var INTRINSICS = { + '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError, + '%Array%': Array, + '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer, + '%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined, + '%AsyncFromSyncIteratorPrototype%': undefined, + '%AsyncFunction%': needsEval, + '%AsyncGenerator%': needsEval, + '%AsyncGeneratorFunction%': needsEval, + '%AsyncIteratorPrototype%': needsEval, + '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics, + '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt, + '%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array, + '%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array, + '%Boolean%': Boolean, + '%DataView%': typeof DataView === 'undefined' ? undefined : DataView, + '%Date%': Date, + '%decodeURI%': decodeURI, + '%decodeURIComponent%': decodeURIComponent, + '%encodeURI%': encodeURI, + '%encodeURIComponent%': encodeURIComponent, + '%Error%': Error, + '%eval%': eval, // eslint-disable-line no-eval + '%EvalError%': EvalError, + '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array, + '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array, + '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry, + '%Function%': $Function, + '%GeneratorFunction%': needsEval, + '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array, + '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array, + '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array, + '%isFinite%': isFinite, + '%isNaN%': isNaN, + '%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined, + '%JSON%': typeof JSON === 'object' ? JSON : undefined, + '%Map%': typeof Map === 'undefined' ? undefined : Map, + '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()), + '%Math%': Math, + '%Number%': Number, + '%Object%': Object, + '%parseFloat%': parseFloat, + '%parseInt%': parseInt, + '%Promise%': typeof Promise === 'undefined' ? undefined : Promise, + '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy, + '%RangeError%': RangeError, + '%ReferenceError%': ReferenceError, + '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect, + '%RegExp%': RegExp, + '%Set%': typeof Set === 'undefined' ? undefined : Set, + '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()), + '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer, + '%String%': String, + '%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined, + '%Symbol%': hasSymbols ? Symbol : undefined, + '%SyntaxError%': $SyntaxError, + '%ThrowTypeError%': ThrowTypeError, + '%TypedArray%': TypedArray, + '%TypeError%': $TypeError, + '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array, + '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray, + '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array, + '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array, + '%URIError%': URIError, + '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap, + '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef, + '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet +}; + +if (getProto) { + try { + null.error; // eslint-disable-line no-unused-expressions + } catch (e) { + // https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229 + var errorProto = getProto(getProto(e)); + INTRINSICS['%Error.prototype%'] = errorProto; + } +} + +var doEval = function doEval(name) { + var value; + if (name === '%AsyncFunction%') { + value = getEvalledConstructor('async function () {}'); + } else if (name === '%GeneratorFunction%') { + value = getEvalledConstructor('function* () {}'); + } else if (name === '%AsyncGeneratorFunction%') { + value = getEvalledConstructor('async function* () {}'); + } else if (name === '%AsyncGenerator%') { + var fn = doEval('%AsyncGeneratorFunction%'); + if (fn) { + value = fn.prototype; + } + } else if (name === '%AsyncIteratorPrototype%') { + var gen = doEval('%AsyncGenerator%'); + if (gen && getProto) { + value = getProto(gen.prototype); + } + } + + INTRINSICS[name] = value; + + return value; +}; + +var LEGACY_ALIASES = { + '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'], + '%ArrayPrototype%': ['Array', 'prototype'], + '%ArrayProto_entries%': ['Array', 'prototype', 'entries'], + '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'], + '%ArrayProto_keys%': ['Array', 'prototype', 'keys'], + '%ArrayProto_values%': ['Array', 'prototype', 'values'], + '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'], + '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'], + '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'], + '%BooleanPrototype%': ['Boolean', 'prototype'], + '%DataViewPrototype%': ['DataView', 'prototype'], + '%DatePrototype%': ['Date', 'prototype'], + '%ErrorPrototype%': ['Error', 'prototype'], + '%EvalErrorPrototype%': ['EvalError', 'prototype'], + '%Float32ArrayPrototype%': ['Float32Array', 'prototype'], + '%Float64ArrayPrototype%': ['Float64Array', 'prototype'], + '%FunctionPrototype%': ['Function', 'prototype'], + '%Generator%': ['GeneratorFunction', 'prototype'], + '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'], + '%Int8ArrayPrototype%': ['Int8Array', 'prototype'], + '%Int16ArrayPrototype%': ['Int16Array', 'prototype'], + '%Int32ArrayPrototype%': ['Int32Array', 'prototype'], + '%JSONParse%': ['JSON', 'parse'], + '%JSONStringify%': ['JSON', 'stringify'], + '%MapPrototype%': ['Map', 'prototype'], + '%NumberPrototype%': ['Number', 'prototype'], + '%ObjectPrototype%': ['Object', 'prototype'], + '%ObjProto_toString%': ['Object', 'prototype', 'toString'], + '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'], + '%PromisePrototype%': ['Promise', 'prototype'], + '%PromiseProto_then%': ['Promise', 'prototype', 'then'], + '%Promise_all%': ['Promise', 'all'], + '%Promise_reject%': ['Promise', 'reject'], + '%Promise_resolve%': ['Promise', 'resolve'], + '%RangeErrorPrototype%': ['RangeError', 'prototype'], + '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'], + '%RegExpPrototype%': ['RegExp', 'prototype'], + '%SetPrototype%': ['Set', 'prototype'], + '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'], + '%StringPrototype%': ['String', 'prototype'], + '%SymbolPrototype%': ['Symbol', 'prototype'], + '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'], + '%TypedArrayPrototype%': ['TypedArray', 'prototype'], + '%TypeErrorPrototype%': ['TypeError', 'prototype'], + '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'], + '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'], + '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'], + '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'], + '%URIErrorPrototype%': ['URIError', 'prototype'], + '%WeakMapPrototype%': ['WeakMap', 'prototype'], + '%WeakSetPrototype%': ['WeakSet', 'prototype'] +}; + +var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js"); +var hasOwn = __webpack_require__(/*! hasown */ "./node_modules/hasown/index.js"); +var $concat = bind.call(Function.call, Array.prototype.concat); +var $spliceApply = bind.call(Function.apply, Array.prototype.splice); +var $replace = bind.call(Function.call, String.prototype.replace); +var $strSlice = bind.call(Function.call, String.prototype.slice); +var $exec = bind.call(Function.call, RegExp.prototype.exec); + +/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ +var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; +var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */ +var stringToPath = function stringToPath(string) { + var first = $strSlice(string, 0, 1); + var last = $strSlice(string, -1); + if (first === '%' && last !== '%') { + throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`'); + } else if (last === '%' && first !== '%') { + throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`'); + } + var result = []; + $replace(string, rePropName, function (match, number, quote, subString) { + result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match; + }); + return result; +}; +/* end adaptation */ + +var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) { + var intrinsicName = name; + var alias; + if (hasOwn(LEGACY_ALIASES, intrinsicName)) { + alias = LEGACY_ALIASES[intrinsicName]; + intrinsicName = '%' + alias[0] + '%'; + } + + if (hasOwn(INTRINSICS, intrinsicName)) { + var value = INTRINSICS[intrinsicName]; + if (value === needsEval) { + value = doEval(intrinsicName); + } + if (typeof value === 'undefined' && !allowMissing) { + throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!'); + } + + return { + alias: alias, + name: intrinsicName, + value: value + }; + } + + throw new $SyntaxError('intrinsic ' + name + ' does not exist!'); +}; + +module.exports = function GetIntrinsic(name, allowMissing) { + if (typeof name !== 'string' || name.length === 0) { + throw new $TypeError('intrinsic name must be a non-empty string'); + } + if (arguments.length > 1 && typeof allowMissing !== 'boolean') { + throw new $TypeError('"allowMissing" argument must be a boolean'); + } + + if ($exec(/^%?[^%]*%?$/, name) === null) { + throw new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name'); + } + var parts = stringToPath(name); + var intrinsicBaseName = parts.length > 0 ? parts[0] : ''; + + var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing); + var intrinsicRealName = intrinsic.name; + var value = intrinsic.value; + var skipFurtherCaching = false; + + var alias = intrinsic.alias; + if (alias) { + intrinsicBaseName = alias[0]; + $spliceApply(parts, $concat([0, 1], alias)); + } + + for (var i = 1, isOwn = true; i < parts.length; i += 1) { + var part = parts[i]; + var first = $strSlice(part, 0, 1); + var last = $strSlice(part, -1); + if ( + ( + (first === '"' || first === "'" || first === '`') + || (last === '"' || last === "'" || last === '`') + ) + && first !== last + ) { + throw new $SyntaxError('property names with quotes must have matching quotes'); + } + if (part === 'constructor' || !isOwn) { + skipFurtherCaching = true; + } + + intrinsicBaseName += '.' + part; + intrinsicRealName = '%' + intrinsicBaseName + '%'; + + if (hasOwn(INTRINSICS, intrinsicRealName)) { + value = INTRINSICS[intrinsicRealName]; + } else if (value != null) { + if (!(part in value)) { + if (!allowMissing) { + throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); + } + return void undefined; + } + if ($gOPD && (i + 1) >= parts.length) { + var desc = $gOPD(value, part); + isOwn = !!desc; + + // By convention, when a data property is converted to an accessor + // property to emulate a data property that does not suffer from + // the override mistake, that accessor's getter is marked with + // an `originalValue` property. Here, when we detect this, we + // uphold the illusion by pretending to see that original data + // property, i.e., returning the value rather than the getter + // itself. + if (isOwn && 'get' in desc && !('originalValue' in desc.get)) { + value = desc.get; + } else { + value = value[part]; + } + } else { + isOwn = hasOwn(value, part); + value = value[part]; + } + + if (isOwn && !skipFurtherCaching) { + INTRINSICS[intrinsicRealName] = value; + } + } + } + return value; +}; + + +/***/ }), + +/***/ "./node_modules/gopd/index.js": +/*!************************************!*\ + !*** ./node_modules/gopd/index.js ***! + \************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var GetIntrinsic = __webpack_require__(/*! get-intrinsic */ "./node_modules/get-intrinsic/index.js"); + +var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true); + +if ($gOPD) { + try { + $gOPD([], 'length'); + } catch (e) { + // IE 8 has a broken gOPD + $gOPD = null; + } +} + +module.exports = $gOPD; + + +/***/ }), + +/***/ "./node_modules/has-property-descriptors/index.js": +/*!********************************************************!*\ + !*** ./node_modules/has-property-descriptors/index.js ***! + \********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var GetIntrinsic = __webpack_require__(/*! get-intrinsic */ "./node_modules/get-intrinsic/index.js"); + +var $defineProperty = GetIntrinsic('%Object.defineProperty%', true); + +var hasPropertyDescriptors = function hasPropertyDescriptors() { + if ($defineProperty) { + try { + $defineProperty({}, 'a', { value: 1 }); + return true; + } catch (e) { + // IE 8 has a broken defineProperty + return false; + } + } + return false; +}; + +hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() { + // node v0.6 has a bug where array lengths can be Set but not Defined + if (!hasPropertyDescriptors()) { + return null; + } + try { + return $defineProperty([], 'length', { value: 1 }).length !== 1; + } catch (e) { + // In Firefox 4-22, defining length on an array throws an exception. + return true; + } +}; + +module.exports = hasPropertyDescriptors; + + +/***/ }), + +/***/ "./node_modules/has-proto/index.js": +/*!*****************************************!*\ + !*** ./node_modules/has-proto/index.js ***! + \*****************************************/ +/***/ ((module) => { + +"use strict"; + + +var test = { + foo: {} +}; + +var $Object = Object; + +module.exports = function hasProto() { + return { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object); +}; + + +/***/ }), + +/***/ "./node_modules/has-symbols/index.js": +/*!*******************************************!*\ + !*** ./node_modules/has-symbols/index.js ***! + \*******************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var origSymbol = typeof Symbol !== 'undefined' && Symbol; +var hasSymbolSham = __webpack_require__(/*! ./shams */ "./node_modules/has-symbols/shams.js"); + +module.exports = function hasNativeSymbols() { + if (typeof origSymbol !== 'function') { return false; } + if (typeof Symbol !== 'function') { return false; } + if (typeof origSymbol('foo') !== 'symbol') { return false; } + if (typeof Symbol('bar') !== 'symbol') { return false; } + + return hasSymbolSham(); +}; + + +/***/ }), + +/***/ "./node_modules/has-symbols/shams.js": +/*!*******************************************!*\ + !*** ./node_modules/has-symbols/shams.js ***! + \*******************************************/ +/***/ ((module) => { + +"use strict"; + + +/* eslint complexity: [2, 18], max-statements: [2, 33] */ +module.exports = function hasSymbols() { + if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; } + if (typeof Symbol.iterator === 'symbol') { return true; } + + var obj = {}; + var sym = Symbol('test'); + var symObj = Object(sym); + if (typeof sym === 'string') { return false; } + + if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; } + if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; } + + // temp disabled per https://github.com/ljharb/object.assign/issues/17 + // if (sym instanceof Symbol) { return false; } + // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4 + // if (!(symObj instanceof Symbol)) { return false; } + + // if (typeof Symbol.prototype.toString !== 'function') { return false; } + // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; } + + var symVal = 42; + obj[sym] = symVal; + for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop + if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; } + + if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; } + + var syms = Object.getOwnPropertySymbols(obj); + if (syms.length !== 1 || syms[0] !== sym) { return false; } + + if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; } + + if (typeof Object.getOwnPropertyDescriptor === 'function') { + var descriptor = Object.getOwnPropertyDescriptor(obj, sym); + if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; } + } + + return true; +}; + + +/***/ }), + +/***/ "./node_modules/hasown/index.js": +/*!**************************************!*\ + !*** ./node_modules/hasown/index.js ***! + \**************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var call = Function.prototype.call; +var $hasOwn = Object.prototype.hasOwnProperty; +var bind = __webpack_require__(/*! function-bind */ "./node_modules/function-bind/index.js"); + +/** @type {(o: {}, p: PropertyKey) => p is keyof o} */ +module.exports = bind.call(call, $hasOwn); + + +/***/ }), + +/***/ "./node_modules/lodash.uniqueid/index.js": +/*!***********************************************!*\ + !*** ./node_modules/lodash.uniqueid/index.js ***! + \***********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +/** + * lodash (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** `Object#toString` result references. */ +var symbolTag = '[object Symbol]'; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to generate unique IDs. */ +var idCounter = 0; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** Built-in value references. */ +var Symbol = root.Symbol; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && objectToString.call(value) == symbolTag); +} + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {string} Returns the string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString(value) { + return value == null ? '' : baseToString(value); +} + +/** + * Generates a unique ID. If `prefix` is given, the ID is appended to it. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {string} [prefix=''] The value to prefix the ID with. + * @returns {string} Returns the unique ID. + * @example + * + * _.uniqueId('contact_'); + * // => 'contact_104' + * + * _.uniqueId(); + * // => '105' + */ +function uniqueId(prefix) { + var id = ++idCounter; + return toString(prefix) + id; +} + +module.exports = uniqueId; + + +/***/ }), + +/***/ "./node_modules/object-inspect/index.js": +/*!**********************************************!*\ + !*** ./node_modules/object-inspect/index.js ***! + \**********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +var hasMap = typeof Map === 'function' && Map.prototype; +var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null; +var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null; +var mapForEach = hasMap && Map.prototype.forEach; +var hasSet = typeof Set === 'function' && Set.prototype; +var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null; +var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null; +var setForEach = hasSet && Set.prototype.forEach; +var hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype; +var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null; +var hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype; +var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null; +var hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype; +var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null; +var booleanValueOf = Boolean.prototype.valueOf; +var objectToString = Object.prototype.toString; +var functionToString = Function.prototype.toString; +var $match = String.prototype.match; +var $slice = String.prototype.slice; +var $replace = String.prototype.replace; +var $toUpperCase = String.prototype.toUpperCase; +var $toLowerCase = String.prototype.toLowerCase; +var $test = RegExp.prototype.test; +var $concat = Array.prototype.concat; +var $join = Array.prototype.join; +var $arrSlice = Array.prototype.slice; +var $floor = Math.floor; +var bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null; +var gOPS = Object.getOwnPropertySymbols; +var symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null; +var hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object'; +// ie, `has-tostringtag/shams +var toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol') + ? Symbol.toStringTag + : null; +var isEnumerable = Object.prototype.propertyIsEnumerable; + +var gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ( + [].__proto__ === Array.prototype // eslint-disable-line no-proto + ? function (O) { + return O.__proto__; // eslint-disable-line no-proto + } + : null +); + +function addNumericSeparator(num, str) { + if ( + num === Infinity + || num === -Infinity + || num !== num + || (num && num > -1000 && num < 1000) + || $test.call(/e/, str) + ) { + return str; + } + var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g; + if (typeof num === 'number') { + var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num) + if (int !== num) { + var intStr = String(int); + var dec = $slice.call(str, intStr.length + 1); + return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, ''); + } + } + return $replace.call(str, sepRegex, '$&_'); +} + +var utilInspect = __webpack_require__(/*! ./util.inspect */ "?4f7e"); +var inspectCustom = utilInspect.custom; +var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null; + +module.exports = function inspect_(obj, options, depth, seen) { + var opts = options || {}; + + if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) { + throw new TypeError('option "quoteStyle" must be "single" or "double"'); + } + if ( + has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number' + ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity + : opts.maxStringLength !== null + ) + ) { + throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`'); + } + var customInspect = has(opts, 'customInspect') ? opts.customInspect : true; + if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') { + throw new TypeError('option "customInspect", if provided, must be `true`, `false`, or `\'symbol\'`'); + } + + if ( + has(opts, 'indent') + && opts.indent !== null + && opts.indent !== '\t' + && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0) + ) { + throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`'); + } + if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') { + throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`'); + } + var numericSeparator = opts.numericSeparator; + + if (typeof obj === 'undefined') { + return 'undefined'; + } + if (obj === null) { + return 'null'; + } + if (typeof obj === 'boolean') { + return obj ? 'true' : 'false'; + } + + if (typeof obj === 'string') { + return inspectString(obj, opts); + } + if (typeof obj === 'number') { + if (obj === 0) { + return Infinity / obj > 0 ? '0' : '-0'; + } + var str = String(obj); + return numericSeparator ? addNumericSeparator(obj, str) : str; + } + if (typeof obj === 'bigint') { + var bigIntStr = String(obj) + 'n'; + return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr; + } + + var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth; + if (typeof depth === 'undefined') { depth = 0; } + if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') { + return isArray(obj) ? '[Array]' : '[Object]'; + } + + var indent = getIndent(opts, depth); + + if (typeof seen === 'undefined') { + seen = []; + } else if (indexOf(seen, obj) >= 0) { + return '[Circular]'; + } + + function inspect(value, from, noIndent) { + if (from) { + seen = $arrSlice.call(seen); + seen.push(from); + } + if (noIndent) { + var newOpts = { + depth: opts.depth + }; + if (has(opts, 'quoteStyle')) { + newOpts.quoteStyle = opts.quoteStyle; + } + return inspect_(value, newOpts, depth + 1, seen); + } + return inspect_(value, opts, depth + 1, seen); + } + + if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable + var name = nameOf(obj); + var keys = arrObjKeys(obj, inspect); + return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : ''); + } + if (isSymbol(obj)) { + var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, '$1') : symToString.call(obj); + return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString; + } + if (isElement(obj)) { + var s = '<' + $toLowerCase.call(String(obj.nodeName)); + var attrs = obj.attributes || []; + for (var i = 0; i < attrs.length; i++) { + s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts); + } + s += '>'; + if (obj.childNodes && obj.childNodes.length) { s += '...'; } + s += ''; + return s; + } + if (isArray(obj)) { + if (obj.length === 0) { return '[]'; } + var xs = arrObjKeys(obj, inspect); + if (indent && !singleLineValues(xs)) { + return '[' + indentedJoin(xs, indent) + ']'; + } + return '[ ' + $join.call(xs, ', ') + ' ]'; + } + if (isError(obj)) { + var parts = arrObjKeys(obj, inspect); + if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) { + return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }'; + } + if (parts.length === 0) { return '[' + String(obj) + ']'; } + return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }'; + } + if (typeof obj === 'object' && customInspect) { + if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) { + return utilInspect(obj, { depth: maxDepth - depth }); + } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') { + return obj.inspect(); + } + } + if (isMap(obj)) { + var mapParts = []; + if (mapForEach) { + mapForEach.call(obj, function (value, key) { + mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj)); + }); + } + return collectionOf('Map', mapSize.call(obj), mapParts, indent); + } + if (isSet(obj)) { + var setParts = []; + if (setForEach) { + setForEach.call(obj, function (value) { + setParts.push(inspect(value, obj)); + }); + } + return collectionOf('Set', setSize.call(obj), setParts, indent); + } + if (isWeakMap(obj)) { + return weakCollectionOf('WeakMap'); + } + if (isWeakSet(obj)) { + return weakCollectionOf('WeakSet'); + } + if (isWeakRef(obj)) { + return weakCollectionOf('WeakRef'); + } + if (isNumber(obj)) { + return markBoxed(inspect(Number(obj))); + } + if (isBigInt(obj)) { + return markBoxed(inspect(bigIntValueOf.call(obj))); + } + if (isBoolean(obj)) { + return markBoxed(booleanValueOf.call(obj)); + } + if (isString(obj)) { + return markBoxed(inspect(String(obj))); + } + // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other + /* eslint-env browser */ + if (typeof window !== 'undefined' && obj === window) { + return '{ [object Window] }'; + } + if (obj === __webpack_require__.g) { + return '{ [object globalThis] }'; + } + if (!isDate(obj) && !isRegExp(obj)) { + var ys = arrObjKeys(obj, inspect); + var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object; + var protoTag = obj instanceof Object ? '' : 'null prototype'; + var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : ''; + var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : ''; + var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : ''); + if (ys.length === 0) { return tag + '{}'; } + if (indent) { + return tag + '{' + indentedJoin(ys, indent) + '}'; + } + return tag + '{ ' + $join.call(ys, ', ') + ' }'; + } + return String(obj); +}; + +function wrapQuotes(s, defaultStyle, opts) { + var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '"' : "'"; + return quoteChar + s + quoteChar; +} + +function quote(s) { + return $replace.call(String(s), /"/g, '"'); +} + +function isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } +function isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } +function isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } +function isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } +function isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } +function isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } +function isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } + +// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives +function isSymbol(obj) { + if (hasShammedSymbols) { + return obj && typeof obj === 'object' && obj instanceof Symbol; + } + if (typeof obj === 'symbol') { + return true; + } + if (!obj || typeof obj !== 'object' || !symToString) { + return false; + } + try { + symToString.call(obj); + return true; + } catch (e) {} + return false; +} + +function isBigInt(obj) { + if (!obj || typeof obj !== 'object' || !bigIntValueOf) { + return false; + } + try { + bigIntValueOf.call(obj); + return true; + } catch (e) {} + return false; +} + +var hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; }; +function has(obj, key) { + return hasOwn.call(obj, key); +} + +function toStr(obj) { + return objectToString.call(obj); +} + +function nameOf(f) { + if (f.name) { return f.name; } + var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/); + if (m) { return m[1]; } + return null; +} + +function indexOf(xs, x) { + if (xs.indexOf) { return xs.indexOf(x); } + for (var i = 0, l = xs.length; i < l; i++) { + if (xs[i] === x) { return i; } + } + return -1; +} + +function isMap(x) { + if (!mapSize || !x || typeof x !== 'object') { + return false; + } + try { + mapSize.call(x); + try { + setSize.call(x); + } catch (s) { + return true; + } + return x instanceof Map; // core-js workaround, pre-v2.5.0 + } catch (e) {} + return false; +} + +function isWeakMap(x) { + if (!weakMapHas || !x || typeof x !== 'object') { + return false; + } + try { + weakMapHas.call(x, weakMapHas); + try { + weakSetHas.call(x, weakSetHas); + } catch (s) { + return true; + } + return x instanceof WeakMap; // core-js workaround, pre-v2.5.0 + } catch (e) {} + return false; +} + +function isWeakRef(x) { + if (!weakRefDeref || !x || typeof x !== 'object') { + return false; + } + try { + weakRefDeref.call(x); + return true; + } catch (e) {} + return false; +} + +function isSet(x) { + if (!setSize || !x || typeof x !== 'object') { + return false; + } + try { + setSize.call(x); + try { + mapSize.call(x); + } catch (m) { + return true; + } + return x instanceof Set; // core-js workaround, pre-v2.5.0 + } catch (e) {} + return false; +} + +function isWeakSet(x) { + if (!weakSetHas || !x || typeof x !== 'object') { + return false; + } + try { + weakSetHas.call(x, weakSetHas); + try { + weakMapHas.call(x, weakMapHas); + } catch (s) { + return true; + } + return x instanceof WeakSet; // core-js workaround, pre-v2.5.0 + } catch (e) {} + return false; +} + +function isElement(x) { + if (!x || typeof x !== 'object') { return false; } + if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) { + return true; + } + return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function'; +} + +function inspectString(str, opts) { + if (str.length > opts.maxStringLength) { + var remaining = str.length - opts.maxStringLength; + var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : ''); + return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer; + } + // eslint-disable-next-line no-control-regex + var s = $replace.call($replace.call(str, /(['\\])/g, '\\$1'), /[\x00-\x1f]/g, lowbyte); + return wrapQuotes(s, 'single', opts); +} + +function lowbyte(c) { + var n = c.charCodeAt(0); + var x = { + 8: 'b', + 9: 't', + 10: 'n', + 12: 'f', + 13: 'r' + }[n]; + if (x) { return '\\' + x; } + return '\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16)); +} + +function markBoxed(str) { + return 'Object(' + str + ')'; +} + +function weakCollectionOf(type) { + return type + ' { ? }'; +} + +function collectionOf(type, size, entries, indent) { + var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', '); + return type + ' (' + size + ') {' + joinedEntries + '}'; +} + +function singleLineValues(xs) { + for (var i = 0; i < xs.length; i++) { + if (indexOf(xs[i], '\n') >= 0) { + return false; + } + } + return true; +} + +function getIndent(opts, depth) { + var baseIndent; + if (opts.indent === '\t') { + baseIndent = '\t'; + } else if (typeof opts.indent === 'number' && opts.indent > 0) { + baseIndent = $join.call(Array(opts.indent + 1), ' '); + } else { + return null; + } + return { + base: baseIndent, + prev: $join.call(Array(depth + 1), baseIndent) + }; +} + +function indentedJoin(xs, indent) { + if (xs.length === 0) { return ''; } + var lineJoiner = '\n' + indent.prev + indent.base; + return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\n' + indent.prev; +} + +function arrObjKeys(obj, inspect) { + var isArr = isArray(obj); + var xs = []; + if (isArr) { + xs.length = obj.length; + for (var i = 0; i < obj.length; i++) { + xs[i] = has(obj, i) ? inspect(obj[i], obj) : ''; + } + } + var syms = typeof gOPS === 'function' ? gOPS(obj) : []; + var symMap; + if (hasShammedSymbols) { + symMap = {}; + for (var k = 0; k < syms.length; k++) { + symMap['$' + syms[k]] = syms[k]; + } + } + + for (var key in obj) { // eslint-disable-line no-restricted-syntax + if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue + if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue + if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) { + // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section + continue; // eslint-disable-line no-restricted-syntax, no-continue + } else if ($test.call(/[^\w$]/, key)) { + xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj)); + } else { + xs.push(key + ': ' + inspect(obj[key], obj)); + } + } + if (typeof gOPS === 'function') { + for (var j = 0; j < syms.length; j++) { + if (isEnumerable.call(obj, syms[j])) { + xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj)); + } + } + } + return xs; +} + + +/***/ }), + +/***/ "./node_modules/qs/lib/formats.js": +/*!****************************************!*\ + !*** ./node_modules/qs/lib/formats.js ***! + \****************************************/ +/***/ ((module) => { + +"use strict"; + + +var replace = String.prototype.replace; +var percentTwenties = /%20/g; + +var Format = { + RFC1738: 'RFC1738', + RFC3986: 'RFC3986' +}; + +module.exports = { + 'default': Format.RFC3986, + formatters: { + RFC1738: function (value) { + return replace.call(value, percentTwenties, '+'); + }, + RFC3986: function (value) { + return String(value); + } + }, + RFC1738: Format.RFC1738, + RFC3986: Format.RFC3986 +}; + + +/***/ }), + +/***/ "./node_modules/qs/lib/index.js": +/*!**************************************!*\ + !*** ./node_modules/qs/lib/index.js ***! + \**************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var stringify = __webpack_require__(/*! ./stringify */ "./node_modules/qs/lib/stringify.js"); +var parse = __webpack_require__(/*! ./parse */ "./node_modules/qs/lib/parse.js"); +var formats = __webpack_require__(/*! ./formats */ "./node_modules/qs/lib/formats.js"); + +module.exports = { + formats: formats, + parse: parse, + stringify: stringify +}; + + +/***/ }), + +/***/ "./node_modules/qs/lib/parse.js": +/*!**************************************!*\ + !*** ./node_modules/qs/lib/parse.js ***! + \**************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var utils = __webpack_require__(/*! ./utils */ "./node_modules/qs/lib/utils.js"); + +var has = Object.prototype.hasOwnProperty; +var isArray = Array.isArray; + +var defaults = { + allowDots: false, + allowPrototypes: false, + allowSparse: false, + arrayLimit: 20, + charset: 'utf-8', + charsetSentinel: false, + comma: false, + decoder: utils.decode, + delimiter: '&', + depth: 5, + ignoreQueryPrefix: false, + interpretNumericEntities: false, + parameterLimit: 1000, + parseArrays: true, + plainObjects: false, + strictNullHandling: false +}; + +var interpretNumericEntities = function (str) { + return str.replace(/&#(\d+);/g, function ($0, numberStr) { + return String.fromCharCode(parseInt(numberStr, 10)); + }); +}; + +var parseArrayValue = function (val, options) { + if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) { + return val.split(','); + } + + return val; +}; + +// This is what browsers will submit when the ✓ character occurs in an +// application/x-www-form-urlencoded body and the encoding of the page containing +// the form is iso-8859-1, or when the submitted form has an accept-charset +// attribute of iso-8859-1. Presumably also with other charsets that do not contain +// the ✓ character, such as us-ascii. +var isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓') + +// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded. +var charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓') + +var parseValues = function parseQueryStringValues(str, options) { + var obj = { __proto__: null }; + + var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str; + var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit; + var parts = cleanStr.split(options.delimiter, limit); + var skipIndex = -1; // Keep track of where the utf8 sentinel was found + var i; + + var charset = options.charset; + if (options.charsetSentinel) { + for (i = 0; i < parts.length; ++i) { + if (parts[i].indexOf('utf8=') === 0) { + if (parts[i] === charsetSentinel) { + charset = 'utf-8'; + } else if (parts[i] === isoSentinel) { + charset = 'iso-8859-1'; + } + skipIndex = i; + i = parts.length; // The eslint settings do not allow break; + } + } + } + + for (i = 0; i < parts.length; ++i) { + if (i === skipIndex) { + continue; + } + var part = parts[i]; + + var bracketEqualsPos = part.indexOf(']='); + var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1; + + var key, val; + if (pos === -1) { + key = options.decoder(part, defaults.decoder, charset, 'key'); + val = options.strictNullHandling ? null : ''; + } else { + key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key'); + val = utils.maybeMap( + parseArrayValue(part.slice(pos + 1), options), + function (encodedVal) { + return options.decoder(encodedVal, defaults.decoder, charset, 'value'); + } + ); + } + + if (val && options.interpretNumericEntities && charset === 'iso-8859-1') { + val = interpretNumericEntities(val); + } + + if (part.indexOf('[]=') > -1) { + val = isArray(val) ? [val] : val; + } + + if (has.call(obj, key)) { + obj[key] = utils.combine(obj[key], val); + } else { + obj[key] = val; + } + } + + return obj; +}; + +var parseObject = function (chain, val, options, valuesParsed) { + var leaf = valuesParsed ? val : parseArrayValue(val, options); + + for (var i = chain.length - 1; i >= 0; --i) { + var obj; + var root = chain[i]; + + if (root === '[]' && options.parseArrays) { + obj = [].concat(leaf); + } else { + obj = options.plainObjects ? Object.create(null) : {}; + var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root; + var index = parseInt(cleanRoot, 10); + if (!options.parseArrays && cleanRoot === '') { + obj = { 0: leaf }; + } else if ( + !isNaN(index) + && root !== cleanRoot + && String(index) === cleanRoot + && index >= 0 + && (options.parseArrays && index <= options.arrayLimit) + ) { + obj = []; + obj[index] = leaf; + } else if (cleanRoot !== '__proto__') { + obj[cleanRoot] = leaf; + } + } + + leaf = obj; + } + + return leaf; +}; + +var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) { + if (!givenKey) { + return; + } + + // Transform dot notation to bracket notation + var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey; + + // The regex chunks + + var brackets = /(\[[^[\]]*])/; + var child = /(\[[^[\]]*])/g; + + // Get the parent + + var segment = options.depth > 0 && brackets.exec(key); + var parent = segment ? key.slice(0, segment.index) : key; + + // Stash the parent if it exists + + var keys = []; + if (parent) { + // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties + if (!options.plainObjects && has.call(Object.prototype, parent)) { + if (!options.allowPrototypes) { + return; + } + } + + keys.push(parent); + } + + // Loop through children appending to the array until we hit depth + + var i = 0; + while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) { + i += 1; + if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) { + if (!options.allowPrototypes) { + return; + } + } + keys.push(segment[1]); + } + + // If there's a remainder, just add whatever is left + + if (segment) { + keys.push('[' + key.slice(segment.index) + ']'); + } + + return parseObject(keys, val, options, valuesParsed); +}; + +var normalizeParseOptions = function normalizeParseOptions(opts) { + if (!opts) { + return defaults; + } + + if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') { + throw new TypeError('Decoder has to be a function.'); + } + + if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') { + throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined'); + } + var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset; + + return { + allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots, + allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes, + allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse, + arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit, + charset: charset, + charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel, + comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma, + decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder, + delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter, + // eslint-disable-next-line no-implicit-coercion, no-extra-parens + depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth, + ignoreQueryPrefix: opts.ignoreQueryPrefix === true, + interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities, + parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit, + parseArrays: opts.parseArrays !== false, + plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects, + strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling + }; +}; + +module.exports = function (str, opts) { + var options = normalizeParseOptions(opts); + + if (str === '' || str === null || typeof str === 'undefined') { + return options.plainObjects ? Object.create(null) : {}; + } + + var tempObj = typeof str === 'string' ? parseValues(str, options) : str; + var obj = options.plainObjects ? Object.create(null) : {}; + + // Iterate over the keys and setup the new object + + var keys = Object.keys(tempObj); + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string'); + obj = utils.merge(obj, newObj, options); + } + + if (options.allowSparse === true) { + return obj; + } + + return utils.compact(obj); +}; + + +/***/ }), + +/***/ "./node_modules/qs/lib/stringify.js": +/*!******************************************!*\ + !*** ./node_modules/qs/lib/stringify.js ***! + \******************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var getSideChannel = __webpack_require__(/*! side-channel */ "./node_modules/side-channel/index.js"); +var utils = __webpack_require__(/*! ./utils */ "./node_modules/qs/lib/utils.js"); +var formats = __webpack_require__(/*! ./formats */ "./node_modules/qs/lib/formats.js"); +var has = Object.prototype.hasOwnProperty; + +var arrayPrefixGenerators = { + brackets: function brackets(prefix) { + return prefix + '[]'; + }, + comma: 'comma', + indices: function indices(prefix, key) { + return prefix + '[' + key + ']'; + }, + repeat: function repeat(prefix) { + return prefix; + } +}; + +var isArray = Array.isArray; +var push = Array.prototype.push; +var pushToArray = function (arr, valueOrArray) { + push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]); +}; + +var toISO = Date.prototype.toISOString; + +var defaultFormat = formats['default']; +var defaults = { + addQueryPrefix: false, + allowDots: false, + charset: 'utf-8', + charsetSentinel: false, + delimiter: '&', + encode: true, + encoder: utils.encode, + encodeValuesOnly: false, + format: defaultFormat, + formatter: formats.formatters[defaultFormat], + // deprecated + indices: false, + serializeDate: function serializeDate(date) { + return toISO.call(date); + }, + skipNulls: false, + strictNullHandling: false +}; + +var isNonNullishPrimitive = function isNonNullishPrimitive(v) { + return typeof v === 'string' + || typeof v === 'number' + || typeof v === 'boolean' + || typeof v === 'symbol' + || typeof v === 'bigint'; +}; + +var sentinel = {}; + +var stringify = function stringify( + object, + prefix, + generateArrayPrefix, + commaRoundTrip, + strictNullHandling, + skipNulls, + encoder, + filter, + sort, + allowDots, + serializeDate, + format, + formatter, + encodeValuesOnly, + charset, + sideChannel +) { + var obj = object; + + var tmpSc = sideChannel; + var step = 0; + var findFlag = false; + while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) { + // Where object last appeared in the ref tree + var pos = tmpSc.get(object); + step += 1; + if (typeof pos !== 'undefined') { + if (pos === step) { + throw new RangeError('Cyclic object value'); + } else { + findFlag = true; // Break while + } + } + if (typeof tmpSc.get(sentinel) === 'undefined') { + step = 0; + } + } + + if (typeof filter === 'function') { + obj = filter(prefix, obj); + } else if (obj instanceof Date) { + obj = serializeDate(obj); + } else if (generateArrayPrefix === 'comma' && isArray(obj)) { + obj = utils.maybeMap(obj, function (value) { + if (value instanceof Date) { + return serializeDate(value); + } + return value; + }); + } + + if (obj === null) { + if (strictNullHandling) { + return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix; + } + + obj = ''; + } + + if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) { + if (encoder) { + var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format); + return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))]; + } + return [formatter(prefix) + '=' + formatter(String(obj))]; + } + + var values = []; + + if (typeof obj === 'undefined') { + return values; + } + + var objKeys; + if (generateArrayPrefix === 'comma' && isArray(obj)) { + // we need to join elements in + if (encodeValuesOnly && encoder) { + obj = utils.maybeMap(obj, encoder); + } + objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }]; + } else if (isArray(filter)) { + objKeys = filter; + } else { + var keys = Object.keys(obj); + objKeys = sort ? keys.sort(sort) : keys; + } + + var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix; + + for (var j = 0; j < objKeys.length; ++j) { + var key = objKeys[j]; + var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key]; + + if (skipNulls && value === null) { + continue; + } + + var keyPrefix = isArray(obj) + ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix + : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']'); + + sideChannel.set(object, step); + var valueSideChannel = getSideChannel(); + valueSideChannel.set(sentinel, sideChannel); + pushToArray(values, stringify( + value, + keyPrefix, + generateArrayPrefix, + commaRoundTrip, + strictNullHandling, + skipNulls, + generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder, + filter, + sort, + allowDots, + serializeDate, + format, + formatter, + encodeValuesOnly, + charset, + valueSideChannel + )); + } + + return values; +}; + +var normalizeStringifyOptions = function normalizeStringifyOptions(opts) { + if (!opts) { + return defaults; + } + + if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') { + throw new TypeError('Encoder has to be a function.'); + } + + var charset = opts.charset || defaults.charset; + if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') { + throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined'); + } + + var format = formats['default']; + if (typeof opts.format !== 'undefined') { + if (!has.call(formats.formatters, opts.format)) { + throw new TypeError('Unknown format option provided.'); + } + format = opts.format; + } + var formatter = formats.formatters[format]; + + var filter = defaults.filter; + if (typeof opts.filter === 'function' || isArray(opts.filter)) { + filter = opts.filter; + } + + return { + addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix, + allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots, + charset: charset, + charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel, + delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter, + encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode, + encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder, + encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly, + filter: filter, + format: format, + formatter: formatter, + serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate, + skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls, + sort: typeof opts.sort === 'function' ? opts.sort : null, + strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling + }; +}; + +module.exports = function (object, opts) { + var obj = object; + var options = normalizeStringifyOptions(opts); + + var objKeys; + var filter; + + if (typeof options.filter === 'function') { + filter = options.filter; + obj = filter('', obj); + } else if (isArray(options.filter)) { + filter = options.filter; + objKeys = filter; + } + + var keys = []; + + if (typeof obj !== 'object' || obj === null) { + return ''; + } + + var arrayFormat; + if (opts && opts.arrayFormat in arrayPrefixGenerators) { + arrayFormat = opts.arrayFormat; + } else if (opts && 'indices' in opts) { + arrayFormat = opts.indices ? 'indices' : 'repeat'; + } else { + arrayFormat = 'indices'; + } + + var generateArrayPrefix = arrayPrefixGenerators[arrayFormat]; + if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') { + throw new TypeError('`commaRoundTrip` must be a boolean, or absent'); + } + var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip; + + if (!objKeys) { + objKeys = Object.keys(obj); + } + + if (options.sort) { + objKeys.sort(options.sort); + } + + var sideChannel = getSideChannel(); + for (var i = 0; i < objKeys.length; ++i) { + var key = objKeys[i]; + + if (options.skipNulls && obj[key] === null) { + continue; + } + pushToArray(keys, stringify( + obj[key], + key, + generateArrayPrefix, + commaRoundTrip, + options.strictNullHandling, + options.skipNulls, + options.encode ? options.encoder : null, + options.filter, + options.sort, + options.allowDots, + options.serializeDate, + options.format, + options.formatter, + options.encodeValuesOnly, + options.charset, + sideChannel + )); + } + + var joined = keys.join(options.delimiter); + var prefix = options.addQueryPrefix === true ? '?' : ''; + + if (options.charsetSentinel) { + if (options.charset === 'iso-8859-1') { + // encodeURIComponent('✓'), the "numeric entity" representation of a checkmark + prefix += 'utf8=%26%2310003%3B&'; + } else { + // encodeURIComponent('✓') + prefix += 'utf8=%E2%9C%93&'; + } + } + + return joined.length > 0 ? prefix + joined : ''; +}; + + +/***/ }), + +/***/ "./node_modules/qs/lib/utils.js": +/*!**************************************!*\ + !*** ./node_modules/qs/lib/utils.js ***! + \**************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var formats = __webpack_require__(/*! ./formats */ "./node_modules/qs/lib/formats.js"); + +var has = Object.prototype.hasOwnProperty; +var isArray = Array.isArray; + +var hexTable = (function () { + var array = []; + for (var i = 0; i < 256; ++i) { + array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase()); + } + + return array; +}()); + +var compactQueue = function compactQueue(queue) { + while (queue.length > 1) { + var item = queue.pop(); + var obj = item.obj[item.prop]; + + if (isArray(obj)) { + var compacted = []; + + for (var j = 0; j < obj.length; ++j) { + if (typeof obj[j] !== 'undefined') { + compacted.push(obj[j]); + } + } + + item.obj[item.prop] = compacted; + } + } +}; + +var arrayToObject = function arrayToObject(source, options) { + var obj = options && options.plainObjects ? Object.create(null) : {}; + for (var i = 0; i < source.length; ++i) { + if (typeof source[i] !== 'undefined') { + obj[i] = source[i]; + } + } + + return obj; +}; + +var merge = function merge(target, source, options) { + /* eslint no-param-reassign: 0 */ + if (!source) { + return target; + } + + if (typeof source !== 'object') { + if (isArray(target)) { + target.push(source); + } else if (target && typeof target === 'object') { + if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) { + target[source] = true; + } + } else { + return [target, source]; + } + + return target; + } + + if (!target || typeof target !== 'object') { + return [target].concat(source); + } + + var mergeTarget = target; + if (isArray(target) && !isArray(source)) { + mergeTarget = arrayToObject(target, options); + } + + if (isArray(target) && isArray(source)) { + source.forEach(function (item, i) { + if (has.call(target, i)) { + var targetItem = target[i]; + if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') { + target[i] = merge(targetItem, item, options); + } else { + target.push(item); + } + } else { + target[i] = item; + } + }); + return target; + } + + return Object.keys(source).reduce(function (acc, key) { + var value = source[key]; + + if (has.call(acc, key)) { + acc[key] = merge(acc[key], value, options); + } else { + acc[key] = value; + } + return acc; + }, mergeTarget); +}; + +var assign = function assignSingleSource(target, source) { + return Object.keys(source).reduce(function (acc, key) { + acc[key] = source[key]; + return acc; + }, target); +}; + +var decode = function (str, decoder, charset) { + var strWithoutPlus = str.replace(/\+/g, ' '); + if (charset === 'iso-8859-1') { + // unescape never throws, no try...catch needed: + return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape); + } + // utf-8 + try { + return decodeURIComponent(strWithoutPlus); + } catch (e) { + return strWithoutPlus; + } +}; + +var encode = function encode(str, defaultEncoder, charset, kind, format) { + // This code was originally written by Brian White (mscdex) for the io.js core querystring library. + // It has been adapted here for stricter adherence to RFC 3986 + if (str.length === 0) { + return str; + } + + var string = str; + if (typeof str === 'symbol') { + string = Symbol.prototype.toString.call(str); + } else if (typeof str !== 'string') { + string = String(str); + } + + if (charset === 'iso-8859-1') { + return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) { + return '%26%23' + parseInt($0.slice(2), 16) + '%3B'; + }); + } + + var out = ''; + for (var i = 0; i < string.length; ++i) { + var c = string.charCodeAt(i); + + if ( + c === 0x2D // - + || c === 0x2E // . + || c === 0x5F // _ + || c === 0x7E // ~ + || (c >= 0x30 && c <= 0x39) // 0-9 + || (c >= 0x41 && c <= 0x5A) // a-z + || (c >= 0x61 && c <= 0x7A) // A-Z + || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( ) + ) { + out += string.charAt(i); + continue; + } + + if (c < 0x80) { + out = out + hexTable[c]; + continue; + } + + if (c < 0x800) { + out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]); + continue; + } + + if (c < 0xD800 || c >= 0xE000) { + out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]); + continue; + } + + i += 1; + c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF)); + /* eslint operator-linebreak: [2, "before"] */ + out += hexTable[0xF0 | (c >> 18)] + + hexTable[0x80 | ((c >> 12) & 0x3F)] + + hexTable[0x80 | ((c >> 6) & 0x3F)] + + hexTable[0x80 | (c & 0x3F)]; + } + + return out; +}; + +var compact = function compact(value) { + var queue = [{ obj: { o: value }, prop: 'o' }]; + var refs = []; + + for (var i = 0; i < queue.length; ++i) { + var item = queue[i]; + var obj = item.obj[item.prop]; + + var keys = Object.keys(obj); + for (var j = 0; j < keys.length; ++j) { + var key = keys[j]; + var val = obj[key]; + if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) { + queue.push({ obj: obj, prop: key }); + refs.push(val); + } + } + } + + compactQueue(queue); + + return value; +}; + +var isRegExp = function isRegExp(obj) { + return Object.prototype.toString.call(obj) === '[object RegExp]'; +}; + +var isBuffer = function isBuffer(obj) { + if (!obj || typeof obj !== 'object') { + return false; + } + + return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj)); +}; + +var combine = function combine(a, b) { + return [].concat(a, b); +}; + +var maybeMap = function maybeMap(val, fn) { + if (isArray(val)) { + var mapped = []; + for (var i = 0; i < val.length; i += 1) { + mapped.push(fn(val[i])); + } + return mapped; + } + return fn(val); +}; + +module.exports = { + arrayToObject: arrayToObject, + assign: assign, + combine: combine, + compact: compact, + decode: decode, + encode: encode, + isBuffer: isBuffer, + isRegExp: isRegExp, + maybeMap: maybeMap, + merge: merge +}; + + +/***/ }), + +/***/ "./node_modules/set-function-length/index.js": +/*!***************************************************!*\ + !*** ./node_modules/set-function-length/index.js ***! + \***************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var GetIntrinsic = __webpack_require__(/*! get-intrinsic */ "./node_modules/get-intrinsic/index.js"); +var define = __webpack_require__(/*! define-data-property */ "./node_modules/define-data-property/index.js"); +var hasDescriptors = __webpack_require__(/*! has-property-descriptors */ "./node_modules/has-property-descriptors/index.js")(); +var gOPD = __webpack_require__(/*! gopd */ "./node_modules/gopd/index.js"); + +var $TypeError = GetIntrinsic('%TypeError%'); +var $floor = GetIntrinsic('%Math.floor%'); + +module.exports = function setFunctionLength(fn, length) { + if (typeof fn !== 'function') { + throw new $TypeError('`fn` is not a function'); + } + if (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) { + throw new $TypeError('`length` must be a positive 32-bit integer'); + } + + var loose = arguments.length > 2 && !!arguments[2]; + + var functionLengthIsConfigurable = true; + var functionLengthIsWritable = true; + if ('length' in fn && gOPD) { + var desc = gOPD(fn, 'length'); + if (desc && !desc.configurable) { + functionLengthIsConfigurable = false; + } + if (desc && !desc.writable) { + functionLengthIsWritable = false; + } + } + + if (functionLengthIsConfigurable || functionLengthIsWritable || !loose) { + if (hasDescriptors) { + define(fn, 'length', length, true, true); + } else { + define(fn, 'length', length); + } + } + return fn; +}; + + +/***/ }), + +/***/ "./node_modules/side-channel/index.js": +/*!********************************************!*\ + !*** ./node_modules/side-channel/index.js ***! + \********************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; + + +var GetIntrinsic = __webpack_require__(/*! get-intrinsic */ "./node_modules/get-intrinsic/index.js"); +var callBound = __webpack_require__(/*! call-bind/callBound */ "./node_modules/call-bind/callBound.js"); +var inspect = __webpack_require__(/*! object-inspect */ "./node_modules/object-inspect/index.js"); + +var $TypeError = GetIntrinsic('%TypeError%'); +var $WeakMap = GetIntrinsic('%WeakMap%', true); +var $Map = GetIntrinsic('%Map%', true); + +var $weakMapGet = callBound('WeakMap.prototype.get', true); +var $weakMapSet = callBound('WeakMap.prototype.set', true); +var $weakMapHas = callBound('WeakMap.prototype.has', true); +var $mapGet = callBound('Map.prototype.get', true); +var $mapSet = callBound('Map.prototype.set', true); +var $mapHas = callBound('Map.prototype.has', true); + +/* + * This function traverses the list returning the node corresponding to the + * given key. + * + * That node is also moved to the head of the list, so that if it's accessed + * again we don't need to traverse the whole list. By doing so, all the recently + * used nodes can be accessed relatively quickly. + */ +var listGetNode = function (list, key) { // eslint-disable-line consistent-return + for (var prev = list, curr; (curr = prev.next) !== null; prev = curr) { + if (curr.key === key) { + prev.next = curr.next; + curr.next = list.next; + list.next = curr; // eslint-disable-line no-param-reassign + return curr; + } + } +}; + +var listGet = function (objects, key) { + var node = listGetNode(objects, key); + return node && node.value; +}; +var listSet = function (objects, key, value) { + var node = listGetNode(objects, key); + if (node) { + node.value = value; + } else { + // Prepend the new node to the beginning of the list + objects.next = { // eslint-disable-line no-param-reassign + key: key, + next: objects.next, + value: value + }; + } +}; +var listHas = function (objects, key) { + return !!listGetNode(objects, key); +}; + +module.exports = function getSideChannel() { + var $wm; + var $m; + var $o; + var channel = { + assert: function (key) { + if (!channel.has(key)) { + throw new $TypeError('Side channel does not contain ' + inspect(key)); + } + }, + get: function (key) { // eslint-disable-line consistent-return + if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { + if ($wm) { + return $weakMapGet($wm, key); + } + } else if ($Map) { + if ($m) { + return $mapGet($m, key); + } + } else { + if ($o) { // eslint-disable-line no-lonely-if + return listGet($o, key); + } + } + }, + has: function (key) { + if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { + if ($wm) { + return $weakMapHas($wm, key); + } + } else if ($Map) { + if ($m) { + return $mapHas($m, key); + } + } else { + if ($o) { // eslint-disable-line no-lonely-if + return listHas($o, key); + } + } + return false; + }, + set: function (key, value) { + if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { + if (!$wm) { + $wm = new $WeakMap(); + } + $weakMapSet($wm, key, value); + } else if ($Map) { + if (!$m) { + $m = new $Map(); + } + $mapSet($m, key, value); + } else { + if (!$o) { + /* + * Initialize the linked list as an empty node, so that we don't have + * to special-case handling of the first node: we can always refer to + * it as (previous node).next, instead of something like (list).head + */ + $o = { key: {}, next: null }; + } + listSet($o, key, value); + } + } + }; + return channel; +}; + + +/***/ }), + +/***/ "react": +/*!************************!*\ + !*** external "React" ***! + \************************/ +/***/ ((module) => { + +"use strict"; +module.exports = window["React"]; + +/***/ }), + +/***/ "@wordpress/block-editor": +/*!*************************************!*\ + !*** external ["wp","blockEditor"] ***! + \*************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = window["wp"]["blockEditor"]; + +/***/ }), + +/***/ "@wordpress/blocks": +/*!********************************!*\ + !*** external ["wp","blocks"] ***! + \********************************/ +/***/ ((module) => { + +"use strict"; +module.exports = window["wp"]["blocks"]; + +/***/ }), + +/***/ "@wordpress/components": +/*!************************************!*\ + !*** external ["wp","components"] ***! + \************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = window["wp"]["components"]; + +/***/ }), + +/***/ "@wordpress/compose": +/*!*********************************!*\ + !*** external ["wp","compose"] ***! + \*********************************/ +/***/ ((module) => { + +"use strict"; +module.exports = window["wp"]["compose"]; + +/***/ }), + +/***/ "@wordpress/data": +/*!******************************!*\ + !*** external ["wp","data"] ***! + \******************************/ +/***/ ((module) => { + +"use strict"; +module.exports = window["wp"]["data"]; + +/***/ }), + +/***/ "@wordpress/i18n": +/*!******************************!*\ + !*** external ["wp","i18n"] ***! + \******************************/ +/***/ ((module) => { + +"use strict"; +module.exports = window["wp"]["i18n"]; + +/***/ }), + +/***/ "?4f7e": +/*!********************************!*\ + !*** ./util.inspect (ignored) ***! + \********************************/ +/***/ (() => { + +/* (ignored) */ + +/***/ }), + +/***/ "./node_modules/axios/lib/adapters/adapters.js": +/*!*****************************************************!*\ + !*** ./node_modules/axios/lib/adapters/adapters.js ***! + \*****************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _http_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./http.js */ "./node_modules/axios/lib/helpers/null.js"); +/* harmony import */ var _xhr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./xhr.js */ "./node_modules/axios/lib/adapters/xhr.js"); +/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); + + + + + +const knownAdapters = { + http: _http_js__WEBPACK_IMPORTED_MODULE_0__["default"], + xhr: _xhr_js__WEBPACK_IMPORTED_MODULE_1__["default"] +} + +_utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].forEach(knownAdapters, (fn, value) => { + if (fn) { + try { + Object.defineProperty(fn, 'name', {value}); + } catch (e) { + // eslint-disable-next-line no-empty + } + Object.defineProperty(fn, 'adapterName', {value}); + } +}); + +const renderReason = (reason) => `- ${reason}`; + +const isResolvedHandle = (adapter) => _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isFunction(adapter) || adapter === null || adapter === false; + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + getAdapter: (adapters) => { + adapters = _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isArray(adapters) ? adapters : [adapters]; + + const {length} = adapters; + let nameOrAdapter; + let adapter; + + const rejectedReasons = {}; + + for (let i = 0; i < length; i++) { + nameOrAdapter = adapters[i]; + let id; + + adapter = nameOrAdapter; + + if (!isResolvedHandle(nameOrAdapter)) { + adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()]; + + if (adapter === undefined) { + throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"](`Unknown adapter '${id}'`); + } + } + + if (adapter) { + break; + } + + rejectedReasons[id || '#' + i] = adapter; + } + + if (!adapter) { + + const reasons = Object.entries(rejectedReasons) + .map(([id, state]) => `adapter ${id} ` + + (state === false ? 'is not supported by the environment' : 'is not available in the build') + ); + + let s = length ? + (reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0])) : + 'as no adapter specified'; + + throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_3__["default"]( + `There is no suitable adapter to dispatch the request ` + s, + 'ERR_NOT_SUPPORT' + ); + } + + return adapter; + }, + adapters: knownAdapters +}); + + +/***/ }), + +/***/ "./node_modules/axios/lib/adapters/xhr.js": +/*!************************************************!*\ + !*** ./node_modules/axios/lib/adapters/xhr.js ***! + \************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _core_settle_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./../core/settle.js */ "./node_modules/axios/lib/core/settle.js"); +/* harmony import */ var _helpers_cookies_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./../helpers/cookies.js */ "./node_modules/axios/lib/helpers/cookies.js"); +/* harmony import */ var _helpers_buildURL_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./../helpers/buildURL.js */ "./node_modules/axios/lib/helpers/buildURL.js"); +/* harmony import */ var _core_buildFullPath_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/buildFullPath.js */ "./node_modules/axios/lib/core/buildFullPath.js"); +/* harmony import */ var _helpers_isURLSameOrigin_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./../helpers/isURLSameOrigin.js */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js"); +/* harmony import */ var _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../defaults/transitional.js */ "./node_modules/axios/lib/defaults/transitional.js"); +/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); +/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); +/* harmony import */ var _helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../helpers/parseProtocol.js */ "./node_modules/axios/lib/helpers/parseProtocol.js"); +/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); +/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); +/* harmony import */ var _helpers_speedometer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/speedometer.js */ "./node_modules/axios/lib/helpers/speedometer.js"); + + + + + + + + + + + + + + + + +function progressEventReducer(listener, isDownloadStream) { + let bytesNotified = 0; + const _speedometer = (0,_helpers_speedometer_js__WEBPACK_IMPORTED_MODULE_0__["default"])(50, 250); + + return e => { + const loaded = e.loaded; + const total = e.lengthComputable ? e.total : undefined; + const progressBytes = loaded - bytesNotified; + const rate = _speedometer(progressBytes); + const inRange = loaded <= total; + + bytesNotified = loaded; + + const data = { + loaded, + total, + progress: total ? (loaded / total) : undefined, + bytes: progressBytes, + rate: rate ? rate : undefined, + estimated: rate && total && inRange ? (total - loaded) / rate : undefined, + event: e + }; + + data[isDownloadStream ? 'download' : 'upload'] = true; + + listener(data); + }; +} + +const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isXHRAdapterSupported && function (config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + let requestData = config.data; + const requestHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(config.headers).normalize(); + const responseType = config.responseType; + let onCanceled; + function done() { + if (config.cancelToken) { + config.cancelToken.unsubscribe(onCanceled); + } + + if (config.signal) { + config.signal.removeEventListener('abort', onCanceled); + } + } + + let contentType; + + if (_utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isFormData(requestData)) { + if (_platform_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].hasStandardBrowserEnv || _platform_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].hasStandardBrowserWebWorkerEnv) { + requestHeaders.setContentType(false); // Let the browser set it + } else if ((contentType = requestHeaders.getContentType()) !== false) { + // fix semicolon duplication issue for ReactNative FormData implementation + const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : []; + requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; ')); + } + } + + let request = new XMLHttpRequest(); + + // HTTP basic authentication + if (config.auth) { + const username = config.auth.username || ''; + const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : ''; + requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password)); + } + + const fullPath = (0,_core_buildFullPath_js__WEBPACK_IMPORTED_MODULE_4__["default"])(config.baseURL, config.url); + + request.open(config.method.toUpperCase(), (0,_helpers_buildURL_js__WEBPACK_IMPORTED_MODULE_5__["default"])(fullPath, config.params, config.paramsSerializer), true); + + // Set the request timeout in MS + request.timeout = config.timeout; + + function onloadend() { + if (!request) { + return; + } + // Prepare the response + const responseHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from( + 'getAllResponseHeaders' in request && request.getAllResponseHeaders() + ); + const responseData = !responseType || responseType === 'text' || responseType === 'json' ? + request.responseText : request.response; + const response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config, + request + }; + + (0,_core_settle_js__WEBPACK_IMPORTED_MODULE_6__["default"])(function _resolve(value) { + resolve(value); + done(); + }, function _reject(err) { + reject(err); + done(); + }, response); + + // Clean up request + request = null; + } + + if ('onloadend' in request) { + // Use onloadend if available + request.onloadend = onloadend; + } else { + // Listen for ready state to emulate onloadend + request.onreadystatechange = function handleLoad() { + if (!request || request.readyState !== 4) { + return; + } + + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { + return; + } + // readystate handler is calling before onerror or ontimeout handlers, + // so we should call onloadend on the next 'tick' + setTimeout(onloadend); + }; + } + + // Handle browser request cancellation (as opposed to a manual cancellation) + request.onabort = function handleAbort() { + if (!request) { + return; + } + + reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__["default"]('Request aborted', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__["default"].ECONNABORTED, config, request)); + + // Clean up request + request = null; + }; + + // Handle low level network errors + request.onerror = function handleError() { + // Real errors are hidden from us by the browser + // onerror should only fire if it's a network error + reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__["default"]('Network Error', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__["default"].ERR_NETWORK, config, request)); + + // Clean up request + request = null; + }; + + // Handle timeout + request.ontimeout = function handleTimeout() { + let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded'; + const transitional = config.transitional || _defaults_transitional_js__WEBPACK_IMPORTED_MODULE_8__["default"]; + if (config.timeoutErrorMessage) { + timeoutErrorMessage = config.timeoutErrorMessage; + } + reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__["default"]( + timeoutErrorMessage, + transitional.clarifyTimeoutError ? _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__["default"].ETIMEDOUT : _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__["default"].ECONNABORTED, + config, + request)); + + // Clean up request + request = null; + }; + + // Add xsrf header + // This is only done if running in a standard browser environment. + // Specifically not if we're in a web worker, or react-native. + if (_platform_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].hasStandardBrowserEnv) { + // Add xsrf header + // regarding CVE-2023-45857 config.withCredentials condition was removed temporarily + const xsrfValue = (0,_helpers_isURLSameOrigin_js__WEBPACK_IMPORTED_MODULE_9__["default"])(fullPath) && config.xsrfCookieName && _helpers_cookies_js__WEBPACK_IMPORTED_MODULE_10__["default"].read(config.xsrfCookieName); + + if (xsrfValue) { + requestHeaders.set(config.xsrfHeaderName, xsrfValue); + } + } + + // Remove Content-Type if data is undefined + requestData === undefined && requestHeaders.setContentType(null); + + // Add headers to the request + if ('setRequestHeader' in request) { + _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { + request.setRequestHeader(key, val); + }); + } + + // Add withCredentials to request if needed + if (!_utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isUndefined(config.withCredentials)) { + request.withCredentials = !!config.withCredentials; + } + + // Add responseType to request if needed + if (responseType && responseType !== 'json') { + request.responseType = config.responseType; + } + + // Handle progress if needed + if (typeof config.onDownloadProgress === 'function') { + request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true)); + } + + // Not all browsers support upload events + if (typeof config.onUploadProgress === 'function' && request.upload) { + request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress)); + } + + if (config.cancelToken || config.signal) { + // Handle cancellation + // eslint-disable-next-line func-names + onCanceled = cancel => { + if (!request) { + return; + } + reject(!cancel || cancel.type ? new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_11__["default"](null, config, request) : cancel); + request.abort(); + request = null; + }; + + config.cancelToken && config.cancelToken.subscribe(onCanceled); + if (config.signal) { + config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled); + } + } + + const protocol = (0,_helpers_parseProtocol_js__WEBPACK_IMPORTED_MODULE_12__["default"])(fullPath); + + if (protocol && _platform_index_js__WEBPACK_IMPORTED_MODULE_3__["default"].protocols.indexOf(protocol) === -1) { + reject(new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__["default"]('Unsupported protocol ' + protocol + ':', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_7__["default"].ERR_BAD_REQUEST, config)); + return; + } + + + // Send the request + request.send(requestData || null); + }); +}); + + +/***/ }), + +/***/ "./node_modules/axios/lib/axios.js": +/*!*****************************************!*\ + !*** ./node_modules/axios/lib/axios.js ***! + \*****************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _helpers_bind_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers/bind.js */ "./node_modules/axios/lib/helpers/bind.js"); +/* harmony import */ var _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/Axios.js */ "./node_modules/axios/lib/core/Axios.js"); +/* harmony import */ var _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./core/mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js"); +/* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./defaults/index.js */ "./node_modules/axios/lib/defaults/index.js"); +/* harmony import */ var _helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./helpers/formDataToJSON.js */ "./node_modules/axios/lib/helpers/formDataToJSON.js"); +/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); +/* harmony import */ var _cancel_CancelToken_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./cancel/CancelToken.js */ "./node_modules/axios/lib/cancel/CancelToken.js"); +/* harmony import */ var _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./cancel/isCancel.js */ "./node_modules/axios/lib/cancel/isCancel.js"); +/* harmony import */ var _env_data_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./env/data.js */ "./node_modules/axios/lib/env/data.js"); +/* harmony import */ var _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./helpers/toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); +/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); +/* harmony import */ var _helpers_spread_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./helpers/spread.js */ "./node_modules/axios/lib/helpers/spread.js"); +/* harmony import */ var _helpers_isAxiosError_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./helpers/isAxiosError.js */ "./node_modules/axios/lib/helpers/isAxiosError.js"); +/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); +/* harmony import */ var _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./adapters/adapters.js */ "./node_modules/axios/lib/adapters/adapters.js"); +/* harmony import */ var _helpers_HttpStatusCode_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./helpers/HttpStatusCode.js */ "./node_modules/axios/lib/helpers/HttpStatusCode.js"); + + + + + + + + + + + + + + + + + + + + +/** + * Create an instance of Axios + * + * @param {Object} defaultConfig The default config for the instance + * + * @returns {Axios} A new instance of Axios + */ +function createInstance(defaultConfig) { + const context = new _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"](defaultConfig); + const instance = (0,_helpers_bind_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"].prototype.request, context); + + // Copy axios.prototype to instance + _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].extend(instance, _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"].prototype, context, {allOwnKeys: true}); + + // Copy context to instance + _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].extend(instance, context, null, {allOwnKeys: true}); + + // Factory for creating new instances + instance.create = function create(instanceConfig) { + return createInstance((0,_core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__["default"])(defaultConfig, instanceConfig)); + }; + + return instance; +} + +// Create the default instance to be exported +const axios = createInstance(_defaults_index_js__WEBPACK_IMPORTED_MODULE_4__["default"]); + +// Expose Axios class to allow class inheritance +axios.Axios = _core_Axios_js__WEBPACK_IMPORTED_MODULE_0__["default"]; + +// Expose Cancel & CancelToken +axios.CanceledError = _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_5__["default"]; +axios.CancelToken = _cancel_CancelToken_js__WEBPACK_IMPORTED_MODULE_6__["default"]; +axios.isCancel = _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_7__["default"]; +axios.VERSION = _env_data_js__WEBPACK_IMPORTED_MODULE_8__.VERSION; +axios.toFormData = _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_9__["default"]; + +// Expose AxiosError class +axios.AxiosError = _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_10__["default"]; + +// alias for CanceledError for backward compatibility +axios.Cancel = axios.CanceledError; + +// Expose all/spread +axios.all = function all(promises) { + return Promise.all(promises); +}; + +axios.spread = _helpers_spread_js__WEBPACK_IMPORTED_MODULE_11__["default"]; + +// Expose isAxiosError +axios.isAxiosError = _helpers_isAxiosError_js__WEBPACK_IMPORTED_MODULE_12__["default"]; + +// Expose mergeConfig +axios.mergeConfig = _core_mergeConfig_js__WEBPACK_IMPORTED_MODULE_3__["default"]; + +axios.AxiosHeaders = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_13__["default"]; + +axios.formToJSON = thing => (0,_helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_14__["default"])(_utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isHTMLForm(thing) ? new FormData(thing) : thing); + +axios.getAdapter = _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_15__["default"].getAdapter; + +axios.HttpStatusCode = _helpers_HttpStatusCode_js__WEBPACK_IMPORTED_MODULE_16__["default"]; + +axios.default = axios; + +// this module should only have a default export +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (axios); + + +/***/ }), + +/***/ "./node_modules/axios/lib/cancel/CancelToken.js": +/*!******************************************************!*\ + !*** ./node_modules/axios/lib/cancel/CancelToken.js ***! + \******************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _CanceledError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); + + + + +/** + * A `CancelToken` is an object that can be used to request cancellation of an operation. + * + * @param {Function} executor The executor function. + * + * @returns {CancelToken} + */ +class CancelToken { + constructor(executor) { + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); + } + + let resolvePromise; + + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + + const token = this; + + // eslint-disable-next-line func-names + this.promise.then(cancel => { + if (!token._listeners) return; + + let i = token._listeners.length; + + while (i-- > 0) { + token._listeners[i](cancel); + } + token._listeners = null; + }); + + // eslint-disable-next-line func-names + this.promise.then = onfulfilled => { + let _resolve; + // eslint-disable-next-line func-names + const promise = new Promise(resolve => { + token.subscribe(resolve); + _resolve = resolve; + }).then(onfulfilled); + + promise.cancel = function reject() { + token.unsubscribe(_resolve); + }; + + return promise; + }; + + executor(function cancel(message, config, request) { + if (token.reason) { + // Cancellation has already been requested + return; + } + + token.reason = new _CanceledError_js__WEBPACK_IMPORTED_MODULE_0__["default"](message, config, request); + resolvePromise(token.reason); + }); + } + + /** + * Throws a `CanceledError` if cancellation has been requested. + */ + throwIfRequested() { + if (this.reason) { + throw this.reason; + } + } + + /** + * Subscribe to the cancel signal + */ + + subscribe(listener) { + if (this.reason) { + listener(this.reason); + return; + } + + if (this._listeners) { + this._listeners.push(listener); + } else { + this._listeners = [listener]; + } + } + + /** + * Unsubscribe from the cancel signal + */ + + unsubscribe(listener) { + if (!this._listeners) { + return; + } + const index = this._listeners.indexOf(listener); + if (index !== -1) { + this._listeners.splice(index, 1); + } + } + + /** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ + static source() { + let cancel; + const token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token, + cancel + }; + } +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CancelToken); + + +/***/ }), + +/***/ "./node_modules/axios/lib/cancel/CanceledError.js": +/*!********************************************************!*\ + !*** ./node_modules/axios/lib/cancel/CanceledError.js ***! + \********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); + + + + + +/** + * A `CanceledError` is an object that is thrown when an operation is canceled. + * + * @param {string=} message The message. + * @param {Object=} config The config. + * @param {Object=} request The request. + * + * @returns {CanceledError} The created error. + */ +function CanceledError(message, config, request) { + // eslint-disable-next-line no-eq-null,eqeqeq + _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].call(this, message == null ? 'canceled' : message, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_CANCELED, config, request); + this.name = 'CanceledError'; +} + +_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].inherits(CanceledError, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"], { + __CANCEL__: true +}); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CanceledError); + + +/***/ }), + +/***/ "./node_modules/axios/lib/cancel/isCancel.js": +/*!***************************************************!*\ + !*** ./node_modules/axios/lib/cancel/isCancel.js ***! + \***************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ isCancel) +/* harmony export */ }); + + +function isCancel(value) { + return !!(value && value.__CANCEL__); +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/Axios.js": +/*!**********************************************!*\ + !*** ./node_modules/axios/lib/core/Axios.js ***! + \**********************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _helpers_buildURL_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../helpers/buildURL.js */ "./node_modules/axios/lib/helpers/buildURL.js"); +/* harmony import */ var _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./InterceptorManager.js */ "./node_modules/axios/lib/core/InterceptorManager.js"); +/* harmony import */ var _dispatchRequest_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dispatchRequest.js */ "./node_modules/axios/lib/core/dispatchRequest.js"); +/* harmony import */ var _mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mergeConfig.js */ "./node_modules/axios/lib/core/mergeConfig.js"); +/* harmony import */ var _buildFullPath_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./buildFullPath.js */ "./node_modules/axios/lib/core/buildFullPath.js"); +/* harmony import */ var _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/validator.js */ "./node_modules/axios/lib/helpers/validator.js"); +/* harmony import */ var _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); + + + + + + + + + + + +const validators = _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__["default"].validators; + +/** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + * + * @return {Axios} A new instance of Axios + */ +class Axios { + constructor(instanceConfig) { + this.defaults = instanceConfig; + this.interceptors = { + request: new _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_1__["default"](), + response: new _InterceptorManager_js__WEBPACK_IMPORTED_MODULE_1__["default"]() + }; + } + + /** + * Dispatch a request + * + * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) + * @param {?Object} config + * + * @returns {Promise} The Promise to be fulfilled + */ + request(configOrUrl, config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof configOrUrl === 'string') { + config = config || {}; + config.url = configOrUrl; + } else { + config = configOrUrl || {}; + } + + config = (0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(this.defaults, config); + + const {transitional, paramsSerializer, headers} = config; + + if (transitional !== undefined) { + _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__["default"].assertOptions(transitional, { + silentJSONParsing: validators.transitional(validators.boolean), + forcedJSONParsing: validators.transitional(validators.boolean), + clarifyTimeoutError: validators.transitional(validators.boolean) + }, false); + } + + if (paramsSerializer != null) { + if (_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].isFunction(paramsSerializer)) { + config.paramsSerializer = { + serialize: paramsSerializer + } + } else { + _helpers_validator_js__WEBPACK_IMPORTED_MODULE_0__["default"].assertOptions(paramsSerializer, { + encode: validators.function, + serialize: validators.function + }, true); + } + } + + // Set config.method + config.method = (config.method || this.defaults.method || 'get').toLowerCase(); + + // Flatten headers + let contextHeaders = headers && _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].merge( + headers.common, + headers[config.method] + ); + + headers && _utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach( + ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], + (method) => { + delete headers[method]; + } + ); + + config.headers = _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_4__["default"].concat(contextHeaders, headers); + + // filter out skipped interceptors + const requestInterceptorChain = []; + let synchronousRequestInterceptors = true; + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { + return; + } + + synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + + requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + + const responseInterceptorChain = []; + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + }); + + let promise; + let i = 0; + let len; + + if (!synchronousRequestInterceptors) { + const chain = [_dispatchRequest_js__WEBPACK_IMPORTED_MODULE_5__["default"].bind(this), undefined]; + chain.unshift.apply(chain, requestInterceptorChain); + chain.push.apply(chain, responseInterceptorChain); + len = chain.length; + + promise = Promise.resolve(config); + + while (i < len) { + promise = promise.then(chain[i++], chain[i++]); + } + + return promise; + } + + len = requestInterceptorChain.length; + + let newConfig = config; + + i = 0; + + while (i < len) { + const onFulfilled = requestInterceptorChain[i++]; + const onRejected = requestInterceptorChain[i++]; + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected.call(this, error); + break; + } + } + + try { + promise = _dispatchRequest_js__WEBPACK_IMPORTED_MODULE_5__["default"].call(this, newConfig); + } catch (error) { + return Promise.reject(error); + } + + i = 0; + len = responseInterceptorChain.length; + + while (i < len) { + promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); + } + + return promise; + } + + getUri(config) { + config = (0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(this.defaults, config); + const fullPath = (0,_buildFullPath_js__WEBPACK_IMPORTED_MODULE_6__["default"])(config.baseURL, config.url); + return (0,_helpers_buildURL_js__WEBPACK_IMPORTED_MODULE_7__["default"])(fullPath, config.params, config.paramsSerializer); + } +} + +// Provide aliases for supported request methods +_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, config) { + return this.request((0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(config || {}, { + method, + url, + data: (config || {}).data + })); + }; +}); + +_utils_js__WEBPACK_IMPORTED_MODULE_3__["default"].forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + /*eslint func-names:0*/ + + function generateHTTPMethod(isForm) { + return function httpMethod(url, data, config) { + return this.request((0,_mergeConfig_js__WEBPACK_IMPORTED_MODULE_2__["default"])(config || {}, { + method, + headers: isForm ? { + 'Content-Type': 'multipart/form-data' + } : {}, + url, + data + })); + }; + } + + Axios.prototype[method] = generateHTTPMethod(); + + Axios.prototype[method + 'Form'] = generateHTTPMethod(true); +}); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Axios); + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/AxiosError.js": +/*!***************************************************!*\ + !*** ./node_modules/axios/lib/core/AxiosError.js ***! + \***************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); + + + + +/** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [config] The config. + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * + * @returns {Error} The created error. + */ +function AxiosError(message, code, config, request, response) { + Error.call(this); + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } else { + this.stack = (new Error()).stack; + } + + this.message = message; + this.name = 'AxiosError'; + code && (this.code = code); + config && (this.config = config); + request && (this.request = request); + response && (this.response = response); +} + +_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].inherits(AxiosError, Error, { + toJSON: function toJSON() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toJSONObject(this.config), + code: this.code, + status: this.response && this.response.status ? this.response.status : null + }; + } +}); + +const prototype = AxiosError.prototype; +const descriptors = {}; + +[ + 'ERR_BAD_OPTION_VALUE', + 'ERR_BAD_OPTION', + 'ECONNABORTED', + 'ETIMEDOUT', + 'ERR_NETWORK', + 'ERR_FR_TOO_MANY_REDIRECTS', + 'ERR_DEPRECATED', + 'ERR_BAD_RESPONSE', + 'ERR_BAD_REQUEST', + 'ERR_CANCELED', + 'ERR_NOT_SUPPORT', + 'ERR_INVALID_URL' +// eslint-disable-next-line func-names +].forEach(code => { + descriptors[code] = {value: code}; +}); + +Object.defineProperties(AxiosError, descriptors); +Object.defineProperty(prototype, 'isAxiosError', {value: true}); + +// eslint-disable-next-line func-names +AxiosError.from = (error, code, config, request, response, customProps) => { + const axiosError = Object.create(prototype); + + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(error, axiosError, function filter(obj) { + return obj !== Error.prototype; + }, prop => { + return prop !== 'isAxiosError'; + }); + + AxiosError.call(axiosError, error.message, code, config, request, response); + + axiosError.cause = error; + + axiosError.name = error.name; + + customProps && Object.assign(axiosError, customProps); + + return axiosError; +}; + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosError); + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/AxiosHeaders.js": +/*!*****************************************************!*\ + !*** ./node_modules/axios/lib/core/AxiosHeaders.js ***! + \*****************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _helpers_parseHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/parseHeaders.js */ "./node_modules/axios/lib/helpers/parseHeaders.js"); + + + + + +const $internals = Symbol('internals'); + +function normalizeHeader(header) { + return header && String(header).trim().toLowerCase(); +} + +function normalizeValue(value) { + if (value === false || value == null) { + return value; + } + + return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) ? value.map(normalizeValue) : String(value); +} + +function parseTokens(str) { + const tokens = Object.create(null); + const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; + let match; + + while ((match = tokensRE.exec(str))) { + tokens[match[1]] = match[2]; + } + + return tokens; +} + +const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); + +function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(filter)) { + return filter.call(this, value, header); + } + + if (isHeaderNameFilter) { + value = header; + } + + if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(value)) return; + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(filter)) { + return value.indexOf(filter) !== -1; + } + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isRegExp(filter)) { + return filter.test(value); + } +} + +function formatHeader(header) { + return header.trim() + .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { + return char.toUpperCase() + str; + }); +} + +function buildAccessors(obj, header) { + const accessorName = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toCamelCase(' ' + header); + + ['get', 'set', 'has'].forEach(methodName => { + Object.defineProperty(obj, methodName + accessorName, { + value: function(arg1, arg2, arg3) { + return this[methodName].call(this, header, arg1, arg2, arg3); + }, + configurable: true + }); + }); +} + +class AxiosHeaders { + constructor(headers) { + headers && this.set(headers); + } + + set(header, valueOrRewrite, rewrite) { + const self = this; + + function setHeader(_value, _header, _rewrite) { + const lHeader = normalizeHeader(_header); + + if (!lHeader) { + throw new Error('header name must be a non-empty string'); + } + + const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(self, lHeader); + + if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) { + self[key || _header] = normalizeValue(_value); + } + } + + const setHeaders = (headers, _rewrite) => + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isPlainObject(header) || header instanceof this.constructor) { + setHeaders(header, valueOrRewrite) + } else if(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { + setHeaders((0,_helpers_parseHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"])(header), valueOrRewrite); + } else { + header != null && setHeader(valueOrRewrite, header, rewrite); + } + + return this; + } + + get(header, parser) { + header = normalizeHeader(header); + + if (header) { + const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(this, header); + + if (key) { + const value = this[key]; + + if (!parser) { + return value; + } + + if (parser === true) { + return parseTokens(value); + } + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(parser)) { + return parser.call(this, value, key); + } + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isRegExp(parser)) { + return parser.exec(value); + } + + throw new TypeError('parser must be boolean|regexp|function'); + } + } + } + + has(header, matcher) { + header = normalizeHeader(header); + + if (header) { + const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(this, header); + + return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); + } + + return false; + } + + delete(header, matcher) { + const self = this; + let deleted = false; + + function deleteHeader(_header) { + _header = normalizeHeader(_header); + + if (_header) { + const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(self, _header); + + if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { + delete self[key]; + + deleted = true; + } + } + } + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(header)) { + header.forEach(deleteHeader); + } else { + deleteHeader(header); + } + + return deleted; + } + + clear(matcher) { + const keys = Object.keys(this); + let i = keys.length; + let deleted = false; + + while (i--) { + const key = keys[i]; + if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { + delete this[key]; + deleted = true; + } + } + + return deleted; + } + + normalize(format) { + const self = this; + const headers = {}; + + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this, (value, header) => { + const key = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].findKey(headers, header); + + if (key) { + self[key] = normalizeValue(value); + delete self[header]; + return; + } + + const normalized = format ? formatHeader(header) : String(header).trim(); + + if (normalized !== header) { + delete self[header]; + } + + self[normalized] = normalizeValue(value); + + headers[normalized] = true; + }); + + return this; + } + + concat(...targets) { + return this.constructor.concat(this, ...targets); + } + + toJSON(asStrings) { + const obj = Object.create(null); + + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this, (value, header) => { + value != null && value !== false && (obj[header] = asStrings && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) ? value.join(', ') : value); + }); + + return obj; + } + + [Symbol.iterator]() { + return Object.entries(this.toJSON())[Symbol.iterator](); + } + + toString() { + return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n'); + } + + get [Symbol.toStringTag]() { + return 'AxiosHeaders'; + } + + static from(thing) { + return thing instanceof this ? thing : new this(thing); + } + + static concat(first, ...targets) { + const computed = new this(first); + + targets.forEach((target) => computed.set(target)); + + return computed; + } + + static accessor(header) { + const internals = this[$internals] = (this[$internals] = { + accessors: {} + }); + + const accessors = internals.accessors; + const prototype = this.prototype; + + function defineAccessor(_header) { + const lHeader = normalizeHeader(_header); + + if (!accessors[lHeader]) { + buildAccessors(prototype, _header); + accessors[lHeader] = true; + } + } + + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); + + return this; + } +} + +AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); + +// reserved names hotfix +_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => { + let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` + return { + get: () => value, + set(headerValue) { + this[mapped] = headerValue; + } + } +}); + +_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].freezeMethods(AxiosHeaders); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosHeaders); + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/InterceptorManager.js": +/*!***********************************************************!*\ + !*** ./node_modules/axios/lib/core/InterceptorManager.js ***! + \***********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); + + + + +class InterceptorManager { + constructor() { + this.handlers = []; + } + + /** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * + * @return {Number} An ID used to remove interceptor later + */ + use(fulfilled, rejected, options) { + this.handlers.push({ + fulfilled, + rejected, + synchronous: options ? options.synchronous : false, + runWhen: options ? options.runWhen : null + }); + return this.handlers.length - 1; + } + + /** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + * + * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise + */ + eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } + } + + /** + * Clear all interceptors from the stack + * + * @returns {void} + */ + clear() { + if (this.handlers) { + this.handlers = []; + } + } + + /** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + * + * @returns {void} + */ + forEach(fn) { + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); + } +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (InterceptorManager); + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/buildFullPath.js": +/*!******************************************************!*\ + !*** ./node_modules/axios/lib/core/buildFullPath.js ***! + \******************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ buildFullPath) +/* harmony export */ }); +/* harmony import */ var _helpers_isAbsoluteURL_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../helpers/isAbsoluteURL.js */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js"); +/* harmony import */ var _helpers_combineURLs_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/combineURLs.js */ "./node_modules/axios/lib/helpers/combineURLs.js"); + + + + + +/** + * Creates a new URL by combining the baseURL with the requestedURL, + * only when the requestedURL is not already an absolute URL. + * If the requestURL is absolute, this function returns the requestedURL untouched. + * + * @param {string} baseURL The base URL + * @param {string} requestedURL Absolute or relative URL to combine + * + * @returns {string} The combined full path + */ +function buildFullPath(baseURL, requestedURL) { + if (baseURL && !(0,_helpers_isAbsoluteURL_js__WEBPACK_IMPORTED_MODULE_0__["default"])(requestedURL)) { + return (0,_helpers_combineURLs_js__WEBPACK_IMPORTED_MODULE_1__["default"])(baseURL, requestedURL); + } + return requestedURL; +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/dispatchRequest.js": +/*!********************************************************!*\ + !*** ./node_modules/axios/lib/core/dispatchRequest.js ***! + \********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ dispatchRequest) +/* harmony export */ }); +/* harmony import */ var _transformData_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transformData.js */ "./node_modules/axios/lib/core/transformData.js"); +/* harmony import */ var _cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../cancel/isCancel.js */ "./node_modules/axios/lib/cancel/isCancel.js"); +/* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../defaults/index.js */ "./node_modules/axios/lib/defaults/index.js"); +/* harmony import */ var _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../cancel/CanceledError.js */ "./node_modules/axios/lib/cancel/CanceledError.js"); +/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); +/* harmony import */ var _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../adapters/adapters.js */ "./node_modules/axios/lib/adapters/adapters.js"); + + + + + + + + + +/** + * Throws a `CanceledError` if cancellation has been requested. + * + * @param {Object} config The config that is to be used for the request + * + * @returns {void} + */ +function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } + + if (config.signal && config.signal.aborted) { + throw new _cancel_CanceledError_js__WEBPACK_IMPORTED_MODULE_0__["default"](null, config); + } +} + +/** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * + * @returns {Promise} The Promise to be fulfilled + */ +function dispatchRequest(config) { + throwIfCancellationRequested(config); + + config.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(config.headers); + + // Transform request data + config.data = _transformData_js__WEBPACK_IMPORTED_MODULE_2__["default"].call( + config, + config.transformRequest + ); + + if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { + config.headers.setContentType('application/x-www-form-urlencoded', false); + } + + const adapter = _adapters_adapters_js__WEBPACK_IMPORTED_MODULE_3__["default"].getAdapter(config.adapter || _defaults_index_js__WEBPACK_IMPORTED_MODULE_4__["default"].adapter); + + return adapter(config).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = _transformData_js__WEBPACK_IMPORTED_MODULE_2__["default"].call( + config, + config.transformResponse, + response + ); + + response.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(response.headers); + + return response; + }, function onAdapterRejection(reason) { + if (!(0,_cancel_isCancel_js__WEBPACK_IMPORTED_MODULE_5__["default"])(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = _transformData_js__WEBPACK_IMPORTED_MODULE_2__["default"].call( + config, + config.transformResponse, + reason.response + ); + reason.response.headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(reason.response.headers); + } + } + + return Promise.reject(reason); + }); +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/mergeConfig.js": +/*!****************************************************!*\ + !*** ./node_modules/axios/lib/core/mergeConfig.js ***! + \****************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ mergeConfig) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); + + + + + +const headersToObject = (thing) => thing instanceof _AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? thing.toJSON() : thing; + +/** + * Config-specific merge-function which creates a new config-object + * by merging two configuration objects together. + * + * @param {Object} config1 + * @param {Object} config2 + * + * @returns {Object} New object resulting from merging config2 to config1 + */ +function mergeConfig(config1, config2) { + // eslint-disable-next-line no-param-reassign + config2 = config2 || {}; + const config = {}; + + function getMergedValue(target, source, caseless) { + if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isPlainObject(target) && _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isPlainObject(source)) { + return _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].merge.call({caseless}, target, source); + } else if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isPlainObject(source)) { + return _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].merge({}, source); + } else if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isArray(source)) { + return source.slice(); + } + return source; + } + + // eslint-disable-next-line consistent-return + function mergeDeepProperties(a, b, caseless) { + if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(b)) { + return getMergedValue(a, b, caseless); + } else if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(a)) { + return getMergedValue(undefined, a, caseless); + } + } + + // eslint-disable-next-line consistent-return + function valueFromConfig2(a, b) { + if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(b)) { + return getMergedValue(undefined, b); + } + } + + // eslint-disable-next-line consistent-return + function defaultToConfig2(a, b) { + if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(b)) { + return getMergedValue(undefined, b); + } else if (!_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(a)) { + return getMergedValue(undefined, a); + } + } + + // eslint-disable-next-line consistent-return + function mergeDirectKeys(a, b, prop) { + if (prop in config2) { + return getMergedValue(a, b); + } else if (prop in config1) { + return getMergedValue(undefined, a); + } + } + + const mergeMap = { + url: valueFromConfig2, + method: valueFromConfig2, + data: valueFromConfig2, + baseURL: defaultToConfig2, + transformRequest: defaultToConfig2, + transformResponse: defaultToConfig2, + paramsSerializer: defaultToConfig2, + timeout: defaultToConfig2, + timeoutMessage: defaultToConfig2, + withCredentials: defaultToConfig2, + adapter: defaultToConfig2, + responseType: defaultToConfig2, + xsrfCookieName: defaultToConfig2, + xsrfHeaderName: defaultToConfig2, + onUploadProgress: defaultToConfig2, + onDownloadProgress: defaultToConfig2, + decompress: defaultToConfig2, + maxContentLength: defaultToConfig2, + maxBodyLength: defaultToConfig2, + beforeRedirect: defaultToConfig2, + transport: defaultToConfig2, + httpAgent: defaultToConfig2, + httpsAgent: defaultToConfig2, + cancelToken: defaultToConfig2, + socketPath: defaultToConfig2, + responseEncoding: defaultToConfig2, + validateStatus: mergeDirectKeys, + headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true) + }; + + _utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { + const merge = mergeMap[prop] || mergeDeepProperties; + const configValue = merge(config1[prop], config2[prop], prop); + (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); + }); + + return config; +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/settle.js": +/*!***********************************************!*\ + !*** ./node_modules/axios/lib/core/settle.js ***! + \***********************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ settle) +/* harmony export */ }); +/* harmony import */ var _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); + + + + +/** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + * + * @returns {object} The response. + */ +function settle(resolve, reject, response) { + const validateStatus = response.config.validateStatus; + if (!response.status || !validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject(new _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"]( + 'Request failed with status code ' + response.status, + [_AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_BAD_REQUEST, _AxiosError_js__WEBPACK_IMPORTED_MODULE_0__["default"].ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], + response.config, + response.request, + response + )); + } +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/core/transformData.js": +/*!******************************************************!*\ + !*** ./node_modules/axios/lib/core/transformData.js ***! + \******************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ transformData) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _defaults_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../defaults/index.js */ "./node_modules/axios/lib/defaults/index.js"); +/* harmony import */ var _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosHeaders.js */ "./node_modules/axios/lib/core/AxiosHeaders.js"); + + + + + + +/** + * Transform the data for a request or a response + * + * @param {Array|Function} fns A single function or Array of functions + * @param {?Object} response The response object + * + * @returns {*} The resulting transformed data + */ +function transformData(fns, response) { + const config = this || _defaults_index_js__WEBPACK_IMPORTED_MODULE_0__["default"]; + const context = response || config; + const headers = _core_AxiosHeaders_js__WEBPACK_IMPORTED_MODULE_1__["default"].from(context.headers); + let data = context.data; + + _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].forEach(fns, function transform(fn) { + data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); + }); + + headers.normalize(); + + return data; +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/defaults/index.js": +/*!**************************************************!*\ + !*** ./node_modules/axios/lib/defaults/index.js ***! + \**************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); +/* harmony import */ var _transitional_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transitional.js */ "./node_modules/axios/lib/defaults/transitional.js"); +/* harmony import */ var _helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers/toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); +/* harmony import */ var _helpers_toURLEncodedForm_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../helpers/toURLEncodedForm.js */ "./node_modules/axios/lib/helpers/toURLEncodedForm.js"); +/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); +/* harmony import */ var _helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helpers/formDataToJSON.js */ "./node_modules/axios/lib/helpers/formDataToJSON.js"); + + + + + + + + + + +/** + * It takes a string, tries to parse it, and if it fails, it returns the stringified version + * of the input + * + * @param {any} rawValue - The value to be stringified. + * @param {Function} parser - A function that parses a string into a JavaScript object. + * @param {Function} encoder - A function that takes a value and returns a string. + * + * @returns {string} A stringified version of the rawValue. + */ +function stringifySafely(rawValue, parser, encoder) { + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(rawValue)) { + try { + (parser || JSON.parse)(rawValue); + return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].trim(rawValue); + } catch (e) { + if (e.name !== 'SyntaxError') { + throw e; + } + } + } + + return (encoder || JSON.stringify)(rawValue); +} + +const defaults = { + + transitional: _transitional_js__WEBPACK_IMPORTED_MODULE_1__["default"], + + adapter: ['xhr', 'http'], + + transformRequest: [function transformRequest(data, headers) { + const contentType = headers.getContentType() || ''; + const hasJSONContentType = contentType.indexOf('application/json') > -1; + const isObjectPayload = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(data); + + if (isObjectPayload && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isHTMLForm(data)) { + data = new FormData(data); + } + + const isFormData = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFormData(data); + + if (isFormData) { + if (!hasJSONContentType) { + return data; + } + return hasJSONContentType ? JSON.stringify((0,_helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_2__["default"])(data)) : data; + } + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBuffer(data) || + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBuffer(data) || + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isStream(data) || + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFile(data) || + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBlob(data) + ) { + return data; + } + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBufferView(data)) { + return data.buffer; + } + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isURLSearchParams(data)) { + headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); + return data.toString(); + } + + let isFileList; + + if (isObjectPayload) { + if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { + return (0,_helpers_toURLEncodedForm_js__WEBPACK_IMPORTED_MODULE_3__["default"])(data, this.formSerializer).toString(); + } + + if ((isFileList = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { + const _FormData = this.env && this.env.FormData; + + return (0,_helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_4__["default"])( + isFileList ? {'files[]': data} : data, + _FormData && new _FormData(), + this.formSerializer + ); + } + } + + if (isObjectPayload || hasJSONContentType ) { + headers.setContentType('application/json', false); + return stringifySafely(data); + } + + return data; + }], + + transformResponse: [function transformResponse(data) { + const transitional = this.transitional || defaults.transitional; + const forcedJSONParsing = transitional && transitional.forcedJSONParsing; + const JSONRequested = this.responseType === 'json'; + + if (data && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) { + const silentJSONParsing = transitional && transitional.silentJSONParsing; + const strictJSONParsing = !silentJSONParsing && JSONRequested; + + try { + return JSON.parse(data); + } catch (e) { + if (strictJSONParsing) { + if (e.name === 'SyntaxError') { + throw _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__["default"].from(e, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__["default"].ERR_BAD_RESPONSE, this, null, this.response); + } + throw e; + } + } + } + + return data; + }], + + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + + maxContentLength: -1, + maxBodyLength: -1, + + env: { + FormData: _platform_index_js__WEBPACK_IMPORTED_MODULE_6__["default"].classes.FormData, + Blob: _platform_index_js__WEBPACK_IMPORTED_MODULE_6__["default"].classes.Blob + }, + + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + }, + + headers: { + common: { + 'Accept': 'application/json, text/plain, */*', + 'Content-Type': undefined + } + } +}; + +_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { + defaults.headers[method] = {}; +}); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (defaults); + + +/***/ }), + +/***/ "./node_modules/axios/lib/defaults/transitional.js": +/*!*********************************************************!*\ + !*** ./node_modules/axios/lib/defaults/transitional.js ***! + \*********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + silentJSONParsing: true, + forcedJSONParsing: true, + clarifyTimeoutError: false +}); + + +/***/ }), + +/***/ "./node_modules/axios/lib/env/data.js": +/*!********************************************!*\ + !*** ./node_modules/axios/lib/env/data.js ***! + \********************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ VERSION: () => (/* binding */ VERSION) +/* harmony export */ }); +const VERSION = "1.6.1"; + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js": +/*!****************************************************************!*\ + !*** ./node_modules/axios/lib/helpers/AxiosURLSearchParams.js ***! + \****************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _toFormData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); + + + + +/** + * It encodes a string by replacing all characters that are not in the unreserved set with + * their percent-encoded equivalents + * + * @param {string} str - The string to encode. + * + * @returns {string} The encoded string. + */ +function encode(str) { + const charMap = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+', + '%00': '\x00' + }; + return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { + return charMap[match]; + }); +} + +/** + * It takes a params object and converts it to a FormData object + * + * @param {Object} params - The parameters to be converted to a FormData object. + * @param {Object} options - The options object passed to the Axios constructor. + * + * @returns {void} + */ +function AxiosURLSearchParams(params, options) { + this._pairs = []; + + params && (0,_toFormData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, this, options); +} + +const prototype = AxiosURLSearchParams.prototype; + +prototype.append = function append(name, value) { + this._pairs.push([name, value]); +}; + +prototype.toString = function toString(encoder) { + const _encode = encoder ? function(value) { + return encoder.call(this, value, encode); + } : encode; + + return this._pairs.map(function each(pair) { + return _encode(pair[0]) + '=' + _encode(pair[1]); + }, '').join('&'); +}; + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AxiosURLSearchParams); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/HttpStatusCode.js": +/*!**********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/HttpStatusCode.js ***! + \**********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const HttpStatusCode = { + Continue: 100, + SwitchingProtocols: 101, + Processing: 102, + EarlyHints: 103, + Ok: 200, + Created: 201, + Accepted: 202, + NonAuthoritativeInformation: 203, + NoContent: 204, + ResetContent: 205, + PartialContent: 206, + MultiStatus: 207, + AlreadyReported: 208, + ImUsed: 226, + MultipleChoices: 300, + MovedPermanently: 301, + Found: 302, + SeeOther: 303, + NotModified: 304, + UseProxy: 305, + Unused: 306, + TemporaryRedirect: 307, + PermanentRedirect: 308, + BadRequest: 400, + Unauthorized: 401, + PaymentRequired: 402, + Forbidden: 403, + NotFound: 404, + MethodNotAllowed: 405, + NotAcceptable: 406, + ProxyAuthenticationRequired: 407, + RequestTimeout: 408, + Conflict: 409, + Gone: 410, + LengthRequired: 411, + PreconditionFailed: 412, + PayloadTooLarge: 413, + UriTooLong: 414, + UnsupportedMediaType: 415, + RangeNotSatisfiable: 416, + ExpectationFailed: 417, + ImATeapot: 418, + MisdirectedRequest: 421, + UnprocessableEntity: 422, + Locked: 423, + FailedDependency: 424, + TooEarly: 425, + UpgradeRequired: 426, + PreconditionRequired: 428, + TooManyRequests: 429, + RequestHeaderFieldsTooLarge: 431, + UnavailableForLegalReasons: 451, + InternalServerError: 500, + NotImplemented: 501, + BadGateway: 502, + ServiceUnavailable: 503, + GatewayTimeout: 504, + HttpVersionNotSupported: 505, + VariantAlsoNegotiates: 506, + InsufficientStorage: 507, + LoopDetected: 508, + NotExtended: 510, + NetworkAuthenticationRequired: 511, +}; + +Object.entries(HttpStatusCode).forEach(([key, value]) => { + HttpStatusCode[value] = key; +}); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HttpStatusCode); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/bind.js": +/*!************************************************!*\ + !*** ./node_modules/axios/lib/helpers/bind.js ***! + \************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ bind) +/* harmony export */ }); + + +function bind(fn, thisArg) { + return function wrap() { + return fn.apply(thisArg, arguments); + }; +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/buildURL.js": +/*!****************************************************!*\ + !*** ./node_modules/axios/lib/helpers/buildURL.js ***! + \****************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ buildURL) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/AxiosURLSearchParams.js */ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js"); + + + + + +/** + * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their + * URI encoded counterparts + * + * @param {string} val The value to be encoded. + * + * @returns {string} The encoded value. + */ +function encode(val) { + return encodeURIComponent(val). + replace(/%3A/gi, ':'). + replace(/%24/g, '$'). + replace(/%2C/gi, ','). + replace(/%20/g, '+'). + replace(/%5B/gi, '['). + replace(/%5D/gi, ']'); +} + +/** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @param {?object} options + * + * @returns {string} The formatted url + */ +function buildURL(url, params, options) { + /*eslint no-param-reassign:0*/ + if (!params) { + return url; + } + + const _encode = options && options.encode || encode; + + const serializeFn = options && options.serialize; + + let serializedParams; + + if (serializeFn) { + serializedParams = serializeFn(params, options); + } else { + serializedParams = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isURLSearchParams(params) ? + params.toString() : + new _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_1__["default"](params, options).toString(_encode); + } + + if (serializedParams) { + const hashmarkIndex = url.indexOf("#"); + + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + + return url; +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/combineURLs.js": +/*!*******************************************************!*\ + !*** ./node_modules/axios/lib/helpers/combineURLs.js ***! + \*******************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ combineURLs) +/* harmony export */ }); + + +/** + * Creates a new URL by combining the specified URLs + * + * @param {string} baseURL The base URL + * @param {string} relativeURL The relative URL + * + * @returns {string} The combined URL + */ +function combineURLs(baseURL, relativeURL) { + return relativeURL + ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') + : baseURL; +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/cookies.js": +/*!***************************************************!*\ + !*** ./node_modules/axios/lib/helpers/cookies.js ***! + \***************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); + + + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasStandardBrowserEnv ? + +// Standard browser envs support document.cookie + (function standardBrowserEnv() { + return { + write: function write(name, value, expires, path, domain, secure) { + const cookie = []; + cookie.push(name + '=' + encodeURIComponent(value)); + + if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isNumber(expires)) { + cookie.push('expires=' + new Date(expires).toGMTString()); + } + + if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(path)) { + cookie.push('path=' + path); + } + + if (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(domain)) { + cookie.push('domain=' + domain); + } + + if (secure === true) { + cookie.push('secure'); + } + + document.cookie = cookie.join('; '); + }, + + read: function read(name) { + const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); + return (match ? decodeURIComponent(match[3]) : null); + }, + + remove: function remove(name) { + this.write(name, '', Date.now() - 86400000); + } + }; + })() : + +// Non standard browser env (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return { + write: function write() {}, + read: function read() { return null; }, + remove: function remove() {} + }; + })()); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/formDataToJSON.js": +/*!**********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/formDataToJSON.js ***! + \**********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); + + + + +/** + * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] + * + * @param {string} name - The name of the property to get. + * + * @returns An array of strings. + */ +function parsePropPath(name) { + // foo[x][y][z] + // foo.x.y.z + // foo-x-y-z + // foo x y z + return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].matchAll(/\w+|\[(\w*)]/g, name).map(match => { + return match[0] === '[]' ? '' : match[1] || match[0]; + }); +} + +/** + * Convert an array to an object. + * + * @param {Array} arr - The array to convert to an object. + * + * @returns An object with the same keys and values as the array. + */ +function arrayToObject(arr) { + const obj = {}; + const keys = Object.keys(arr); + let i; + const len = keys.length; + let key; + for (i = 0; i < len; i++) { + key = keys[i]; + obj[key] = arr[key]; + } + return obj; +} + +/** + * It takes a FormData object and returns a JavaScript object + * + * @param {string} formData The FormData object to convert to JSON. + * + * @returns {Object | null} The converted object. + */ +function formDataToJSON(formData) { + function buildPath(path, value, target, index) { + let name = path[index++]; + const isNumericKey = Number.isFinite(+name); + const isLast = index >= path.length; + name = !name && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(target) ? target.length : name; + + if (isLast) { + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasOwnProp(target, name)) { + target[name] = [target[name], value]; + } else { + target[name] = value; + } + + return !isNumericKey; + } + + if (!target[name] || !_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(target[name])) { + target[name] = []; + } + + const result = buildPath(path, value, target[name], index); + + if (result && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(target[name])) { + target[name] = arrayToObject(target[name]); + } + + return !isNumericKey; + } + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFormData(formData) && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(formData.entries)) { + const obj = {}; + + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEachEntry(formData, (name, value) => { + buildPath(parsePropPath(name), value, obj, 0); + }); + + return obj; + } + + return null; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (formDataToJSON); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js": +/*!*********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***! + \*********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ isAbsoluteURL) +/* harmony export */ }); + + +/** + * Determines whether the specified URL is absolute + * + * @param {string} url The URL to test + * + * @returns {boolean} True if the specified URL is absolute, otherwise false + */ +function isAbsoluteURL(url) { + // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). + // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed + // by any combination of letters, digits, plus, period, or hyphen. + return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/isAxiosError.js": +/*!********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/isAxiosError.js ***! + \********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ isAxiosError) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); + + + + +/** + * Determines whether the payload is an error thrown by Axios + * + * @param {*} payload The value to test + * + * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false + */ +function isAxiosError(payload) { + return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(payload) && (payload.isAxiosError === true); +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js": +/*!***********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***! + \***********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); + + + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_platform_index_js__WEBPACK_IMPORTED_MODULE_0__["default"].hasStandardBrowserEnv ? + +// Standard browser envs have full support of the APIs needed to test +// whether the request URL is of the same origin as current location. + (function standardBrowserEnv() { + const msie = /(msie|trident)/i.test(navigator.userAgent); + const urlParsingNode = document.createElement('a'); + let originURL; + + /** + * Parse a URL to discover it's components + * + * @param {String} url The URL to be parsed + * @returns {Object} + */ + function resolveURL(url) { + let href = url; + + if (msie) { + // IE needs attribute set twice to normalize properties + urlParsingNode.setAttribute('href', href); + href = urlParsingNode.href; + } + + urlParsingNode.setAttribute('href', href); + + // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils + return { + href: urlParsingNode.href, + protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', + host: urlParsingNode.host, + search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', + hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', + hostname: urlParsingNode.hostname, + port: urlParsingNode.port, + pathname: (urlParsingNode.pathname.charAt(0) === '/') ? + urlParsingNode.pathname : + '/' + urlParsingNode.pathname + }; + } + + originURL = resolveURL(window.location.href); + + /** + * Determine if a URL shares the same origin as the current location + * + * @param {String} requestURL The URL to test + * @returns {boolean} True if URL shares the same origin, otherwise false + */ + return function isURLSameOrigin(requestURL) { + const parsed = (_utils_js__WEBPACK_IMPORTED_MODULE_1__["default"].isString(requestURL)) ? resolveURL(requestURL) : requestURL; + return (parsed.protocol === originURL.protocol && + parsed.host === originURL.host); + }; + })() : + + // Non standard browser envs (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return function isURLSameOrigin() { + return true; + }; + })()); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/null.js": +/*!************************************************!*\ + !*** ./node_modules/axios/lib/helpers/null.js ***! + \************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +// eslint-disable-next-line strict +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (null); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/parseHeaders.js": +/*!********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***! + \********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../utils.js */ "./node_modules/axios/lib/utils.js"); + + + + +// RawAxiosHeaders whose duplicates are ignored by node +// c.f. https://nodejs.org/api/http.html#http_message_headers +const ignoreDuplicateOf = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toObjectSet([ + 'age', 'authorization', 'content-length', 'content-type', 'etag', + 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', + 'last-modified', 'location', 'max-forwards', 'proxy-authorization', + 'referer', 'retry-after', 'user-agent' +]); + +/** + * Parse headers into an object + * + * ``` + * Date: Wed, 27 Aug 2014 08:58:49 GMT + * Content-Type: application/json + * Connection: keep-alive + * Transfer-Encoding: chunked + * ``` + * + * @param {String} rawHeaders Headers needing to be parsed + * + * @returns {Object} Headers parsed into an object + */ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (rawHeaders => { + const parsed = {}; + let key; + let val; + let i; + + rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { + i = line.indexOf(':'); + key = line.substring(0, i).trim().toLowerCase(); + val = line.substring(i + 1).trim(); + + if (!key || (parsed[key] && ignoreDuplicateOf[key])) { + return; + } + + if (key === 'set-cookie') { + if (parsed[key]) { + parsed[key].push(val); + } else { + parsed[key] = [val]; + } + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + } + }); + + return parsed; +}); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/parseProtocol.js": +/*!*********************************************************!*\ + !*** ./node_modules/axios/lib/helpers/parseProtocol.js ***! + \*********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ parseProtocol) +/* harmony export */ }); + + +function parseProtocol(url) { + const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); + return match && match[1] || ''; +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/speedometer.js": +/*!*******************************************************!*\ + !*** ./node_modules/axios/lib/helpers/speedometer.js ***! + \*******************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); + + +/** + * Calculate data maxRate + * @param {Number} [samplesCount= 10] + * @param {Number} [min= 1000] + * @returns {Function} + */ +function speedometer(samplesCount, min) { + samplesCount = samplesCount || 10; + const bytes = new Array(samplesCount); + const timestamps = new Array(samplesCount); + let head = 0; + let tail = 0; + let firstSampleTS; + + min = min !== undefined ? min : 1000; + + return function push(chunkLength) { + const now = Date.now(); + + const startedAt = timestamps[tail]; + + if (!firstSampleTS) { + firstSampleTS = now; + } + + bytes[head] = chunkLength; + timestamps[head] = now; + + let i = tail; + let bytesCount = 0; + + while (i !== head) { + bytesCount += bytes[i++]; + i = i % samplesCount; + } + + head = (head + 1) % samplesCount; + + if (head === tail) { + tail = (tail + 1) % samplesCount; + } + + if (now - firstSampleTS < min) { + return; + } + + const passed = startedAt && now - startedAt; + + return passed ? Math.round(bytesCount * 1000 / passed) : undefined; + }; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (speedometer); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/spread.js": /*!**************************************************!*\ - !*** ./src/js/blocks/plugins/pattern-preview.js ***! + !*** ./node_modules/axios/lib/helpers/spread.js ***! \**************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ spread) +/* harmony export */ }); + + +/** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * var args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * + * @returns {Function} + */ +function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/toFormData.js": +/*!******************************************************!*\ + !*** ./node_modules/axios/lib/helpers/toFormData.js ***! + \******************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); +/* harmony import */ var _platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../platform/node/classes/FormData.js */ "./node_modules/axios/lib/helpers/null.js"); + + + + +// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored + + +/** + * Determines if the given thing is a array or js object. + * + * @param {string} thing - The object or array to be visited. + * + * @returns {boolean} + */ +function isVisitable(thing) { + return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isPlainObject(thing) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(thing); +} + +/** + * It removes the brackets from the end of a string + * + * @param {string} key - The key of the parameter. + * + * @returns {string} the key without the brackets. + */ +function removeBrackets(key) { + return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '[]') ? key.slice(0, -2) : key; +} + +/** + * It takes a path, a key, and a boolean, and returns a string + * + * @param {string} path - The path to the current key. + * @param {string} key - The key of the current object being iterated over. + * @param {string} dots - If true, the key will be rendered with dots instead of brackets. + * + * @returns {string} The path to the current key. + */ +function renderKey(path, key, dots) { + if (!path) return key; + return path.concat(key).map(function each(token, i) { + // eslint-disable-next-line no-param-reassign + token = removeBrackets(token); + return !dots && i ? '[' + token + ']' : token; + }).join(dots ? '.' : ''); +} + +/** + * If the array is an array and none of its elements are visitable, then it's a flat array. + * + * @param {Array} arr - The array to check + * + * @returns {boolean} + */ +function isFlatArray(arr) { + return _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(arr) && !arr.some(isVisitable); +} + +const predicates = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"], {}, null, function filter(prop) { + return /^is[A-Z]/.test(prop); +}); + +/** + * Convert a data object to FormData + * + * @param {Object} obj + * @param {?Object} [formData] + * @param {?Object} [options] + * @param {Function} [options.visitor] + * @param {Boolean} [options.metaTokens = true] + * @param {Boolean} [options.dots = false] + * @param {?Boolean} [options.indexes = false] + * + * @returns {Object} + **/ + +/** + * It converts an object into a FormData object + * + * @param {Object} obj - The object to convert to form data. + * @param {string} formData - The FormData object to append to. + * @param {Object} options + * + * @returns + */ +function toFormData(obj, formData, options) { + if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(obj)) { + throw new TypeError('target must be an object'); + } + + // eslint-disable-next-line no-param-reassign + formData = formData || new (_platform_node_classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__["default"] || FormData)(); + + // eslint-disable-next-line no-param-reassign + options = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toFlatObject(options, { + metaTokens: true, + dots: false, + indexes: false + }, false, function defined(option, source) { + // eslint-disable-next-line no-eq-null,eqeqeq + return !_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(source[option]); + }); + + const metaTokens = options.metaTokens; + // eslint-disable-next-line no-use-before-define + const visitor = options.visitor || defaultVisitor; + const dots = options.dots; + const indexes = options.indexes; + const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; + const useBlob = _Blob && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isSpecCompliantForm(formData); + + if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFunction(visitor)) { + throw new TypeError('visitor must be a function'); + } + + function convertValue(value) { + if (value === null) return ''; + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isDate(value)) { + return value.toISOString(); + } + + if (!useBlob && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBlob(value)) { + throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_2__["default"]('Blob is not supported. Use a Buffer instead.'); + } + + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBuffer(value) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isTypedArray(value)) { + return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); + } + + return value; + } + + /** + * Default visitor. + * + * @param {*} value + * @param {String|Number} key + * @param {Array} path + * @this {FormData} + * + * @returns {boolean} return true to visit the each prop of the value recursively + */ + function defaultVisitor(value, key, path) { + let arr = value; + + if (value && !path && typeof value === 'object') { + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '{}')) { + // eslint-disable-next-line no-param-reassign + key = metaTokens ? key : key.slice(0, -2); + // eslint-disable-next-line no-param-reassign + value = JSON.stringify(value); + } else if ( + (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArray(value) && isFlatArray(value)) || + ((_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFileList(value) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].endsWith(key, '[]')) && (arr = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].toArray(value)) + )) { + // eslint-disable-next-line no-param-reassign + key = removeBrackets(key); + + arr.forEach(function each(el, index) { + !(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(el) || el === null) && formData.append( + // eslint-disable-next-line no-nested-ternary + indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'), + convertValue(el) + ); + }); + return false; + } + } + + if (isVisitable(value)) { + return true; + } + + formData.append(renderKey(path, key, dots), convertValue(value)); + + return false; + } + + const stack = []; + + const exposedHelpers = Object.assign(predicates, { + defaultVisitor, + convertValue, + isVisitable + }); + + function build(value, path) { + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(value)) return; + + if (stack.indexOf(value) !== -1) { + throw Error('Circular reference detected in ' + path.join('.')); + } + + stack.push(value); + + _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].forEach(value, function each(el, key) { + const result = !(_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isUndefined(el) || el === null) && visitor.call( + formData, el, _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(key) ? key.trim() : key, path, exposedHelpers + ); + + if (result === true) { + build(el, path ? path.concat(key) : [key]); + } + }); + + stack.pop(); + } + + if (!_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(obj)) { + throw new TypeError('data must be an object'); + } + + build(obj); + + return formData; +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (toFormData); + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/toURLEncodedForm.js": +/*!************************************************************!*\ + !*** ./node_modules/axios/lib/helpers/toURLEncodedForm.js ***! + \************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ toURLEncodedForm) +/* harmony export */ }); +/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils.js */ "./node_modules/axios/lib/utils.js"); +/* harmony import */ var _toFormData_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toFormData.js */ "./node_modules/axios/lib/helpers/toFormData.js"); +/* harmony import */ var _platform_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../platform/index.js */ "./node_modules/axios/lib/platform/index.js"); + + + + + + +function toURLEncodedForm(data, options) { + return (0,_toFormData_js__WEBPACK_IMPORTED_MODULE_0__["default"])(data, new _platform_index_js__WEBPACK_IMPORTED_MODULE_1__["default"].classes.URLSearchParams(), Object.assign({ + visitor: function(value, key, path, helpers) { + if (_platform_index_js__WEBPACK_IMPORTED_MODULE_1__["default"].isNode && _utils_js__WEBPACK_IMPORTED_MODULE_2__["default"].isBuffer(value)) { + this.append(key, value.toString('base64')); + return false; + } + + return helpers.defaultVisitor.apply(this, arguments); + } + }, options)); +} + + +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/validator.js": +/*!*****************************************************!*\ + !*** ./node_modules/axios/lib/helpers/validator.js ***! + \*****************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _env_data_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../env/data.js */ "./node_modules/axios/lib/env/data.js"); +/* harmony import */ var _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/AxiosError.js */ "./node_modules/axios/lib/core/AxiosError.js"); + + + + + +const validators = {}; + +// eslint-disable-next-line func-names +['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { + validators[type] = function validator(thing) { + return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; + }; +}); + +const deprecatedWarnings = {}; + +/** + * Transitional option validator + * + * @param {function|boolean?} validator - set to false if the transitional option has been removed + * @param {string?} version - deprecated version / removed since version + * @param {string?} message - some message with additional info + * + * @returns {function} + */ +validators.transitional = function transitional(validator, version, message) { + function formatMessage(opt, desc) { + return '[Axios v' + _env_data_js__WEBPACK_IMPORTED_MODULE_0__.VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); + } + + // eslint-disable-next-line func-names + return (value, opt, opts) => { + if (validator === false) { + throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]( + formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), + _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_DEPRECATED + ); + } + + if (version && !deprecatedWarnings[opt]) { + deprecatedWarnings[opt] = true; + // eslint-disable-next-line no-console + console.warn( + formatMessage( + opt, + ' has been deprecated since v' + version + ' and will be removed in the near future' + ) + ); + } + + return validator ? validator(value, opt, opts) : true; + }; +}; + +/** + * Assert object's properties type + * + * @param {object} options + * @param {object} schema + * @param {boolean?} allowUnknown + * + * @returns {object} + */ + +function assertOptions(options, schema, allowUnknown) { + if (typeof options !== 'object') { + throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('options must be an object', _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION_VALUE); + } + const keys = Object.keys(options); + let i = keys.length; + while (i-- > 0) { + const opt = keys[i]; + const validator = schema[opt]; + if (validator) { + const value = options[opt]; + const result = value === undefined || validator(value, opt, options); + if (result !== true) { + throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('option ' + opt + ' must be ' + result, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION_VALUE); + } + continue; + } + if (allowUnknown !== true) { + throw new _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"]('Unknown option ' + opt, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_1__["default"].ERR_BAD_OPTION); + } + } +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + assertOptions, + validators +}); + + +/***/ }), + +/***/ "./node_modules/axios/lib/platform/browser/classes/Blob.js": +/*!*****************************************************************!*\ + !*** ./node_modules/axios/lib/platform/browser/classes/Blob.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof Blob !== 'undefined' ? Blob : null); + + +/***/ }), + +/***/ "./node_modules/axios/lib/platform/browser/classes/FormData.js": +/*!*********************************************************************!*\ + !*** ./node_modules/axios/lib/platform/browser/classes/FormData.js ***! + \*********************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof FormData !== 'undefined' ? FormData : null); + + +/***/ }), + +/***/ "./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js": +/*!****************************************************************************!*\ + !*** ./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js ***! + \****************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../helpers/AxiosURLSearchParams.js */ "./node_modules/axios/lib/helpers/AxiosURLSearchParams.js"); + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (typeof URLSearchParams !== 'undefined' ? URLSearchParams : _helpers_AxiosURLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__["default"]); + + +/***/ }), + +/***/ "./node_modules/axios/lib/platform/browser/index.js": +/*!**********************************************************!*\ + !*** ./node_modules/axios/lib/platform/browser/index.js ***! + \**********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _classes_URLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./classes/URLSearchParams.js */ "./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js"); +/* harmony import */ var _classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./classes/FormData.js */ "./node_modules/axios/lib/platform/browser/classes/FormData.js"); +/* harmony import */ var _classes_Blob_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./classes/Blob.js */ "./node_modules/axios/lib/platform/browser/classes/Blob.js"); + + + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + isBrowser: true, + classes: { + URLSearchParams: _classes_URLSearchParams_js__WEBPACK_IMPORTED_MODULE_0__["default"], + FormData: _classes_FormData_js__WEBPACK_IMPORTED_MODULE_1__["default"], + Blob: _classes_Blob_js__WEBPACK_IMPORTED_MODULE_2__["default"] + }, + protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] +}); + + +/***/ }), + +/***/ "./node_modules/axios/lib/platform/common/utils.js": +/*!*********************************************************!*\ + !*** ./node_modules/axios/lib/platform/common/utils.js ***! + \*********************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ hasBrowserEnv: () => (/* binding */ hasBrowserEnv), +/* harmony export */ hasStandardBrowserEnv: () => (/* binding */ hasStandardBrowserEnv), +/* harmony export */ hasStandardBrowserWebWorkerEnv: () => (/* binding */ hasStandardBrowserWebWorkerEnv) +/* harmony export */ }); +const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; + +/** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + * nativescript + * navigator.product -> 'NativeScript' or 'NS' + * + * @returns {boolean} + */ +const hasStandardBrowserEnv = ( + (product) => { + return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0 + })(typeof navigator !== 'undefined' && navigator.product); + +/** + * Determine if we're running in a standard browser webWorker environment + * + * Although the `isStandardBrowserEnv` method indicates that + * `allows axios to run in a web worker`, the WebWorker will still be + * filtered out due to its judgment standard + * `typeof window !== 'undefined' && typeof document !== 'undefined'`. + * This leads to a problem when axios post `FormData` in webWorker + */ +const hasStandardBrowserWebWorkerEnv = (() => { + return ( + typeof WorkerGlobalScope !== 'undefined' && + // eslint-disable-next-line no-undef + self instanceof WorkerGlobalScope && + typeof self.importScripts === 'function' + ); +})(); + + + + +/***/ }), + +/***/ "./node_modules/axios/lib/platform/index.js": +/*!**************************************************!*\ + !*** ./node_modules/axios/lib/platform/index.js ***! + \**************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _node_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node/index.js */ "./node_modules/axios/lib/platform/browser/index.js"); +/* harmony import */ var _common_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./common/utils.js */ "./node_modules/axios/lib/platform/common/utils.js"); + + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + ..._common_utils_js__WEBPACK_IMPORTED_MODULE_0__, + ..._node_index_js__WEBPACK_IMPORTED_MODULE_1__["default"] +}); + + +/***/ }), + +/***/ "./node_modules/axios/lib/utils.js": +/*!*****************************************!*\ + !*** ./node_modules/axios/lib/utils.js ***! + \*****************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +"use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"); -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _wordpress_plugins__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/plugins */ "@wordpress/plugins"); -/* harmony import */ var _wordpress_plugins__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_plugins__WEBPACK_IMPORTED_MODULE_2__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _helpers_bind_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers/bind.js */ "./node_modules/axios/lib/helpers/bind.js"); + +// utils is a library of generic helper functions non-specific to axios + +const {toString} = Object.prototype; +const {getPrototypeOf} = Object; + +const kindOf = (cache => thing => { + const str = toString.call(thing); + return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); +})(Object.create(null)); + +const kindOfTest = (type) => { + type = type.toLowerCase(); + return (thing) => kindOf(thing) === type +} + +const typeOfTest = type => thing => typeof thing === type; /** - * Render a Preview Button. + * Determine if a value is an Array * - * @return {Object} The rendered component. + * @param {Object} val The value to test + * + * @returns {boolean} True if value is an Array, otherwise false */ -var PatternPreviewButton = function PatternPreviewButton() { - (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { - var headerToolbar = document.querySelector('.edit-post-header'); - if (null === headerToolbar) { - return; +const {isArray} = Array; + +/** + * Determine if a value is undefined + * + * @param {*} val The value to test + * + * @returns {boolean} True if the value is undefined, otherwise false + */ +const isUndefined = typeOfTest('undefined'); + +/** + * Determine if a value is a Buffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Buffer, otherwise false + */ +function isBuffer(val) { + return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) + && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); +} + +/** + * Determine if a value is an ArrayBuffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is an ArrayBuffer, otherwise false + */ +const isArrayBuffer = kindOfTest('ArrayBuffer'); + + +/** + * Determine if a value is a view on an ArrayBuffer + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false + */ +function isArrayBufferView(val) { + let result; + if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { + result = ArrayBuffer.isView(val); + } else { + result = (val) && (val.buffer) && (isArrayBuffer(val.buffer)); + } + return result; +} + +/** + * Determine if a value is a String + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a String, otherwise false + */ +const isString = typeOfTest('string'); + +/** + * Determine if a value is a Function + * + * @param {*} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ +const isFunction = typeOfTest('function'); + +/** + * Determine if a value is a Number + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Number, otherwise false + */ +const isNumber = typeOfTest('number'); + +/** + * Determine if a value is an Object + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an Object, otherwise false + */ +const isObject = (thing) => thing !== null && typeof thing === 'object'; + +/** + * Determine if a value is a Boolean + * + * @param {*} thing The value to test + * @returns {boolean} True if value is a Boolean, otherwise false + */ +const isBoolean = thing => thing === true || thing === false; + +/** + * Determine if a value is a plain Object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a plain Object, otherwise false + */ +const isPlainObject = (val) => { + if (kindOf(val) !== 'object') { + return false; + } + + const prototype = getPrototypeOf(val); + return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); +} + +/** + * Determine if a value is a Date + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Date, otherwise false + */ +const isDate = kindOfTest('Date'); + +/** + * Determine if a value is a File + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ +const isFile = kindOfTest('File'); + +/** + * Determine if a value is a Blob + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Blob, otherwise false + */ +const isBlob = kindOfTest('Blob'); + +/** + * Determine if a value is a FileList + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a File, otherwise false + */ +const isFileList = kindOfTest('FileList'); + +/** + * Determine if a value is a Stream + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a Stream, otherwise false + */ +const isStream = (val) => isObject(val) && isFunction(val.pipe); + +/** + * Determine if a value is a FormData + * + * @param {*} thing The value to test + * + * @returns {boolean} True if value is an FormData, otherwise false + */ +const isFormData = (thing) => { + let kind; + return thing && ( + (typeof FormData === 'function' && thing instanceof FormData) || ( + isFunction(thing.append) && ( + (kind = kindOf(thing)) === 'formdata' || + // detect form-data instance + (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]') + ) + ) + ) +} + +/** + * Determine if a value is a URLSearchParams object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ +const isURLSearchParams = kindOfTest('URLSearchParams'); + +/** + * Trim excess whitespace off the beginning and end of a string + * + * @param {String} str The String to trim + * + * @returns {String} The String freed of excess whitespace + */ +const trim = (str) => str.trim ? + str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); + +/** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + * + * @param {Boolean} [allOwnKeys = false] + * @returns {any} + */ +function forEach(obj, fn, {allOwnKeys = false} = {}) { + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return; + } + + let i; + let l; + + // Force an array if not already something iterable + if (typeof obj !== 'object') { + /*eslint no-param-reassign:0*/ + obj = [obj]; + } + + if (isArray(obj)) { + // Iterate over array values + for (i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); } + } else { + // Iterate over object keys + const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); + const len = keys.length; + let key; - // Get the left toolbar and add to it. - var settingsToolbar = headerToolbar.querySelector('.edit-post-header__settings'); - if (null === settingsToolbar) { - return; + for (i = 0; i < len; i++) { + key = keys[i]; + fn.call(null, obj[key], key, obj); } + } +} - // Create the button. - var button = document.createElement('a'); - button.className = 'dlx-button-preview components-button has-icon'; - button.ariaLabel = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Preview', 'dlx-pattern-wrangler'); - button.href = dlxPatternWranglerPreview.previewUrl; - button.target = '_blank'; - button.rel = 'noopener noreferrer'; - - // Add icon. - var icon = document.createElement('svg'); - icon.className = 'dlx-pattern-wrangler-preview-icon'; - icon.innerHTML = ''; - button.prepend(icon); - // Add the button to the toolbar as the first child. - settingsToolbar.prepend(button); - }, []); - return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("svg", { - height: "0", - width: "0", - xmlns: "http://www.w3.org/2000/svg", - style: { - display: 'none' - }, - "aria-hidden": "true" - }, /*#__PURE__*/React.createElement("symbol", { - id: "dlx-pattern-wrangler-preview-icon", - width: "16", - height: "16", - viewBox: "0 0 512 512" - }, /*#__PURE__*/React.createElement("path", { - fill: "currentColor", - d: "M304 24c0 13.3 10.7 24 24 24h102.1L207 271c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l223-223V184c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H328c-13.3 0-24 10.7-24 24zM72 32C32.2 32 0 64.2 0 104v336c0 39.8 32.2 72 72 72h336c39.8 0 72-32.2 72-72V312c0-13.3-10.7-24-24-24s-24 10.7-24 24v128c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V104c0-13.3 10.7-24 24-24h128c13.3 0 24-10.7 24-24s-10.7-24-24-24H72z" - })))); +function findKey(obj, key) { + key = key.toLowerCase(); + const keys = Object.keys(obj); + let i = keys.length; + let _key; + while (i-- > 0) { + _key = keys[i]; + if (key === _key.toLowerCase()) { + return _key; + } + } + return null; +} + +const _global = (() => { + /*eslint no-undef:0*/ + if (typeof globalThis !== "undefined") return globalThis; + return typeof self !== "undefined" ? self : (typeof window !== 'undefined' ? window : global) +})(); + +const isContextDefined = (context) => !isUndefined(context) && context !== _global; + +/** + * Accepts varargs expecting each argument to be an object, then + * immutably merges the properties of each object and returns result. + * + * When multiple objects contain the same key the later object in + * the arguments list will take precedence. + * + * Example: + * + * ```js + * var result = merge({foo: 123}, {foo: 456}); + * console.log(result.foo); // outputs 456 + * ``` + * + * @param {Object} obj1 Object to merge + * + * @returns {Object} Result of all merge properties + */ +function merge(/* obj1, obj2, obj3, ... */) { + const {caseless} = isContextDefined(this) && this || {}; + const result = {}; + const assignValue = (val, key) => { + const targetKey = caseless && findKey(result, key) || key; + if (isPlainObject(result[targetKey]) && isPlainObject(val)) { + result[targetKey] = merge(result[targetKey], val); + } else if (isPlainObject(val)) { + result[targetKey] = merge({}, val); + } else if (isArray(val)) { + result[targetKey] = val.slice(); + } else { + result[targetKey] = val; + } + } + + for (let i = 0, l = arguments.length; i < l; i++) { + arguments[i] && forEach(arguments[i], assignValue); + } + return result; +} + +/** + * Extends object a by mutably adding to it the properties of object b. + * + * @param {Object} a The object to be extended + * @param {Object} b The object to copy properties from + * @param {Object} thisArg The object to bind function to + * + * @param {Boolean} [allOwnKeys] + * @returns {Object} The resulting value of object a + */ +const extend = (a, b, thisArg, {allOwnKeys}= {}) => { + forEach(b, (val, key) => { + if (thisArg && isFunction(val)) { + a[key] = (0,_helpers_bind_js__WEBPACK_IMPORTED_MODULE_0__["default"])(val, thisArg); + } else { + a[key] = val; + } + }, {allOwnKeys}); + return a; +} + +/** + * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) + * + * @param {string} content with BOM + * + * @returns {string} content value without BOM + */ +const stripBOM = (content) => { + if (content.charCodeAt(0) === 0xFEFF) { + content = content.slice(1); + } + return content; +} + +/** + * Inherit the prototype methods from one constructor into another + * @param {function} constructor + * @param {function} superConstructor + * @param {object} [props] + * @param {object} [descriptors] + * + * @returns {void} + */ +const inherits = (constructor, superConstructor, props, descriptors) => { + constructor.prototype = Object.create(superConstructor.prototype, descriptors); + constructor.prototype.constructor = constructor; + Object.defineProperty(constructor, 'super', { + value: superConstructor.prototype + }); + props && Object.assign(constructor.prototype, props); +} + +/** + * Resolve object with deep prototype chain to a flat object + * @param {Object} sourceObj source object + * @param {Object} [destObj] + * @param {Function|Boolean} [filter] + * @param {Function} [propFilter] + * + * @returns {Object} + */ +const toFlatObject = (sourceObj, destObj, filter, propFilter) => { + let props; + let i; + let prop; + const merged = {}; + + destObj = destObj || {}; + // eslint-disable-next-line no-eq-null,eqeqeq + if (sourceObj == null) return destObj; + + do { + props = Object.getOwnPropertyNames(sourceObj); + i = props.length; + while (i-- > 0) { + prop = props[i]; + if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { + destObj[prop] = sourceObj[prop]; + merged[prop] = true; + } + } + sourceObj = filter !== false && getPrototypeOf(sourceObj); + } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); + + return destObj; +} + +/** + * Determines whether a string ends with the characters of a specified string + * + * @param {String} str + * @param {String} searchString + * @param {Number} [position= 0] + * + * @returns {boolean} + */ +const endsWith = (str, searchString, position) => { + str = String(str); + if (position === undefined || position > str.length) { + position = str.length; + } + position -= searchString.length; + const lastIndex = str.indexOf(searchString, position); + return lastIndex !== -1 && lastIndex === position; +} + + +/** + * Returns new array from array like object or null if failed + * + * @param {*} [thing] + * + * @returns {?Array} + */ +const toArray = (thing) => { + if (!thing) return null; + if (isArray(thing)) return thing; + let i = thing.length; + if (!isNumber(i)) return null; + const arr = new Array(i); + while (i-- > 0) { + arr[i] = thing[i]; + } + return arr; +} + +/** + * Checking if the Uint8Array exists and if it does, it returns a function that checks if the + * thing passed in is an instance of Uint8Array + * + * @param {TypedArray} + * + * @returns {Array} + */ +// eslint-disable-next-line func-names +const isTypedArray = (TypedArray => { + // eslint-disable-next-line func-names + return thing => { + return TypedArray && thing instanceof TypedArray; + }; +})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); + +/** + * For each entry in the object, call the function with the key and value. + * + * @param {Object} obj - The object to iterate over. + * @param {Function} fn - The function to call for each entry. + * + * @returns {void} + */ +const forEachEntry = (obj, fn) => { + const generator = obj && obj[Symbol.iterator]; + + const iterator = generator.call(obj); + + let result; + + while ((result = iterator.next()) && !result.done) { + const pair = result.value; + fn.call(obj, pair[0], pair[1]); + } +} + +/** + * It takes a regular expression and a string, and returns an array of all the matches + * + * @param {string} regExp - The regular expression to match against. + * @param {string} str - The string to search. + * + * @returns {Array} + */ +const matchAll = (regExp, str) => { + let matches; + const arr = []; + + while ((matches = regExp.exec(str)) !== null) { + arr.push(matches); + } + + return arr; +} + +/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ +const isHTMLForm = kindOfTest('HTMLFormElement'); + +const toCamelCase = str => { + return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, + function replacer(m, p1, p2) { + return p1.toUpperCase() + p2; + } + ); }; -(0,_wordpress_plugins__WEBPACK_IMPORTED_MODULE_2__.registerPlugin)('dlx-pattern-wrangler-preview-button', { - render: PatternPreviewButton -}); -/***/ }), +/* Creating a function that will check if an object has a property. */ +const hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype); -/***/ "react": -/*!************************!*\ - !*** external "React" ***! - \************************/ -/***/ ((module) => { +/** + * Determine if a value is a RegExp object + * + * @param {*} val The value to test + * + * @returns {boolean} True if value is a RegExp object, otherwise false + */ +const isRegExp = kindOfTest('RegExp'); -module.exports = window["React"]; +const reduceDescriptors = (obj, reducer) => { + const descriptors = Object.getOwnPropertyDescriptors(obj); + const reducedDescriptors = {}; -/***/ }), + forEach(descriptors, (descriptor, name) => { + let ret; + if ((ret = reducer(descriptor, name, obj)) !== false) { + reducedDescriptors[name] = ret || descriptor; + } + }); -/***/ "@wordpress/i18n": -/*!******************************!*\ - !*** external ["wp","i18n"] ***! - \******************************/ -/***/ ((module) => { + Object.defineProperties(obj, reducedDescriptors); +} + +/** + * Makes all methods read-only + * @param {Object} obj + */ + +const freezeMethods = (obj) => { + reduceDescriptors(obj, (descriptor, name) => { + // skip restricted props in strict mode + if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { + return false; + } + + const value = obj[name]; + + if (!isFunction(value)) return; + + descriptor.enumerable = false; + + if ('writable' in descriptor) { + descriptor.writable = false; + return; + } + + if (!descriptor.set) { + descriptor.set = () => { + throw Error('Can not rewrite read-only method \'' + name + '\''); + }; + } + }); +} + +const toObjectSet = (arrayOrString, delimiter) => { + const obj = {}; + + const define = (arr) => { + arr.forEach(value => { + obj[value] = true; + }); + } + + isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); + + return obj; +} + +const noop = () => {} + +const toFiniteNumber = (value, defaultValue) => { + value = +value; + return Number.isFinite(value) ? value : defaultValue; +} + +const ALPHA = 'abcdefghijklmnopqrstuvwxyz' + +const DIGIT = '0123456789'; + +const ALPHABET = { + DIGIT, + ALPHA, + ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT +} + +const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { + let str = ''; + const {length} = alphabet; + while (size--) { + str += alphabet[Math.random() * length|0] + } + + return str; +} + +/** + * If the thing is a FormData object, return true, otherwise return false. + * + * @param {unknown} thing - The thing to check. + * + * @returns {boolean} + */ +function isSpecCompliantForm(thing) { + return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]); +} + +const toJSONObject = (obj) => { + const stack = new Array(10); + + const visit = (source, i) => { + + if (isObject(source)) { + if (stack.indexOf(source) >= 0) { + return; + } + + if(!('toJSON' in source)) { + stack[i] = source; + const target = isArray(source) ? [] : {}; + + forEach(source, (value, key) => { + const reducedValue = visit(value, i + 1); + !isUndefined(reducedValue) && (target[key] = reducedValue); + }); + + stack[i] = undefined; + + return target; + } + } + + return source; + } + + return visit(obj, 0); +} + +const isAsyncFn = kindOfTest('AsyncFunction'); + +const isThenable = (thing) => + thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ + isArray, + isArrayBuffer, + isBuffer, + isFormData, + isArrayBufferView, + isString, + isNumber, + isBoolean, + isObject, + isPlainObject, + isUndefined, + isDate, + isFile, + isBlob, + isRegExp, + isFunction, + isStream, + isURLSearchParams, + isTypedArray, + isFileList, + forEach, + merge, + extend, + trim, + stripBOM, + inherits, + toFlatObject, + kindOf, + kindOfTest, + endsWith, + toArray, + forEachEntry, + matchAll, + isHTMLForm, + hasOwnProperty, + hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection + reduceDescriptors, + freezeMethods, + toObjectSet, + toCamelCase, + noop, + toFiniteNumber, + findKey, + global: _global, + isContextDefined, + ALPHABET, + generateString, + isSpecCompliantForm, + toJSONObject, + isAsyncFn, + isThenable +}); -module.exports = window["wp"]["i18n"]; /***/ }), -/***/ "@wordpress/plugins": -/*!*********************************!*\ - !*** external ["wp","plugins"] ***! - \*********************************/ +/***/ "./src/js/blocks/pattern-importer/block.json": +/*!***************************************************!*\ + !*** ./src/js/blocks/pattern-importer/block.json ***! + \***************************************************/ /***/ ((module) => { -module.exports = window["wp"]["plugins"]; +"use strict"; +module.exports = JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","title":"Pattern Inserter","apiVersion":3,"name":"dlxplugins/dlx-pw-pattern-inserter","category":"design","icon":"","description":"Paste in a pattern and it will be inserted for you.","keywords":["remote","pattern","inserter"],"version":"1.0.0","textdomain":"dlx-pattern-wrangler","attributes":{"preview":{"type":"boolean","default":false}},"example":{"attributes":{"preview":true}},"editorScript":"dlx-pw-pattern-inserter-block"}'); /***/ }) @@ -158,6 +7364,18 @@ module.exports = window["wp"]["plugins"]; /******/ }; /******/ })(); /******/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) @@ -176,13 +7394,14 @@ module.exports = window["wp"]["plugins"]; /******/ /************************************************************************/ var __webpack_exports__ = {}; -// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +// This entry need to be wrapped in an IIFE because it need to be in strict mode. (() => { +"use strict"; /*!**********************!*\ !*** ./src/index.js ***! \**********************/ __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _js_blocks_plugins_pattern_preview__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./js/blocks/plugins/pattern-preview */ "./src/js/blocks/plugins/pattern-preview.js"); +/* harmony import */ var _js_blocks_pattern_importer_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./js/blocks/pattern-importer/index */ "./src/js/blocks/pattern-importer/index.js"); })(); diff --git a/build/index.js.map b/build/index.js.map deleted file mode 100644 index 5270ab7..0000000 --- a/build/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","mappings":"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","sources":["webpack://pattern-wrangler/./node_modules/call-bind/callBound.js","webpack://pattern-wrangler/./node_modules/call-bind/index.js","webpack://pattern-wrangler/./node_modules/define-data-property/index.js","webpack://pattern-wrangler/./node_modules/function-bind/implementation.js","webpack://pattern-wrangler/./node_modules/function-bind/index.js","webpack://pattern-wrangler/./node_modules/get-intrinsic/index.js","webpack://pattern-wrangler/./node_modules/gopd/index.js","webpack://pattern-wrangler/./node_modules/has-property-descriptors/index.js","webpack://pattern-wrangler/./node_modules/has-proto/index.js","webpack://pattern-wrangler/./node_modules/has-symbols/index.js","webpack://pattern-wrangler/./node_modules/has-symbols/shams.js","webpack://pattern-wrangler/./node_modules/hasown/index.js","webpack://pattern-wrangler/./node_modules/lodash.uniqueid/index.js","webpack://pattern-wrangler/./node_modules/object-inspect/index.js","webpack://pattern-wrangler/./node_modules/qs/lib/formats.js","webpack://pattern-wrangler/./node_modules/qs/lib/index.js","webpack://pattern-wrangler/./node_modules/qs/lib/parse.js","webpack://pattern-wrangler/./node_modules/qs/lib/stringify.js","webpack://pattern-wrangler/./node_modules/qs/lib/utils.js","webpack://pattern-wrangler/./node_modules/set-function-length/index.js","webpack://pattern-wrangler/./node_modules/side-channel/index.js","webpack://pattern-wrangler/./node_modules/classnames/index.js","webpack://pattern-wrangler/webpack/bootstrap","webpack://pattern-wrangler/webpack/runtime/compat get default export","webpack://pattern-wrangler/webpack/runtime/define property getters","webpack://pattern-wrangler/webpack/runtime/global","webpack://pattern-wrangler/webpack/runtime/hasOwnProperty shorthand","webpack://pattern-wrangler/webpack/runtime/make namespace object","webpack://pattern-wrangler/external window \"React\"","webpack://pattern-wrangler/external window [\"wp\",\"blocks\"]","webpack://pattern-wrangler/external window [\"wp\",\"hooks\"]","webpack://pattern-wrangler/external window [\"wp\",\"editPost\"]","webpack://pattern-wrangler/external window [\"wp\",\"data\"]","webpack://pattern-wrangler/external window [\"wp\",\"plugins\"]","webpack://pattern-wrangler/external window [\"wp\",\"i18n\"]","webpack://pattern-wrangler/external window [\"wp\",\"components\"]","webpack://pattern-wrangler/external window [\"wp\",\"blockEditor\"]","webpack://pattern-wrangler/./node_modules/axios/lib/helpers/bind.js","webpack://pattern-wrangler/external window [\"wp\",\"compose\"]","webpack://pattern-wrangler/./node_modules/axios/lib/utils.js","webpack://pattern-wrangler/./node_modules/axios/lib/core/AxiosError.js","webpack://pattern-wrangler/./node_modules/axios/lib/helpers/toFormData.js","webpack://pattern-wrangler/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://pattern-wrangler/./node_modules/axios/lib/helpers/buildURL.js","webpack://pattern-wrangler/./node_modules/axios/lib/core/InterceptorManager.js","webpack://pattern-wrangler/./node_modules/axios/lib/defaults/transitional.js","webpack://pattern-wrangler/./node_modules/axios/lib/platform/browser/index.js","webpack://pattern-wrangler/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://pattern-wrangler/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://pattern-wrangler/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://pattern-wrangler/./node_modules/axios/lib/platform/common/utils.js","webpack://pattern-wrangler/./node_modules/axios/lib/platform/index.js","webpack://pattern-wrangler/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://pattern-wrangler/./node_modules/axios/lib/defaults/index.js","webpack://pattern-wrangler/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://pattern-wrangler/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://pattern-wrangler/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://pattern-wrangler/./node_modules/axios/lib/core/transformData.js","webpack://pattern-wrangler/./node_modules/axios/lib/cancel/isCancel.js","webpack://pattern-wrangler/./node_modules/axios/lib/cancel/CanceledError.js","webpack://pattern-wrangler/./node_modules/axios/lib/helpers/cookies.js","webpack://pattern-wrangler/./node_modules/axios/lib/core/buildFullPath.js","webpack://pattern-wrangler/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://pattern-wrangler/./node_modules/axios/lib/helpers/combineURLs.js","webpack://pattern-wrangler/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://pattern-wrangler/./node_modules/axios/lib/adapters/xhr.js","webpack://pattern-wrangler/./node_modules/axios/lib/helpers/speedometer.js","webpack://pattern-wrangler/./node_modules/axios/lib/adapters/adapters.js","webpack://pattern-wrangler/./node_modules/axios/lib/helpers/null.js","webpack://pattern-wrangler/./node_modules/axios/lib/core/settle.js","webpack://pattern-wrangler/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://pattern-wrangler/./node_modules/axios/lib/core/dispatchRequest.js","webpack://pattern-wrangler/./node_modules/axios/lib/core/mergeConfig.js","webpack://pattern-wrangler/./node_modules/axios/lib/env/data.js","webpack://pattern-wrangler/./node_modules/axios/lib/helpers/validator.js","webpack://pattern-wrangler/./node_modules/axios/lib/core/Axios.js","webpack://pattern-wrangler/./node_modules/axios/lib/cancel/CancelToken.js","webpack://pattern-wrangler/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://pattern-wrangler/./node_modules/axios/lib/axios.js","webpack://pattern-wrangler/./node_modules/axios/lib/helpers/spread.js","webpack://pattern-wrangler/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://pattern-wrangler/./src/js/blocks/utils/SendCommand.js","webpack://pattern-wrangler/./src/js/blocks/pattern-importer/block.js","webpack://pattern-wrangler/./src/js/blocks/pattern-importer/index.js","webpack://pattern-wrangler/external window [\"wp\",\"commands\"]","webpack://pattern-wrangler/external window [\"wp\",\"primitives\"]","webpack://pattern-wrangler/./node_modules/@wordpress/icons/build-module/library/settings.js","webpack://pattern-wrangler/./src/js/blocks/commands/index.js","webpack://pattern-wrangler/./src/js/blocks/components/icons/ContainerLogo.js","webpack://pattern-wrangler/./src/js/blocks/components/icons/ReplaceIcon.js","webpack://pattern-wrangler/./src/index.js"],"sourcesContent":["'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar hasPropertyDescriptors = require('has-property-descriptors')();\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = hasPropertyDescriptors && GetIntrinsic('%Object.defineProperty%', true);\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nvar $SyntaxError = GetIntrinsic('%SyntaxError%');\nvar $TypeError = GetIntrinsic('%TypeError%');\n\nvar gopd = require('gopd');\n\n/** @type {(obj: Record, property: PropertyKey, value: unknown, nonEnumerable?: boolean | null, nonWritable?: boolean | null, nonConfigurable?: boolean | null, loose?: boolean) => void} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar test = {\n\tfoo: {}\n};\n\nvar $Object = Object;\n\nmodule.exports = function hasProto() {\n\treturn { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {(o: {}, p: PropertyKey) => p is keyof o} */\nmodule.exports = bind.call(call, $hasOwn);\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to generate unique IDs. */\nvar idCounter = 0;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Generates a unique ID. If `prefix` is given, the ID is appended to it.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {string} [prefix=''] The value to prefix the ID with.\n * @returns {string} Returns the unique ID.\n * @example\n *\n * _.uniqueId('contact_');\n * // => 'contact_104'\n *\n * _.uniqueId();\n * // => '105'\n */\nfunction uniqueId(prefix) {\n var id = ++idCounter;\n return toString(prefix) + id;\n}\n\nmodule.exports = uniqueId;\n","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other\n /* eslint-env browser */\n if (typeof window !== 'undefined' && obj === window) {\n return '{ [object Window] }';\n }\n if (obj === global) {\n return '{ [object globalThis] }';\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = { __proto__: null };\n\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (has.call(obj, key)) {\n obj[key] = utils.combine(obj[key], val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (!options.parseArrays && cleanRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (cleanRoot !== '__proto__') {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n return {\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n if (encodeValuesOnly && encoder) {\n obj = utils.maybeMap(obj, encoder);\n }\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n commaRoundTrip,\n strictNullHandling,\n skipNulls,\n generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if (opts && 'indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip;\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n commaRoundTrip,\n options.strictNullHandling,\n options.skipNulls,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('✓'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n /* eslint operator-linebreak: [2, \"before\"] */\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @typedef {(...args: unknown[]) => unknown} Func */\n\n/** @type {(fn: T, length: number, loose?: boolean) => T} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n * This function traverses the list returning the node corresponding to the\n * given key.\n *\n * That node is also moved to the head of the list, so that if it's accessed\n * again we don't need to traverse the whole list. By doing so, all the recently\n * used nodes can be accessed relatively quickly.\n */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\tfor (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tcurr.next = list.next;\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = { // eslint-disable-line no-param-reassign\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t};\n\t}\n};\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\nmodule.exports = function getSideChannel() {\n\tvar $wm;\n\tvar $m;\n\tvar $o;\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Initialize the linked list as an empty node, so that we don't have\n\t\t\t\t\t * to special-case handling of the first node: we can always refer to\n\t\t\t\t\t * it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t */\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"React\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"blocks\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"hooks\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"editPost\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"data\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"plugins\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"i18n\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"components\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"blockEditor\"];","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"compose\"];","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n let {responseType, withXSRFToken} = config;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if ((contentType = requestHeaders.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if(platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(fullPath))) {\n // Add xsrf header\n const xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.7\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","/* eslint-disable no-undef */\n/* eslint-disable camelcase */\nimport axios from 'axios';\nimport qs from 'qs';\n\n/**\n * Send a REST request via JS.\n *\n * @param {string} nonce The REST nonce.\n * @param {Object} data The REST data to pass.\n * @param {string} restEndPoint The REST endpoint to use.\n * @param {string} method The REST method to use. Defaults to 'post'.\n * @return {Promise} The REST request promise.\n */\nexport default function SendCommand( nonce, data, restEndPoint, method = 'post' ) {\n\tif ( 'undefined' === typeof data ) {\n\t\tdata = {};\n\t}\n\n\tconst options = {\n\t\tmethod,\n\t\turl: restEndPoint,\n\t\tparams: data,\n\t\theaders: {\n\t\t\t'X-WP-Nonce': nonce,\n\t\t},\n\t\tdata,\n\t};\n\n\treturn axios( options );\n}\n","/* eslint-disable no-undef */\n/* eslint-disable no-unused-vars */\n/* eslint-disable camelcase */\n/**\n * External dependencies\n */\n\nimport classnames from 'classnames';\nimport { useState } from 'react';\nimport { __ } from '@wordpress/i18n';\nimport uniqueId from 'lodash.uniqueid';\nimport {\n\tPanelBody,\n\tPanelRow,\n\tToggleControl,\n\tTextControl,\n\tButton,\n\tButtonGroup,\n\tRangeControl,\n\tBaseControl,\n\tTextareaControl,\n\tCard,\n\tCardHeader,\n\tCardFooter,\n\tCardBody,\n\tSpinner,\n} from '@wordpress/components';\n\nimport { parse } from '@wordpress/blocks';\nimport { useDispatch } from '@wordpress/data';\n\nimport {\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tinsertBlocks,\n\tstore,\n} from '@wordpress/block-editor';\n\nimport { useInstanceId } from '@wordpress/compose';\nimport SendCommand from '../utils/SendCommand';\n\n// Image RegEx.\nconst imageRegEx = /(]+src=\")([^\">]+)(\"[^>]+>)/gi;\nconst backgroundImageRegEx = /url\\([\"']?(.+?\\.(jpg|jpeg|png|gif|webp))[\"']?\\)/gi;\nconst uniqueIdRegex = /\\\"uniqueId\\\"\\:\\\"([^\"]+)\\\"/gi;\n\n// Unique ID storing.\nconst uniqueIds = [];\n\n// For storing the number of images imported.\nlet imageCount = 0;\n\nconst escapeRegExp = ( content ) => {\n\treturn content.replace(/[.*+\\-?^${}()|[\\]\\\\]/g, '\\\\$&'); // $& means the whole matched string\n}\n\nconst PatternImporter = ( props ) => {\n\t// Shortcuts.\n\tconst { attributes, setAttributes, clientId } = props;\n\n\tconst [ patternText, setPatternText ] = useState( '' );\n\tconst [ patternImages, setPatternImages ] = useState( [] );\n\tconst [ patternBackgroundImages, setPatternBackgroundImages ] = useState( [] );\n\tconst [ importing, setImporting ] = useState( false );\n\tconst [ imageProcessingCount, setImageProcessingCount ] = useState( 0 );\n\n\tconst { replaceBlock } = useDispatch( store );\n\n\tconst onPatternSubmit = async() => {\n\t\tsetImporting( true );\n\t\tconst processImage = async( imgUrl, imgAlt ) => {\n\t\t\tconst response = await SendCommand(\n\t\t\t\tgbHacksPatternInserter.restNonce,\n\t\t\t\t{\n\t\t\t\t\timgUrl,\n\t\t\t\t\timgAlt,\n\t\t\t\t},\n\t\t\t\tgbHacksPatternInserter.restUrl + '/process_image'\n\t\t\t);\n\t\t\treturn response;\n\t\t};\n\n\t\tconst matches = [ ...patternText.matchAll( imageRegEx ) ];\n\t\tconst imagesToProcess = [];\n\n\t\t// If there are matches, we need to process them.\n\t\tif ( matches.length ) {\n\t\t\tsetPatternImages( matches );\n\t\t\tmatches.forEach( ( match ) => {\n\t\t\t\timagesToProcess.push( match[ 2 ] );\n\t\t\t} );\n\t\t}\n\n\t\t// Check for background images.\n\t\tconst bgMatches = [ ...patternText.matchAll( backgroundImageRegEx ) ];\n\n\t\t// If there are bg matches, we need to process them.\n\t\tif ( bgMatches.length ) {\n\t\t\tsetPatternBackgroundImages( bgMatches );\n\n\t\t\tbgMatches.forEach( ( match ) => {\n\t\t\t\timagesToProcess.push( match[ 1 ] );\n\t\t\t} );\n\t\t}\n\n\t\tconst imagesProcessed = [];\n\t\tlet imagePromises = [];\n\t\tlet localPatternText = patternText;\n\n\t\t// Let's loop through images and process.\n\t\tif ( imagesToProcess.length ) {\n\t\t\timagePromises = imagesToProcess.map( ( image ) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst response = processImage( image, '' );\n\t\t\t\t\tresponse.then( ( restResponse ) => {\n\t\t\t\t\t\timagesProcessed.push( image );\n\t\t\t\t\t\tconst { data, success } = restResponse.data;\n\t\t\t\t\t\tif ( success ) {\n\t\t\t\t\t\t\timageCount++;\n\t\t\t\t\t\t\tsetImageProcessingCount( imageCount );\n\n\t\t\t\t\t\t\t// Get the image URL and replace in pattern.\n\t\t\t\t\t\t\tconst newImageUrl = data.attachmentUrl;\n\n\t\t\t\t\t\t\t// Replace old URL with new URL.\n\t\t\t\t\t\t\tlocalPatternText = localPatternText.replace( image, newImageUrl );\n\t\t\t\t\t\t\tsetPatternText( localPatternText );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Fail silently.\n\t\t\t\t\t\t\timageCount++;\n\t\t\t\t\t\t\tsetImageProcessingCount( imageCount );\n\t\t\t\t\t\t}\n\t\t\t\t\t} ).catch( ( error ) => {\n\t\t\t\t\t\t// Fail silently.\n\t\t\t\t\t\timageCount++;\n\t\t\t\t\t\tsetImageProcessingCount( imageCount );\n\t\t\t\t\t} );\n\t\t\t\t\treturn response;\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\t// Fail silently.\n\t\t\t\t\timageCount++;\n\t\t\t\t\tsetImageProcessingCount( imageCount );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tPromise.all( imagePromises ).then( () => {\n\t\t\tconst gbUniqueIdMatches = [ ...localPatternText.matchAll( uniqueIdRegex ) ];\n\n\t\t\t// If there are matches, we need to process them.\n\t\t\tif ( gbUniqueIdMatches.length ) {\n\t\t\t\t// Loop through matches, generate unique ID, and replace.\n\t\t\t\tgbUniqueIdMatches.forEach( ( match ) => {\n\t\t\t\t\tconst newUniqueId = generateUniqueId();\n\t\t\t\t\tuniqueIds.push( newUniqueId );\n\t\t\t\t\tpatternText.replace( match[ 1 ], `\"uniqueId\":\"${ newUniqueId }\"` );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Convert pattern to blocks.\n\t\t\ttry {\n\t\t\t\tconst patternBlocks = parse( localPatternText );\n\n\t\t\t\treplaceBlock( clientId, patternBlocks );\n\n\t\t\t\t// Insert block in place of this one.\n\t\t\t\t//replaceInnerBlocks( clientId, patternBlocks );\n\t\t\t} catch ( error ) {\n\t\t\t}\n\t\t} ).catch( ( error ) => {\n\t\t\tconst gbUniqueIdMatches = [ ...localPatternText.matchAll( uniqueIdRegex ) ];\n\n\t\t\t// If there are matches, we need to process them.\n\t\t\tif ( gbUniqueIdMatches.length ) {\n\t\t\t\t// Loop through matches, generate unique ID, and replace.\n\t\t\t\tgbUniqueIdMatches.forEach( ( match ) => {\n\t\t\t\t\tconst newUniqueId = generateUniqueId();\n\t\t\t\t\tuniqueIds.push( newUniqueId );\n\t\t\t\t\tpatternText.replace( match[ 1 ], `\"uniqueId\":\"${ newUniqueId }\"` );\n\t\t\t\t} );\n\t\t\t}\n\t\t\t// Convert pattern to blocks.\n\t\t\ttry {\n\t\t\t\tconst patternBlocks = parse( localPatternText );\n\n\t\t\t\treplaceBlock( clientId, patternBlocks );\n\n\t\t\t\t// Insert block in place of this one.\n\t\t\t\t//replaceInnerBlocks( clientId, patternBlocks );\n\t\t\t} catch ( error ) {\n\t\t\t}\n\t\t} );\n\t};\n\n\t/**\n\t * Return and generate a new unique ID.\n\t *\n\t * @return {string} The uniqueId.\n\t */\n\tconst generateUniqueId = () => {\n\t\t// Get the substr of current client ID for prefix.\n\t\tconst prefix = clientId.substring( 2, 9 ).replace( '-', '' );\n\t\tconst newUniqueId = uniqueId( prefix );\n\n\t\t// Make sure it isn't in the array already. Recursive much?\n\t\tif ( uniqueIds.includes( newUniqueId ) ) {\n\t\t\treturn generateUniqueId();\n\t\t}\n\t\treturn newUniqueId;\n\t};\n\n\tconst block = (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{ __( 'Pattern Importer', 'alerts-dlx' ) }\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t setPatternText( value ) }\n\t\t\t\t\t\tdisabled={ importing }\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{ __( 'Import', 'alerts-dlx' ) }\n\t\t\t\t\t\n\t\t\t\t\t{ importing && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t`Processing ${ imageCount } of ${ patternImages.length } images.`\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n\n\tconst blockProps = useBlockProps( { className: 'dlx-pattern-inserter-wrapper' } );\n\n\treturn (\n\t\t<>\n\t\t\t
{ block }
\n\t\t\n\t);\n};\n\nexport default PatternImporter;\n","import { registerBlockType, createBlock } from '@wordpress/blocks';\nimport Edit from './block';\nimport metaData from './block.json';\n\nconst PatternIcon = (\n\t\n\t\t\n\t\n);\n\nregisterBlockType(metaData, {\n\tedit: Edit,\n\tsave() {\n\t\treturn null;\n\t},\n\ticon: PatternIcon,\n} );\n","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"commands\"];","const __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"primitives\"];","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst settings = createElement(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n d: \"m19 7.5h-7.628c-.3089-.87389-1.1423-1.5-2.122-1.5-.97966 0-1.81309.62611-2.12197 1.5h-2.12803v1.5h2.12803c.30888.87389 1.14231 1.5 2.12197 1.5.9797 0 1.8131-.62611 2.122-1.5h7.628z\"\n}), createElement(Path, {\n d: \"m19 15h-2.128c-.3089-.8739-1.1423-1.5-2.122-1.5s-1.8131.6261-2.122 1.5h-7.628v1.5h7.628c.3089.8739 1.1423 1.5 2.122 1.5s1.8131-.6261 2.122-1.5h2.128z\"\n}));\nexport default settings;\n//# sourceMappingURL=settings.js.map","import { useState } from 'react';\nimport { useCommand } from '@wordpress/commands';\nimport { registerPlugin } from '@wordpress/plugins';\nimport { settings, upload } from '@wordpress/icons';\nimport {\n\tModal,\n\tSelectControl,\n\tTextControl,\n\tSpinner,\n} from '@wordpress/components';\nimport SendCommand from '../utils/SendCommand';\n\nconst GBCommands = () => {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst [ groupsLoading, setGroupsLoading ] = useState( false );\n\tconst [ groups, setGroups ] = useState( [] );\n\n\tuseCommand( {\n\t\tname: 'dlx-gb-admin-settings',\n\t\tlabel: 'Go to GenerateBlocks Settings',\n\t\ticon: settings,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'admin.php?page=generateblocks-settings';\n\t\t},\n\t\tcontext: 'block-editor',\n\t} );\n\tuseCommand( {\n\t\tname: 'dlx-gb-local-patterns',\n\t\tlabel: 'Go to GenerateBlocks Local Patterns',\n\t\ticon: settings,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'edit.php?post_type=gblocks_templates';\n\t\t},\n\t\tcontext: 'block-editor',\n\t} );\n\tuseCommand( {\n\t\tname: 'dlx-gb-global-styles',\n\t\tlabel: 'Go to GenerateBlocks Global Styles',\n\t\ticon: settings,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'edit.php?post_type=gblocks_templates';\n\t\t},\n\t\tcontext: 'block-editor',\n\t} );\n\tuseCommand( {\n\t\tname: 'dlx-gb-hacks-Settings',\n\t\tlabel: 'Go to GenerateBlocks (GB) Hacks Settings',\n\t\ticon: settings,\n\t\tcallback: () => {\n\t\t\tdocument.location.href = 'admin.php?page=dlx-gb-hacks';\n\t\t},\n\t\tcontext: 'block-editor',\n\t} );\n\t// useCommand( {\n\t// \tname: 'dlx-gb-svg-add-asset-library',\n\t// \tlabel: 'Add an SVG to the GenerateBlocks Asset Library',\n\t// \ticon: upload,\n\t// \tcallback: async() => {\n\t// \t\tsetIsModalOpen( true );\n\t// \t\tsetGroupsLoading( true );\n\t// \t\tconst response = await SendCommand(\n\t// \t\t\tgbHacksPatternInserter.restNonce,\n\t// \t\t\t{},\n\t// \t\t\tgbHacksPatternInserter.restUrl + '/get_asset_icon_groups',\n\t// \t\t\t'get'\n\t// \t\t);\n\t// \t\t// Extract out data.\n\t// \t\tconst { data, success } = response.data;\n\t// \t\tif ( success ) {\n\t// \t\t\tsetGroups( data.groups );\n\t// \t\t}\n\t// \t\tsetGroupsLoading( false );\n\t// \t},\n\t// \tcontext: 'block-editor',\n\t// } );\n\n\t// const getGroups = () => {\n\n\t// }\n\treturn (\n\t\t<>\n\t\t\t{ isModalOpen && (\n\t\t\t\t {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ groupsLoading && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t) }\n\t\t\t\t\n\t\t\t) }\n\t\t\n\t);\n};\n\nregisterPlugin( 'dlxgb-commands', {\n\trender: GBCommands,\n} );\n","const ContainerLogo = () => {\n\treturn (\n\t\t\n\t);\n}\nexport default ContainerLogo;","const ReplaceIcon = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\nexport default ReplaceIcon;\n","import { useEffect, useState } from 'react';\nimport { setDefaultBlockName, cloneBlock } from '@wordpress/blocks';\nimport { addAction } from '@wordpress/hooks';\nimport { PluginBlockSettingsMenuItem } from '@wordpress/edit-post';\nimport { useSelect, select, useDispatch, store } from '@wordpress/data';\nimport { registerPlugin } from '@wordpress/plugins';\nimport uniqueId from 'lodash.uniqueid';\nimport './js/blocks/pattern-importer/index.js';\nimport './js/blocks/commands/index.js';\nimport ContainerLogo from './js/blocks/components/icons/ContainerLogo.js';\nimport ReplaceIcon from './js/blocks/components/icons/ReplaceIcon.js';\nimport { settings } from '@wordpress/icons';\n\nlet previousBlocks = [];\n\n// Run on load.\n( function( wp ) {\n\t/**\n\t * Add a toolbar option to wrap selected blocks in a container.\n\t */\n\tregisterPlugin( 'dlx-gb-hacks-wrap-container', {\n\t\trender: () => {\n\t\t\tconst [ clientIds, setClientIds ] = useState( [] );\n\n\t\t\t// Get the selected block clientIds.\n\n\t\t\tconst selectedBlocks = useSelect( ( select ) => {\n\t\t\t\treturn select( 'core/block-editor' ).getMultiSelectedBlocks();\n\t\t\t}, [] );\n\n\t\t\tconst { replaceBlocks } = useDispatch( store )( 'core/block-editor' );\n\n\t\t\tuseEffect( () => {\n\t\t\t\tsetClientIds( selectedBlocks );\n\t\t\t}, [ selectedBlocks ] );\n\n\t\t\t// If no blocks are selected, return.\n\t\t\tif ( clientIds.length === 0 ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// If more than one block is selected, add toolbar option to wrap container.\n\t\t\tif ( clientIds.length > 1 ) {\n\t\t\t\treturn (\n\t\t\t\t\t }\n\t\t\t\t\t\tlabel=\"Wrap in Container\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tconst innerBlocks = [];\n\t\t\t\t\t\t\tclientIds.forEach( ( clientId ) => {\n\t\t\t\t\t\t\t\tinnerBlocks.push( cloneBlock( clientId ) );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\t\tselect( 'core/block-editor' ).getMultiSelectedBlockClientIds(),\n\t\t\t\t\t\t\t\twp.blocks.createBlock(\n\t\t\t\t\t\t\t\t\t'generateblocks/container', {}, innerBlocks\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t} );\n\n\t// Unique ID storing.\n\tconst uniqueIds = [];\n\t/**\n\t * Generate New Unique IDs for selected blocks.\n\t */\n\tregisterPlugin( 'dlx-gb-hacks-generate-unique-ids', {\n\t\trender: () => {\n\t\t\tconst selectedBlock = useSelect( ( select ) => {\n\t\t\t\treturn select( 'core/block-editor' ).getSelectedBlock();\n\t\t\t}, [] );\n\n\t\t\t/**\n\t\t\t * Return and generate a new unique ID.\n\t\t\t *\n\t\t\t * @param {string} clientId The client ID of the block.\n\t\t\t *\n\t\t\t * @return {string} The uniqueId.\n\t\t\t */\n\t\t\tconst generateUniqueId = ( clientId ) => {\n\t\t\t\t// Get the substr of current client ID for prefix.\n\t\t\t\tconst prefix = clientId.substring( 2, 9 ).replace( '-', '' );\n\t\t\t\tconst newUniqueId = uniqueId( prefix );\n\n\t\t\t\t// Make sure it isn't in the array already. Recursive much?\n\t\t\t\tif ( uniqueIds.includes( newUniqueId ) ) {\n\t\t\t\t\treturn generateUniqueId();\n\t\t\t\t}\n\t\t\t\treturn newUniqueId;\n\t\t\t};\n\n\t\t\t/**\n\t\t\t * Replace uniqueId attribute with new uniqueId.\n\t\t\t *\n\t\t\t * @param {Object} block The block object.\n\t\t\t */\n\t\t\tconst replaceUniqueId = ( block ) => {\n\t\t\t\tconst blockClientId = block.clientId;\n\t\t\t\tconst blockAttributes = block.attributes;\n\n\t\t\t\t// If block has a `uniqueId` attribute, generate a new one.\n\t\t\t\tif ( 'undefined' !== typeof blockAttributes.uniqueId ) {\n\t\t\t\t\tconst newUniqueId = generateUniqueId( blockClientId );\n\t\t\t\t\twp.data.dispatch( 'core/block-editor' ).updateBlockAttributes( blockClientId, { uniqueId: newUniqueId } );\n\t\t\t\t}\n\n\t\t\t\t// Now check if block has innerBlocks.\n\t\t\t\tif ( 'undefined' !== typeof block.innerBlocks && block.innerBlocks.length > 0 ) {\n\t\t\t\t\tblock.innerBlocks.forEach( ( innerBlock ) => {\n\t\t\t\t\t\treplaceUniqueId( innerBlock );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t/**\n\t\t\t * Return early if no block is selected.\n\t\t\t */\n\t\t\tif ( null === selectedBlock ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Get the block name.\n\t\t\tconst { name } = selectedBlock;\n\n\t\t\t// If name contains `generateblocks`, proceed.\n\t\t\tif ( name.indexOf( 'generateblocks' ) === -1 ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// If more than one block is selected, add toolbar option to replace the Unique ID.\n\t\t\treturn (\n\t\t\t\t }\n\t\t\t\t\tlabel=\"Generate New Unique IDs\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\treplaceUniqueId( selectedBlock ); // This gets the selected block and all innerBlocks.\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t} );\n\n\t/**\n\t * Allow transform from group block.\n\t */\n\twp.hooks.addFilter( 'blocks.registerBlockType', 'generateblocks/transform/group', ( blockSettings ) => {\n\t\tif ( blockSettings.name === 'core/group' ) {\n\t\t\tconst transformsTo = blockSettings.transforms?.to || [];\n\t\t\ttransformsTo.push( {\n\t\t\t\ttype: 'block',\n\t\t\t\tblocks: [ 'generateblocks/container' ],\n\t\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\t\treturn wp.blocks.createBlock( 'generateblocks/container', {}, innerBlocks );\n\t\t\t\t},\n\t\t\t} );\n\t\t\tblockSettings.transforms.to = transformsTo;\n\t\t}\n\t\treturn blockSettings;\n\t} );\n\t// Check to see if the default block is a headline. If not, return.\n\tconst defaultHeadlineBlockEnabled = gbHacksPatternInserter.defaultHeadlineBlockEnabled;\n\tif ( ! defaultHeadlineBlockEnabled ) {\n\t\treturn;\n\t}\n\n\t// Get the default element name.\n\tconst defaultHeadlineElement = gbHacksPatternInserter.defaultHeadlineBlockElement;\n\n\twp.data.subscribe( () => {\n\t\t// Try to find if the paragraph needs to be converted to a headline.\n\t\tconst currentBlocks = wp.data.select( 'core/block-editor' ).getBlocks();\n\t\tconst currentBlock = wp.data.select( 'core/block-editor' ).getSelectedBlock();\n\n\t\t// Set the default block. Needs to run every render otherwise is forgotten.\n\t\tsetDefaultBlockName( 'generateblocks/headline' );\n\n\t\t// If no block is selected, no need to go further.\n\t\tif ( null === currentBlock || 'undefined' === typeof currentBlock ) {\n\t\t\tpreviousBlocks = currentBlocks;\n\t\t\treturn;\n\t\t}\n\n\t\t// Check that selected block's client ID is not in previous blocks.\n\t\tif ( previousBlocks.includes( currentBlock.clientId ) ) {\n\t\t\tpreviousBlocks = currentBlocks;\n\t\t\treturn;\n\t\t}\n\t\tpreviousBlocks = currentBlocks;\n\n\t\t// Get the block's index.\n\t\tconst blockIndex = wp.data.select( 'core/block-editor' ).getBlockIndex( currentBlock.clientId );\n\n\t\t// If previous block is a headline, then the next block should be a headline too.\n\t\tif ( blockIndex > 0 ) {\n\t\t\tconst previousSelectedBlock = wp.data.select( 'core/block-editor' ).getBlocks();\n\t\t\tconst previousBlock = previousSelectedBlock[ blockIndex - 1 ] || null;\n\t\t\tif ( null !== previousBlock && previousBlock.name === 'generateblocks/headline' && currentBlock.name === 'core/paragraph' && currentBlock.attributes.content === '' ) {\n\t\t\t\twp.data.dispatch( 'core/block-editor' ).replaceBlocks( currentBlock.clientId, [\n\t\t\t\t\twp.blocks.createBlock( 'generateblocks/headline', {\n\t\t\t\t\t\tuniqueId: '',\n\t\t\t\t\t\tcontent: currentBlock.attributes.content,\n\t\t\t\t\t\telement: defaultHeadlineElement,\n\t\t\t\t\t} ),\n\t\t\t\t] );\n\t\t\t} else if ( null !== previousBlock && previousBlock.name === 'core/paragraph' && currentBlock.name === 'core/paragraph' && currentBlock.attributes.content === '' ) {\n\t\t\t\twp.data.dispatch( 'core/block-editor' ).replaceBlocks( currentBlock.clientId, [\n\t\t\t\t\twp.blocks.createBlock( 'generateblocks/headline', {\n\t\t\t\t\t\tuniqueId: '',\n\t\t\t\t\t\tcontent: currentBlock.attributes.content,\n\t\t\t\t\t\telement: defaultHeadlineElement,\n\t\t\t\t\t} ),\n\t\t\t\t] );\n\t\t\t}\n\t\t}\n\t} );\n\n\t/**\n\t * Change default headline element to paragraph.\n\t */\n\taddAction( 'generateblocks.editor.renderBlock', 'generateblocks/editor/renderBlock', function( props ) {\n\t\tif ( props.attributes.uniqueId === '' ) {\n\t\t\tprops.attributes.element = defaultHeadlineElement;\n\n\t\t\t// Max iterations.\n\t\t\tconst maxIterations = 50;\n\t\t\tlet currentIteration = 0;\n\n\t\t\tconst intervalId = setInterval( function() {\n\t\t\t\tif ( currentIteration > maxIterations ) {\n\t\t\t\t\tclearInterval( intervalId );\n\t\t\t\t}\n\t\t\t\tif ( 'undefined' !== typeof props.headlineRef && props.headlineRef.current !== null ) {\n\t\t\t\t\tconst headline = props.headlineRef.current;\n\t\t\t\t\theadline.querySelector( '.block-editor-rich-text__editable' ).focus();\n\t\t\t\t\tclearInterval( intervalId );\n\t\t\t\t}\n\t\t\t\tcurrentIteration++;\n\t\t\t}, 200 );\n\t\t}\n\t} );\n}( window.wp ) );\n"],"names":["GetIntrinsic","callBind","$indexOf","module","exports","name","allowMissing","intrinsic","bind","setFunctionLength","$TypeError","$apply","$call","$reflectApply","call","$defineProperty","$max","value","e","originalFunction","func","arguments","length","applyBind","apply","hasPropertyDescriptors","$SyntaxError","gopd","obj","property","nonEnumerable","nonWritable","nonConfigurable","loose","desc","configurable","enumerable","writable","toStr","Object","prototype","toString","max","Math","concatty","a","b","arr","i","j","that","target","this","TypeError","bound","args","arrLike","offset","slicy","boundLength","boundArgs","Function","joiner","str","joiny","result","Empty","implementation","undefined","SyntaxError","$Function","getEvalledConstructor","expressionSyntax","$gOPD","getOwnPropertyDescriptor","throwTypeError","ThrowTypeError","calleeThrows","get","gOPDthrows","hasSymbols","hasProto","getProto","getPrototypeOf","x","__proto__","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","Array","ArrayBuffer","Symbol","iterator","Atomics","BigInt","BigInt64Array","BigUint64Array","Boolean","DataView","Date","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","Error","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","isNaN","JSON","Map","Number","parseFloat","parseInt","Promise","Proxy","RangeError","ReferenceError","Reflect","RegExp","Set","SharedArrayBuffer","String","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakRef","WeakSet","error","errorProto","doEval","fn","gen","LEGACY_ALIASES","hasOwn","$concat","concat","$spliceApply","splice","$replace","replace","$strSlice","slice","$exec","exec","rePropName","reEscapeChar","getBaseIntrinsic","alias","intrinsicName","parts","string","first","last","match","number","quote","subString","stringToPath","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","hasArrayLengthDefineBug","test","foo","$Object","origSymbol","hasSymbolSham","getOwnPropertySymbols","sym","symObj","keys","getOwnPropertyNames","syms","propertyIsEnumerable","descriptor","$hasOwn","hasOwnProperty","freeGlobal","g","freeSelf","self","root","objectProto","idCounter","objectToString","symbolProto","symbolToString","prefix","id","isObjectLike","isSymbol","baseToString","hasMap","mapSizeDescriptor","mapSize","mapForEach","forEach","hasSet","setSizeDescriptor","setSize","setForEach","weakMapHas","has","weakSetHas","weakRefDeref","deref","booleanValueOf","valueOf","functionToString","$match","$slice","$toUpperCase","toUpperCase","$toLowerCase","toLowerCase","$test","$join","join","$arrSlice","$floor","floor","bigIntValueOf","gOPS","symToString","hasShammedSymbols","toStringTag","isEnumerable","gPO","O","addNumericSeparator","num","Infinity","sepRegex","int","intStr","dec","utilInspect","inspectCustom","custom","inspectSymbol","wrapQuotes","s","defaultStyle","opts","quoteChar","quoteStyle","isArray","isRegExp","inspect_","options","depth","seen","maxStringLength","customInspect","indent","numericSeparator","inspectString","bigIntStr","maxDepth","baseIndent","base","prev","getIndent","indexOf","inspect","from","noIndent","push","newOpts","f","m","nameOf","arrObjKeys","symString","markBoxed","HTMLElement","nodeName","getAttribute","attrs","attributes","childNodes","xs","singleLineValues","indentedJoin","isError","cause","isMap","mapParts","key","collectionOf","isSet","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isNumber","isBigInt","isBoolean","isString","window","isDate","ys","isPlainObject","constructor","protoTag","stringTag","tag","l","remaining","trailer","lowbyte","c","n","charCodeAt","type","size","entries","lineJoiner","isArr","symMap","k","percentTwenties","Format","formatters","RFC1738","RFC3986","stringify","parse","formats","utils","defaults","allowDots","allowPrototypes","allowSparse","arrayLimit","charset","charsetSentinel","comma","decoder","decode","delimiter","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","plainObjects","strictNullHandling","$0","numberStr","fromCharCode","parseArrayValue","val","split","parseKeys","givenKey","valuesParsed","child","segment","parent","index","chain","leaf","create","cleanRoot","charAt","parseObject","normalizeParseOptions","tempObj","cleanStr","limit","skipIndex","bracketEqualsPos","pos","maybeMap","encodedVal","combine","parseValues","newObj","merge","compact","getSideChannel","arrayPrefixGenerators","brackets","indices","repeat","pushToArray","valueOrArray","toISO","toISOString","defaultFormat","addQueryPrefix","encode","encoder","encodeValuesOnly","format","formatter","serializeDate","date","skipNulls","sentinel","object","generateArrayPrefix","commaRoundTrip","filter","sort","sideChannel","v","tmpSc","step","findFlag","isBuffer","objKeys","values","adjustedPrefix","keyPrefix","set","valueSideChannel","normalizeStringifyOptions","arrayFormat","joined","hexTable","array","arrayToObject","source","assign","reduce","acc","queue","o","prop","refs","item","pop","compacted","compactQueue","strWithoutPlus","unescape","defaultEncoder","kind","escape","out","mapped","mergeTarget","targetItem","define","hasDescriptors","gOPD","functionLengthIsConfigurable","functionLengthIsWritable","callBound","$WeakMap","$Map","$weakMapGet","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","list","curr","next","$wm","$m","$o","channel","assert","objects","node","listGet","listHas","listSet","classNames","classes","arg","appendClass","parseValue","includes","newClass","default","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","d","definition","defineProperty","globalThis","r","thisArg","kindOf","cache","thing","kindOfTest","typeOfTest","isUndefined","isArrayBuffer","isFunction","isObject","isFile","isBlob","isFileList","isURLSearchParams","allOwnKeys","len","findKey","_key","_global","global","isContextDefined","context","isTypedArray","isHTMLForm","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","ret","defineProperties","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isAsyncFn","isFormData","FormData","append","isArrayBufferView","isView","buffer","isStream","pipe","caseless","assignValue","targetKey","extend","trim","stripBOM","content","inherits","superConstructor","props","toFlatObject","sourceObj","destObj","propFilter","merged","endsWith","searchString","position","lastIndex","toArray","forEachEntry","done","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","toCamelCase","p1","p2","noop","toFiniteNumber","defaultValue","generateString","alphabet","random","isSpecCompliantForm","toJSONObject","stack","visit","reducedValue","isThenable","then","catch","AxiosError","message","code","config","request","response","captureStackTrace","toJSON","description","fileName","lineNumber","columnNumber","status","customProps","axiosError","isVisitable","removeBrackets","renderKey","path","dots","map","token","predicates","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","Buffer","some","isFlatArray","el","exposedHelpers","build","charMap","AxiosURLSearchParams","params","_pairs","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","clear","h","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","URLSearchParams","protocols","hasBrowserEnv","document","hasStandardBrowserEnv","product","navigator","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","buildPath","isNumericKey","isLast","parsePropPath","transitional","adapter","transformRequest","data","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","platform","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","method","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","normalized","w","char","formatHeader","targets","asStrings","computed","accessor","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","write","expires","domain","secure","cookie","toGMTString","read","remove","now","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","msie","userAgent","urlParsingNode","createElement","originURL","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","location","requestURL","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","startedAt","bytesCount","passed","round","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","knownAdapters","http","xhr","XMLHttpRequest","resolve","reject","requestData","requestHeaders","onCanceled","withXSRFToken","cancelToken","unsubscribe","signal","removeEventListener","auth","username","password","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","ERR_BAD_REQUEST","settle","err","responseText","statusText","open","paramsSerializer","onreadystatechange","readyState","responseURL","setTimeout","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","isURLSameOrigin","xsrfValue","cookies","setRequestHeader","withCredentials","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","abort","subscribe","aborted","parseProtocol","send","renderReason","reason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","validators","deprecatedWarnings","validator","version","formatMessage","opt","ERR_DEPRECATED","console","warn","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios","instanceConfig","interceptors","configOrUrl","_request","dummy","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","instance","VERSION","toFormData","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","SendCommand","nonce","restEndPoint","_regeneratorRuntime","t","asyncIterator","u","wrap","Generator","Context","makeInvokeMethod","tryCatch","y","GeneratorFunction","GeneratorFunctionPrototype","p","defineIteratorMethods","_invoke","AsyncIterator","invoke","_typeof","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","displayName","isGeneratorFunction","mark","setPrototypeOf","awrap","async","reverse","stop","rval","handle","complete","finish","delegateYield","asyncGeneratorStep","_next","_throw","info","_asyncToGenerator","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","arr2","imageRegEx","backgroundImageRegEx","uniqueIdRegex","uniqueIds","imageCount","PatternIcon","React","xmlns","width","height","viewBox","fill","registerBlockType","metaData","edit","setAttributes","clientId","_useState2","useState","patternText","setPatternText","_useState4","patternImages","setPatternImages","_useState6","setPatternBackgroundImages","_useState8","importing","setImporting","_useState10","setImageProcessingCount","replaceBlock","useDispatch","store","onPatternSubmit","_ref","_callee2","processImage","imagesToProcess","bgMatches","imagesProcessed","imagePromises","localPatternText","_context2","_ref2","_callee","imgUrl","imgAlt","_context","gbHacksPatternInserter","restNonce","restUrl","_x","_x2","_toConsumableArray","image","restResponse","_restResponse$data","success","newImageUrl","attachmentUrl","gbUniqueIdMatches","newUniqueId","generateUniqueId","patternBlocks","uniqueId","block","Fragment","Card","className","CardHeader","__","CardBody","TextareaControl","label","placeholder","onChange","disabled","CardFooter","Button","variant","onClick","Spinner","blockProps","useBlockProps","save","icon","SVG","Path","registerPlugin","render","isModalOpen","setIsModalOpen","groupsLoading","useCommand","settings","Modal","isDismissible","shouldCloseOnClickOutside","shouldCloseOnEsc","title","onRequestClose","style","xmlSpace","enableBackground","previousBlocks","wp","clientIds","setClientIds","selectedBlocks","useSelect","select","getMultiSelectedBlocks","replaceBlocks","useEffect","PluginBlockSettingsMenuItem","ContainerLogo","innerBlocks","cloneBlock","getMultiSelectedBlockClientIds","blocks","createBlock","selectedBlock","getSelectedBlock","replaceUniqueId","blockClientId","dispatch","updateBlockAttributes","innerBlock","ReplaceIcon","hooks","addFilter","blockSettings","_blockSettings$transf","transformsTo","transforms","to","transform","defaultHeadlineBlockEnabled","defaultHeadlineElement","defaultHeadlineBlockElement","currentBlocks","getBlocks","currentBlock","setDefaultBlockName","blockIndex","getBlockIndex","previousBlock","element","addAction","currentIteration","intervalId","setInterval","clearInterval","headlineRef","current","querySelector","focus"],"sourceRoot":""} \ No newline at end of file diff --git a/build/js/blocks/pattern-importer/block.json b/build/js/blocks/pattern-importer/block.json index da92363..25a88c1 100644 --- a/build/js/blocks/pattern-importer/block.json +++ b/build/js/blocks/pattern-importer/block.json @@ -1,18 +1,18 @@ { "$schema": "https://schemas.wp.org/trunk/block.json", "title": "Pattern Inserter", - "apiVersion": 2, - "name": "dlxplugins/gbhx-pattern-inserter", - "category": "generateblocks", + "apiVersion": 3, + "name": "dlxplugins/dlx-pw-pattern-inserter", + "category": "design", "icon": "", "description": "Paste in a pattern and it will be inserted for you.", "keywords": [ - "generateblocks", + "remote", "pattern", "inserter" ], "version": "1.0.0", - "textdomain": "gb-hacks", + "textdomain": "dlx-pattern-wrangler", "attributes": { "preview": { "type": "boolean", @@ -24,5 +24,5 @@ "preview": true } }, - "editorScript": "gb-hacks-pattern-inserter-block" + "editorScript": "dlx-pw-pattern-inserter-block" } \ No newline at end of file diff --git a/pattern-wrangler.php b/pattern-wrangler.php index 5cca705..96c430e 100644 --- a/pattern-wrangler.php +++ b/pattern-wrangler.php @@ -77,6 +77,14 @@ public function plugins_loaded() { $preview = new Preview(); $preview->run(); + // Determine if blocks can run or not. + $options = Options::get_options(); + $can_disable_blocks = (bool) $options['disablePatternImporterBlock']; + if ( ! $can_disable_blocks ) { + $blocks = new Blocks(); + $blocks->run(); + } + /** * When PatternWrangler can be extended. * diff --git a/php/Blocks.php b/php/Blocks.php index 8cc6a6e..190bdaf 100644 --- a/php/Blocks.php +++ b/php/Blocks.php @@ -21,141 +21,15 @@ public static function run() { $self = new self(); add_action( 'init', array( $self, 'init' ) ); add_action( 'rest_api_init', array( $self, 'init_rest_api' ) ); - add_filter( 'block_type_metadata', array( $self, 'add_block_metadata' ), 10, 1 ); - add_filter( 'generateblocks_typography_font_family_list', array( $self, 'add_adobe_fonts' ), 10, 1 ); - add_filter( 'generateblocks_typography_font_family_list', array( $self, 'add_blocksy_adobe_fonts' ), 10, 1 ); - add_filter( 'generateblocks_do_content', array( $self, 'add_post_type_content' ), 10, 2 ); return $self; } - /** - * Add post type content. - * - * @param string $content Post content. - */ - public function add_post_type_content( $content ) { - global $post; - // Get the ID. - $post_id = $post->ID ?? 0; - // Bail if no ID. - if ( ! $post_id ) { - return $content; - } - $options = Options::get_options(); - $enabled_post_types = $options['enabledPostTypes'] ?? array(); - $current_post_type = get_post_type( $post_id ); - - // If post or page, bail. - if ( in_array( $current_post_type, array( 'post', 'page' ), true ) ) { - return $content; - } - - if ( in_array( $current_post_type, $enabled_post_types, true ) ) { - $block_element = get_post( $post_id ); - if ( $block_element ) { - if ( 'publish' === $block_element->post_status && empty( $block_element->post_password ) ) { - $content .= $block_element->post_content; - } - } - } - return $content; - } - - - /** - * Add Adobe Fonts to the list of fonts. - * - * @param array $fonts List of fonts. - */ - public function add_adobe_fonts( $fonts ) { - $options = Options::get_options(); - if ( ! (bool) $options['enableAdobeFonts'] ) { - return $fonts; - } - - // Get the adobe fonts. - $fonts_group = array(); - if ( defined( 'CUSTOM_TYPEKIT_FONTS_FILE' ) ) { - $adobe_fonts = get_option( 'custom-typekit-fonts', array() ); - if ( isset( $adobe_fonts['custom-typekit-font-details'] ) ) { - foreach ( $adobe_fonts['custom-typekit-font-details'] as $font_name => $font_details ) { - $fonts_group[] = array( - 'value' => $font_name, - 'label' => $font_name, - ); - } - } - } - if ( ! empty( $fonts_group ) ) { - $fonts[] = array( - 'label' => __( 'Adobe Fonts', 'gb-hacks' ), - 'options' => $fonts_group, - ); - } - return $fonts; - } - - /** - * Add Adobe Fonts to the list of fonts. - * - * @param array $fonts List of fonts. - */ - public function add_blocksy_adobe_fonts( $fonts ) { - $options = Options::get_options(); - if ( ! (bool) $options['enableAdobeFonts'] ) { - return $fonts; - } - - // Get blocksy adoobe fonts. - $options = get_option( 'blocksy_ext_adobe_typekit_settings', array() ); - $font_families = $options['fonts'] ?? array(); - - // Add fonts to list. - if ( ! empty( $font_families ) ) { - $fonts_group = array(); - foreach ( $font_families as $font_family ) { - $fonts_group[] = array( - 'value' => $font_family['slug'], - 'label' => $font_family['name'], - ); - } - $fonts[] = array( - 'label' => __( 'Adobe Fonts', 'gb-hacks' ), - 'options' => $fonts_group, - ); - } - return $fonts; - } - - /** - * Set Paragraph defaults. - * - * @param array $metadata { - * An array of arguments. - * - * @type string $name Block name. - * @type array $attributes Block attributes. - * } - */ - public function add_block_metadata( $metadata ) { - // Check the block type. - if ( 'generateblocks/headline' !== $metadata['name'] ) { - return $metadata; - } - - // Add accordion view (collapsed view). - $metadata['attributes']['element']['default'] = 'p'; - - // Return the metadata. - return $metadata; - } - /** * Register the rest routes needed. */ public function init_rest_api() { register_rest_route( - 'dlxplugins/gb-hacks/v1', + 'dlxplugins/pattern-wrangler/v1', '/process_image', array( 'methods' => 'POST', @@ -163,19 +37,10 @@ public function init_rest_api() { 'permission_callback' => array( $this, 'rest_image_sideload_permissions' ), ) ); - register_rest_route( - 'dlxplugins/gb-hacks/v1', - '/get_asset_icon_groups', - array( - 'methods' => 'GET', - 'callback' => array( $this, 'rest_get_gb_groups' ), - 'permission_callback' => array( $this, 'rest_image_sideload_permissions' ), - ) - ); } /** - * Process a list of images for a plugin. + * Process a list of images for a pattern. * * @param WP_Rest $request REST request. */ @@ -206,7 +71,7 @@ public function rest_add_remote_image( $request ) { if ( ! $extension ) { \wp_send_json_error( array( - 'message' => __( 'File extension not found.', 'gb-hacks' ), + 'message' => __( 'File extension not found.', 'dlx-pattern-wrangler' ), ), 400 ); @@ -215,7 +80,7 @@ public function rest_add_remote_image( $request ) { if ( ! in_array( $extension, $valid_extensions, true ) ) { \wp_send_json_error( array( - 'message' => __( 'Invalid file extension.', 'gb-hacks' ), + 'message' => __( 'Invalid file extension.', 'dlx-pattern-wrangler' ), ), 400 ); @@ -257,39 +122,12 @@ public function rest_add_remote_image( $request ) { } \wp_send_json_error( array( - 'message' => __( 'Invalid image URL.', 'gb-hacks' ), + 'message' => __( 'Invalid image URL.', 'dlx-pattern-wrangler' ), ), 400 ); } - /** - * Process a list of images for a plugin. - * - * @param WP_Rest $request REST request. - */ - public function rest_get_gb_groups( $request ) { - - // Get existing SVGs. - $existing_svg_assets = get_option( 'generateblocks_svg_icons', array() ); - - // Loop through and get `group`. - $groups = array(); - foreach ( $existing_svg_assets as $svg_asset ) { - $groups[] = $svg_asset['group']; - } - - // If the group is empty, then on JS side, prompt for a group name. - $groups = array_unique( $groups ); - - // Send success. - \wp_send_json_success( - array( - 'groups' => $groups, - ) - ); - } - /** * Check if user has access to REST API for retrieving and sideloading images. */ @@ -317,25 +155,23 @@ public function init() { * Register the block editor script with localized vars. */ public function register_block_editor_scripts() { - $options = Options::get_options(); + + $deps = require_once Functions::get_plugin_dir( 'build/index.asset.php' ); wp_register_script( - 'gb-hacks-pattern-inserter-block', + 'dlx-pw-pattern-inserter-block', Functions::get_plugin_url( 'build/index.js' ), - array(), - Functions::get_plugin_version(), + $deps['dependencies'], + $deps['version'], true ); wp_localize_script( - 'gb-hacks-pattern-inserter-block', - 'gbHacksPatternInserter', + 'dlx-pw-pattern-inserter-block', + 'dlxPWPatternInserter', array( - 'restUrl' => rest_url( 'dlxplugins/gb-hacks/v1' ), + 'restUrl' => rest_url( 'dlxplugins/pattern-wrangler/v1' ), 'restNonce' => wp_create_nonce( 'wp_rest' ), - 'allowedGoogleFonts' => $options['allowedGoogleFonts'] ?? array(), - 'defaultHeadlineBlockEnabled' => (bool) $options['enableDefaultHeadlineBlock'] ?? false, - 'defaultHeadlineBlockElement' => $options['headlineBlockElement'] ?? '', ) ); } diff --git a/src/index.js b/src/index.js index 1ee2d50..ae6082f 100644 --- a/src/index.js +++ b/src/index.js @@ -1 +1 @@ -import './js/blocks/plugins/pattern-preview'; \ No newline at end of file +import './js/blocks/pattern-importer/index'; \ No newline at end of file diff --git a/src/js/blocks/pattern-importer/block.js b/src/js/blocks/pattern-importer/block.js index e95b6da..f8a458b 100644 --- a/src/js/blocks/pattern-importer/block.js +++ b/src/js/blocks/pattern-importer/block.js @@ -72,12 +72,12 @@ const PatternImporter = ( props ) => { setImporting( true ); const processImage = async( imgUrl, imgAlt ) => { const response = await SendCommand( - gbHacksPatternInserter.restNonce, + dlxPWPatternInserter.restNonce, { imgUrl, imgAlt, }, - gbHacksPatternInserter.restUrl + '/process_image' + dlxPWPatternInserter.restUrl + '/process_image' ); return response; }; @@ -147,12 +147,12 @@ const PatternImporter = ( props ) => { } Promise.all( imagePromises ).then( () => { - const gbUniqueIdMatches = [ ...localPatternText.matchAll( uniqueIdRegex ) ]; + const pwUniqueIdMatches = [ ...localPatternText.matchAll( uniqueIdRegex ) ]; // If there are matches, we need to process them. - if ( gbUniqueIdMatches.length ) { + if ( pwUniqueIdMatches.length ) { // Loop through matches, generate unique ID, and replace. - gbUniqueIdMatches.forEach( ( match ) => { + pwUniqueIdMatches.forEach( ( match ) => { const newUniqueId = generateUniqueId(); uniqueIds.push( newUniqueId ); patternText.replace( match[ 1 ], `"uniqueId":"${ newUniqueId }"` ); @@ -170,12 +170,12 @@ const PatternImporter = ( props ) => { } catch ( error ) { } } ).catch( ( error ) => { - const gbUniqueIdMatches = [ ...localPatternText.matchAll( uniqueIdRegex ) ]; + const pwUniqueIdMatches = [ ...localPatternText.matchAll( uniqueIdRegex ) ]; // If there are matches, we need to process them. - if ( gbUniqueIdMatches.length ) { + if ( pwUniqueIdMatches.length ) { // Loop through matches, generate unique ID, and replace. - gbUniqueIdMatches.forEach( ( match ) => { + pwUniqueIdMatches.forEach( ( match ) => { const newUniqueId = generateUniqueId(); uniqueIds.push( newUniqueId ); patternText.replace( match[ 1 ], `"uniqueId":"${ newUniqueId }"` ); @@ -215,12 +215,12 @@ const PatternImporter = ( props ) => { <> - { __( 'Pattern Importer', 'alerts-dlx' ) } + { __( 'Pattern Importer', 'dlx-pattern-wrangler' ) } setPatternText( value ) } disabled={ importing } @@ -232,7 +232,7 @@ const PatternImporter = ( props ) => { disabled={ ! patternText || importing } onClick={ onPatternSubmit } > - { __( 'Import', 'alerts-dlx' ) } + { __( 'Import', 'dlx-pattern-wrangler' ) } { importing && ( diff --git a/src/js/blocks/pattern-importer/block.json b/src/js/blocks/pattern-importer/block.json index be17c4a..6b4886f 100644 --- a/src/js/blocks/pattern-importer/block.json +++ b/src/js/blocks/pattern-importer/block.json @@ -1,14 +1,14 @@ { "$schema": "https://schemas.wp.org/trunk/block.json", "title": "Pattern Inserter", - "apiVersion": 2, - "name": "dlxplugins/gbhx-pattern-inserter", - "category": "generateblocks", + "apiVersion": 3, + "name": "dlxplugins/dlx-pw-pattern-inserter", + "category": "design", "icon": "", "description": "Paste in a pattern and it will be inserted for you.", - "keywords": ["generateblocks", "pattern", "inserter"], + "keywords": ["remote", "pattern", "inserter"], "version": "1.0.0", - "textdomain": "gb-hacks", + "textdomain": "dlx-pattern-wrangler", "attributes": { "preview": { "type": "boolean", @@ -20,5 +20,5 @@ "preview": true } }, - "editorScript": "gb-hacks-pattern-inserter-block" + "editorScript": "dlx-pw-pattern-inserter-block" } From 4cf504b03eb83df8b3b530fbb4818924819b3c77 Mon Sep 17 00:00:00 2001 From: Ronald Huereca Date: Mon, 12 Feb 2024 03:11:51 -0600 Subject: [PATCH 2/3] adding option to exclude remote images. --- build/index.asset.php | 2 +- build/index.js | 194 ++++++++++++----------- src/js/blocks/pattern-importer/block.js | 200 +++++++++++++----------- 3 files changed, 212 insertions(+), 184 deletions(-) diff --git a/build/index.asset.php b/build/index.asset.php index 259c58c..f0064fa 100644 --- a/build/index.asset.php +++ b/build/index.asset.php @@ -1 +1 @@ - array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-i18n'), 'version' => '10a9bc14df2b8b7032ef'); + array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-i18n'), 'version' => '63cff47d3d3261730d9f'); diff --git a/build/index.js b/build/index.js index 067a9e6..0a48bf5 100644 --- a/build/index.js +++ b/build/index.js @@ -102,11 +102,15 @@ var PatternImporter = function PatternImporter(props) { _useState10 = _slicedToArray(_useState9, 2), imageProcessingCount = _useState10[0], setImageProcessingCount = _useState10[1]; + var _useState11 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false), + _useState12 = _slicedToArray(_useState11, 2), + doNotImportRemoteImages = _useState12[0], + setDoNotImportRemoteImages = _useState12[1]; var _useDispatch = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_6__.useDispatch)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_7__.store), replaceBlock = _useDispatch.replaceBlock; var onPatternSubmit = /*#__PURE__*/function () { var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() { - var processImage, matches, imagesToProcess, bgMatches, imagesProcessed, imagePromises, localPatternText; + var processImage, importPattern, matches, imagesToProcess, localPatternText, bgMatches, imagesProcessed, imagePromises; return _regeneratorRuntime().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: @@ -135,106 +139,91 @@ var PatternImporter = function PatternImporter(props) { return _ref2.apply(this, arguments); }; }(); - matches = _toConsumableArray(patternText.matchAll(imageRegEx)); - imagesToProcess = []; // If there are matches, we need to process them. - if (matches.length) { - setPatternImages(matches); - matches.forEach(function (match) { - imagesToProcess.push(match[2]); - }); - } - - // Check for background images. - bgMatches = _toConsumableArray(patternText.matchAll(backgroundImageRegEx)); // If there are bg matches, we need to process them. - if (bgMatches.length) { - setPatternBackgroundImages(bgMatches); - bgMatches.forEach(function (match) { - imagesToProcess.push(match[1]); - }); - } - imagesProcessed = []; - imagePromises = []; - localPatternText = patternText; // Let's loop through images and process. - if (imagesToProcess.length) { - imagePromises = imagesToProcess.map(function (image) { - try { - var response = processImage(image, ''); - response.then(function (restResponse) { - imagesProcessed.push(image); - var _restResponse$data = restResponse.data, - data = _restResponse$data.data, - success = _restResponse$data.success; - if (success) { - imageCount++; - setImageProcessingCount(imageCount); - - // Get the image URL and replace in pattern. - var newImageUrl = data.attachmentUrl; - - // Replace old URL with new URL. - localPatternText = localPatternText.replace(image, newImageUrl); - setPatternText(localPatternText); - } else { - // Fail silently. - imageCount++; - setImageProcessingCount(imageCount); - } - })["catch"](function (error) { - // Fail silently. - imageCount++; - setImageProcessingCount(imageCount); - }); - return response; - } catch (error) { - // Fail silently. - imageCount++; - setImageProcessingCount(imageCount); - } - }); - } - Promise.all(imagePromises).then(function () { - var pwUniqueIdMatches = _toConsumableArray(localPatternText.matchAll(uniqueIdRegex)); - - // If there are matches, we need to process them. - if (pwUniqueIdMatches.length) { - // Loop through matches, generate unique ID, and replace. - pwUniqueIdMatches.forEach(function (match) { - var newUniqueId = generateUniqueId(); - uniqueIds.push(newUniqueId); - patternText.replace(match[1], "\"uniqueId\":\"".concat(newUniqueId, "\"")); - }); - } + /** + * Import a pattern. + * + * @param {string} pattern The pattern. + */ + importPattern = function importPattern(pattern) { + pattern = replaceUniqueIds(pattern); // Convert pattern to blocks. try { - var patternBlocks = (0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_5__.parse)(localPatternText); + var patternBlocks = (0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_5__.parse)(pattern); replaceBlock(clientId, patternBlocks); // Insert block in place of this one. //replaceInnerBlocks( clientId, patternBlocks ); } catch (error) {} - })["catch"](function (error) { - var pwUniqueIdMatches = _toConsumableArray(localPatternText.matchAll(uniqueIdRegex)); - + }; + matches = _toConsumableArray(patternText.matchAll(imageRegEx)); + imagesToProcess = []; + localPatternText = patternText; + if (!doNotImportRemoteImages) { // If there are matches, we need to process them. - if (pwUniqueIdMatches.length) { - // Loop through matches, generate unique ID, and replace. - pwUniqueIdMatches.forEach(function (match) { - var newUniqueId = generateUniqueId(); - uniqueIds.push(newUniqueId); - patternText.replace(match[1], "\"uniqueId\":\"".concat(newUniqueId, "\"")); + if (matches.length) { + setPatternImages(matches); + matches.forEach(function (match) { + imagesToProcess.push(match[2]); }); } - // Convert pattern to blocks. - try { - var patternBlocks = (0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_5__.parse)(localPatternText); - replaceBlock(clientId, patternBlocks); - // Insert block in place of this one. - //replaceInnerBlocks( clientId, patternBlocks ); - } catch (error) {} - }); - case 12: + // Check for background images. + bgMatches = _toConsumableArray(patternText.matchAll(backgroundImageRegEx)); // If there are bg matches, we need to process them. + if (bgMatches.length) { + setPatternBackgroundImages(bgMatches); + bgMatches.forEach(function (match) { + imagesToProcess.push(match[1]); + }); + } + imagesProcessed = []; + imagePromises = []; // Let's loop through images and process. + if (imagesToProcess.length) { + imagePromises = imagesToProcess.map(function (image) { + try { + var response = processImage(image, ''); + response.then(function (restResponse) { + imagesProcessed.push(image); + var _restResponse$data = restResponse.data, + data = _restResponse$data.data, + success = _restResponse$data.success; + if (success) { + imageCount++; + setImageProcessingCount(imageCount); + + // Get the image URL and replace in pattern. + var newImageUrl = data.attachmentUrl; + + // Replace old URL with new URL. + localPatternText = localPatternText.replace(image, newImageUrl); + setPatternText(localPatternText); + } else { + // Fail silently. + imageCount++; + setImageProcessingCount(imageCount); + } + })["catch"](function (error) { + // Fail silently. + imageCount++; + setImageProcessingCount(imageCount); + }); + return response; + } catch (error) { + // Fail silently. + imageCount++; + setImageProcessingCount(imageCount); + } + }); + } + Promise.all(imagePromises).then(function () { + importPattern(localPatternText); + })["catch"](function (error) { + importPattern(localPatternText); + }); + } else { + importPattern(localPatternText); + } + case 7: case "end": return _context2.stop(); } @@ -245,6 +234,26 @@ var PatternImporter = function PatternImporter(props) { }; }(); + /** + * Return and generate a new unique ID. + * + * @param {string} blockPatternText The block pattern text. + * + * @return {string} The blockPatternText. + */ + var replaceUniqueIds = function replaceUniqueIds(blockPatternText) { + var pwUniqueIdMatches = _toConsumableArray(blockPatternText.matchAll(uniqueIdRegex)); + if (pwUniqueIdMatches.length) { + // Loop through matches, generate unique ID, and replace. + pwUniqueIdMatches.forEach(function (match) { + var newUniqueId = generateUniqueId(); + uniqueIds.push(newUniqueId); + blockPatternText.replace(match[1], "\"uniqueId\":\"".concat(newUniqueId, "\"")); + }); + } + return blockPatternText; + }; + /** * Return and generate a new unique ID. * @@ -271,6 +280,13 @@ var PatternImporter = function PatternImporter(props) { return setPatternText(value); }, disabled: importing + }), /*#__PURE__*/React.createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.CheckboxControl, { + label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Do not import remote images', 'dlx-pattern-wrangler'), + checked: doNotImportRemoteImages, + onChange: function onChange(value) { + return setDoNotImportRemoteImages(value); + }, + disabled: importing })), /*#__PURE__*/React.createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.CardFooter, null, /*#__PURE__*/React.createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.Button, { variant: "primary", disabled: !patternText || importing, diff --git a/src/js/blocks/pattern-importer/block.js b/src/js/blocks/pattern-importer/block.js index f8a458b..01702ef 100644 --- a/src/js/blocks/pattern-importer/block.js +++ b/src/js/blocks/pattern-importer/block.js @@ -24,6 +24,7 @@ import { CardFooter, CardBody, Spinner, + CheckboxControl, } from '@wordpress/components'; import { parse } from '@wordpress/blocks'; @@ -53,8 +54,8 @@ const uniqueIds = []; let imageCount = 0; const escapeRegExp = ( content ) => { - return content.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string -} + return content.replace( /[.*+\-?^${}()|[\]\\]/g, '\\$&' ); // $& means the whole matched string +}; const PatternImporter = ( props ) => { // Shortcuts. @@ -65,6 +66,7 @@ const PatternImporter = ( props ) => { const [ patternBackgroundImages, setPatternBackgroundImages ] = useState( [] ); const [ importing, setImporting ] = useState( false ); const [ imageProcessingCount, setImageProcessingCount ] = useState( 0 ); + const [ doNotImportRemoteImages, setDoNotImportRemoteImages ] = useState( false ); const { replaceBlock } = useDispatch( store ); @@ -82,116 +84,120 @@ const PatternImporter = ( props ) => { return response; }; - const matches = [ ...patternText.matchAll( imageRegEx ) ]; - const imagesToProcess = []; + /** + * Import a pattern. + * + * @param {string} pattern The pattern. + */ + const importPattern = ( pattern ) => { + pattern = replaceUniqueIds( pattern ); - // If there are matches, we need to process them. - if ( matches.length ) { - setPatternImages( matches ); - matches.forEach( ( match ) => { - imagesToProcess.push( match[ 2 ] ); - } ); - } - - // Check for background images. - const bgMatches = [ ...patternText.matchAll( backgroundImageRegEx ) ]; + // Convert pattern to blocks. + try { + const patternBlocks = parse( pattern ); - // If there are bg matches, we need to process them. - if ( bgMatches.length ) { - setPatternBackgroundImages( bgMatches ); + replaceBlock( clientId, patternBlocks ); - bgMatches.forEach( ( match ) => { - imagesToProcess.push( match[ 1 ] ); - } ); - } + // Insert block in place of this one. + //replaceInnerBlocks( clientId, patternBlocks ); + } catch ( error ) { + } + }; - const imagesProcessed = []; - let imagePromises = []; + const matches = [ ...patternText.matchAll( imageRegEx ) ]; + const imagesToProcess = []; let localPatternText = patternText; - // Let's loop through images and process. - if ( imagesToProcess.length ) { - imagePromises = imagesToProcess.map( ( image ) => { - try { - const response = processImage( image, '' ); - response.then( ( restResponse ) => { - imagesProcessed.push( image ); - const { data, success } = restResponse.data; - if ( success ) { - imageCount++; - setImageProcessingCount( imageCount ); - - // Get the image URL and replace in pattern. - const newImageUrl = data.attachmentUrl; - - // Replace old URL with new URL. - localPatternText = localPatternText.replace( image, newImageUrl ); - setPatternText( localPatternText ); - } else { - // Fail silently. - imageCount++; - setImageProcessingCount( imageCount ); - } - } ).catch( ( error ) => { - // Fail silently. - imageCount++; - setImageProcessingCount( imageCount ); - } ); - return response; - } catch ( error ) { - // Fail silently. - imageCount++; - setImageProcessingCount( imageCount ); - } - } ); - } - - Promise.all( imagePromises ).then( () => { - const pwUniqueIdMatches = [ ...localPatternText.matchAll( uniqueIdRegex ) ]; - + if ( ! doNotImportRemoteImages ) { // If there are matches, we need to process them. - if ( pwUniqueIdMatches.length ) { - // Loop through matches, generate unique ID, and replace. - pwUniqueIdMatches.forEach( ( match ) => { - const newUniqueId = generateUniqueId(); - uniqueIds.push( newUniqueId ); - patternText.replace( match[ 1 ], `"uniqueId":"${ newUniqueId }"` ); + if ( matches.length ) { + setPatternImages( matches ); + matches.forEach( ( match ) => { + imagesToProcess.push( match[ 2 ] ); } ); } - // Convert pattern to blocks. - try { - const patternBlocks = parse( localPatternText ); + // Check for background images. + const bgMatches = [ ...patternText.matchAll( backgroundImageRegEx ) ]; - replaceBlock( clientId, patternBlocks ); + // If there are bg matches, we need to process them. + if ( bgMatches.length ) { + setPatternBackgroundImages( bgMatches ); - // Insert block in place of this one. - //replaceInnerBlocks( clientId, patternBlocks ); - } catch ( error ) { + bgMatches.forEach( ( match ) => { + imagesToProcess.push( match[ 1 ] ); + } ); } - } ).catch( ( error ) => { - const pwUniqueIdMatches = [ ...localPatternText.matchAll( uniqueIdRegex ) ]; - // If there are matches, we need to process them. - if ( pwUniqueIdMatches.length ) { - // Loop through matches, generate unique ID, and replace. - pwUniqueIdMatches.forEach( ( match ) => { - const newUniqueId = generateUniqueId(); - uniqueIds.push( newUniqueId ); - patternText.replace( match[ 1 ], `"uniqueId":"${ newUniqueId }"` ); + const imagesProcessed = []; + let imagePromises = []; + + // Let's loop through images and process. + if ( imagesToProcess.length ) { + imagePromises = imagesToProcess.map( ( image ) => { + try { + const response = processImage( image, '' ); + response.then( ( restResponse ) => { + imagesProcessed.push( image ); + const { data, success } = restResponse.data; + if ( success ) { + imageCount++; + setImageProcessingCount( imageCount ); + + // Get the image URL and replace in pattern. + const newImageUrl = data.attachmentUrl; + + // Replace old URL with new URL. + localPatternText = localPatternText.replace( image, newImageUrl ); + setPatternText( localPatternText ); + } else { + // Fail silently. + imageCount++; + setImageProcessingCount( imageCount ); + } + } ).catch( ( error ) => { + // Fail silently. + imageCount++; + setImageProcessingCount( imageCount ); + } ); + return response; + } catch ( error ) { + // Fail silently. + imageCount++; + setImageProcessingCount( imageCount ); + } } ); } - // Convert pattern to blocks. - try { - const patternBlocks = parse( localPatternText ); - replaceBlock( clientId, patternBlocks ); + Promise.all( imagePromises ).then( () => { + importPattern( localPatternText ); + } ).catch( ( error ) => { + importPattern( localPatternText ); + } ); + } else { + importPattern( localPatternText ); + } + }; - // Insert block in place of this one. - //replaceInnerBlocks( clientId, patternBlocks ); - } catch ( error ) { - } - } ); + /** + * Return and generate a new unique ID. + * + * @param {string} blockPatternText The block pattern text. + * + * @return {string} The blockPatternText. + */ + const replaceUniqueIds = ( blockPatternText ) => { + const pwUniqueIdMatches = [ ...blockPatternText.matchAll( uniqueIdRegex ) ]; + + if ( pwUniqueIdMatches.length ) { + // Loop through matches, generate unique ID, and replace. + pwUniqueIdMatches.forEach( ( match ) => { + const newUniqueId = generateUniqueId(); + uniqueIds.push( newUniqueId ); + blockPatternText.replace( match[ 1 ], `"uniqueId":"${ newUniqueId }"` ); + } ); + } + return blockPatternText; }; /** @@ -225,6 +231,12 @@ const PatternImporter = ( props ) => { onChange={ ( value ) => setPatternText( value ) } disabled={ importing } /> + setDoNotImportRemoteImages( value ) } + disabled={ importing } + />