mirror of
https://github.com/mblanke/holiday-travel-app.git
synced 2026-03-01 13:30:20 -05:00
45 lines
37 KiB
JavaScript
45 lines
37 KiB
JavaScript
"use strict";
|
|
/*
|
|
* ATTENTION: An "eval-source-map" devtool has been used.
|
|
* This devtool is neither made for production nor for readable output files.
|
|
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
|
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
* or disable the default devtool with "devtool: false".
|
|
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
*/
|
|
exports.id = "vendor-chunks/cheerio-select";
|
|
exports.ids = ["vendor-chunks/cheerio-select"];
|
|
exports.modules = {
|
|
|
|
/***/ "(rsc)/./node_modules/cheerio-select/lib/esm/helpers.js":
|
|
/*!********************************************************!*\
|
|
!*** ./node_modules/cheerio-select/lib/esm/helpers.js ***!
|
|
\********************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getDocumentRoot: () => (/* binding */ getDocumentRoot),\n/* harmony export */ groupSelectors: () => (/* binding */ groupSelectors)\n/* harmony export */ });\n/* harmony import */ var _positionals_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./positionals.js */ \"(rsc)/./node_modules/cheerio-select/lib/esm/positionals.js\");\n\nfunction getDocumentRoot(node) {\n while (node.parent)\n node = node.parent;\n return node;\n}\nfunction groupSelectors(selectors) {\n const filteredSelectors = [];\n const plainSelectors = [];\n for (const selector of selectors) {\n if (selector.some(_positionals_js__WEBPACK_IMPORTED_MODULE_0__.isFilter)) {\n filteredSelectors.push(selector);\n }\n else {\n plainSelectors.push(selector);\n }\n }\n return [plainSelectors, filteredSelectors];\n}\n//# sourceMappingURL=helpers.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvY2hlZXJpby1zZWxlY3QvbGliL2VzbS9oZWxwZXJzLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUE0QztBQUNyQztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIscURBQVE7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaG9saWRheS1kZWFsLWZpbmRlci8uL25vZGVfbW9kdWxlcy9jaGVlcmlvLXNlbGVjdC9saWIvZXNtL2hlbHBlcnMuanM/ZWRmMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0ZpbHRlciB9IGZyb20gXCIuL3Bvc2l0aW9uYWxzLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gZ2V0RG9jdW1lbnRSb290KG5vZGUpIHtcbiAgICB3aGlsZSAobm9kZS5wYXJlbnQpXG4gICAgICAgIG5vZGUgPSBub2RlLnBhcmVudDtcbiAgICByZXR1cm4gbm9kZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBncm91cFNlbGVjdG9ycyhzZWxlY3RvcnMpIHtcbiAgICBjb25zdCBmaWx0ZXJlZFNlbGVjdG9ycyA9IFtdO1xuICAgIGNvbnN0IHBsYWluU2VsZWN0b3JzID0gW107XG4gICAgZm9yIChjb25zdCBzZWxlY3RvciBvZiBzZWxlY3RvcnMpIHtcbiAgICAgICAgaWYgKHNlbGVjdG9yLnNvbWUoaXNGaWx0ZXIpKSB7XG4gICAgICAgICAgICBmaWx0ZXJlZFNlbGVjdG9ycy5wdXNoKHNlbGVjdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHBsYWluU2VsZWN0b3JzLnB1c2goc2VsZWN0b3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbcGxhaW5TZWxlY3RvcnMsIGZpbHRlcmVkU2VsZWN0b3JzXTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlbHBlcnMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/cheerio-select/lib/esm/helpers.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(rsc)/./node_modules/cheerio-select/lib/esm/index.js":
|
|
/*!******************************************************!*\
|
|
!*** ./node_modules/cheerio-select/lib/esm/index.js ***!
|
|
\******************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ aliases: () => (/* reexport safe */ css_select__WEBPACK_IMPORTED_MODULE_0__.aliases),\n/* harmony export */ filter: () => (/* binding */ filter),\n/* harmony export */ filters: () => (/* reexport safe */ css_select__WEBPACK_IMPORTED_MODULE_0__.filters),\n/* harmony export */ is: () => (/* binding */ is),\n/* harmony export */ pseudos: () => (/* reexport safe */ css_select__WEBPACK_IMPORTED_MODULE_0__.pseudos),\n/* harmony export */ select: () => (/* binding */ select),\n/* harmony export */ some: () => (/* binding */ some)\n/* harmony export */ });\n/* harmony import */ var css_what__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! css-what */ \"(rsc)/./node_modules/css-what/lib/es/types.js\");\n/* harmony import */ var css_what__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! css-what */ \"(rsc)/./node_modules/css-what/lib/es/parse.js\");\n/* harmony import */ var css_select__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! css-select */ \"(rsc)/./node_modules/css-select/lib/esm/index.js\");\n/* harmony import */ var domutils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! domutils */ \"(rsc)/./node_modules/domutils/lib/esm/index.js\");\n/* harmony import */ var boolbase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! boolbase */ \"(rsc)/./node_modules/boolbase/index.js\");\n/* harmony import */ var _helpers_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers.js */ \"(rsc)/./node_modules/cheerio-select/lib/esm/helpers.js\");\n/* harmony import */ var _positionals_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./positionals.js */ \"(rsc)/./node_modules/cheerio-select/lib/esm/positionals.js\");\n\n\n\n\n\n\n// Re-export pseudo extension points\n\nconst UNIVERSAL_SELECTOR = {\n type: css_what__WEBPACK_IMPORTED_MODULE_5__.SelectorType.Universal,\n namespace: null,\n};\nconst SCOPE_PSEUDO = {\n type: css_what__WEBPACK_IMPORTED_MODULE_5__.SelectorType.Pseudo,\n name: \"scope\",\n data: null,\n};\nfunction is(element, selector, options = {}) {\n return some([element], selector, options);\n}\nfunction some(elements, selector, options = {}) {\n if (typeof selector === \"function\")\n return elements.some(selector);\n const [plain, filtered] = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_3__.groupSelectors)((0,css_what__WEBPACK_IMPORTED_MODULE_6__.parse)(selector));\n return ((plain.length > 0 && elements.some((0,css_select__WEBPACK_IMPORTED_MODULE_0__._compileToken)(plain, options))) ||\n filtered.some((sel) => filterBySelector(sel, elements, options).length > 0));\n}\nfunction filterByPosition(filter, elems, data, options) {\n const num = typeof data === \"string\" ? parseInt(data, 10) : NaN;\n switch (filter) {\n case \"first\":\n case \"lt\":\n // Already done in `getLimit`\n return elems;\n case \"last\":\n return elems.length > 0 ? [elems[elems.length - 1]] : elems;\n case \"nth\":\n case \"eq\":\n return isFinite(num) && Math.abs(num) < elems.length\n ? [num < 0 ? elems[elems.length + num] : elems[num]]\n : [];\n case \"gt\":\n return isFinite(num) ? elems.slice(num + 1) : [];\n case \"even\":\n return elems.filter((_, i) => i % 2 === 0);\n case \"odd\":\n return elems.filter((_, i) => i % 2 === 1);\n case \"not\": {\n const filtered = new Set(filterParsed(data, elems, options));\n return elems.filter((e) => !filtered.has(e));\n }\n }\n}\nfunction filter(selector, elements, options = {}) {\n return filterParsed((0,css_what__WEBPACK_IMPORTED_MODULE_6__.parse)(selector), elements, options);\n}\n/**\n * Filter a set of elements by a selector.\n *\n * Will return elements in the original order.\n *\n * @param selector Selector to filter by.\n * @param elements Elements to filter.\n * @param options Options for selector.\n */\nfunction filterParsed(selector, elements, options) {\n if (elements.length === 0)\n return [];\n const [plainSelectors, filteredSelectors] = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_3__.groupSelectors)(selector);\n let found;\n if (plainSelectors.length) {\n const filtered = filterElements(elements, plainSelectors, options);\n // If there are no filters, just return\n if (filteredSelectors.length === 0) {\n return filtered;\n }\n // Otherwise, we have to do some filtering\n if (filtered.length) {\n found = new Set(filtered);\n }\n }\n for (let i = 0; i < filteredSelectors.length && (found === null || found === void 0 ? void 0 : found.size) !== elements.length; i++) {\n const filteredSelector = filteredSelectors[i];\n const missing = found\n ? elements.filter((e) => domutils__WEBPACK_IMPORTED_MODULE_1__.isTag(e) && !found.has(e))\n : elements;\n if (missing.length === 0)\n break;\n const filtered = filterBySelector(filteredSelector, elements, options);\n if (filtered.length) {\n if (!found) {\n /*\n * If we haven't found anything before the last selector,\n * just return what we found now.\n */\n if (i === filteredSelectors.length - 1) {\n return filtered;\n }\n found = new Set(filtered);\n }\n else {\n filtered.forEach((el) => found.add(el));\n }\n }\n }\n return typeof found !== \"undefined\"\n ? (found.size === elements.length\n ? elements\n : // Filter elements to preserve order\n elements.filter((el) => found.has(el)))\n : [];\n}\nfunction filterBySelector(selector, elements, options) {\n var _a;\n if (selector.some(css_what__WEBPACK_IMPORTED_MODULE_6__.isTraversal)) {\n /*\n * Get root node, run selector with the scope\n * set to all of our nodes.\n */\n const root = (_a = options.root) !== null && _a !== void 0 ? _a : (0,_helpers_js__WEBPACK_IMPORTED_MODULE_3__.getDocumentRoot)(elements[0]);\n const opts = { ...options, context: elements, relativeSelector: false };\n selector.push(SCOPE_PSEUDO);\n return findFilterElements(root, selector, opts, true, elements.length);\n }\n // Performance optimization: If we don't have to traverse, just filter set.\n return findFilterElements(elements, selector, options, false, elements.length);\n}\nfunction select(selector, root, options = {}, limit = Infinity) {\n if (typeof selector === \"function\") {\n return find(root, selector);\n }\n const [plain, filtered] = (0,_helpers_js__WEBPACK_IMPORTED_MODULE_3__.groupSelectors)((0,css_what__WEBPACK_IMPORTED_MODULE_6__.parse)(selector));\n const results = filtered.map((sel) => findFilterElements(root, sel, options, true, limit));\n // Plain selectors can be queried in a single go\n if (plain.length) {\n results.push(findElements(root, plain, options, limit));\n }\n if (results.length === 0) {\n return [];\n }\n // If there was only a single selector, just return the result\n if (results.length === 1) {\n return results[0];\n }\n // Sort results, filtering for duplicates\n return domutils__WEBPACK_IMPORTED_MODULE_1__.uniqueSort(results.reduce((a, b) => [...a, ...b]));\n}\n/**\n *\n * @param root Element(s) to search from.\n * @param selector Selector to look for.\n * @param options Options for querying.\n * @param queryForSelector Query multiple levels deep for the initial selector, even if it doesn't contain a traversal.\n */\nfunction findFilterElements(root, selector, options, queryForSelector, totalLimit) {\n const filterIndex = selector.findIndex(_positionals_js__WEBPACK_IMPORTED_MODULE_4__.isFilter);\n const sub = selector.slice(0, filterIndex);\n const filter = selector[filterIndex];\n // If we are at the end of the selector, we can limit the number of elements to retrieve.\n const partLimit = selector.length - 1 === filterIndex ? totalLimit : Infinity;\n /*\n * Set the number of elements to retrieve.\n * Eg. for :first, we only have to get a single element.\n */\n const limit = (0,_positionals_js__WEBPACK_IMPORTED_MODULE_4__.getLimit)(filter.name, filter.data, partLimit);\n if (limit === 0)\n return [];\n /*\n * Skip `findElements` call if our selector starts with a positional\n * pseudo.\n */\n const elemsNoLimit = sub.length === 0 && !Array.isArray(root)\n ? domutils__WEBPACK_IMPORTED_MODULE_1__.getChildren(root).filter(domutils__WEBPACK_IMPORTED_MODULE_1__.isTag)\n : sub.length === 0\n ? (Array.isArray(root) ? root : [root]).filter(domutils__WEBPACK_IMPORTED_MODULE_1__.isTag)\n : queryForSelector || sub.some(css_what__WEBPACK_IMPORTED_MODULE_6__.isTraversal)\n ? findElements(root, [sub], options, limit)\n : filterElements(root, [sub], options);\n const elems = elemsNoLimit.slice(0, limit);\n let result = filterByPosition(filter.name, elems, filter.data, options);\n if (result.length === 0 || selector.length === filterIndex + 1) {\n return result;\n }\n const remainingSelector = selector.slice(filterIndex + 1);\n const remainingHasTraversal = remainingSelector.some(css_what__WEBPACK_IMPORTED_MODULE_6__.isTraversal);\n if (remainingHasTraversal) {\n if ((0,css_what__WEBPACK_IMPORTED_MODULE_6__.isTraversal)(remainingSelector[0])) {\n const { type } = remainingSelector[0];\n if (type === css_what__WEBPACK_IMPORTED_MODULE_5__.SelectorType.Sibling ||\n type === css_what__WEBPACK_IMPORTED_MODULE_5__.SelectorType.Adjacent) {\n // If we have a sibling traversal, we need to also look at the siblings.\n result = (0,css_select__WEBPACK_IMPORTED_MODULE_0__.prepareContext)(result, domutils__WEBPACK_IMPORTED_MODULE_1__, true);\n }\n // Avoid a traversal-first selector error.\n remainingSelector.unshift(UNIVERSAL_SELECTOR);\n }\n options = {\n ...options,\n // Avoid absolutizing the selector\n relativeSelector: false,\n /*\n * Add a custom root func, to make sure traversals don't match elements\n * that aren't a part of the considered tree.\n */\n rootFunc: (el) => result.includes(el),\n };\n }\n else if (options.rootFunc && options.rootFunc !== boolbase__WEBPACK_IMPORTED_MODULE_2__.trueFunc) {\n options = { ...options, rootFunc: boolbase__WEBPACK_IMPORTED_MODULE_2__.trueFunc };\n }\n /*\n * If we have another filter, recursively call `findFilterElements`,\n * with the `recursive` flag disabled. We only have to look for more\n * elements when we see a traversal.\n *\n * Otherwise,\n */\n return remainingSelector.some(_positionals_js__WEBPACK_IMPORTED_MODULE_4__.isFilter)\n ? findFilterElements(result, remainingSelector, options, false, totalLimit)\n : remainingHasTraversal\n ? // Query existing elements to resolve traversal.\n findElements(result, [remainingSelector], options, totalLimit)\n : // If we don't have any more traversals, simply filter elements.\n filterElements(result, [remainingSelector], options);\n}\nfunction findElements(root, sel, options, limit) {\n const query = (0,css_select__WEBPACK_IMPORTED_MODULE_0__._compileToken)(sel, options, root);\n return find(root, query, limit);\n}\nfunction find(root, query, limit = Infinity) {\n const elems = (0,css_select__WEBPACK_IMPORTED_MODULE_0__.prepareContext)(root, domutils__WEBPACK_IMPORTED_MODULE_1__, query.shouldTestNextSiblings);\n return domutils__WEBPACK_IMPORTED_MODULE_1__.find((node) => domutils__WEBPACK_IMPORTED_MODULE_1__.isTag(node) && query(node), elems, true, limit);\n}\nfunction filterElements(elements, sel, options) {\n const els = (Array.isArray(elements) ? elements : [elements]).filter(domutils__WEBPACK_IMPORTED_MODULE_1__.isTag);\n if (els.length === 0)\n return els;\n const query = (0,css_select__WEBPACK_IMPORTED_MODULE_0__._compileToken)(sel, options);\n return query === boolbase__WEBPACK_IMPORTED_MODULE_2__.trueFunc ? els : els.filter(query);\n}\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvY2hlZXJpby1zZWxlY3QvbGliL2VzbS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUE0RDtBQUNnQjtBQUN2QztBQUNBO0FBQzBCO0FBQ1I7QUFDdkQ7QUFDdUQ7QUFDdkQ7QUFDQSxVQUFVLGtEQUFZO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBLFVBQVUsa0RBQVk7QUFDdEI7QUFDQTtBQUNBO0FBQ08sMkNBQTJDO0FBQ2xEO0FBQ0E7QUFDTyw4Q0FBOEM7QUFDckQ7QUFDQTtBQUNBLDhCQUE4QiwyREFBYyxDQUFDLCtDQUFLO0FBQ2xELCtDQUErQyx5REFBWTtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLGdEQUFnRDtBQUN2RCx3QkFBd0IsK0NBQUs7QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0QsMkRBQWM7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGdIQUFnSDtBQUNwSTtBQUNBO0FBQ0EscUNBQXFDLDJDQUFjO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsaURBQVc7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwRUFBMEUsNERBQWU7QUFDekYsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLDRDQUE0QztBQUNuRDtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsMkRBQWMsQ0FBQywrQ0FBSztBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsZ0RBQW1CO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQyxxREFBUTtBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLHlEQUFRO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxpREFBb0IsY0FBYywyQ0FBYztBQUMxRDtBQUNBLDJEQUEyRCwyQ0FBYztBQUN6RSwyQ0FBMkMsaURBQVc7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RCxpREFBVztBQUNwRTtBQUNBLFlBQVkscURBQVc7QUFDdkIsb0JBQW9CLE9BQU87QUFDM0IseUJBQXlCLGtEQUFZO0FBQ3JDLHlCQUF5QixrREFBWTtBQUNyQztBQUNBLHlCQUF5QiwwREFBYyxTQUFTLHFDQUFRO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNEQUFzRCw4Q0FBaUI7QUFDdkUsb0JBQW9CLHNCQUFzQiw4Q0FBaUI7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQyxxREFBUTtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLHlEQUFZO0FBQzlCO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQiwwREFBYyxPQUFPLHFDQUFRO0FBQy9DLFdBQVcsMENBQWEsV0FBVywyQ0FBYztBQUNqRDtBQUNBO0FBQ0EseUVBQXlFLDJDQUFjO0FBQ3ZGO0FBQ0E7QUFDQSxrQkFBa0IseURBQVk7QUFDOUIscUJBQXFCLDhDQUFpQjtBQUN0QztBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaG9saWRheS1kZWFsLWZpbmRlci8uL25vZGVfbW9kdWxlcy9jaGVlcmlvLXNlbGVjdC9saWIvZXNtL2luZGV4LmpzPzU2NzYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyc2UsIFNlbGVjdG9yVHlwZSwgaXNUcmF2ZXJzYWwgfSBmcm9tIFwiY3NzLXdoYXRcIjtcbmltcG9ydCB7IF9jb21waWxlVG9rZW4gYXMgY29tcGlsZVRva2VuLCBwcmVwYXJlQ29udGV4dCwgfSBmcm9tIFwiY3NzLXNlbGVjdFwiO1xuaW1wb3J0ICogYXMgRG9tVXRpbHMgZnJvbSBcImRvbXV0aWxzXCI7XG5pbXBvcnQgKiBhcyBib29sYmFzZSBmcm9tIFwiYm9vbGJhc2VcIjtcbmltcG9ydCB7IGdldERvY3VtZW50Um9vdCwgZ3JvdXBTZWxlY3RvcnMgfSBmcm9tIFwiLi9oZWxwZXJzLmpzXCI7XG5pbXBvcnQgeyBpc0ZpbHRlciwgZ2V0TGltaXQsIH0gZnJvbSBcIi4vcG9zaXRpb25hbHMuanNcIjtcbi8vIFJlLWV4cG9ydCBwc2V1ZG8gZXh0ZW5zaW9uIHBvaW50c1xuZXhwb3J0IHsgZmlsdGVycywgcHNldWRvcywgYWxpYXNlcyB9IGZyb20gXCJjc3Mtc2VsZWN0XCI7XG5jb25zdCBVTklWRVJTQUxfU0VMRUNUT1IgPSB7XG4gICAgdHlwZTogU2VsZWN0b3JUeXBlLlVuaXZlcnNhbCxcbiAgICBuYW1lc3BhY2U6IG51bGwsXG59O1xuY29uc3QgU0NPUEVfUFNFVURPID0ge1xuICAgIHR5cGU6IFNlbGVjdG9yVHlwZS5Qc2V1ZG8sXG4gICAgbmFtZTogXCJzY29wZVwiLFxuICAgIGRhdGE6IG51bGwsXG59O1xuZXhwb3J0IGZ1bmN0aW9uIGlzKGVsZW1lbnQsIHNlbGVjdG9yLCBvcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gc29tZShbZWxlbWVudF0sIHNlbGVjdG9yLCBvcHRpb25zKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBzb21lKGVsZW1lbnRzLCBzZWxlY3Rvciwgb3B0aW9ucyA9IHt9KSB7XG4gICAgaWYgKHR5cGVvZiBzZWxlY3RvciA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICByZXR1cm4gZWxlbWVudHMuc29tZShzZWxlY3Rvcik7XG4gICAgY29uc3QgW3BsYWluLCBmaWx0ZXJlZF0gPSBncm91cFNlbGVjdG9ycyhwYXJzZShzZWxlY3RvcikpO1xuICAgIHJldHVybiAoKHBsYWluLmxlbmd0aCA+IDAgJiYgZWxlbWVudHMuc29tZShjb21waWxlVG9rZW4ocGxhaW4sIG9wdGlvbnMpKSkgfHxcbiAgICAgICAgZmlsdGVyZWQuc29tZSgoc2VsKSA9PiBmaWx0ZXJCeVNlbGVjdG9yKHNlbCwgZWxlbWVudHMsIG9wdGlvbnMpLmxlbmd0aCA+IDApKTtcbn1cbmZ1bmN0aW9uIGZpbHRlckJ5UG9zaXRpb24oZmlsdGVyLCBlbGVtcywgZGF0YSwgb3B0aW9ucykge1xuICAgIGNvbnN0IG51bSA9IHR5cGVvZiBkYXRhID09PSBcInN0cmluZ1wiID8gcGFyc2VJbnQoZGF0YSwgMTApIDogTmFOO1xuICAgIHN3aXRjaCAoZmlsdGVyKSB7XG4gICAgICAgIGNhc2UgXCJmaXJzdFwiOlxuICAgICAgICBjYXNlIFwibHRcIjpcbiAgICAgICAgICAgIC8vIEFscmVhZHkgZG9uZSBpbiBgZ2V0TGltaXRgXG4gICAgICAgICAgICByZXR1cm4gZWxlbXM7XG4gICAgICAgIGNhc2UgXCJsYXN0XCI6XG4gICAgICAgICAgICByZXR1cm4gZWxlbXMubGVuZ3RoID4gMCA/IFtlbGVtc1tlbGVtcy5sZW5ndGggLSAxXV0gOiBlbGVtcztcbiAgICAgICAgY2FzZSBcIm50aFwiOlxuICAgICAgICBjYXNlIFwiZXFcIjpcbiAgICAgICAgICAgIHJldHVybiBpc0Zpbml0ZShudW0pICYmIE1hdGguYWJzKG51bSkgPCBlbGVtcy5sZW5ndGhcbiAgICAgICAgICAgICAgICA/IFtudW0gPCAwID8gZWxlbXNbZWxlbXMubGVuZ3RoICsgbnVtXSA6IGVsZW1zW251bV1dXG4gICAgICAgICAgICAgICAgOiBbXTtcbiAgICAgICAgY2FzZSBcImd0XCI6XG4gICAgICAgICAgICByZXR1cm4gaXNGaW5pdGUobnVtKSA/IGVsZW1zLnNsaWNlKG51bSArIDEpIDogW107XG4gICAgICAgIGNhc2UgXCJldmVuXCI6XG4gICAgICAgICAgICByZXR1cm4gZWxlbXMuZmlsdGVyKChfLCBpKSA9PiBpICUgMiA9PT0gMCk7XG4gICAgICAgIGNhc2UgXCJvZGRcIjpcbiAgICAgICAgICAgIHJldHVybiBlbGVtcy5maWx0ZXIoKF8sIGkpID0+IGkgJSAyID09PSAxKTtcbiAgICAgICAgY2FzZSBcIm5vdFwiOiB7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IG5ldyBTZXQoZmlsdGVyUGFyc2VkKGRhdGEsIGVsZW1zLCBvcHRpb25zKSk7XG4gICAgICAgICAgICByZXR1cm4gZWxlbXMuZmlsdGVyKChlKSA9PiAhZmlsdGVyZWQuaGFzKGUpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXIoc2VsZWN0b3IsIGVsZW1lbnRzLCBvcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gZmlsdGVyUGFyc2VkKHBhcnNlKHNlbGVjdG9yKSwgZWxlbWVudHMsIG9wdGlvbnMpO1xufVxuLyoqXG4gKiBGaWx0ZXIgYSBzZXQgb2YgZWxlbWVudHMgYnkgYSBzZWxlY3Rvci5cbiAqXG4gKiBXaWxsIHJldHVybiBlbGVtZW50cyBpbiB0aGUgb3JpZ2luYWwgb3JkZXIuXG4gKlxuICogQHBhcmFtIHNlbGVjdG9yIFNlbGVjdG9yIHRvIGZpbHRlciBieS5cbiAqIEBwYXJhbSBlbGVtZW50cyBFbGVtZW50cyB0byBmaWx0ZXIuXG4gKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciBzZWxlY3Rvci5cbiAqL1xuZnVuY3Rpb24gZmlsdGVyUGFyc2VkKHNlbGVjdG9yLCBlbGVtZW50cywgb3B0aW9ucykge1xuICAgIGlmIChlbGVtZW50cy5sZW5ndGggPT09IDApXG4gICAgICAgIHJldHVybiBbXTtcbiAgICBjb25zdCBbcGxhaW5TZWxlY3RvcnMsIGZpbHRlcmVkU2VsZWN0b3JzXSA9IGdyb3VwU2VsZWN0b3JzKHNlbGVjdG9yKTtcbiAgICBsZXQgZm91bmQ7XG4gICAgaWYgKHBsYWluU2VsZWN0b3JzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IGZpbHRlckVsZW1lbnRzKGVsZW1lbnRzLCBwbGFpblNlbGVjdG9ycywgb3B0aW9ucyk7XG4gICAgICAgIC8vIElmIHRoZXJlIGFyZSBubyBmaWx0ZXJzLCBqdXN0IHJldHVyblxuICAgICAgICBpZiAoZmlsdGVyZWRTZWxlY3RvcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gZmlsdGVyZWQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8gT3RoZXJ3aXNlLCB3ZSBoYXZlIHRvIGRvIHNvbWUgZmlsdGVyaW5nXG4gICAgICAgIGlmIChmaWx0ZXJlZC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGZvdW5kID0gbmV3IFNldChmaWx0ZXJlZCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaWx0ZXJlZFNlbGVjdG9ycy5sZW5ndGggJiYgKGZvdW5kID09PSBudWxsIHx8IGZvdW5kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmb3VuZC5zaXplKSAhPT0gZWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgZmlsdGVyZWRTZWxlY3RvciA9IGZpbHRlcmVkU2VsZWN0b3JzW2ldO1xuICAgICAgICBjb25zdCBtaXNzaW5nID0gZm91bmRcbiAgICAgICAgICAgID8gZWxlbWVudHMuZmlsdGVyKChlKSA9PiBEb21VdGlscy5pc1RhZyhlKSAmJiAhZm91bmQuaGFzKGUpKVxuICAgICAgICAgICAgOiBlbGVtZW50cztcbiAgICAgICAgaWYgKG1pc3NpbmcubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkID0gZmlsdGVyQnlTZWxlY3RvcihmaWx0ZXJlZFNlbGVjdG9yLCBlbGVtZW50cywgb3B0aW9ucyk7XG4gICAgICAgIGlmIChmaWx0ZXJlZC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAqIElmIHdlIGhhdmVuJ3QgZm91bmQgYW55dGhpbmcgYmVmb3JlIHRoZSBsYXN0IHNlbGVjdG9yLFxuICAgICAgICAgICAgICAgICAqIGp1c3QgcmV0dXJuIHdoYXQgd2UgZm91bmQgbm93LlxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIGlmIChpID09PSBmaWx0ZXJlZFNlbGVjdG9ycy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJlZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm91bmQgPSBuZXcgU2V0KGZpbHRlcmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGZpbHRlcmVkLmZvckVhY2goKGVsKSA9PiBmb3VuZC5hZGQoZWwpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHlwZW9mIGZvdW5kICE9PSBcInVuZGVmaW5lZFwiXG4gICAgICAgID8gKGZvdW5kLnNpemUgPT09IGVsZW1lbnRzLmxlbmd0aFxuICAgICAgICAgICAgPyBlbGVtZW50c1xuICAgICAgICAgICAgOiAvLyBGaWx0ZXIgZWxlbWVudHMgdG8gcHJlc2VydmUgb3JkZXJcbiAgICAgICAgICAgICAgICBlbGVtZW50cy5maWx0ZXIoKGVsKSA9PiBmb3VuZC5oYXMoZWwpKSlcbiAgICAgICAgOiBbXTtcbn1cbmZ1bmN0aW9uIGZpbHRlckJ5U2VsZWN0b3Ioc2VsZWN0b3IsIGVsZW1lbnRzLCBvcHRpb25zKSB7XG4gICAgdmFyIF9hO1xuICAgIGlmIChzZWxlY3Rvci5zb21lKGlzVHJhdmVyc2FsKSkge1xuICAgICAgICAvKlxuICAgICAgICAgKiBHZXQgcm9vdCBub2RlLCBydW4gc2VsZWN0b3Igd2l0aCB0aGUgc2NvcGVcbiAgICAgICAgICogc2V0IHRvIGFsbCBvZiBvdXIgbm9kZXMuXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCByb290ID0gKF9hID0gb3B0aW9ucy5yb290KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBnZXREb2N1bWVudFJvb3QoZWxlbWVudHNbMF0pO1xuICAgICAgICBjb25zdCBvcHRzID0geyAuLi5vcHRpb25zLCBjb250ZXh0OiBlbGVtZW50cywgcmVsYXRpdmVTZWxlY3RvcjogZmFsc2UgfTtcbiAgICAgICAgc2VsZWN0b3IucHVzaChTQ09QRV9QU0VVRE8pO1xuICAgICAgICByZXR1cm4gZmluZEZpbHRlckVsZW1lbnRzKHJvb3QsIHNlbGVjdG9yLCBvcHRzLCB0cnVlLCBlbGVtZW50cy5sZW5ndGgpO1xuICAgIH1cbiAgICAvLyBQZXJmb3JtYW5jZSBvcHRpbWl6YXRpb246IElmIHdlIGRvbid0IGhhdmUgdG8gdHJhdmVyc2UsIGp1c3QgZmlsdGVyIHNldC5cbiAgICByZXR1cm4gZmluZEZpbHRlckVsZW1lbnRzKGVsZW1lbnRzLCBzZWxlY3Rvciwgb3B0aW9ucywgZmFsc2UsIGVsZW1lbnRzLmxlbmd0aCk7XG59XG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0KHNlbGVjdG9yLCByb290LCBvcHRpb25zID0ge30sIGxpbWl0ID0gSW5maW5pdHkpIHtcbiAgICBpZiAodHlwZW9mIHNlbGVjdG9yID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIGZpbmQocm9vdCwgc2VsZWN0b3IpO1xuICAgIH1cbiAgICBjb25zdCBbcGxhaW4sIGZpbHRlcmVkXSA9IGdyb3VwU2VsZWN0b3JzKHBhcnNlKHNlbGVjdG9yKSk7XG4gICAgY29uc3QgcmVzdWx0cyA9IGZpbHRlcmVkLm1hcCgoc2VsKSA9PiBmaW5kRmlsdGVyRWxlbWVudHMocm9vdCwgc2VsLCBvcHRpb25zLCB0cnVlLCBsaW1pdCkpO1xuICAgIC8vIFBsYWluIHNlbGVjdG9ycyBjYW4gYmUgcXVlcmllZCBpbiBhIHNpbmdsZSBnb1xuICAgIGlmIChwbGFpbi5sZW5ndGgpIHtcbiAgICAgICAgcmVzdWx0cy5wdXNoKGZpbmRFbGVtZW50cyhyb290LCBwbGFpbiwgb3B0aW9ucywgbGltaXQpKTtcbiAgICB9XG4gICAgaWYgKHJlc3VsdHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgLy8gSWYgdGhlcmUgd2FzIG9ubHkgYSBzaW5nbGUgc2VsZWN0b3IsIGp1c3QgcmV0dXJuIHRoZSByZXN1bHRcbiAgICBpZiAocmVzdWx0cy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdHNbMF07XG4gICAgfVxuICAgIC8vIFNvcnQgcmVzdWx0cywgZmlsdGVyaW5nIGZvciBkdXBsaWNhdGVzXG4gICAgcmV0dXJuIERvbVV0aWxzLnVuaXF1ZVNvcnQocmVzdWx0cy5yZWR1Y2UoKGEsIGIpID0+IFsuLi5hLCAuLi5iXSkpO1xufVxuLyoqXG4gKlxuICogQHBhcmFtIHJvb3QgRWxlbWVudChzKSB0byBzZWFyY2ggZnJvbS5cbiAqIEBwYXJhbSBzZWxlY3RvciBTZWxlY3RvciB0byBsb29rIGZvci5cbiAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHF1ZXJ5aW5nLlxuICogQHBhcmFtIHF1ZXJ5Rm9yU2VsZWN0b3IgUXVlcnkgbXVsdGlwbGUgbGV2ZWxzIGRlZXAgZm9yIHRoZSBpbml0aWFsIHNlbGVjdG9yLCBldmVuIGlmIGl0IGRvZXNuJ3QgY29udGFpbiBhIHRyYXZlcnNhbC5cbiAqL1xuZnVuY3Rpb24gZmluZEZpbHRlckVsZW1lbnRzKHJvb3QsIHNlbGVjdG9yLCBvcHRpb25zLCBxdWVyeUZvclNlbGVjdG9yLCB0b3RhbExpbWl0KSB7XG4gICAgY29uc3QgZmlsdGVySW5kZXggPSBzZWxlY3Rvci5maW5kSW5kZXgoaXNGaWx0ZXIpO1xuICAgIGNvbnN0IHN1YiA9IHNlbGVjdG9yLnNsaWNlKDAsIGZpbHRlckluZGV4KTtcbiAgICBjb25zdCBmaWx0ZXIgPSBzZWxlY3RvcltmaWx0ZXJJbmRleF07XG4gICAgLy8gSWYgd2UgYXJlIGF0IHRoZSBlbmQgb2YgdGhlIHNlbGVjdG9yLCB3ZSBjYW4gbGltaXQgdGhlIG51bWJlciBvZiBlbGVtZW50cyB0byByZXRyaWV2ZS5cbiAgICBjb25zdCBwYXJ0TGltaXQgPSBzZWxlY3Rvci5sZW5ndGggLSAxID09PSBmaWx0ZXJJbmRleCA/IHRvdGFsTGltaXQgOiBJbmZpbml0eTtcbiAgICAvKlxuICAgICAqIFNldCB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIHRvIHJldHJpZXZlLlxuICAgICAqIEVnLiBmb3IgOmZpcnN0LCB3ZSBvbmx5IGhhdmUgdG8gZ2V0IGEgc2luZ2xlIGVsZW1lbnQuXG4gICAgICovXG4gICAgY29uc3QgbGltaXQgPSBnZXRMaW1pdChmaWx0ZXIubmFtZSwgZmlsdGVyLmRhdGEsIHBhcnRMaW1pdCk7XG4gICAgaWYgKGxpbWl0ID09PSAwKVxuICAgICAgICByZXR1cm4gW107XG4gICAgLypcbiAgICAgKiBTa2lwIGBmaW5kRWxlbWVudHNgIGNhbGwgaWYgb3VyIHNlbGVjdG9yIHN0YXJ0cyB3aXRoIGEgcG9zaXRpb25hbFxuICAgICAqIHBzZXVkby5cbiAgICAgKi9cbiAgICBjb25zdCBlbGVtc05vTGltaXQgPSBzdWIubGVuZ3RoID09PSAwICYmICFBcnJheS5pc0FycmF5KHJvb3QpXG4gICAgICAgID8gRG9tVXRpbHMuZ2V0Q2hpbGRyZW4ocm9vdCkuZmlsdGVyKERvbVV0aWxzLmlzVGFnKVxuICAgICAgICA6IHN1Yi5sZW5ndGggPT09IDBcbiAgICAgICAgICAgID8gKEFycmF5LmlzQXJyYXkocm9vdCkgPyByb290IDogW3Jvb3RdKS5maWx0ZXIoRG9tVXRpbHMuaXNUYWcpXG4gICAgICAgICAgICA6IHF1ZXJ5Rm9yU2VsZWN0b3IgfHwgc3ViLnNvbWUoaXNUcmF2ZXJzYWwpXG4gICAgICAgICAgICAgICAgPyBmaW5kRWxlbWVudHMocm9vdCwgW3N1Yl0sIG9wdGlvbnMsIGxpbWl0KVxuICAgICAgICAgICAgICAgIDogZmlsdGVyRWxlbWVudHMocm9vdCwgW3N1Yl0sIG9wdGlvbnMpO1xuICAgIGNvbnN0IGVsZW1zID0gZWxlbXNOb0xpbWl0LnNsaWNlKDAsIGxpbWl0KTtcbiAgICBsZXQgcmVzdWx0ID0gZmlsdGVyQnlQb3NpdGlvbihmaWx0ZXIubmFtZSwgZWxlbXMsIGZpbHRlci5kYXRhLCBvcHRpb25zKTtcbiAgICBpZiAocmVzdWx0Lmxlbmd0aCA9PT0gMCB8fCBzZWxlY3Rvci5sZW5ndGggPT09IGZpbHRlckluZGV4ICsgMSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBjb25zdCByZW1haW5pbmdTZWxlY3RvciA9IHNlbGVjdG9yLnNsaWNlKGZpbHRlckluZGV4ICsgMSk7XG4gICAgY29uc3QgcmVtYWluaW5nSGFzVHJhdmVyc2FsID0gcmVtYWluaW5nU2VsZWN0b3Iuc29tZShpc1RyYXZlcnNhbCk7XG4gICAgaWYgKHJlbWFpbmluZ0hhc1RyYXZlcnNhbCkge1xuICAgICAgICBpZiAoaXNUcmF2ZXJzYWwocmVtYWluaW5nU2VsZWN0b3JbMF0pKSB7XG4gICAgICAgICAgICBjb25zdCB7IHR5cGUgfSA9IHJlbWFpbmluZ1NlbGVjdG9yWzBdO1xuICAgICAgICAgICAgaWYgKHR5cGUgPT09IFNlbGVjdG9yVHlwZS5TaWJsaW5nIHx8XG4gICAgICAgICAgICAgICAgdHlwZSA9PT0gU2VsZWN0b3JUeXBlLkFkamFjZW50KSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIHNpYmxpbmcgdHJhdmVyc2FsLCB3ZSBuZWVkIHRvIGFsc28gbG9vayBhdCB0aGUgc2libGluZ3MuXG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gcHJlcGFyZUNvbnRleHQocmVzdWx0LCBEb21VdGlscywgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBBdm9pZCBhIHRyYXZlcnNhbC1maXJzdCBzZWxlY3RvciBlcnJvci5cbiAgICAgICAgICAgIHJlbWFpbmluZ1NlbGVjdG9yLnVuc2hpZnQoVU5JVkVSU0FMX1NFTEVDVE9SKTtcbiAgICAgICAgfVxuICAgICAgICBvcHRpb25zID0ge1xuICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgIC8vIEF2b2lkIGFic29sdXRpemluZyB0aGUgc2VsZWN0b3JcbiAgICAgICAgICAgIHJlbGF0aXZlU2VsZWN0b3I6IGZhbHNlLFxuICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAqIEFkZCBhIGN1c3RvbSByb290IGZ1bmMsIHRvIG1ha2Ugc3VyZSB0cmF2ZXJzYWxzIGRvbid0IG1hdGNoIGVsZW1lbnRzXG4gICAgICAgICAgICAgKiB0aGF0IGFyZW4ndCBhIHBhcnQgb2YgdGhlIGNvbnNpZGVyZWQgdHJlZS5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgcm9vdEZ1bmM6IChlbCkgPT4gcmVzdWx0LmluY2x1ZGVzKGVsKSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgZWxzZSBpZiAob3B0aW9ucy5yb290RnVuYyAmJiBvcHRpb25zLnJvb3RGdW5jICE9PSBib29sYmFzZS50cnVlRnVuYykge1xuICAgICAgICBvcHRpb25zID0geyAuLi5vcHRpb25zLCByb290RnVuYzogYm9vbGJhc2UudHJ1ZUZ1bmMgfTtcbiAgICB9XG4gICAgLypcbiAgICAgKiBJZiB3ZSBoYXZlIGFub3RoZXIgZmlsdGVyLCByZWN1cnNpdmVseSBjYWxsIGBmaW5kRmlsdGVyRWxlbWVudHNgLFxuICAgICAqIHdpdGggdGhlIGByZWN1cnNpdmVgIGZsYWcgZGlzYWJsZWQuIFdlIG9ubHkgaGF2ZSB0byBsb29rIGZvciBtb3JlXG4gICAgICogZWxlbWVudHMgd2hlbiB3ZSBzZWUgYSB0cmF2ZXJzYWwuXG4gICAgICpcbiAgICAgKiBPdGhlcndpc2UsXG4gICAgICovXG4gICAgcmV0dXJuIHJlbWFpbmluZ1NlbGVjdG9yLnNvbWUoaXNGaWx0ZXIpXG4gICAgICAgID8gZmluZEZpbHRlckVsZW1lbnRzKHJlc3VsdCwgcmVtYWluaW5nU2VsZWN0b3IsIG9wdGlvbnMsIGZhbHNlLCB0b3RhbExpbWl0KVxuICAgICAgICA6IHJlbWFpbmluZ0hhc1RyYXZlcnNhbFxuICAgICAgICAgICAgPyAvLyBRdWVyeSBleGlzdGluZyBlbGVtZW50cyB0byByZXNvbHZlIHRyYXZlcnNhbC5cbiAgICAgICAgICAgICAgICBmaW5kRWxlbWVudHMocmVzdWx0LCBbcmVtYWluaW5nU2VsZWN0b3JdLCBvcHRpb25zLCB0b3RhbExpbWl0KVxuICAgICAgICAgICAgOiAvLyBJZiB3ZSBkb24ndCBoYXZlIGFueSBtb3JlIHRyYXZlcnNhbHMsIHNpbXBseSBmaWx0ZXIgZWxlbWVudHMuXG4gICAgICAgICAgICAgICAgZmlsdGVyRWxlbWVudHMocmVzdWx0LCBbcmVtYWluaW5nU2VsZWN0b3JdLCBvcHRpb25zKTtcbn1cbmZ1bmN0aW9uIGZpbmRFbGVtZW50cyhyb290LCBzZWwsIG9wdGlvbnMsIGxpbWl0KSB7XG4gICAgY29uc3QgcXVlcnkgPSBjb21waWxlVG9rZW4oc2VsLCBvcHRpb25zLCByb290KTtcbiAgICByZXR1cm4gZmluZChyb290LCBxdWVyeSwgbGltaXQpO1xufVxuZnVuY3Rpb24gZmluZChyb290LCBxdWVyeSwgbGltaXQgPSBJbmZpbml0eSkge1xuICAgIGNvbnN0IGVsZW1zID0gcHJlcGFyZUNvbnRleHQocm9vdCwgRG9tVXRpbHMsIHF1ZXJ5LnNob3VsZFRlc3ROZXh0U2libGluZ3MpO1xuICAgIHJldHVybiBEb21VdGlscy5maW5kKChub2RlKSA9PiBEb21VdGlscy5pc1RhZyhub2RlKSAmJiBxdWVyeShub2RlKSwgZWxlbXMsIHRydWUsIGxpbWl0KTtcbn1cbmZ1bmN0aW9uIGZpbHRlckVsZW1lbnRzKGVsZW1lbnRzLCBzZWwsIG9wdGlvbnMpIHtcbiAgICBjb25zdCBlbHMgPSAoQXJyYXkuaXNBcnJheShlbGVtZW50cykgPyBlbGVtZW50cyA6IFtlbGVtZW50c10pLmZpbHRlcihEb21VdGlscy5pc1RhZyk7XG4gICAgaWYgKGVscy5sZW5ndGggPT09IDApXG4gICAgICAgIHJldHVybiBlbHM7XG4gICAgY29uc3QgcXVlcnkgPSBjb21waWxlVG9rZW4oc2VsLCBvcHRpb25zKTtcbiAgICByZXR1cm4gcXVlcnkgPT09IGJvb2xiYXNlLnRydWVGdW5jID8gZWxzIDogZWxzLmZpbHRlcihxdWVyeSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/cheerio-select/lib/esm/index.js\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(rsc)/./node_modules/cheerio-select/lib/esm/positionals.js":
|
|
/*!************************************************************!*\
|
|
!*** ./node_modules/cheerio-select/lib/esm/positionals.js ***!
|
|
\************************************************************/
|
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ filterNames: () => (/* binding */ filterNames),\n/* harmony export */ getLimit: () => (/* binding */ getLimit),\n/* harmony export */ isFilter: () => (/* binding */ isFilter)\n/* harmony export */ });\nconst filterNames = new Set([\n \"first\",\n \"last\",\n \"eq\",\n \"gt\",\n \"nth\",\n \"lt\",\n \"even\",\n \"odd\",\n]);\nfunction isFilter(s) {\n if (s.type !== \"pseudo\")\n return false;\n if (filterNames.has(s.name))\n return true;\n if (s.name === \"not\" && Array.isArray(s.data)) {\n // Only consider `:not` with embedded filters\n return s.data.some((s) => s.some(isFilter));\n }\n return false;\n}\nfunction getLimit(filter, data, partLimit) {\n const num = data != null ? parseInt(data, 10) : NaN;\n switch (filter) {\n case \"first\":\n return 1;\n case \"nth\":\n case \"eq\":\n return isFinite(num) ? (num >= 0 ? num + 1 : Infinity) : 0;\n case \"lt\":\n return isFinite(num)\n ? num >= 0\n ? Math.min(num, partLimit)\n : Infinity\n : 0;\n case \"gt\":\n return isFinite(num) ? Infinity : 0;\n case \"odd\":\n return 2 * partLimit;\n case \"even\":\n return 2 * partLimit - 1;\n case \"last\":\n case \"not\":\n return Infinity;\n }\n}\n//# sourceMappingURL=positionals.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvY2hlZXJpby1zZWxlY3QvbGliL2VzbS9wb3NpdGlvbmFscy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vaG9saWRheS1kZWFsLWZpbmRlci8uL25vZGVfbW9kdWxlcy9jaGVlcmlvLXNlbGVjdC9saWIvZXNtL3Bvc2l0aW9uYWxzLmpzPzBmMmUiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGZpbHRlck5hbWVzID0gbmV3IFNldChbXG4gICAgXCJmaXJzdFwiLFxuICAgIFwibGFzdFwiLFxuICAgIFwiZXFcIixcbiAgICBcImd0XCIsXG4gICAgXCJudGhcIixcbiAgICBcImx0XCIsXG4gICAgXCJldmVuXCIsXG4gICAgXCJvZGRcIixcbl0pO1xuZXhwb3J0IGZ1bmN0aW9uIGlzRmlsdGVyKHMpIHtcbiAgICBpZiAocy50eXBlICE9PSBcInBzZXVkb1wiKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKGZpbHRlck5hbWVzLmhhcyhzLm5hbWUpKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICBpZiAocy5uYW1lID09PSBcIm5vdFwiICYmIEFycmF5LmlzQXJyYXkocy5kYXRhKSkge1xuICAgICAgICAvLyBPbmx5IGNvbnNpZGVyIGA6bm90YCB3aXRoIGVtYmVkZGVkIGZpbHRlcnNcbiAgICAgICAgcmV0dXJuIHMuZGF0YS5zb21lKChzKSA9PiBzLnNvbWUoaXNGaWx0ZXIpKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldExpbWl0KGZpbHRlciwgZGF0YSwgcGFydExpbWl0KSB7XG4gICAgY29uc3QgbnVtID0gZGF0YSAhPSBudWxsID8gcGFyc2VJbnQoZGF0YSwgMTApIDogTmFOO1xuICAgIHN3aXRjaCAoZmlsdGVyKSB7XG4gICAgICAgIGNhc2UgXCJmaXJzdFwiOlxuICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIGNhc2UgXCJudGhcIjpcbiAgICAgICAgY2FzZSBcImVxXCI6XG4gICAgICAgICAgICByZXR1cm4gaXNGaW5pdGUobnVtKSA/IChudW0gPj0gMCA/IG51bSArIDEgOiBJbmZpbml0eSkgOiAwO1xuICAgICAgICBjYXNlIFwibHRcIjpcbiAgICAgICAgICAgIHJldHVybiBpc0Zpbml0ZShudW0pXG4gICAgICAgICAgICAgICAgPyBudW0gPj0gMFxuICAgICAgICAgICAgICAgICAgICA/IE1hdGgubWluKG51bSwgcGFydExpbWl0KVxuICAgICAgICAgICAgICAgICAgICA6IEluZmluaXR5XG4gICAgICAgICAgICAgICAgOiAwO1xuICAgICAgICBjYXNlIFwiZ3RcIjpcbiAgICAgICAgICAgIHJldHVybiBpc0Zpbml0ZShudW0pID8gSW5maW5pdHkgOiAwO1xuICAgICAgICBjYXNlIFwib2RkXCI6XG4gICAgICAgICAgICByZXR1cm4gMiAqIHBhcnRMaW1pdDtcbiAgICAgICAgY2FzZSBcImV2ZW5cIjpcbiAgICAgICAgICAgIHJldHVybiAyICogcGFydExpbWl0IC0gMTtcbiAgICAgICAgY2FzZSBcImxhc3RcIjpcbiAgICAgICAgY2FzZSBcIm5vdFwiOlxuICAgICAgICAgICAgcmV0dXJuIEluZmluaXR5O1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBvc2l0aW9uYWxzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/cheerio-select/lib/esm/positionals.js\n");
|
|
|
|
/***/ })
|
|
|
|
};
|
|
; |