1479 lines
2.6 MiB
1479 lines
2.6 MiB
/*
|
||
* 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/).
|
||
*/
|
||
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["app/[locale]/error"],{
|
||
|
||
/***/ "(app-pages-browser)/./app/[locale]/error.tsx":
|
||
/*!********************************!*\
|
||
!*** ./app/[locale]/error.tsx ***!
|
||
\********************************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Error)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_intl__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! next-intl */ \"(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/react-client/index.js\");\n/* harmony import */ var _lib_services_create_services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/services/create-services */ \"(app-pages-browser)/./lib/services/create-services.ts\");\n/* harmony import */ var _barrel_optimize_names_Button_Container_Heading_components_ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=Button,Container,Heading!=!@/components/ui */ \"(app-pages-browser)/__barrel_optimize__?names=Button,Container,Heading!=!./components/ui.tsx\");\n/* harmony import */ var _components_Scribble__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Scribble */ \"(app-pages-browser)/./components/Scribble.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\nfunction Error({ error, reset }) {\n _s();\n const t = (0,next_intl__WEBPACK_IMPORTED_MODULE_5__.useTranslations)('Error');\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"Error.useEffect\": ()=>{\n // Treat \"Failed to find Server Action\" as a deployment sync issue and reload\n if (error?.message?.includes('Failed to find Server Action')) {\n window.location.reload();\n return;\n }\n const services = (0,_lib_services_create_services__WEBPACK_IMPORTED_MODULE_2__.getAppServices)();\n services.errors.captureException(error);\n services.logger.error('Application error caught by boundary', {\n message: error?.message || 'Unknown error',\n stack: error?.stack,\n digest: error?.digest\n });\n }\n }[\"Error.useEffect\"], [\n error\n ]);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Button_Container_Heading_components_ui__WEBPACK_IMPORTED_MODULE_3__.Container, {\n className: \"relative py-24 flex flex-col items-center justify-center text-center min-h-[70vh] overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 -z-10 opacity-[0.03] pointer-events-none flex items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[20rem] font-bold select-none\",\n children: \"500\"\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/app/[locale]/error.tsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/app/[locale]/error.tsx\",\n lineNumber: 37,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative mb-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Button_Container_Heading_components_ui__WEBPACK_IMPORTED_MODULE_3__.Heading, {\n level: 1,\n className: \"text-6xl md:text-8xl font-bold mb-2 text-saturated\",\n children: \"500\"\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/app/[locale]/error.tsx\",\n lineNumber: 42,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Scribble__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n variant: \"underline\",\n className: \"w-full h-6 -bottom-2 left-0 text-saturated/40\"\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/app/[locale]/error.tsx\",\n lineNumber: 45,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/app/[locale]/error.tsx\",\n lineNumber: 41,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Button_Container_Heading_components_ui__WEBPACK_IMPORTED_MODULE_3__.Heading, {\n level: 2,\n className: \"text-2xl md:text-3xl font-bold mb-4\",\n children: t('title')\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/app/[locale]/error.tsx\",\n lineNumber: 48,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-white/60 mb-10 max-w-md text-lg\",\n children: t('description')\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/app/[locale]/error.tsx\",\n lineNumber: 52,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col sm:flex-row gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Button_Container_Heading_components_ui__WEBPACK_IMPORTED_MODULE_3__.Button, {\n onClick: ()=>reset(),\n variant: \"saturated\",\n size: \"lg\",\n children: t('tryAgain')\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/app/[locale]/error.tsx\",\n lineNumber: 55,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Button_Container_Heading_components_ui__WEBPACK_IMPORTED_MODULE_3__.Button, {\n href: \"/\",\n variant: \"outline\",\n size: \"lg\",\n children: t('goHome')\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/app/[locale]/error.tsx\",\n lineNumber: 58,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/app/[locale]/error.tsx\",\n lineNumber: 54,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute top-0 left-1/2 -translate-x-1/2 w-px h-24 bg-gradient-to-b from-saturated/50 to-transparent\"\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/app/[locale]/error.tsx\",\n lineNumber: 64,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/app/[locale]/error.tsx\",\n lineNumber: 35,\n columnNumber: 5\n }, this);\n}\n_s(Error, \"etYYvAa+NcFbn1DAUOfsAwohSEY=\", false, function() {\n return [\n next_intl__WEBPACK_IMPORTED_MODULE_5__.useTranslations\n ];\n});\n_c = Error;\nvar _c;\n$RefreshReg$(_c, \"Error\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2FwcC9bbG9jYWxlXS9lcnJvci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUVrQztBQUNVO0FBQ29CO0FBQ0g7QUFDaEI7QUFFOUIsU0FBU08sTUFBTSxFQUM1QkMsS0FBSyxFQUNMQyxLQUFLLEVBSU47O0lBQ0MsTUFBTUMsSUFBSVQsMERBQWVBLENBQUM7SUFFMUJELGdEQUFTQTsyQkFBQztZQUNSLDZFQUE2RTtZQUM3RSxJQUFJUSxPQUFPRyxTQUFTQyxTQUFTLGlDQUFpQztnQkFDNURDLE9BQU9DLFFBQVEsQ0FBQ0MsTUFBTTtnQkFDdEI7WUFDRjtZQUVBLE1BQU1DLFdBQVdkLDZFQUFjQTtZQUMvQmMsU0FBU0MsTUFBTSxDQUFDQyxnQkFBZ0IsQ0FBQ1Y7WUFDakNRLFNBQVNHLE1BQU0sQ0FBQ1gsS0FBSyxDQUFDLHdDQUF3QztnQkFDNURHLFNBQVNILE9BQU9HLFdBQVc7Z0JBQzNCUyxPQUFPWixPQUFPWTtnQkFDZEMsUUFBUWIsT0FBT2E7WUFDakI7UUFDRjswQkFBRztRQUFDYjtLQUFNO0lBRVYscUJBQ0UsOERBQUNMLG9HQUFTQTtRQUFDbUIsV0FBVTs7MEJBRW5CLDhEQUFDQztnQkFBSUQsV0FBVTswQkFDYiw0RUFBQ0U7b0JBQUtGLFdBQVU7OEJBQXFDOzs7Ozs7Ozs7OzswQkFHdkQsOERBQUNDO2dCQUFJRCxXQUFVOztrQ0FDYiw4REFBQ2pCLGtHQUFPQTt3QkFBQ29CLE9BQU87d0JBQUdILFdBQVU7a0NBQXFEOzs7Ozs7a0NBR2xGLDhEQUFDaEIsNERBQVFBO3dCQUFDb0IsU0FBUTt3QkFBWUosV0FBVTs7Ozs7Ozs7Ozs7OzBCQUcxQyw4REFBQ2pCLGtHQUFPQTtnQkFBQ29CLE9BQU87Z0JBQUdILFdBQVU7MEJBQzFCWixFQUFFOzs7Ozs7MEJBR0wsOERBQUNpQjtnQkFBRUwsV0FBVTswQkFBd0NaLEVBQUU7Ozs7OzswQkFFdkQsOERBQUNhO2dCQUFJRCxXQUFVOztrQ0FDYiw4REFBQ2xCLGlHQUFNQTt3QkFBQ3dCLFNBQVMsSUFBTW5CO3dCQUFTaUIsU0FBUTt3QkFBWUcsTUFBSztrQ0FDdERuQixFQUFFOzs7Ozs7a0NBRUwsOERBQUNOLGlHQUFNQTt3QkFBQzBCLE1BQUs7d0JBQUlKLFNBQVE7d0JBQVVHLE1BQUs7a0NBQ3JDbkIsRUFBRTs7Ozs7Ozs7Ozs7OzBCQUtQLDhEQUFDYTtnQkFBSUQsV0FBVTs7Ozs7Ozs7Ozs7O0FBR3JCO0dBMUR3QmY7O1FBT1pOLHNEQUFlQTs7O0tBUEhNIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vYXBwL1tsb2NhbGVdL2Vycm9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5cbmltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9ucyB9IGZyb20gJ25leHQtaW50bCc7XG5pbXBvcnQgeyBnZXRBcHBTZXJ2aWNlcyB9IGZyb20gJ0AvbGliL3NlcnZpY2VzL2NyZWF0ZS1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDb250YWluZXIsIEJ1dHRvbiwgSGVhZGluZyB9IGZyb20gJ0AvY29tcG9uZW50cy91aSc7XG5pbXBvcnQgU2NyaWJibGUgZnJvbSAnQC9jb21wb25lbnRzL1NjcmliYmxlJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRXJyb3Ioe1xuICBlcnJvcixcbiAgcmVzZXQsXG59OiB7XG4gIGVycm9yOiBFcnJvciAmIHsgZGlnZXN0Pzogc3RyaW5nIH07XG4gIHJlc2V0OiAoKSA9PiB2b2lkO1xufSkge1xuICBjb25zdCB0ID0gdXNlVHJhbnNsYXRpb25zKCdFcnJvcicpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gVHJlYXQgXCJGYWlsZWQgdG8gZmluZCBTZXJ2ZXIgQWN0aW9uXCIgYXMgYSBkZXBsb3ltZW50IHN5bmMgaXNzdWUgYW5kIHJlbG9hZFxuICAgIGlmIChlcnJvcj8ubWVzc2FnZT8uaW5jbHVkZXMoJ0ZhaWxlZCB0byBmaW5kIFNlcnZlciBBY3Rpb24nKSkge1xuICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNlcnZpY2VzID0gZ2V0QXBwU2VydmljZXMoKTtcbiAgICBzZXJ2aWNlcy5lcnJvcnMuY2FwdHVyZUV4Y2VwdGlvbihlcnJvcik7XG4gICAgc2VydmljZXMubG9nZ2VyLmVycm9yKCdBcHBsaWNhdGlvbiBlcnJvciBjYXVnaHQgYnkgYm91bmRhcnknLCB7XG4gICAgICBtZXNzYWdlOiBlcnJvcj8ubWVzc2FnZSB8fCAnVW5rbm93biBlcnJvcicsXG4gICAgICBzdGFjazogZXJyb3I/LnN0YWNrLFxuICAgICAgZGlnZXN0OiBlcnJvcj8uZGlnZXN0LFxuICAgIH0pO1xuICB9LCBbZXJyb3JdKTtcblxuICByZXR1cm4gKFxuICAgIDxDb250YWluZXIgY2xhc3NOYW1lPVwicmVsYXRpdmUgcHktMjQgZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC1jZW50ZXIgbWluLWgtWzcwdmhdIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgey8qIEluZHVzdHJpYWwgQmFja2dyb3VuZCBFbGVtZW50ICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIC16LTEwIG9wYWNpdHktWzAuMDNdIHBvaW50ZXItZXZlbnRzLW5vbmUgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1bMjByZW1dIGZvbnQtYm9sZCBzZWxlY3Qtbm9uZVwiPjUwMDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIG1iLThcIj5cbiAgICAgICAgPEhlYWRpbmcgbGV2ZWw9ezF9IGNsYXNzTmFtZT1cInRleHQtNnhsIG1kOnRleHQtOHhsIGZvbnQtYm9sZCBtYi0yIHRleHQtc2F0dXJhdGVkXCI+XG4gICAgICAgICAgNTAwXG4gICAgICAgIDwvSGVhZGluZz5cbiAgICAgICAgPFNjcmliYmxlIHZhcmlhbnQ9XCJ1bmRlcmxpbmVcIiBjbGFzc05hbWU9XCJ3LWZ1bGwgaC02IC1ib3R0b20tMiBsZWZ0LTAgdGV4dC1zYXR1cmF0ZWQvNDBcIiAvPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxIZWFkaW5nIGxldmVsPXsyfSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBtZDp0ZXh0LTN4bCBmb250LWJvbGQgbWItNFwiPlxuICAgICAgICB7dCgndGl0bGUnKX1cbiAgICAgIDwvSGVhZGluZz5cblxuICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC13aGl0ZS82MCBtYi0xMCBtYXgtdy1tZCB0ZXh0LWxnXCI+e3QoJ2Rlc2NyaXB0aW9uJyl9PC9wPlxuXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgc206ZmxleC1yb3cgZ2FwLTRcIj5cbiAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXsoKSA9PiByZXNldCgpfSB2YXJpYW50PVwic2F0dXJhdGVkXCIgc2l6ZT1cImxnXCI+XG4gICAgICAgICAge3QoJ3RyeUFnYWluJyl9XG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgICA8QnV0dG9uIGhyZWY9XCIvXCIgdmFyaWFudD1cIm91dGxpbmVcIiBzaXplPVwibGdcIj5cbiAgICAgICAgICB7dCgnZ29Ib21lJyl9XG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIHsvKiBEZWNvcmF0aXZlIEluZHVzdHJpYWwgTGluZSAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgdG9wLTAgbGVmdC0xLzIgLXRyYW5zbGF0ZS14LTEvMiB3LXB4IGgtMjQgYmctZ3JhZGllbnQtdG8tYiBmcm9tLXNhdHVyYXRlZC81MCB0by10cmFuc3BhcmVudFwiIC8+XG4gICAgPC9Db250YWluZXI+XG4gICk7XG59XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlVHJhbnNsYXRpb25zIiwiZ2V0QXBwU2VydmljZXMiLCJDb250YWluZXIiLCJCdXR0b24iLCJIZWFkaW5nIiwiU2NyaWJibGUiLCJFcnJvciIsImVycm9yIiwicmVzZXQiLCJ0IiwibWVzc2FnZSIsImluY2x1ZGVzIiwid2luZG93IiwibG9jYXRpb24iLCJyZWxvYWQiLCJzZXJ2aWNlcyIsImVycm9ycyIsImNhcHR1cmVFeGNlcHRpb24iLCJsb2dnZXIiLCJzdGFjayIsImRpZ2VzdCIsImNsYXNzTmFtZSIsImRpdiIsInNwYW4iLCJsZXZlbCIsInZhcmlhbnQiLCJwIiwib25DbGljayIsInNpemUiLCJocmVmIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./app/[locale]/error.tsx\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./components/Scribble.tsx":
|
||
/*!*********************************!*\
|
||
!*** ./components/Scribble.tsx ***!
|
||
\*********************************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Scribble)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_cn_components_ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! __barrel_optimize__?names=cn!=!@/components/ui */ \"(app-pages-browser)/__barrel_optimize__?names=cn!=!./components/ui.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\nfunction Scribble({ variant, className, color = '#82ed20' }) {\n if (variant === 'circle') {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: (0,_barrel_optimize_names_cn_components_ui__WEBPACK_IMPORTED_MODULE_2__.cn)('absolute pointer-events-none', className),\n \"aria-hidden\": \"true\",\n viewBox: \"0 0 800 350\",\n preserveAspectRatio: \"none\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n className: \"animate-draw-stroke\",\n pathLength: \"1\",\n style: {\n strokeDasharray: 1,\n strokeDashoffset: 1,\n animation: 'draw-stroke 1.8s ease-in-out 0.5s forwards'\n },\n transform: \"matrix(0.9791300296783447,0,0,0.9791300296783447,400,179)\",\n strokeLinejoin: \"miter\",\n fillOpacity: \"0\",\n strokeMiterlimit: \"4\",\n stroke: color,\n strokeOpacity: \"1\",\n strokeWidth: \"20\",\n d: \" M253,-161 C253,-161 -284.78900146484375,-201.4600067138672 -376,-21 C-469,163 67.62300109863281,174.2100067138672 256,121 C564,34 250.82899475097656,-141.6929931640625 19.10700035095215,-116.93599700927734\"\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/components/Scribble.tsx\",\n lineNumber: 21,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/components/Scribble.tsx\",\n lineNumber: 15,\n columnNumber: 7\n }, this);\n }\n if (variant === 'underline') {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n className: (0,_barrel_optimize_names_cn_components_ui__WEBPACK_IMPORTED_MODULE_2__.cn)('absolute pointer-events-none', className),\n \"aria-hidden\": \"true\",\n viewBox: \"-400 -55 730 60\",\n preserveAspectRatio: \"none\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n className: \"animate-draw-stroke\",\n pathLength: \"1\",\n style: {\n strokeDasharray: 1,\n strokeDashoffset: 1,\n animation: 'draw-stroke 1.8s ease-in-out 0.5s forwards'\n },\n d: \"m -383.25 -6 c 55.25 -22 130.75 -33.5 293.25 -38 c 54.5 -0.5 195 -2.5 401 15\",\n stroke: color,\n strokeWidth: \"20\",\n fill: \"none\"\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/components/Scribble.tsx\",\n lineNumber: 46,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/components/Scribble.tsx\",\n lineNumber: 40,\n columnNumber: 7\n }, this);\n }\n return null;\n}\n_c = Scribble;\nvar _c;\n$RefreshReg$(_c, \"Scribble\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvU2NyaWJibGUudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUUwQjtBQUNXO0FBUXRCLFNBQVNFLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxTQUFTLEVBQUVDLFFBQVEsU0FBUyxFQUFpQjtJQUN2RixJQUFJRixZQUFZLFVBQVU7UUFDeEIscUJBQ0UsOERBQUNHO1lBQ0NGLFdBQVdILDJFQUFFQSxDQUFDLGdDQUFnQ0c7WUFDOUNHLGVBQVk7WUFDWkMsU0FBUTtZQUNSQyxxQkFBb0I7c0JBRXBCLDRFQUFDQztnQkFDQ04sV0FBVTtnQkFDVk8sWUFBVztnQkFDWEMsT0FBTztvQkFBRUMsaUJBQWlCO29CQUFHQyxrQkFBa0I7b0JBQUdDLFdBQVc7Z0JBQTZDO2dCQUMxR0MsV0FBVTtnQkFDVkMsZ0JBQWU7Z0JBQ2ZDLGFBQVk7Z0JBQ1pDLGtCQUFpQjtnQkFDakJDLFFBQVFmO2dCQUNSZ0IsZUFBYztnQkFDZEMsYUFBWTtnQkFDWkMsR0FBRTs7Ozs7Ozs7Ozs7SUFJVjtJQUVBLElBQUlwQixZQUFZLGFBQWE7UUFDM0IscUJBQ0UsOERBQUNHO1lBQ0NGLFdBQVdILDJFQUFFQSxDQUFDLGdDQUFnQ0c7WUFDOUNHLGVBQVk7WUFDWkMsU0FBUTtZQUNSQyxxQkFBb0I7c0JBRXBCLDRFQUFDQztnQkFDQ04sV0FBVTtnQkFDVk8sWUFBVztnQkFDWEMsT0FBTztvQkFBRUMsaUJBQWlCO29CQUFHQyxrQkFBa0I7b0JBQUdDLFdBQVc7Z0JBQTZDO2dCQUMxR1EsR0FBRTtnQkFDRkgsUUFBUWY7Z0JBQ1JpQixhQUFZO2dCQUNaRSxNQUFLOzs7Ozs7Ozs7OztJQUliO0lBRUEsT0FBTztBQUNUO0tBaER3QnRCIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vY29tcG9uZW50cy9TY3JpYmJsZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY24gfSBmcm9tICdAL2NvbXBvbmVudHMvdWknO1xuXG5pbnRlcmZhY2UgU2NyaWJibGVQcm9wcyB7XG4gIHZhcmlhbnQ6ICdjaXJjbGUnIHwgJ3VuZGVybGluZSc7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgY29sb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFNjcmliYmxlKHsgdmFyaWFudCwgY2xhc3NOYW1lLCBjb2xvciA9ICcjODJlZDIwJyB9OiBTY3JpYmJsZVByb3BzKSB7XG4gIGlmICh2YXJpYW50ID09PSAnY2lyY2xlJykge1xuICAgIHJldHVybiAoXG4gICAgICA8c3ZnXG4gICAgICAgIGNsYXNzTmFtZT17Y24oJ2Fic29sdXRlIHBvaW50ZXItZXZlbnRzLW5vbmUnLCBjbGFzc05hbWUpfVxuICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICB2aWV3Qm94PVwiMCAwIDgwMCAzNTBcIlxuICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiXG4gICAgICA+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgY2xhc3NOYW1lPVwiYW5pbWF0ZS1kcmF3LXN0cm9rZVwiXG4gICAgICAgICAgcGF0aExlbmd0aD1cIjFcIlxuICAgICAgICAgIHN0eWxlPXt7IHN0cm9rZURhc2hhcnJheTogMSwgc3Ryb2tlRGFzaG9mZnNldDogMSwgYW5pbWF0aW9uOiAnZHJhdy1zdHJva2UgMS44cyBlYXNlLWluLW91dCAwLjVzIGZvcndhcmRzJyB9fVxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjk3OTEzMDAyOTY3ODM0NDcsMCwwLDAuOTc5MTMwMDI5Njc4MzQ0Nyw0MDAsMTc5KVwiXG4gICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJtaXRlclwiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9XCIwXCJcbiAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiNFwiXG4gICAgICAgICAgc3Ryb2tlPXtjb2xvcn1cbiAgICAgICAgICBzdHJva2VPcGFjaXR5PVwiMVwiXG4gICAgICAgICAgc3Ryb2tlV2lkdGg9XCIyMFwiXG4gICAgICAgICAgZD1cIiBNMjUzLC0xNjEgQzI1MywtMTYxIC0yODQuNzg5MDAxNDY0ODQzNzUsLTIwMS40NjAwMDY3MTM4NjcyIC0zNzYsLTIxIEMtNDY5LDE2MyA2Ny42MjMwMDEwOTg2MzI4MSwxNzQuMjEwMDA2NzEzODY3MiAyNTYsMTIxIEM1NjQsMzQgMjUwLjgyODk5NDc1MDk3NjU2LC0xNDEuNjkyOTkzMTY0MDYyNSAxOS4xMDcwMDAzNTA5NTIxNSwtMTE2LjkzNTk5NzAwOTI3NzM0XCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3ZnPlxuICAgICk7XG4gIH1cblxuICBpZiAodmFyaWFudCA9PT0gJ3VuZGVybGluZScpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPHN2Z1xuICAgICAgICBjbGFzc05hbWU9e2NuKCdhYnNvbHV0ZSBwb2ludGVyLWV2ZW50cy1ub25lJywgY2xhc3NOYW1lKX1cbiAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgdmlld0JveD1cIi00MDAgLTU1IDczMCA2MFwiXG4gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBjbGFzc05hbWU9XCJhbmltYXRlLWRyYXctc3Ryb2tlXCJcbiAgICAgICAgICBwYXRoTGVuZ3RoPVwiMVwiXG4gICAgICAgICAgc3R5bGU9e3sgc3Ryb2tlRGFzaGFycmF5OiAxLCBzdHJva2VEYXNob2Zmc2V0OiAxLCBhbmltYXRpb246ICdkcmF3LXN0cm9rZSAxLjhzIGVhc2UtaW4tb3V0IDAuNXMgZm9yd2FyZHMnIH19XG4gICAgICAgICAgZD1cIm0gLTM4My4yNSAtNiBjIDU1LjI1IC0yMiAxMzAuNzUgLTMzLjUgMjkzLjI1IC0zOCBjIDU0LjUgLTAuNSAxOTUgLTIuNSA0MDEgMTVcIlxuICAgICAgICAgIHN0cm9rZT17Y29sb3J9XG4gICAgICAgICAgc3Ryb2tlV2lkdGg9XCIyMFwiXG4gICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAvPlxuICAgICAgPC9zdmc+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY24iLCJTY3JpYmJsZSIsInZhcmlhbnQiLCJjbGFzc05hbWUiLCJjb2xvciIsInN2ZyIsImFyaWEtaGlkZGVuIiwidmlld0JveCIsInByZXNlcnZlQXNwZWN0UmF0aW8iLCJwYXRoIiwicGF0aExlbmd0aCIsInN0eWxlIiwic3Ryb2tlRGFzaGFycmF5Iiwic3Ryb2tlRGFzaG9mZnNldCIsImFuaW1hdGlvbiIsInRyYW5zZm9ybSIsInN0cm9rZUxpbmVqb2luIiwiZmlsbE9wYWNpdHkiLCJzdHJva2VNaXRlcmxpbWl0Iiwic3Ryb2tlIiwic3Ryb2tlT3BhY2l0eSIsInN0cm9rZVdpZHRoIiwiZCIsImZpbGwiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/Scribble.tsx\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./components/ui/Button.tsx":
|
||
/*!**********************************!*\
|
||
!*** ./components/ui/Button.tsx ***!
|
||
\**********************************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* binding */ Button)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils */ \"(app-pages-browser)/./components/ui/utils.ts\");\n\n\n\n\nfunction Button({ className, variant = 'primary', size = 'md', href, ...props }) {\n const baseStyles = 'inline-flex items-center justify-center whitespace-nowrap rounded-full font-semibold transition-all duration-500 ease-out focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none active:scale-95 hover:-translate-y-1 hover:scale-[1.02] relative overflow-hidden group/btn isolate';\n const variants = {\n primary: 'bg-primary text-white shadow-md hover:shadow-primary/30 hover:shadow-2xl',\n secondary: 'bg-secondary text-white shadow-md hover:shadow-secondary/30 hover:shadow-2xl',\n accent: 'bg-accent text-primary-dark shadow-md hover:shadow-accent/30 hover:shadow-2xl',\n saturated: 'bg-saturated text-white shadow-md hover:shadow-primary/30 hover:shadow-2xl',\n outline: 'border-2 border-primary bg-transparent text-primary hover:text-white hover:shadow-primary/20 hover:shadow-xl',\n ghost: 'text-primary hover:shadow-lg',\n white: 'bg-white text-primary shadow-md hover:shadow-primary/30 hover:shadow-2xl hover:text-white',\n destructive: 'bg-destructive text-destructive-foreground shadow-md hover:shadow-destructive/30 hover:shadow-2xl'\n };\n const sizes = {\n sm: 'h-9 px-4 text-sm md:text-base',\n md: 'h-11 px-6 text-base md:text-lg',\n lg: 'h-14 px-5 md:px-8 text-base md:text-lg',\n xl: 'h-16 px-6 md:px-10 text-lg md:text-xl'\n };\n const styles = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(baseStyles, variants[variant], sizes[size], className);\n const overlayColors = {\n primary: 'bg-primary-dark',\n secondary: 'bg-secondary-light',\n accent: 'bg-accent-dark',\n saturated: 'bg-primary',\n outline: 'bg-primary',\n ghost: 'bg-primary-light/10',\n white: 'bg-primary-light',\n destructive: 'bg-destructive/90'\n };\n const content = /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cn)('relative z-10 flex items-center justify-center gap-2 transition-colors duration-500', variant === 'white' ? 'group-hover/btn:text-primary-dark' : ''),\n children: props.children\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/components/ui/Button.tsx\",\n lineNumber: 67,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_utils__WEBPACK_IMPORTED_MODULE_3__.cn)('absolute inset-0 translate-y-[101%] group-hover/btn:translate-y-0 transition-transform duration-500 ease-out', overlayColors[variant])\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/components/ui/Button.tsx\",\n lineNumber: 75,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n if (href) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: href,\n className: styles,\n children: content\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/components/ui/Button.tsx\",\n lineNumber: 86,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: styles,\n ...props,\n children: content\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/components/ui/Button.tsx\",\n lineNumber: 93,\n columnNumber: 5\n }, this);\n}\n_c = Button;\nvar _c;\n$RefreshReg$(_c, \"Button\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvdWkvQnV0dG9uLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUEwQjtBQUNHO0FBQ0E7QUFrQnRCLFNBQVNHLE9BQU8sRUFDckJDLFNBQVMsRUFDVEMsVUFBVSxTQUFTLEVBQ25CQyxPQUFPLElBQUksRUFDWEMsSUFBSSxFQUNKLEdBQUdDLE9BQ1M7SUFDWixNQUFNQyxhQUNKO0lBRUYsTUFBTUMsV0FBVztRQUNmQyxTQUFTO1FBQ1RDLFdBQVc7UUFDWEMsUUFBUTtRQUNSQyxXQUFXO1FBQ1hDLFNBQ0U7UUFDRkMsT0FBTztRQUNQQyxPQUNFO1FBQ0ZDLGFBQ0U7SUFDSjtJQUVBLE1BQU1DLFFBQVE7UUFDWkMsSUFBSTtRQUNKQyxJQUFJO1FBQ0pDLElBQUk7UUFDSkMsSUFBSTtJQUNOO0lBRUEsTUFBTUMsU0FBU3RCLDBDQUFFQSxDQUFDTyxZQUFZQyxRQUFRLENBQUNMLFFBQVEsRUFBRWMsS0FBSyxDQUFDYixLQUFLLEVBQUVGO0lBRTlELE1BQU1xQixnQkFBZ0I7UUFDcEJkLFNBQVM7UUFDVEMsV0FBVztRQUNYQyxRQUFRO1FBQ1JDLFdBQVc7UUFDWEMsU0FBUztRQUNUQyxPQUFPO1FBQ1BDLE9BQU87UUFDUEMsYUFBYTtJQUNmO0lBRUEsTUFBTVEsd0JBQ0o7OzBCQUNFLDhEQUFDQztnQkFDQ3ZCLFdBQVdGLDBDQUFFQSxDQUNYLHVGQUNBRyxZQUFZLFVBQVUsc0NBQXNDOzBCQUc3REcsTUFBTW9CLFFBQVE7Ozs7OzswQkFFakIsOERBQUNEO2dCQUNDdkIsV0FBV0YsMENBQUVBLENBQ1gsZ0hBQ0F1QixhQUFhLENBQUNwQixRQUFROzs7Ozs7OztJQU05QixJQUFJRSxNQUFNO1FBQ1IscUJBQ0UsOERBQUNOLGtEQUFJQTtZQUFDTSxNQUFNQTtZQUFNSCxXQUFXb0I7c0JBQzFCRTs7Ozs7O0lBR1A7SUFFQSxxQkFDRSw4REFBQ0c7UUFBT3pCLFdBQVdvQjtRQUFTLEdBQUdoQixLQUFLO2tCQUNqQ2tCOzs7Ozs7QUFHUDtLQTVFZ0J2QiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL2NvbXBvbmVudHMvdWkvQnV0dG9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IExpbmsgZnJvbSAnbmV4dC9saW5rJztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnV0dG9uUHJvcHMgZXh0ZW5kcyBSZWFjdC5CdXR0b25IVE1MQXR0cmlidXRlczxIVE1MQnV0dG9uRWxlbWVudD4ge1xuICB2YXJpYW50PzpcbiAgICB8ICdwcmltYXJ5J1xuICAgIHwgJ3NlY29uZGFyeSdcbiAgICB8ICdhY2NlbnQnXG4gICAgfCAnc2F0dXJhdGVkJ1xuICAgIHwgJ291dGxpbmUnXG4gICAgfCAnZ2hvc3QnXG4gICAgfCAnd2hpdGUnXG4gICAgfCAnZGVzdHJ1Y3RpdmUnO1xuICBzaXplPzogJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJztcbiAgaHJlZj86IHN0cmluZztcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEJ1dHRvbih7XG4gIGNsYXNzTmFtZSxcbiAgdmFyaWFudCA9ICdwcmltYXJ5JyxcbiAgc2l6ZSA9ICdtZCcsXG4gIGhyZWYsXG4gIC4uLnByb3BzXG59OiBCdXR0b25Qcm9wcykge1xuICBjb25zdCBiYXNlU3R5bGVzID1cbiAgICAnaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHdoaXRlc3BhY2Utbm93cmFwIHJvdW5kZWQtZnVsbCBmb250LXNlbWlib2xkIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTUwMCBlYXNlLW91dCBmb2N1cy12aXNpYmxlOm91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOnJpbmctMiBmb2N1cy12aXNpYmxlOnJpbmctcHJpbWFyeSBmb2N1cy12aXNpYmxlOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpwb2ludGVyLWV2ZW50cy1ub25lIGFjdGl2ZTpzY2FsZS05NSBob3ZlcjotdHJhbnNsYXRlLXktMSBob3ZlcjpzY2FsZS1bMS4wMl0gcmVsYXRpdmUgb3ZlcmZsb3ctaGlkZGVuIGdyb3VwL2J0biBpc29sYXRlJztcblxuICBjb25zdCB2YXJpYW50cyA9IHtcbiAgICBwcmltYXJ5OiAnYmctcHJpbWFyeSB0ZXh0LXdoaXRlIHNoYWRvdy1tZCBob3ZlcjpzaGFkb3ctcHJpbWFyeS8zMCBob3ZlcjpzaGFkb3ctMnhsJyxcbiAgICBzZWNvbmRhcnk6ICdiZy1zZWNvbmRhcnkgdGV4dC13aGl0ZSBzaGFkb3ctbWQgaG92ZXI6c2hhZG93LXNlY29uZGFyeS8zMCBob3ZlcjpzaGFkb3ctMnhsJyxcbiAgICBhY2NlbnQ6ICdiZy1hY2NlbnQgdGV4dC1wcmltYXJ5LWRhcmsgc2hhZG93LW1kIGhvdmVyOnNoYWRvdy1hY2NlbnQvMzAgaG92ZXI6c2hhZG93LTJ4bCcsXG4gICAgc2F0dXJhdGVkOiAnYmctc2F0dXJhdGVkIHRleHQtd2hpdGUgc2hhZG93LW1kIGhvdmVyOnNoYWRvdy1wcmltYXJ5LzMwIGhvdmVyOnNoYWRvdy0yeGwnLFxuICAgIG91dGxpbmU6XG4gICAgICAnYm9yZGVyLTIgYm9yZGVyLXByaW1hcnkgYmctdHJhbnNwYXJlbnQgdGV4dC1wcmltYXJ5IGhvdmVyOnRleHQtd2hpdGUgaG92ZXI6c2hhZG93LXByaW1hcnkvMjAgaG92ZXI6c2hhZG93LXhsJyxcbiAgICBnaG9zdDogJ3RleHQtcHJpbWFyeSBob3ZlcjpzaGFkb3ctbGcnLFxuICAgIHdoaXRlOlxuICAgICAgJ2JnLXdoaXRlIHRleHQtcHJpbWFyeSBzaGFkb3ctbWQgaG92ZXI6c2hhZG93LXByaW1hcnkvMzAgaG92ZXI6c2hhZG93LTJ4bCBob3Zlcjp0ZXh0LXdoaXRlJyxcbiAgICBkZXN0cnVjdGl2ZTpcbiAgICAgICdiZy1kZXN0cnVjdGl2ZSB0ZXh0LWRlc3RydWN0aXZlLWZvcmVncm91bmQgc2hhZG93LW1kIGhvdmVyOnNoYWRvdy1kZXN0cnVjdGl2ZS8zMCBob3ZlcjpzaGFkb3ctMnhsJyxcbiAgfTtcblxuICBjb25zdCBzaXplcyA9IHtcbiAgICBzbTogJ2gtOSBweC00IHRleHQtc20gbWQ6dGV4dC1iYXNlJyxcbiAgICBtZDogJ2gtMTEgcHgtNiB0ZXh0LWJhc2UgbWQ6dGV4dC1sZycsXG4gICAgbGc6ICdoLTE0IHB4LTUgbWQ6cHgtOCB0ZXh0LWJhc2UgbWQ6dGV4dC1sZycsXG4gICAgeGw6ICdoLTE2IHB4LTYgbWQ6cHgtMTAgdGV4dC1sZyBtZDp0ZXh0LXhsJyxcbiAgfTtcblxuICBjb25zdCBzdHlsZXMgPSBjbihiYXNlU3R5bGVzLCB2YXJpYW50c1t2YXJpYW50XSwgc2l6ZXNbc2l6ZV0sIGNsYXNzTmFtZSk7XG5cbiAgY29uc3Qgb3ZlcmxheUNvbG9ycyA9IHtcbiAgICBwcmltYXJ5OiAnYmctcHJpbWFyeS1kYXJrJyxcbiAgICBzZWNvbmRhcnk6ICdiZy1zZWNvbmRhcnktbGlnaHQnLFxuICAgIGFjY2VudDogJ2JnLWFjY2VudC1kYXJrJyxcbiAgICBzYXR1cmF0ZWQ6ICdiZy1wcmltYXJ5JyxcbiAgICBvdXRsaW5lOiAnYmctcHJpbWFyeScsXG4gICAgZ2hvc3Q6ICdiZy1wcmltYXJ5LWxpZ2h0LzEwJyxcbiAgICB3aGl0ZTogJ2JnLXByaW1hcnktbGlnaHQnLFxuICAgIGRlc3RydWN0aXZlOiAnYmctZGVzdHJ1Y3RpdmUvOTAnLFxuICB9O1xuXG4gIGNvbnN0IGNvbnRlbnQgPSAoXG4gICAgPD5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgJ3JlbGF0aXZlIHotMTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTIgdHJhbnNpdGlvbi1jb2xvcnMgZHVyYXRpb24tNTAwJyxcbiAgICAgICAgICB2YXJpYW50ID09PSAnd2hpdGUnID8gJ2dyb3VwLWhvdmVyL2J0bjp0ZXh0LXByaW1hcnktZGFyaycgOiAnJyxcbiAgICAgICAgKX1cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICAnYWJzb2x1dGUgaW5zZXQtMCB0cmFuc2xhdGUteS1bMTAxJV0gZ3JvdXAtaG92ZXIvYnRuOnRyYW5zbGF0ZS15LTAgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tNTAwIGVhc2Utb3V0JyxcbiAgICAgICAgICBvdmVybGF5Q29sb3JzW3ZhcmlhbnRdLFxuICAgICAgICApfVxuICAgICAgLz5cbiAgICA8Lz5cbiAgKTtcblxuICBpZiAoaHJlZikge1xuICAgIHJldHVybiAoXG4gICAgICA8TGluayBocmVmPXtocmVmfSBjbGFzc05hbWU9e3N0eWxlc30+XG4gICAgICAgIHtjb250ZW50fVxuICAgICAgPC9MaW5rPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxidXR0b24gY2xhc3NOYW1lPXtzdHlsZXN9IHsuLi5wcm9wc30+XG4gICAgICB7Y29udGVudH1cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkxpbmsiLCJjbiIsIkJ1dHRvbiIsImNsYXNzTmFtZSIsInZhcmlhbnQiLCJzaXplIiwiaHJlZiIsInByb3BzIiwiYmFzZVN0eWxlcyIsInZhcmlhbnRzIiwicHJpbWFyeSIsInNlY29uZGFyeSIsImFjY2VudCIsInNhdHVyYXRlZCIsIm91dGxpbmUiLCJnaG9zdCIsIndoaXRlIiwiZGVzdHJ1Y3RpdmUiLCJzaXplcyIsInNtIiwibWQiLCJsZyIsInhsIiwic3R5bGVzIiwib3ZlcmxheUNvbG9ycyIsImNvbnRlbnQiLCJzcGFuIiwiY2hpbGRyZW4iLCJidXR0b24iXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/ui/Button.tsx\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./components/ui/Container.tsx":
|
||
/*!*************************************!*\
|
||
!*** ./components/ui/Container.tsx ***!
|
||
\*************************************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Container: () => (/* binding */ Container)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ \"(app-pages-browser)/./components/ui/utils.ts\");\n\n\n\nfunction Container({ className, children, ...props }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cn)('container mx-auto px-4 md:px-12 lg:px-16 max-w-7xl', className),\n ...props,\n children: children\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/components/ui/Container.tsx\",\n lineNumber: 6,\n columnNumber: 5\n }, this);\n}\n_c = Container;\nvar _c;\n$RefreshReg$(_c, \"Container\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvdWkvQ29udGFpbmVyLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBMEI7QUFDRztBQUV0QixTQUFTRSxVQUFVLEVBQUVDLFNBQVMsRUFBRUMsUUFBUSxFQUFFLEdBQUdDLE9BQTZDO0lBQy9GLHFCQUNFLDhEQUFDQztRQUFJSCxXQUFXRiwwQ0FBRUEsQ0FBQyxzREFBc0RFO1FBQWEsR0FBR0UsS0FBSztrQkFDM0ZEOzs7Ozs7QUFHUDtLQU5nQkYiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9jb21wb25lbnRzL3VpL0NvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBDb250YWluZXIoeyBjbGFzc05hbWUsIGNoaWxkcmVuLCAuLi5wcm9wcyB9OiBSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD4pIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y24oJ2NvbnRhaW5lciBteC1hdXRvIHB4LTQgbWQ6cHgtMTIgbGc6cHgtMTYgbWF4LXctN3hsJywgY2xhc3NOYW1lKX0gey4uLnByb3BzfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNuIiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJwcm9wcyIsImRpdiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/ui/Container.tsx\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./components/ui/Heading.tsx":
|
||
/*!***********************************!*\
|
||
!*** ./components/ui/Heading.tsx ***!
|
||
\***********************************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Heading: () => (/* binding */ Heading)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ \"(app-pages-browser)/./components/ui/utils.ts\");\n\n\n\nfunction Heading({ level = 2, children, className, subtitle, align = 'left' }) {\n const Tag = `h${level}`;\n const sizes = {\n 1: 'text-2xl md:text-4xl lg:text-5xl font-bold leading-[1.1] tracking-tight',\n 2: 'text-xl md:text-3xl lg:text-4xl font-bold leading-[1.2] tracking-tight',\n 3: 'text-lg md:text-2xl lg:text-3xl font-bold leading-[1.3] tracking-tight',\n 4: 'text-lg md:text-xl lg:text-2xl font-bold leading-[1.4]',\n 5: 'text-base md:text-lg font-bold leading-[1.5]',\n 6: 'text-base md:text-lg font-semibold leading-[1.6]'\n };\n const alignments = {\n left: 'text-left',\n center: 'text-center mx-auto',\n right: 'text-right'\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cn)('mb-6 md:mb-12 text-primary', alignments[align], className),\n children: [\n subtitle && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"inline-block text-accent font-bold tracking-widest uppercase text-xs md:text-sm mb-3 md:mb-4 animate-fade-in\",\n children: subtitle\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/components/ui/Heading.tsx\",\n lineNumber: 37,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Tag, {\n className: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(sizes[level]),\n children: children\n }, void 0, false, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/components/ui/Heading.tsx\",\n lineNumber: 41,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/marcmintel/Projects/e-tib.com/components/ui/Heading.tsx\",\n lineNumber: 35,\n columnNumber: 5\n }, this);\n}\n_c = Heading;\nvar _c;\n$RefreshReg$(_c, \"Heading\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvdWkvSGVhZGluZy50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQTBCO0FBQ0c7QUFFdEIsU0FBU0UsUUFBUSxFQUN0QkMsUUFBUSxDQUFDLEVBQ1RDLFFBQVEsRUFDUkMsU0FBUyxFQUNUQyxRQUFRLEVBQ1JDLFFBQVEsTUFBTSxFQU9mO0lBQ0MsTUFBTUMsTUFBTSxDQUFDLENBQUMsRUFBRUwsT0FBTztJQUV2QixNQUFNTSxRQUFRO1FBQ1osR0FBRztRQUNILEdBQUc7UUFDSCxHQUFHO1FBQ0gsR0FBRztRQUNILEdBQUc7UUFDSCxHQUFHO0lBQ0w7SUFFQSxNQUFNQyxhQUFhO1FBQ2pCQyxNQUFNO1FBQ05DLFFBQVE7UUFDUkMsT0FBTztJQUNUO0lBRUEscUJBQ0UsOERBQUNDO1FBQUlULFdBQVdKLDBDQUFFQSxDQUFDLDhCQUE4QlMsVUFBVSxDQUFDSCxNQUFNLEVBQUVGOztZQUNqRUMsMEJBQ0MsOERBQUNTO2dCQUFLVixXQUFVOzBCQUNiQzs7Ozs7OzBCQUdMLDhEQUFDRTtnQkFBSUgsV0FBV0osMENBQUVBLENBQUNRLEtBQUssQ0FBQ04sTUFBNEI7MEJBQ2xEQzs7Ozs7Ozs7Ozs7O0FBSVQ7S0ExQ2dCRiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL2NvbXBvbmVudHMvdWkvSGVhZGluZy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNuIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBIZWFkaW5nKHtcbiAgbGV2ZWwgPSAyLFxuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBzdWJ0aXRsZSxcbiAgYWxpZ24gPSAnbGVmdCdcbn06IHtcbiAgbGV2ZWw/OiAxIHwgMiB8IDMgfCA0IHwgNSB8IDY7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgc3VidGl0bGU/OiBzdHJpbmc7XG4gIGFsaWduPzogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xufSkge1xuICBjb25zdCBUYWcgPSBgaCR7bGV2ZWx9YCBhcyBhbnk7XG4gIFxuICBjb25zdCBzaXplcyA9IHtcbiAgICAxOiAndGV4dC0yeGwgbWQ6dGV4dC00eGwgbGc6dGV4dC01eGwgZm9udC1ib2xkIGxlYWRpbmctWzEuMV0gdHJhY2tpbmctdGlnaHQnLFxuICAgIDI6ICd0ZXh0LXhsIG1kOnRleHQtM3hsIGxnOnRleHQtNHhsIGZvbnQtYm9sZCBsZWFkaW5nLVsxLjJdIHRyYWNraW5nLXRpZ2h0JyxcbiAgICAzOiAndGV4dC1sZyBtZDp0ZXh0LTJ4bCBsZzp0ZXh0LTN4bCBmb250LWJvbGQgbGVhZGluZy1bMS4zXSB0cmFja2luZy10aWdodCcsXG4gICAgNDogJ3RleHQtbGcgbWQ6dGV4dC14bCBsZzp0ZXh0LTJ4bCBmb250LWJvbGQgbGVhZGluZy1bMS40XScsXG4gICAgNTogJ3RleHQtYmFzZSBtZDp0ZXh0LWxnIGZvbnQtYm9sZCBsZWFkaW5nLVsxLjVdJyxcbiAgICA2OiAndGV4dC1iYXNlIG1kOnRleHQtbGcgZm9udC1zZW1pYm9sZCBsZWFkaW5nLVsxLjZdJyxcbiAgfTtcblxuICBjb25zdCBhbGlnbm1lbnRzID0ge1xuICAgIGxlZnQ6ICd0ZXh0LWxlZnQnLFxuICAgIGNlbnRlcjogJ3RleHQtY2VudGVyIG14LWF1dG8nLFxuICAgIHJpZ2h0OiAndGV4dC1yaWdodCcsXG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y24oJ21iLTYgbWQ6bWItMTIgdGV4dC1wcmltYXJ5JywgYWxpZ25tZW50c1thbGlnbl0sIGNsYXNzTmFtZSl9PlxuICAgICAge3N1YnRpdGxlICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5saW5lLWJsb2NrIHRleHQtYWNjZW50IGZvbnQtYm9sZCB0cmFja2luZy13aWRlc3QgdXBwZXJjYXNlIHRleHQteHMgbWQ6dGV4dC1zbSBtYi0zIG1kOm1iLTQgYW5pbWF0ZS1mYWRlLWluXCI+XG4gICAgICAgICAge3N1YnRpdGxlfVxuICAgICAgICA8L3NwYW4+XG4gICAgICApfVxuICAgICAgPFRhZyBjbGFzc05hbWU9e2NuKHNpemVzW2xldmVsIGFzIGtleW9mIHR5cGVvZiBzaXplc10pfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9UYWc+XG4gICAgPC9kaXY+XG4gICk7XG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJjbiIsIkhlYWRpbmciLCJsZXZlbCIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwic3VidGl0bGUiLCJhbGlnbiIsIlRhZyIsInNpemVzIiwiYWxpZ25tZW50cyIsImxlZnQiLCJjZW50ZXIiLCJyaWdodCIsImRpdiIsInNwYW4iXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/ui/Heading.tsx\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./components/ui/utils.ts":
|
||
/*!********************************!*\
|
||
!*** ./components/ui/utils.ts ***!
|
||
\********************************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cn: () => (/* binding */ cn)\n/* harmony export */ });\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var tailwind_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tailwind-merge */ \"(app-pages-browser)/./node_modules/.pnpm/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs\");\n\n\nfunction cn(...inputs) {\n return (0,tailwind_merge__WEBPACK_IMPORTED_MODULE_1__.twMerge)((0,clsx__WEBPACK_IMPORTED_MODULE_0__.clsx)(inputs));\n}\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvdWkvdXRpbHMudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQTZDO0FBQ0o7QUFFbEMsU0FBU0UsR0FBRyxHQUFHQyxNQUFvQjtJQUN4QyxPQUFPRix1REFBT0EsQ0FBQ0QsMENBQUlBLENBQUNHO0FBQ3RCIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vY29tcG9uZW50cy91aS91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjbHN4LCB0eXBlIENsYXNzVmFsdWUgfSBmcm9tICdjbHN4JztcbmltcG9ydCB7IHR3TWVyZ2UgfSBmcm9tICd0YWlsd2luZC1tZXJnZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjbiguLi5pbnB1dHM6IENsYXNzVmFsdWVbXSkge1xuICByZXR1cm4gdHdNZXJnZShjbHN4KGlucHV0cykpO1xufVxuIl0sIm5hbWVzIjpbImNsc3giLCJ0d01lcmdlIiwiY24iLCJpbnB1dHMiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/ui/utils.ts\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./lib/config.ts":
|
||
/*!***********************!*\
|
||
!*** ./lib/config.ts ***!
|
||
\***********************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ config: () => (/* binding */ config),\n/* harmony export */ getConfig: () => (/* binding */ getConfig),\n/* harmony export */ getMaskedConfig: () => (/* binding */ getMaskedConfig)\n/* harmony export */ });\n/* harmony import */ var _env__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./env */ \"(app-pages-browser)/./lib/env.ts\");\n/**\n * Centralized configuration management for the application.\n * This file provides a type-safe way to access environment variables.\n */ \nlet memoizedConfig;\n/**\n * Creates and validates the configuration object.\n * Throws if validation fails.\n */ function createConfig() {\n const env = (0,_env__WEBPACK_IMPORTED_MODULE_0__.getRawEnv)();\n const target = env.NEXT_PUBLIC_TARGET || env.TARGET || (env.NODE_ENV === 'development' ? 'development' : 'production');\n console.log('[Config] Initializing Toggles:', {\n feedbackEnabled: env.NEXT_PUBLIC_FEEDBACK_ENABLED\n });\n return {\n env: env.NODE_ENV,\n target,\n isProduction: target === 'production' || !target,\n isStaging: target === 'staging',\n isTesting: target === 'testing',\n isDevelopment: target === 'development',\n showDrafts: target === 'development' || target === 'testing' || target === 'staging',\n feedbackEnabled: env.NEXT_PUBLIC_FEEDBACK_ENABLED,\n gatekeeperUrl: env.GATEKEEPER_URL,\n baseUrl: env.NEXT_PUBLIC_BASE_URL,\n analytics: {\n umami: {\n websiteId: env.UMAMI_WEBSITE_ID,\n apiEndpoint: env.UMAMI_API_ENDPOINT || 'https://analytics.infra.mintel.me',\n enabled: true || 0\n }\n },\n errors: {\n glitchtip: {\n dsn: env.SENTRY_DSN,\n proxyPath: '/errors',\n // On the client, we always enable it (it uses the tunnel / proxy defined in sentry.client.config.ts)\n // On the server, we only enable it if the DSN is provided.\n enabled: true || 0\n }\n },\n cache: {\n enabled: false\n },\n logging: {\n level: env.LOG_LEVEL || 'info'\n },\n mail: {\n host: env.MAIL_HOST,\n port: env.MAIL_PORT,\n user: env.MAIL_USERNAME,\n pass: env.MAIL_PASSWORD,\n from: env.MAIL_FROM,\n recipients: env.MAIL_RECIPIENTS\n },\n infraCMS: {\n url: env.INFRA_DIRECTUS_URL,\n token: env.INFRA_DIRECTUS_TOKEN\n },\n notifications: {\n gotify: {\n url: env.GOTIFY_URL,\n token: env.GOTIFY_TOKEN,\n enabled: Boolean(env.GOTIFY_URL && env.GOTIFY_TOKEN)\n }\n }\n };\n}\n/**\n * Returns the validated configuration.\n * Memoizes the result after the first call.\n */ function getConfig() {\n if (!memoizedConfig) {\n memoizedConfig = createConfig();\n }\n return memoizedConfig;\n}\n/**\n * Exported config object for convenience.\n * Uses getters to ensure it's only initialized when accessed.\n */ const config = {\n get env () {\n return getConfig().env;\n },\n get target () {\n return getConfig().target;\n },\n get isProduction () {\n return getConfig().isProduction;\n },\n get isStaging () {\n return getConfig().isStaging;\n },\n get isTesting () {\n return getConfig().isTesting;\n },\n get isDevelopment () {\n return getConfig().isDevelopment;\n },\n get showDrafts () {\n return getConfig().showDrafts;\n },\n get baseUrl () {\n return getConfig().baseUrl;\n },\n get analytics () {\n return getConfig().analytics;\n },\n get errors () {\n return getConfig().errors;\n },\n get cache () {\n return getConfig().cache;\n },\n get logging () {\n return getConfig().logging;\n },\n get mail () {\n return getConfig().mail;\n },\n get notifications () {\n return getConfig().notifications;\n },\n get feedbackEnabled () {\n return getConfig().feedbackEnabled;\n },\n get infraCMS () {\n return getConfig().infraCMS;\n },\n get gatekeeperUrl () {\n return getConfig().gatekeeperUrl;\n }\n};\n/**\n * Helper to get a masked version of the config for logging.\n */ function getMaskedConfig() {\n const c = getConfig();\n const mask = (val)=>val ? `***${val.slice(-4)}` : 'not set';\n return {\n env: c.env,\n baseUrl: c.baseUrl,\n analytics: {\n umami: {\n websiteId: mask(c.analytics.umami.websiteId),\n apiEndpoint: c.analytics.umami.apiEndpoint,\n enabled: c.analytics.umami.enabled\n }\n },\n errors: {\n glitchtip: {\n dsn: mask(c.errors.glitchtip.dsn),\n enabled: c.errors.glitchtip.enabled\n }\n },\n cache: {\n enabled: c.cache.enabled\n },\n logging: {\n level: c.logging.level\n },\n mail: {\n host: c.mail.host,\n port: c.mail.port,\n user: mask(c.mail.user),\n from: c.mail.from,\n recipients: c.mail.recipients\n },\n notifications: {\n gotify: {\n url: c.notifications.gotify.url,\n token: mask(c.notifications.gotify.token),\n enabled: c.notifications.gotify.enabled\n }\n }\n };\n}\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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WUFDckM7UUFDRjtRQUNBTyxPQUFPO1lBQ0xQLFNBQVNvQyxFQUFFN0IsS0FBSyxDQUFDUCxPQUFPO1FBQzFCO1FBQ0FRLFNBQVM7WUFDUEMsT0FBTzJCLEVBQUU1QixPQUFPLENBQUNDLEtBQUs7UUFDeEI7UUFDQUUsTUFBTTtZQUNKQyxNQUFNd0IsRUFBRXpCLElBQUksQ0FBQ0MsSUFBSTtZQUNqQkUsTUFBTXNCLEVBQUV6QixJQUFJLENBQUNHLElBQUk7WUFDakJFLE1BQU1xQixLQUFLRCxFQUFFekIsSUFBSSxDQUFDSyxJQUFJO1lBQ3RCSSxNQUFNZ0IsRUFBRXpCLElBQUksQ0FBQ1MsSUFBSTtZQUNqQkUsWUFBWWMsRUFBRXpCLElBQUksQ0FBQ1csVUFBVTtRQUMvQjtRQUNBTyxlQUFlO1lBQ2JDLFFBQVE7Z0JBQ05MLEtBQUtXLEVBQUVQLGFBQWEsQ0FBQ0MsTUFBTSxDQUFDTCxHQUFHO2dCQUMvQkUsT0FBT1UsS0FBS0QsRUFBRVAsYUFBYSxDQUFDQyxNQUFNLENBQUNILEtBQUs7Z0JBQ3hDM0IsU0FBU29DLEVBQUVQLGFBQWEsQ0FBQ0MsTUFBTSxDQUFDOUIsT0FBTztZQUN6QztRQUNGO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL2xpYi9jb25maWcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDZW50cmFsaXplZCBjb25maWd1cmF0aW9uIG1hbmFnZW1lbnQgZm9yIHRoZSBhcHBsaWNhdGlvbi5cbiAqIFRoaXMgZmlsZSBwcm92aWRlcyBhIHR5cGUtc2FmZSB3YXkgdG8gYWNjZXNzIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAqL1xuaW1wb3J0IHsgZ2V0UmF3RW52IH0gZnJvbSAnLi9lbnYnO1xuXG5sZXQgbWVtb2l6ZWRDb25maWc6IFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZUNvbmZpZz4gfCB1bmRlZmluZWQ7XG5cbi8qKlxuICogQ3JlYXRlcyBhbmQgdmFsaWRhdGVzIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAqIFRocm93cyBpZiB2YWxpZGF0aW9uIGZhaWxzLlxuICovXG5mdW5jdGlvbiBjcmVhdGVDb25maWcoKSB7XG4gIGNvbnN0IGVudiA9IGdldFJhd0VudigpO1xuXG4gIGNvbnN0IHRhcmdldCA9XG4gICAgZW52Lk5FWFRfUFVCTElDX1RBUkdFVCB8fFxuICAgIGVudi5UQVJHRVQgfHxcbiAgICAoZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnID8gJ2RldmVsb3BtZW50JyA6ICdwcm9kdWN0aW9uJyk7XG5cbiAgY29uc29sZS5sb2coJ1tDb25maWddIEluaXRpYWxpemluZyBUb2dnbGVzOicsIHtcbiAgICBmZWVkYmFja0VuYWJsZWQ6IGVudi5ORVhUX1BVQkxJQ19GRUVEQkFDS19FTkFCTEVELFxuICB9KTtcblxuICByZXR1cm4ge1xuICAgIGVudjogZW52Lk5PREVfRU5WLFxuICAgIHRhcmdldCxcbiAgICBpc1Byb2R1Y3Rpb246IHRhcmdldCA9PT0gJ3Byb2R1Y3Rpb24nIHx8ICF0YXJnZXQsXG4gICAgaXNTdGFnaW5nOiB0YXJnZXQgPT09ICdzdGFnaW5nJyxcbiAgICBpc1Rlc3Rpbmc6IHRhcmdldCA9PT0gJ3Rlc3RpbmcnLFxuICAgIGlzRGV2ZWxvcG1lbnQ6IHRhcmdldCA9PT0gJ2RldmVsb3BtZW50JyxcbiAgICBzaG93RHJhZnRzOiB0YXJnZXQgPT09ICdkZXZlbG9wbWVudCcgfHwgdGFyZ2V0ID09PSAndGVzdGluZycgfHwgdGFyZ2V0ID09PSAnc3RhZ2luZycsXG4gICAgZmVlZGJhY2tFbmFibGVkOiBlbnYuTkVYVF9QVUJMSUNfRkVFREJBQ0tfRU5BQkxFRCxcbiAgICBnYXRla2VlcGVyVXJsOiBlbnYuR0FURUtFRVBFUl9VUkwsXG5cbiAgICBiYXNlVXJsOiBlbnYuTkVYVF9QVUJMSUNfQkFTRV9VUkwsXG5cbiAgICBhbmFseXRpY3M6IHtcbiAgICAgIHVtYW1pOiB7XG4gICAgICAgIHdlYnNpdGVJZDogZW52LlVNQU1JX1dFQlNJVEVfSUQsXG4gICAgICAgIGFwaUVuZHBvaW50OiBlbnYuVU1BTUlfQVBJX0VORFBPSU5UIHx8ICdodHRwczovL2FuYWx5dGljcy5pbmZyYS5taW50ZWwubWUnLFxuICAgICAgICBlbmFibGVkOiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyB8fCBCb29sZWFuKGVudi5VTUFNSV9XRUJTSVRFX0lEKSxcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIGVycm9yczoge1xuICAgICAgZ2xpdGNodGlwOiB7XG4gICAgICAgIGRzbjogZW52LlNFTlRSWV9EU04sXG4gICAgICAgIHByb3h5UGF0aDogJy9lcnJvcnMnLFxuICAgICAgICAvLyBPbiB0aGUgY2xpZW50LCB3ZSBhbHdheXMgZW5hYmxlIGl0IChpdCB1c2VzIHRoZSB0dW5uZWwgLyBwcm94eSBkZWZpbmVkIGluIHNlbnRyeS5jbGllbnQuY29uZmlnLnRzKVxuICAgICAgICAvLyBPbiB0aGUgc2VydmVyLCB3ZSBvbmx5IGVuYWJsZSBpdCBpZiB0aGUgRFNOIGlzIHByb3ZpZGVkLlxuICAgICAgICBlbmFibGVkOiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyB8fCBCb29sZWFuKGVudi5TRU5UUllfRFNOKSxcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIGNhY2hlOiB7XG4gICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICB9LFxuXG4gICAgbG9nZ2luZzoge1xuICAgICAgbGV2ZWw6IGVudi5MT0dfTEVWRUwgfHwgJ2luZm8nLFxuICAgIH0sXG5cbiAgICBtYWlsOiB7XG4gICAgICBob3N0OiBlbnYuTUFJTF9IT1NULFxuICAgICAgcG9ydDogZW52Lk1BSUxfUE9SVCxcbiAgICAgIHVzZXI6IGVudi5NQUlMX1VTRVJOQU1FLFxuICAgICAgcGFzczogZW52Lk1BSUxfUEFTU1dPUkQsXG4gICAgICBmcm9tOiBlbnYuTUFJTF9GUk9NLFxuICAgICAgcmVjaXBpZW50czogZW52Lk1BSUxfUkVDSVBJRU5UUyxcbiAgICB9LFxuICAgIGluZnJhQ01TOiB7XG4gICAgICB1cmw6IGVudi5JTkZSQV9ESVJFQ1RVU19VUkwsXG4gICAgICB0b2tlbjogZW52LklORlJBX0RJUkVDVFVTX1RPS0VOLFxuICAgIH0sXG4gICAgbm90aWZpY2F0aW9uczoge1xuICAgICAgZ290aWZ5OiB7XG4gICAgICAgIHVybDogZW52LkdPVElGWV9VUkwsXG4gICAgICAgIHRva2VuOiBlbnYuR09USUZZX1RPS0VOLFxuICAgICAgICBlbmFibGVkOiBCb29sZWFuKGVudi5HT1RJRllfVVJMICYmIGVudi5HT1RJRllfVE9LRU4pLFxuICAgICAgfSxcbiAgICB9LFxuICB9IGFzIGNvbnN0O1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHZhbGlkYXRlZCBjb25maWd1cmF0aW9uLlxuICogTWVtb2l6ZXMgdGhlIHJlc3VsdCBhZnRlciB0aGUgZmlyc3QgY2FsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvbmZpZygpIHtcbiAgaWYgKCFtZW1vaXplZENvbmZpZykge1xuICAgIG1lbW9pemVkQ29uZmlnID0gY3JlYXRlQ29uZmlnKCk7XG4gIH1cbiAgcmV0dXJuIG1lbW9pemVkQ29uZmlnO1xufVxuXG4vKipcbiAqIEV4cG9ydGVkIGNvbmZpZyBvYmplY3QgZm9yIGNvbnZlbmllbmNlLlxuICogVXNlcyBnZXR0ZXJzIHRvIGVuc3VyZSBpdCdzIG9ubHkgaW5pdGlhbGl6ZWQgd2hlbiBhY2Nlc3NlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IGNvbmZpZyA9IHtcbiAgZ2V0IGVudigpIHtcbiAgICByZXR1cm4gZ2V0Q29uZmlnKCkuZW52O1xuICB9LFxuICBnZXQgdGFyZ2V0KCkge1xuICAgIHJldHVybiBnZXRDb25maWcoKS50YXJnZXQ7XG4gIH0sXG4gIGdldCBpc1Byb2R1Y3Rpb24oKSB7XG4gICAgcmV0dXJuIGdldENvbmZpZygpLmlzUHJvZHVjdGlvbjtcbiAgfSxcbiAgZ2V0IGlzU3RhZ2luZygpIHtcbiAgICByZXR1cm4gZ2V0Q29uZmlnKCkuaXNTdGFnaW5nO1xuICB9LFxuICBnZXQgaXNUZXN0aW5nKCkge1xuICAgIHJldHVybiBnZXRDb25maWcoKS5pc1Rlc3Rpbmc7XG4gIH0sXG4gIGdldCBpc0RldmVsb3BtZW50KCkge1xuICAgIHJldHVybiBnZXRDb25maWcoKS5pc0RldmVsb3BtZW50O1xuICB9LFxuICBnZXQgc2hvd0RyYWZ0cygpIHtcbiAgICByZXR1cm4gZ2V0Q29uZmlnKCkuc2hvd0RyYWZ0cztcbiAgfSxcbiAgZ2V0IGJhc2VVcmwoKSB7XG4gICAgcmV0dXJuIGdldENvbmZpZygpLmJhc2VVcmw7XG4gIH0sXG4gIGdldCBhbmFseXRpY3MoKSB7XG4gICAgcmV0dXJuIGdldENvbmZpZygpLmFuYWx5dGljcztcbiAgfSxcbiAgZ2V0IGVycm9ycygpIHtcbiAgICByZXR1cm4gZ2V0Q29uZmlnKCkuZXJyb3JzO1xuICB9LFxuICBnZXQgY2FjaGUoKSB7XG4gICAgcmV0dXJuIGdldENvbmZpZygpLmNhY2hlO1xuICB9LFxuICBnZXQgbG9nZ2luZygpIHtcbiAgICByZXR1cm4gZ2V0Q29uZmlnKCkubG9nZ2luZztcbiAgfSxcbiAgZ2V0IG1haWwoKSB7XG4gICAgcmV0dXJuIGdldENvbmZpZygpLm1haWw7XG4gIH0sXG4gIGdldCBub3RpZmljYXRpb25zKCkge1xuICAgIHJldHVybiBnZXRDb25maWcoKS5ub3RpZmljYXRpb25zO1xuICB9LFxuICBnZXQgZmVlZGJhY2tFbmFibGVkKCkge1xuICAgIHJldHVybiBnZXRDb25maWcoKS5mZWVkYmFja0VuYWJsZWQ7XG4gIH0sXG4gIGdldCBpbmZyYUNNUygpIHtcbiAgICByZXR1cm4gZ2V0Q29uZmlnKCkuaW5mcmFDTVM7XG4gIH0sXG4gIGdldCBnYXRla2VlcGVyVXJsKCkge1xuICAgIHJldHVybiBnZXRDb25maWcoKS5nYXRla2VlcGVyVXJsO1xuICB9LFxufTtcblxuLyoqXG4gKiBIZWxwZXIgdG8gZ2V0IGEgbWFza2VkIHZlcnNpb24gb2YgdGhlIGNvbmZpZyBmb3IgbG9nZ2luZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE1hc2tlZENvbmZpZygpIHtcbiAgY29uc3QgYyA9IGdldENvbmZpZygpO1xuICBjb25zdCBtYXNrID0gKHZhbDogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiAodmFsID8gYCoqKiR7dmFsLnNsaWNlKC00KX1gIDogJ25vdCBzZXQnKTtcblxuICByZXR1cm4ge1xuICAgIGVudjogYy5lbnYsXG4gICAgYmFzZVVybDogYy5iYXNlVXJsLFxuICAgIGFuYWx5dGljczoge1xuICAgICAgdW1hbWk6IHtcbiAgICAgICAgd2Vic2l0ZUlkOiBtYXNrKGMuYW5hbHl0aWNzLnVtYW1pLndlYnNpdGVJZCksXG4gICAgICAgIGFwaUVuZHBvaW50OiBjLmFuYWx5dGljcy51bWFtaS5hcGlFbmRwb2ludCxcbiAgICAgICAgZW5hYmxlZDogYy5hbmFseXRpY3MudW1hbWkuZW5hYmxlZCxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBlcnJvcnM6IHtcbiAgICAgIGdsaXRjaHRpcDoge1xuICAgICAgICBkc246IG1hc2soYy5lcnJvcnMuZ2xpdGNodGlwLmRzbiksXG4gICAgICAgIGVuYWJsZWQ6IGMuZXJyb3JzLmdsaXRjaHRpcC5lbmFibGVkLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNhY2hlOiB7XG4gICAgICBlbmFibGVkOiBjLmNhY2hlLmVuYWJsZWQsXG4gICAgfSxcbiAgICBsb2dnaW5nOiB7XG4gICAgICBsZXZlbDogYy5sb2dnaW5nLmxldmVsLFxuICAgIH0sXG4gICAgbWFpbDoge1xuICAgICAgaG9zdDogYy5tYWlsLmhvc3QsXG4gICAgICBwb3J0OiBjLm1haWwucG9ydCxcbiAgICAgIHVzZXI6IG1hc2soYy5tYWlsLnVzZXIpLFxuICAgICAgZnJvbTogYy5tYWlsLmZyb20sXG4gICAgICByZWNpcGllbnRzOiBjLm1haWwucmVjaXBpZW50cyxcbiAgICB9LFxuICAgIG5vdGlmaWNhdGlvbnM6IHtcbiAgICAgIGdvdGlmeToge1xuICAgICAgICB1cmw6IGMubm90aWZpY2F0aW9ucy5nb3RpZnkudXJsLFxuICAgICAgICB0b2tlbjogbWFzayhjLm5vdGlmaWNhdGlvbnMuZ290aWZ5LnRva2VuKSxcbiAgICAgICAgZW5hYmxlZDogYy5ub3RpZmljYXRpb25zLmdvdGlmeS5lbmFibGVkLFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xufVxuIl0sIm5hbWVzIjpbImdldFJhd0VudiIsIm1lbW9pemVkQ29uZmlnIiwiY3JlYXRlQ29uZmlnIiwiZW52IiwidGFyZ2V0IiwiTkVYVF9QVUJMSUNfVEFSR0VUIiwiVEFSR0VUIiwiTk9ERV9FTlYiLCJjb25zb2xlIiwibG9nIiwiZmVlZGJhY2tFbmFibGVkIiwiTkVYVF9QVUJMSUNfRkVFREJBQ0tfRU5BQkxFRCIsImlzUHJvZHVjdGlvbiIsImlzU3RhZ2luZyIsImlzVGVzdGluZyIsImlzRGV2ZWxvcG1lbnQiLCJzaG93RHJhZnRzIiwiZ2F0ZWtlZXBlclVybCIsIkdBVEVLRUVQRVJfVVJMIiwiYmFzZVVybCIsIk5FWFRfUFVCTElDX0JBU0VfVVJMIiwiYW5hbHl0aWNzIiwidW1hbWkiLCJ3ZWJzaXRlSWQiLCJVTUFNSV9XRUJTSVRFX0lEIiwiYXBpRW5kcG9pbnQiLCJVTUFNSV9BUElfRU5EUE9JTlQiLCJlbmFibGVkIiwiQm9vbGVhbiIsImVycm9ycyIsImdsaXRjaHRpcCIsImRzbiIsIlNFTlRSWV9EU04iLCJwcm94eVBhdGgiLCJjYWNoZSIsImxvZ2dpbmciLCJsZXZlbCIsIkxPR19MRVZFTCIsIm1haWwiLCJob3N0IiwiTUFJTF9IT1NUIiwicG9ydCIsIk1BSUxfUE9SVCIsInVzZXIiLCJNQUlMX1VTRVJOQU1FIiwicGFzcyIsIk1BSUxfUEFTU1dPUkQiLCJmcm9tIiwiTUFJTF9GUk9NIiwicmVjaXBpZW50cyIsIk1BSUxfUkVDSVBJRU5UUyIsImluZnJhQ01TIiwidXJsIiwiSU5GUkFfRElSRUNUVVNfVVJMIiwidG9rZW4iLCJJTkZSQV9ESVJFQ1RVU19UT0tFTiIsIm5vdGlmaWNhdGlvbnMiLCJnb3RpZnkiLCJHT1RJRllfVVJMIiwiR09USUZZX1RPS0VOIiwiZ2V0Q29uZmlnIiwiY29uZmlnIiwiZ2V0TWFza2VkQ29uZmlnIiwiYyIsIm1hc2siLCJ2YWwiLCJzbGljZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/config.ts\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./lib/env.ts":
|
||
/*!********************!*\
|
||
!*** ./lib/env.ts ***!
|
||
\********************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ env: () => (/* binding */ env),\n/* harmony export */ envSchema: () => (/* binding */ envSchema),\n/* harmony export */ getRawEnv: () => (/* binding */ getRawEnv)\n/* harmony export */ });\n/* harmony import */ var _barrel_optimize_names_z_zod__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! __barrel_optimize__?names=z!=!zod */ \"(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js\");\n/* harmony import */ var _mintel_next_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mintel/next-utils */ \"(app-pages-browser)/./node_modules/.pnpm/@mintel+next-utils@1.9.5_@babel+core@7.29.0_@opentelemetry+api@1.9.1_@swc+helpers@0.5.2_9638d51a45a2618218e93a700de128b9/node_modules/@mintel/next-utils/dist/index.js\");\n\n\n/**\n * Robust boolean preprocessor for environment variables.\n * Handles strings 'true'/'false' and actual booleans.\n */ const booleanSchema = _barrel_optimize_names_z_zod__WEBPACK_IMPORTED_MODULE_1__.preprocess((val)=>{\n if (typeof val === 'string') {\n if (val.toLowerCase() === 'true') return true;\n if (val.toLowerCase() === 'false') return false;\n }\n return val;\n}, _barrel_optimize_names_z_zod__WEBPACK_IMPORTED_MODULE_1__.boolean());\n/**\n * Environment variable schema.\n * Extends the default Mintel environment schema.\n */ const envExtension = {\n // Project specific overrides or additions\n AUTH_COOKIE_NAME: _barrel_optimize_names_z_zod__WEBPACK_IMPORTED_MODULE_1__.string().default('klz_gatekeeper_session'),\n TARGET: _barrel_optimize_names_z_zod__WEBPACK_IMPORTED_MODULE_1__.string().optional(),\n NEXT_PUBLIC_TARGET: _barrel_optimize_names_z_zod__WEBPACK_IMPORTED_MODULE_1__.string().optional(),\n // Gatekeeper specifics not in base\n GATEKEEPER_URL: _barrel_optimize_names_z_zod__WEBPACK_IMPORTED_MODULE_1__.string().url().default('http://gatekeeper:3000'),\n GATEKEEPER_BYPASS_ENABLED: booleanSchema.default(false),\n NEXT_PUBLIC_FEEDBACK_ENABLED: booleanSchema.default(false),\n NEXT_PUBLIC_RECORD_MODE_ENABLED: booleanSchema.default(false),\n INFRA_DIRECTUS_URL: _barrel_optimize_names_z_zod__WEBPACK_IMPORTED_MODULE_1__.string().url().optional(),\n INFRA_DIRECTUS_TOKEN: _barrel_optimize_names_z_zod__WEBPACK_IMPORTED_MODULE_1__.string().optional(),\n // Analytics\n UMAMI_WEBSITE_ID: _barrel_optimize_names_z_zod__WEBPACK_IMPORTED_MODULE_1__.string().optional(),\n UMAMI_API_ENDPOINT: _barrel_optimize_names_z_zod__WEBPACK_IMPORTED_MODULE_1__.string().optional(),\n // Mail Configuration\n MAIL_HOST: _barrel_optimize_names_z_zod__WEBPACK_IMPORTED_MODULE_1__.string().optional(),\n MAIL_PORT: _barrel_optimize_names_z_zod__WEBPACK_IMPORTED_MODULE_1__.coerce.number().optional(),\n MAIL_USERNAME: _barrel_optimize_names_z_zod__WEBPACK_IMPORTED_MODULE_1__.string().optional(),\n MAIL_PASSWORD: _barrel_optimize_names_z_zod__WEBPACK_IMPORTED_MODULE_1__.string().optional(),\n MAIL_FROM: _barrel_optimize_names_z_zod__WEBPACK_IMPORTED_MODULE_1__.string().optional(),\n MAIL_RECIPIENTS: _barrel_optimize_names_z_zod__WEBPACK_IMPORTED_MODULE_1__.string().optional()\n};\n/**\n * Full schema including Mintel base and refinements\n */ const envSchema = (0,_mintel_next_utils__WEBPACK_IMPORTED_MODULE_0__.withMintelRefinements)(_barrel_optimize_names_z_zod__WEBPACK_IMPORTED_MODULE_1__.object(_mintel_next_utils__WEBPACK_IMPORTED_MODULE_0__.mintelEnvSchema).extend(envExtension));\n/**\n * Validated environment object.\n */ const env = (0,_mintel_next_utils__WEBPACK_IMPORTED_MODULE_0__.validateMintelEnv)(envExtension);\n/**\n * For legacy compatibility with existing code.\n */ function getRawEnv() {\n return env;\n}\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9lbnYudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBd0I7QUFDdUU7QUFFL0Y7OztDQUdDLEdBQ0QsTUFBTUksZ0JBQWdCSixvRUFBWSxDQUFDLENBQUNNO0lBQ2xDLElBQUksT0FBT0EsUUFBUSxVQUFVO1FBQzNCLElBQUlBLElBQUlDLFdBQVcsT0FBTyxRQUFRLE9BQU87UUFDekMsSUFBSUQsSUFBSUMsV0FBVyxPQUFPLFNBQVMsT0FBTztJQUM1QztJQUNBLE9BQU9EO0FBQ1QsR0FBR04saUVBQVM7QUFFWjs7O0NBR0MsR0FDRCxNQUFNUyxlQUFlO0lBQ25CLDBDQUEwQztJQUMxQ0Msa0JBQWtCVixnRUFBUSxHQUFHWSxPQUFPLENBQUM7SUFDckNDLFFBQVFiLGdFQUFRLEdBQUdjLFFBQVE7SUFDM0JDLG9CQUFvQmYsZ0VBQVEsR0FBR2MsUUFBUTtJQUV2QyxtQ0FBbUM7SUFDbkNFLGdCQUFnQmhCLGdFQUFRLEdBQUdpQixHQUFHLEdBQUdMLE9BQU8sQ0FBQztJQUN6Q00sMkJBQTJCZCxjQUFjUSxPQUFPLENBQUM7SUFDakRPLDhCQUE4QmYsY0FBY1EsT0FBTyxDQUFDO0lBQ3BEUSxpQ0FBaUNoQixjQUFjUSxPQUFPLENBQUM7SUFFdkRTLG9CQUFvQnJCLGdFQUFRLEdBQUdpQixHQUFHLEdBQUdILFFBQVE7SUFDN0NRLHNCQUFzQnRCLGdFQUFRLEdBQUdjLFFBQVE7SUFFekMsWUFBWTtJQUNaUyxrQkFBa0J2QixnRUFBUSxHQUFHYyxRQUFRO0lBQ3JDVSxvQkFBb0J4QixnRUFBUSxHQUFHYyxRQUFRO0lBRXZDLHFCQUFxQjtJQUNyQlcsV0FBV3pCLGdFQUFRLEdBQUdjLFFBQVE7SUFDOUJZLFdBQVcxQixnRUFBUSxDQUFDNEIsTUFBTSxHQUFHZCxRQUFRO0lBQ3JDZSxlQUFlN0IsZ0VBQVEsR0FBR2MsUUFBUTtJQUNsQ2dCLGVBQWU5QixnRUFBUSxHQUFHYyxRQUFRO0lBQ2xDaUIsV0FBVy9CLGdFQUFRLEdBQUdjLFFBQVE7SUFDOUJrQixpQkFBaUJoQyxnRUFBUSxHQUFHYyxRQUFRO0FBQ3RDO0FBRUE7O0NBRUMsR0FDTSxNQUFNbUIsWUFBWTlCLHlFQUFxQkEsQ0FBQ0gsZ0VBQVEsQ0FBQ0UsK0RBQWVBLEVBQUVpQyxNQUFNLENBQUMxQixlQUFlO0FBRS9GOztDQUVDLEdBQ00sTUFBTTJCLE1BQU1uQyxxRUFBaUJBLENBQUNRLGNBQWM7QUFFbkQ7O0NBRUMsR0FDTSxTQUFTNEI7SUFDZCxPQUFPRDtBQUNUIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbGliL2Vudi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcbmltcG9ydCB7IHZhbGlkYXRlTWludGVsRW52LCBtaW50ZWxFbnZTY2hlbWEsIHdpdGhNaW50ZWxSZWZpbmVtZW50cyB9IGZyb20gJ0BtaW50ZWwvbmV4dC11dGlscyc7XG5cbi8qKlxuICogUm9idXN0IGJvb2xlYW4gcHJlcHJvY2Vzc29yIGZvciBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gKiBIYW5kbGVzIHN0cmluZ3MgJ3RydWUnLydmYWxzZScgYW5kIGFjdHVhbCBib29sZWFucy5cbiAqL1xuY29uc3QgYm9vbGVhblNjaGVtYSA9IHoucHJlcHJvY2VzcygodmFsKSA9PiB7XG4gIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgIGlmICh2YWwudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnKSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAodmFsLnRvTG93ZXJDYXNlKCkgPT09ICdmYWxzZScpIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gdmFsO1xufSwgei5ib29sZWFuKCkpO1xuXG4vKipcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlIHNjaGVtYS5cbiAqIEV4dGVuZHMgdGhlIGRlZmF1bHQgTWludGVsIGVudmlyb25tZW50IHNjaGVtYS5cbiAqL1xuY29uc3QgZW52RXh0ZW5zaW9uID0ge1xuICAvLyBQcm9qZWN0IHNwZWNpZmljIG92ZXJyaWRlcyBvciBhZGRpdGlvbnNcbiAgQVVUSF9DT09LSUVfTkFNRTogei5zdHJpbmcoKS5kZWZhdWx0KCdrbHpfZ2F0ZWtlZXBlcl9zZXNzaW9uJyksXG4gIFRBUkdFVDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBORVhUX1BVQkxJQ19UQVJHRVQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcblxuICAvLyBHYXRla2VlcGVyIHNwZWNpZmljcyBub3QgaW4gYmFzZVxuICBHQVRFS0VFUEVSX1VSTDogei5zdHJpbmcoKS51cmwoKS5kZWZhdWx0KCdodHRwOi8vZ2F0ZWtlZXBlcjozMDAwJyksXG4gIEdBVEVLRUVQRVJfQllQQVNTX0VOQUJMRUQ6IGJvb2xlYW5TY2hlbWEuZGVmYXVsdChmYWxzZSksXG4gIE5FWFRfUFVCTElDX0ZFRURCQUNLX0VOQUJMRUQ6IGJvb2xlYW5TY2hlbWEuZGVmYXVsdChmYWxzZSksXG4gIE5FWFRfUFVCTElDX1JFQ09SRF9NT0RFX0VOQUJMRUQ6IGJvb2xlYW5TY2hlbWEuZGVmYXVsdChmYWxzZSksXG5cbiAgSU5GUkFfRElSRUNUVVNfVVJMOiB6LnN0cmluZygpLnVybCgpLm9wdGlvbmFsKCksXG4gIElORlJBX0RJUkVDVFVTX1RPS0VOOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG5cbiAgLy8gQW5hbHl0aWNzXG4gIFVNQU1JX1dFQlNJVEVfSUQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgVU1BTUlfQVBJX0VORFBPSU5UOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG5cbiAgLy8gTWFpbCBDb25maWd1cmF0aW9uXG4gIE1BSUxfSE9TVDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBNQUlMX1BPUlQ6IHouY29lcmNlLm51bWJlcigpLm9wdGlvbmFsKCksXG4gIE1BSUxfVVNFUk5BTUU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgTUFJTF9QQVNTV09SRDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBNQUlMX0ZST006IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgTUFJTF9SRUNJUElFTlRTOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59O1xuXG4vKipcbiAqIEZ1bGwgc2NoZW1hIGluY2x1ZGluZyBNaW50ZWwgYmFzZSBhbmQgcmVmaW5lbWVudHNcbiAqL1xuZXhwb3J0IGNvbnN0IGVudlNjaGVtYSA9IHdpdGhNaW50ZWxSZWZpbmVtZW50cyh6Lm9iamVjdChtaW50ZWxFbnZTY2hlbWEpLmV4dGVuZChlbnZFeHRlbnNpb24pKTtcblxuLyoqXG4gKiBWYWxpZGF0ZWQgZW52aXJvbm1lbnQgb2JqZWN0LlxuICovXG5leHBvcnQgY29uc3QgZW52ID0gdmFsaWRhdGVNaW50ZWxFbnYoZW52RXh0ZW5zaW9uKTtcblxuLyoqXG4gKiBGb3IgbGVnYWN5IGNvbXBhdGliaWxpdHkgd2l0aCBleGlzdGluZyBjb2RlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmF3RW52KCkge1xuICByZXR1cm4gZW52O1xufVxuIl0sIm5hbWVzIjpbInoiLCJ2YWxpZGF0ZU1pbnRlbEVudiIsIm1pbnRlbEVudlNjaGVtYSIsIndpdGhNaW50ZWxSZWZpbmVtZW50cyIsImJvb2xlYW5TY2hlbWEiLCJwcmVwcm9jZXNzIiwidmFsIiwidG9Mb3dlckNhc2UiLCJib29sZWFuIiwiZW52RXh0ZW5zaW9uIiwiQVVUSF9DT09LSUVfTkFNRSIsInN0cmluZyIsImRlZmF1bHQiLCJUQVJHRVQiLCJvcHRpb25hbCIsIk5FWFRfUFVCTElDX1RBUkdFVCIsIkdBVEVLRUVQRVJfVVJMIiwidXJsIiwiR0FURUtFRVBFUl9CWVBBU1NfRU5BQkxFRCIsIk5FWFRfUFVCTElDX0ZFRURCQUNLX0VOQUJMRUQiLCJORVhUX1BVQkxJQ19SRUNPUkRfTU9ERV9FTkFCTEVEIiwiSU5GUkFfRElSRUNUVVNfVVJMIiwiSU5GUkFfRElSRUNUVVNfVE9LRU4iLCJVTUFNSV9XRUJTSVRFX0lEIiwiVU1BTUlfQVBJX0VORFBPSU5UIiwiTUFJTF9IT1NUIiwiTUFJTF9QT1JUIiwiY29lcmNlIiwibnVtYmVyIiwiTUFJTF9VU0VSTkFNRSIsIk1BSUxfUEFTU1dPUkQiLCJNQUlMX0ZST00iLCJNQUlMX1JFQ0lQSUVOVFMiLCJlbnZTY2hlbWEiLCJvYmplY3QiLCJleHRlbmQiLCJlbnYiLCJnZXRSYXdFbnYiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/env.ts\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./lib/services/analytics/noop-analytics-service.ts":
|
||
/*!**********************************************************!*\
|
||
!*** ./lib/services/analytics/noop-analytics-service.ts ***!
|
||
\**********************************************************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NoopAnalyticsService: () => (/* binding */ NoopAnalyticsService)\n/* harmony export */ });\n/**\n * No-op Analytics Service Implementation.\n *\n * This service implements the AnalyticsService interface but does nothing.\n * It's used as a fallback when analytics are disabled or not configured.\n *\n * @example\n * ```typescript\n * // Service creation (usually done by create-services.ts)\n * const service = new NoopAnalyticsService();\n *\n * // These calls do nothing but are safe to execute\n * service.track('button_click', { button_id: 'cta' });\n * service.trackPageview('/products/123');\n * ```\n *\n * @example\n * ```typescript\n * // Automatic fallback in create-services.ts\n * const umamiEnabled = Boolean(process.env.UMAMI_WEBSITE_ID);\n * const analytics = umamiEnabled\n * ? new UmamiAnalyticsService({ enabled: true })\n * : new NoopAnalyticsService(); // Fallback when no website ID\n * ```\n */ class NoopAnalyticsService {\n /**\n * No-op implementation of track.\n *\n * This method does nothing but maintains the same signature as other\n * analytics services for consistency.\n *\n * @param _eventName - Event name (ignored)\n * @param _props - Event properties (ignored)\n *\n * @example\n * ```typescript\n * // Safe to call even when analytics are disabled\n * service.track('button_click', { button_id: 'cta' });\n * // No error, no action taken\n * ```\n */ track(_eventName, _props) {\n // intentionally noop - analytics are disabled\n }\n /**\n * No-op implementation of trackPageview.\n *\n * This method does nothing but maintains the same signature as other\n * analytics services for consistency.\n *\n * @param _url - URL to track (ignored)\n *\n * @example\n * ```typescript\n * // Safe to call even when analytics are disabled\n * service.trackPageview('/products/123');\n * // No error, no action taken\n * ```\n */ trackPageview(_url) {\n // intentionally noop - analytics are disabled\n }\n}\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9zZXJ2aWNlcy9hbmFseXRpY3Mvbm9vcC1hbmFseXRpY3Mtc2VydmljZS50cyIsIm1hcHBpbmdzIjoiOzs7O0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXdCQyxHQUNNLE1BQU1BO0lBQ1g7Ozs7Ozs7Ozs7Ozs7OztHQWVDLEdBQ0RDLE1BQU1DLFVBQWtCLEVBQUVDLE1BQWlDLEVBQUU7SUFDM0QsOENBQThDO0lBQ2hEO0lBRUE7Ozs7Ozs7Ozs7Ozs7O0dBY0MsR0FDREMsY0FBY0MsSUFBYSxFQUFFO0lBQzNCLDhDQUE4QztJQUNoRDtBQUNGIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbGliL3NlcnZpY2VzL2FuYWx5dGljcy9ub29wLWFuYWx5dGljcy1zZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQW5hbHl0aWNzRXZlbnRQcm9wZXJ0aWVzLCBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi9hbmFseXRpY3Mtc2VydmljZSc7XG5cbi8qKlxuICogTm8tb3AgQW5hbHl0aWNzIFNlcnZpY2UgSW1wbGVtZW50YXRpb24uXG4gKlxuICogVGhpcyBzZXJ2aWNlIGltcGxlbWVudHMgdGhlIEFuYWx5dGljc1NlcnZpY2UgaW50ZXJmYWNlIGJ1dCBkb2VzIG5vdGhpbmcuXG4gKiBJdCdzIHVzZWQgYXMgYSBmYWxsYmFjayB3aGVuIGFuYWx5dGljcyBhcmUgZGlzYWJsZWQgb3Igbm90IGNvbmZpZ3VyZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIFNlcnZpY2UgY3JlYXRpb24gKHVzdWFsbHkgZG9uZSBieSBjcmVhdGUtc2VydmljZXMudHMpXG4gKiBjb25zdCBzZXJ2aWNlID0gbmV3IE5vb3BBbmFseXRpY3NTZXJ2aWNlKCk7XG4gKlxuICogLy8gVGhlc2UgY2FsbHMgZG8gbm90aGluZyBidXQgYXJlIHNhZmUgdG8gZXhlY3V0ZVxuICogc2VydmljZS50cmFjaygnYnV0dG9uX2NsaWNrJywgeyBidXR0b25faWQ6ICdjdGEnIH0pO1xuICogc2VydmljZS50cmFja1BhZ2V2aWV3KCcvcHJvZHVjdHMvMTIzJyk7XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gQXV0b21hdGljIGZhbGxiYWNrIGluIGNyZWF0ZS1zZXJ2aWNlcy50c1xuICogY29uc3QgdW1hbWlFbmFibGVkID0gQm9vbGVhbihwcm9jZXNzLmVudi5VTUFNSV9XRUJTSVRFX0lEKTtcbiAqIGNvbnN0IGFuYWx5dGljcyA9IHVtYW1pRW5hYmxlZFxuICogICA/IG5ldyBVbWFtaUFuYWx5dGljc1NlcnZpY2UoeyBlbmFibGVkOiB0cnVlIH0pXG4gKiAgIDogbmV3IE5vb3BBbmFseXRpY3NTZXJ2aWNlKCk7IC8vIEZhbGxiYWNrIHdoZW4gbm8gd2Vic2l0ZSBJRFxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBOb29wQW5hbHl0aWNzU2VydmljZSBpbXBsZW1lbnRzIEFuYWx5dGljc1NlcnZpY2Uge1xuICAvKipcbiAgICogTm8tb3AgaW1wbGVtZW50YXRpb24gb2YgdHJhY2suXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIGRvZXMgbm90aGluZyBidXQgbWFpbnRhaW5zIHRoZSBzYW1lIHNpZ25hdHVyZSBhcyBvdGhlclxuICAgKiBhbmFseXRpY3Mgc2VydmljZXMgZm9yIGNvbnNpc3RlbmN5LlxuICAgKlxuICAgKiBAcGFyYW0gX2V2ZW50TmFtZSAtIEV2ZW50IG5hbWUgKGlnbm9yZWQpXG4gICAqIEBwYXJhbSBfcHJvcHMgLSBFdmVudCBwcm9wZXJ0aWVzIChpZ25vcmVkKVxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIC8vIFNhZmUgdG8gY2FsbCBldmVuIHdoZW4gYW5hbHl0aWNzIGFyZSBkaXNhYmxlZFxuICAgKiBzZXJ2aWNlLnRyYWNrKCdidXR0b25fY2xpY2snLCB7IGJ1dHRvbl9pZDogJ2N0YScgfSk7XG4gICAqIC8vIE5vIGVycm9yLCBubyBhY3Rpb24gdGFrZW5cbiAgICogYGBgXG4gICAqL1xuICB0cmFjayhfZXZlbnROYW1lOiBzdHJpbmcsIF9wcm9wcz86IEFuYWx5dGljc0V2ZW50UHJvcGVydGllcykge1xuICAgIC8vIGludGVudGlvbmFsbHkgbm9vcCAtIGFuYWx5dGljcyBhcmUgZGlzYWJsZWRcbiAgfVxuXG4gIC8qKlxuICAgKiBOby1vcCBpbXBsZW1lbnRhdGlvbiBvZiB0cmFja1BhZ2V2aWV3LlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBkb2VzIG5vdGhpbmcgYnV0IG1haW50YWlucyB0aGUgc2FtZSBzaWduYXR1cmUgYXMgb3RoZXJcbiAgICogYW5hbHl0aWNzIHNlcnZpY2VzIGZvciBjb25zaXN0ZW5jeS5cbiAgICpcbiAgICogQHBhcmFtIF91cmwgLSBVUkwgdG8gdHJhY2sgKGlnbm9yZWQpXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogLy8gU2FmZSB0byBjYWxsIGV2ZW4gd2hlbiBhbmFseXRpY3MgYXJlIGRpc2FibGVkXG4gICAqIHNlcnZpY2UudHJhY2tQYWdldmlldygnL3Byb2R1Y3RzLzEyMycpO1xuICAgKiAvLyBObyBlcnJvciwgbm8gYWN0aW9uIHRha2VuXG4gICAqIGBgYFxuICAgKi9cbiAgdHJhY2tQYWdldmlldyhfdXJsPzogc3RyaW5nKSB7XG4gICAgLy8gaW50ZW50aW9uYWxseSBub29wIC0gYW5hbHl0aWNzIGFyZSBkaXNhYmxlZFxuICB9XG59XG4iXSwibmFtZXMiOlsiTm9vcEFuYWx5dGljc1NlcnZpY2UiLCJ0cmFjayIsIl9ldmVudE5hbWUiLCJfcHJvcHMiLCJ0cmFja1BhZ2V2aWV3IiwiX3VybCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/services/analytics/noop-analytics-service.ts\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./lib/services/analytics/umami-analytics-service.ts":
|
||
/*!***********************************************************!*\
|
||
!*** ./lib/services/analytics/umami-analytics-service.ts ***!
|
||
\***********************************************************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ UmamiAnalyticsService: () => (/* binding */ UmamiAnalyticsService)\n/* harmony export */ });\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../config */ \"(app-pages-browser)/./lib/config.ts\");\n\n/**\n * Umami Analytics Service Implementation (Script-less/Proxy edition).\n *\n * This version implements the Umami tracking protocol directly via fetch,\n * eliminating the need to load an external script.js file.\n *\n * In the browser, it gathers standard metadata (screen, language, referrer)\n * and sends it to the proxied '/stats/api/send' endpoint.\n * On the server, it sends directly to the internal Umami API.\n */ class UmamiAnalyticsService {\n constructor(options, logger){\n this.options = options;\n this.websiteId = _config__WEBPACK_IMPORTED_MODULE_0__.config.analytics.umami.websiteId;\n this.logger = logger.child({\n component: 'analytics-umami'\n });\n // On server, use the full internal URL; on client, use the proxied path\n this.endpoint = false ? 0 : '/stats';\n this.logger.debug('Umami service initialized', {\n enabled: this.options.enabled,\n websiteId: this.websiteId ? 'configured' : 'not configured (client-side proxy mode)',\n endpoint: this.endpoint\n });\n }\n /**\n * Set the server-side context for the current request.\n * This allows the service to use real request headers for tracking.\n */ setServerContext(context) {\n this.serverContext = context;\n }\n /**\n * Internal method to send the payload to Umami API.\n */ async sendPayload(type, data) {\n if (!this.options.enabled) return;\n // On the client, we don't need the websiteId (it's injected by the server-side proxy handler).\n // On the server, we need it because we're calling the Umami API directly.\n const isClient = \"object\" !== 'undefined';\n if (!isClient && !this.websiteId) {\n this.logger.warn('Umami tracking called on server but no Website ID configured');\n return;\n }\n try {\n const payload = {\n website: this.websiteId,\n hostname: isClient ? window.location.hostname : 'server',\n screen: isClient ? `${window.screen.width}x${window.screen.height}` : undefined,\n language: isClient ? navigator.language : this.serverContext?.language,\n referrer: isClient ? document.referrer : this.serverContext?.referrer,\n title: isClient ? document.title : undefined,\n ...data\n };\n this.logger.trace('Sending analytics payload', {\n type,\n url: data.url\n });\n // Add a timeout to prevent hanging requests\n const controller = new AbortController();\n const timeoutId = setTimeout(()=>controller.abort(), 2000); // 2s timeout\n const headers = {\n 'Content-Type': 'application/json'\n };\n // Set User-Agent\n if (isClient) {\n headers['User-Agent'] = navigator.userAgent;\n } else if (this.serverContext?.userAgent) {\n headers['User-Agent'] = this.serverContext.userAgent;\n } else {\n headers['User-Agent'] = 'KLZ-Server-Proxy';\n }\n // Forward client IP if available (Umami must be configured to trust this)\n if (this.serverContext?.ip) {\n headers['X-Forwarded-For'] = this.serverContext.ip;\n }\n try {\n const response = await fetch(`${this.endpoint}/api/send`, {\n method: 'POST',\n headers,\n body: JSON.stringify({\n type,\n payload\n }),\n keepalive: true,\n signal: controller.signal\n });\n clearTimeout(timeoutId);\n if (!response.ok) {\n const errorText = await response.text();\n this.logger.warn('Umami API responded with error', {\n status: response.status,\n error: errorText.slice(0, 100)\n });\n }\n } catch (fetchError) {\n clearTimeout(timeoutId);\n if (fetchError.name === 'AbortError') {\n this.logger.error('Umami request timed out');\n } else {\n throw fetchError;\n }\n }\n } catch (error) {\n this.logger.error('Failed to send analytics', {\n error: error.message\n });\n }\n }\n /**\n * Track a custom event.\n */ track(eventName, props) {\n this.sendPayload('event', {\n name: eventName,\n data: props,\n url: true ? window.location.pathname + window.location.search : 0\n });\n }\n /**\n * Track a pageview.\n */ trackPageview(url) {\n this.sendPayload('event', {\n url: url || ( true ? window.location.pathname + window.location.search : 0)\n });\n }\n}\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9zZXJ2aWNlcy9hbmFseXRpY3MvdW1hbWktYW5hbHl0aWNzLXNlcnZpY2UudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDc0M7QUFZdEM7Ozs7Ozs7OztDQVNDLEdBQ00sTUFBTUM7SUFXWCxZQUNFLE9BQXNELEVBQ3RERSxNQUFxQixDQUNyQjthQUZpQkQsVUFBQUE7UUFHakIsSUFBSSxDQUFDRSxTQUFTLEdBQUdKLDJDQUFNQSxDQUFDSyxTQUFTLENBQUNDLEtBQUssQ0FBQ0YsU0FBUztRQUNqRCxJQUFJLENBQUNELE1BQU0sR0FBR0EsT0FBT0ksS0FBSyxDQUFDO1lBQUVDLFdBQVc7UUFBa0I7UUFFMUQsd0VBQXdFO1FBQ3hFLElBQUksQ0FBQ0MsUUFBUSxHQUFHLE1BQTZCLEdBQUdULENBQWtDLEdBQUc7UUFFckYsSUFBSSxDQUFDRyxNQUFNLENBQUNRLEtBQUssQ0FBQyw2QkFBNkI7WUFDN0NDLFNBQVMsSUFBSSxDQUFDVixPQUFPLENBQUNVLE9BQU87WUFDN0JSLFdBQVcsSUFBSSxDQUFDQSxTQUFTLEdBQUcsZUFBZTtZQUMzQ0ssVUFBVSxJQUFJLENBQUNBLFFBQVE7UUFDekI7SUFDRjtJQUVBOzs7R0FHQyxHQUNESSxpQkFBaUJDLE9BS2hCLEVBQUU7UUFDRCxJQUFJLENBQUNDLGFBQWEsR0FBR0Q7SUFDdkI7SUFFQTs7R0FFQyxHQUNELE1BQWNFLFlBQVlDLElBQWEsRUFBRUMsSUFBeUIsRUFBRTtRQUNsRSxJQUFJLENBQUMsSUFBSSxDQUFDaEIsT0FBTyxDQUFDVSxPQUFPLEVBQUU7UUFFM0IsK0ZBQStGO1FBQy9GLDBFQUEwRTtRQUMxRSxNQUFNTyxXQUFXLGFBQWtCO1FBRW5DLElBQUksQ0FBQ0EsWUFBWSxDQUFDLElBQUksQ0FBQ2YsU0FBUyxFQUFFO1lBQ2hDLElBQUksQ0FBQ0QsTUFBTSxDQUFDaUIsSUFBSSxDQUFDO1lBQ2pCO1FBQ0Y7UUFFQSxJQUFJO1lBQ0YsTUFBTUMsVUFBVTtnQkFDZEMsU0FB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cEIsV0FBVyxDQUFDLFNBQVM7WUFDeEJvQixLQUNFQSxPQUNDLE1BQTZCLEdBQzFCWixPQUFPQyxRQUFRLENBQUN5QyxRQUFRLEdBQUcxQyxPQUFPQyxRQUFRLENBQUMwQyxNQUFNLEdBQ2pEdEMsQ0FBUTtRQUNoQjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9saWIvc2VydmljZXMvYW5hbHl0aWNzL3VtYW1pLWFuYWx5dGljcy1zZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQW5hbHl0aWNzRXZlbnRQcm9wZXJ0aWVzLCBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi9hbmFseXRpY3Mtc2VydmljZSc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcnO1xuaW1wb3J0IHR5cGUgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nZ2luZy9sb2dnZXItc2VydmljZSc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBVbWFtaUFuYWx5dGljc1NlcnZpY2UuXG4gKlxuICogQHByb3BlcnR5IGVuYWJsZWQgLSBXaGV0aGVyIGFuYWx5dGljcyBhcmUgZW5hYmxlZFxuICovXG5leHBvcnQgdHlwZSBVbWFtaUFuYWx5dGljc1NlcnZpY2VPcHRpb25zID0ge1xuICBlbmFibGVkOiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBVbWFtaSBBbmFseXRpY3MgU2VydmljZSBJbXBsZW1lbnRhdGlvbiAoU2NyaXB0LWxlc3MvUHJveHkgZWRpdGlvbikuXG4gKlxuICogVGhpcyB2ZXJzaW9uIGltcGxlbWVudHMgdGhlIFVtYW1pIHRyYWNraW5nIHByb3RvY29sIGRpcmVjdGx5IHZpYSBmZXRjaCxcbiAqIGVsaW1pbmF0aW5nIHRoZSBuZWVkIHRvIGxvYWQgYW4gZXh0ZXJuYWwgc2NyaXB0LmpzIGZpbGUuXG4gKlxuICogSW4gdGhlIGJyb3dzZXIsIGl0IGdhdGhlcnMgc3RhbmRhcmQgbWV0YWRhdGEgKHNjcmVlbiwgbGFuZ3VhZ2UsIHJlZmVycmVyKVxuICogYW5kIHNlbmRzIGl0IHRvIHRoZSBwcm94aWVkICcvc3RhdHMvYXBpL3NlbmQnIGVuZHBvaW50LlxuICogT24gdGhlIHNlcnZlciwgaXQgc2VuZHMgZGlyZWN0bHkgdG8gdGhlIGludGVybmFsIFVtYW1pIEFQSS5cbiAqL1xuZXhwb3J0IGNsYXNzIFVtYW1pQW5hbHl0aWNzU2VydmljZSBpbXBsZW1lbnRzIEFuYWx5dGljc1NlcnZpY2Uge1xuICBwcml2YXRlIHdlYnNpdGVJZD86IHN0cmluZztcbiAgcHJpdmF0ZSBlbmRwb2ludDogc3RyaW5nO1xuICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZTtcbiAgcHJpdmF0ZSBzZXJ2ZXJDb250ZXh0Pzoge1xuICAgIHVzZXJBZ2VudD86IHN0cmluZztcbiAgICBsYW5ndWFnZT86IHN0cmluZztcbiAgICByZWZlcnJlcj86IHN0cmluZztcbiAgICBpcD86IHN0cmluZztcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFVtYW1pQW5hbHl0aWNzU2VydmljZU9wdGlvbnMsXG4gICAgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLndlYnNpdGVJZCA9IGNvbmZpZy5hbmFseXRpY3MudW1hbWkud2Vic2l0ZUlkO1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyLmNoaWxkKHsgY29tcG9uZW50OiAnYW5hbHl0aWNzLXVtYW1pJyB9KTtcblxuICAgIC8vIE9uIHNlcnZlciwgdXNlIHRoZSBmdWxsIGludGVybmFsIFVSTDsgb24gY2xpZW50LCB1c2UgdGhlIHByb3hpZWQgcGF0aFxuICAgIHRoaXMuZW5kcG9pbnQgPSB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyA/IGNvbmZpZy5hbmFseXRpY3MudW1hbWkuYXBpRW5kcG9pbnQgOiAnL3N0YXRzJztcblxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdVbWFtaSBzZXJ2aWNlIGluaXRpYWxpemVkJywge1xuICAgICAgZW5hYmxlZDogdGhpcy5vcHRpb25zLmVuYWJsZWQsXG4gICAgICB3ZWJzaXRlSWQ6IHRoaXMud2Vic2l0ZUlkID8gJ2NvbmZpZ3VyZWQnIDogJ25vdCBjb25maWd1cmVkIChjbGllbnQtc2lkZSBwcm94eSBtb2RlKScsXG4gICAgICBlbmRwb2ludDogdGhpcy5lbmRwb2ludCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHNlcnZlci1zaWRlIGNvbnRleHQgZm9yIHRoZSBjdXJyZW50IHJlcXVlc3QuXG4gICAqIFRoaXMgYWxsb3dzIHRoZSBzZXJ2aWNlIHRvIHVzZSByZWFsIHJlcXVlc3QgaGVhZGVycyBmb3IgdHJhY2tpbmcuXG4gICAqL1xuICBzZXRTZXJ2ZXJDb250ZXh0KGNvbnRleHQ6IHtcbiAgICB1c2VyQWdlbnQ/OiBzdHJpbmc7XG4gICAgbGFuZ3VhZ2U/OiBzdHJpbmc7XG4gICAgcmVmZXJyZXI/OiBzdHJpbmc7XG4gICAgaXA/OiBzdHJpbmc7XG4gIH0pIHtcbiAgICB0aGlzLnNlcnZlckNvbnRleHQgPSBjb250ZXh0O1xuICB9XG5cbiAgLyoqXG4gICAqIEludGVybmFsIG1ldGhvZCB0byBzZW5kIHRoZSBwYXlsb2FkIHRvIFVtYW1pIEFQSS5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgc2VuZFBheWxvYWQodHlwZTogJ2V2ZW50JywgZGF0YTogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIGlmICghdGhpcy5vcHRpb25zLmVuYWJsZWQpIHJldHVybjtcblxuICAgIC8vIE9uIHRoZSBjbGllbnQsIHdlIGRvbid0IG5lZWQgdGhlIHdlYnNpdGVJZCAoaXQncyBpbmplY3RlZCBieSB0aGUgc2VydmVyLXNpZGUgcHJveHkgaGFuZGxlcikuXG4gICAgLy8gT24gdGhlIHNlcnZlciwgd2UgbmVlZCBpdCBiZWNhdXNlIHdlJ3JlIGNhbGxpbmcgdGhlIFVtYW1pIEFQSSBkaXJlY3RseS5cbiAgICBjb25zdCBpc0NsaWVudCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnO1xuXG4gICAgaWYgKCFpc0NsaWVudCAmJiAhdGhpcy53ZWJzaXRlSWQpIHtcbiAgICAgIHRoaXMubG9nZ2VyLndhcm4oJ1VtYW1pIHRyYWNraW5nIGNhbGxlZCBvbiBzZXJ2ZXIgYnV0IG5vIFdlYnNpdGUgSUQgY29uZmlndXJlZCcpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgICB3ZWJzaXRlOiB0aGlzLndlYnNpdGVJZCxcbiAgICAgICAgaG9zdG5hbWU6IGlzQ2xpZW50ID8gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lIDogJ3NlcnZlcicsXG4gICAgICAgIHNjcmVlbjogaXNDbGllbnQgPyBgJHt3aW5kb3cuc2NyZWVuLndpZHRofXgke3dpbmRvdy5zY3JlZW4uaGVpZ2h0fWAgOiB1bmRlZmluZWQsXG4gICAgICAgIGxhbmd1YWdlOiBpc0NsaWVudCA/IG5hdmlnYXRvci5sYW5ndWFnZSA6IHRoaXMuc2VydmVyQ29udGV4dD8ubGFuZ3VhZ2UsXG4gICAgICAgIHJlZmVycmVyOiBpc0NsaWVudCA/IGRvY3VtZW50LnJlZmVycmVyIDogdGhpcy5zZXJ2ZXJDb250ZXh0Py5yZWZlcnJlcixcbiAgICAgICAgdGl0bGU6IGlzQ2xpZW50ID8gZG9jdW1lbnQudGl0bGUgOiB1bmRlZmluZWQsXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICB9O1xuXG4gICAgICB0aGlzLmxvZ2dlci50cmFjZSgnU2VuZGluZyBhbmFseXRpY3MgcGF5bG9hZCcsIHsgdHlwZSwgdXJsOiBkYXRhLnVybCB9KTtcblxuICAgICAgLy8gQWRkIGEgdGltZW91dCB0byBwcmV2ZW50IGhhbmdpbmcgcmVxdWVzdHNcbiAgICAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgICBjb25zdCB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IGNvbnRyb2xsZXIuYWJvcnQoKSwgMjAwMCk7IC8vIDJzIHRpbWVvdXRcblxuICAgICAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH07XG5cbiAgICAgIC8vIFNldCBVc2VyLUFnZW50XG4gICAgICBpZiAoaXNDbGllbnQpIHtcbiAgICAgICAgaGVhZGVyc1snVXNlci1BZ2VudCddID0gbmF2aWdhdG9yLnVzZXJBZ2VudDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zZXJ2ZXJDb250ZXh0Py51c2VyQWdlbnQpIHtcbiAgICAgICAgaGVhZGVyc1snVXNlci1BZ2VudCddID0gdGhpcy5zZXJ2ZXJDb250ZXh0LnVzZXJBZ2VudDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGhlYWRlcnNbJ1VzZXItQWdlbnQnXSA9ICdLTFotU2VydmVyLVByb3h5JztcbiAgICAgIH1cblxuICAgICAgLy8gRm9yd2FyZCBjbGllbnQgSVAgaWYgYXZhaWxhYmxlIChVbWFtaSBtdXN0IGJlIGNvbmZpZ3VyZWQgdG8gdHJ1c3QgdGhpcylcbiAgICAgIGlmICh0aGlzLnNlcnZlckNvbnRleHQ/LmlwKSB7XG4gICAgICAgIGhlYWRlcnNbJ1gtRm9yd2FyZGVkLUZvciddID0gdGhpcy5zZXJ2ZXJDb250ZXh0LmlwO1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke3RoaXMuZW5kcG9pbnR9L2FwaS9zZW5kYCwge1xuICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgIGhlYWRlcnMsXG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyB0eXBlLCBwYXlsb2FkIH0pLFxuICAgICAgICAgIGtlZXBhbGl2ZTogdHJ1ZSxcbiAgICAgICAgICBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgICB9IGFzIGFueSk7XG5cbiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG5cbiAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgIGNvbnN0IGVycm9yVGV4dCA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKTtcbiAgICAgICAgICB0aGlzLmxvZ2dlci53YXJuKCdVbWFtaSBBUEkgcmVzcG9uZGVkIHdpdGggZXJyb3InLCB7XG4gICAgICAgICAgICBzdGF0dXM6IHJlc3BvbnNlLnN0YXR1cyxcbiAgICAgICAgICAgIGVycm9yOiBlcnJvclRleHQuc2xpY2UoMCwgMTAwKSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZmV0Y2hFcnJvcikge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKTtcbiAgICAgICAgaWYgKChmZXRjaEVycm9yIGFzIEVycm9yKS5uYW1lID09PSAnQWJvcnRFcnJvcicpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignVW1hbWkgcmVxdWVzdCB0aW1lZCBvdXQnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBmZXRjaEVycm9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gc2VuZCBhbmFseXRpY3MnLCB7XG4gICAgICAgIGVycm9yOiAoZXJyb3IgYXMgRXJyb3IpLm1lc3NhZ2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJhY2sgYSBjdXN0b20gZXZlbnQuXG4gICAqL1xuICB0cmFjayhldmVudE5hbWU6IHN0cmluZywgcHJvcHM/OiBBbmFseXRpY3NFdmVudFByb3BlcnRpZXMpIHtcbiAgICB0aGlzLnNlbmRQYXlsb2FkKCdldmVudCcsIHtcbiAgICAgIG5hbWU6IGV2ZW50TmFtZSxcbiAgICAgIGRhdGE6IHByb3BzLFxuICAgICAgdXJsOlxuICAgICAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgID8gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lICsgd2luZG93LmxvY2F0aW9uLnNlYXJjaFxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYWNrIGEgcGFnZXZpZXcuXG4gICAqL1xuICB0cmFja1BhZ2V2aWV3KHVybD86IHN0cmluZykge1xuICAgIHRoaXMuc2VuZFBheWxvYWQoJ2V2ZW50Jywge1xuICAgICAgdXJsOlxuICAgICAgICB1cmwgfHxcbiAgICAgICAgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnXG4gICAgICAgICAgPyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgKyB3aW5kb3cubG9jYXRpb24uc2VhcmNoXG4gICAgICAgICAgOiB1bmRlZmluZWQpLFxuICAgIH0pO1xuICB9XG59XG4iXSwibmFtZXMiOlsiY29uZmlnIiwiVW1hbWlBbmFseXRpY3NTZXJ2aWNlIiwib3B0aW9ucyIsImxvZ2dlciIsIndlYnNpdGVJZCIsImFuYWx5dGljcyIsInVtYW1pIiwiY2hpbGQiLCJjb21wb25lbnQiLCJlbmRwb2ludCIsImFwaUVuZHBvaW50IiwiZGVidWciLCJlbmFibGVkIiwic2V0U2VydmVyQ29udGV4dCIsImNvbnRleHQiLCJzZXJ2ZXJDb250ZXh0Iiwic2VuZFBheWxvYWQiLCJ0eXBlIiwiZGF0YSIsImlzQ2xpZW50Iiwid2FybiIsInBheWxvYWQiLCJ3ZWJzaXRlIiwiaG9zdG5hbWUiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInNjcmVlbiIsIndpZHRoIiwiaGVpZ2h0IiwidW5kZWZpbmVkIiwibGFuZ3VhZ2UiLCJuYXZpZ2F0b3IiLCJyZWZlcnJlciIsImRvY3VtZW50IiwidGl0bGUiLCJ0cmFjZSIsInVybCIsImNvbnRyb2xsZXIiLCJBYm9ydENvbnRyb2xsZXIiLCJ0aW1lb3V0SWQiLCJzZXRUaW1lb3V0IiwiYWJvcnQiLCJoZWFkZXJzIiwidXNlckFnZW50IiwiaXAiLCJyZXNwb25zZSIsImZldGNoIiwibWV0aG9kIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJrZWVwYWxpdmUiLCJzaWduYWwiLCJjbGVhclRpbWVvdXQiLCJvayIsImVycm9yVGV4dCIsInRleHQiLCJzdGF0dXMiLCJlcnJvciIsInNsaWNlIiwiZmV0Y2hFcnJvciIsIm5hbWUiLCJtZXNzYWdlIiwidHJhY2siLCJldmVudE5hbWUiLCJwcm9wcyIsInBhdGhuYW1lIiwic2VhcmNoIiwidHJhY2tQYWdldmlldyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/services/analytics/umami-analytics-service.ts\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./lib/services/app-services.ts":
|
||
/*!**************************************!*\
|
||
!*** ./lib/services/app-services.ts ***!
|
||
\**************************************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AppServices: () => (/* binding */ AppServices)\n/* harmony export */ });\n// Simple constructor-based DI container.\nclass AppServices {\n constructor(analytics, errors, cache, logger, notifications){\n this.analytics = analytics;\n this.errors = errors;\n this.cache = cache;\n this.logger = logger;\n this.notifications = notifications;\n }\n}\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9zZXJ2aWNlcy9hcHAtc2VydmljZXMudHMiLCJtYXBwaW5ncyI6Ijs7OztBQU1BLHlDQUF5QztBQUNsQyxNQUFNQTtJQUNYLFlBQ0UsU0FBMkMsRUFDM0MsTUFBNkMsRUFDN0MsS0FBbUMsRUFDbkMsTUFBcUMsRUFDckMsYUFBa0QsQ0FDbEQ7YUFMZ0JDLFlBQUFBO2FBQ0FDLFNBQUFBO2FBQ0FDLFFBQUFBO2FBQ0FDLFNBQUFBO2FBQ0FDLGdCQUFBQTtJQUNmO0FBQ0wiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9saWIvc2VydmljZXMvYXBwLXNlcnZpY2VzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4vYW5hbHl0aWNzL2FuYWx5dGljcy1zZXJ2aWNlJztcbmltcG9ydCB0eXBlIHsgQ2FjaGVTZXJ2aWNlIH0gZnJvbSAnLi9jYWNoZS9jYWNoZS1zZXJ2aWNlJztcbmltcG9ydCB0eXBlIHsgRXJyb3JSZXBvcnRpbmdTZXJ2aWNlIH0gZnJvbSAnLi9lcnJvcnMvZXJyb3ItcmVwb3J0aW5nLXNlcnZpY2UnO1xuaW1wb3J0IHR5cGUgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi9sb2dnaW5nL2xvZ2dlci1zZXJ2aWNlJztcbmltcG9ydCB0eXBlIHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb24tc2VydmljZSc7XG5cbi8vIFNpbXBsZSBjb25zdHJ1Y3Rvci1iYXNlZCBESSBjb250YWluZXIuXG5leHBvcnQgY2xhc3MgQXBwU2VydmljZXMge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgYW5hbHl0aWNzOiBBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSBlcnJvcnM6IEVycm9yUmVwb3J0aW5nU2VydmljZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2FjaGU6IENhY2hlU2VydmljZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSBub3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICApIHt9XG59XG4iXSwibmFtZXMiOlsiQXBwU2VydmljZXMiLCJhbmFseXRpY3MiLCJlcnJvcnMiLCJjYWNoZSIsImxvZ2dlciIsIm5vdGlmaWNhdGlvbnMiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/services/app-services.ts\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./lib/services/cache/memory-cache-service.ts":
|
||
/*!****************************************************!*\
|
||
!*** ./lib/services/cache/memory-cache-service.ts ***!
|
||
\****************************************************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MemoryCacheService: () => (/* binding */ MemoryCacheService)\n/* harmony export */ });\nclass MemoryCacheService {\n async get(key) {\n const entry = this.store.get(key);\n if (!entry) return undefined;\n if (entry.expiresAt && Date.now() > entry.expiresAt) {\n this.store.delete(key);\n return undefined;\n }\n return entry.value;\n }\n async set(key, value, options) {\n const ttl = options?.ttlSeconds;\n const expiresAt = ttl ? Date.now() + ttl * 1000 : undefined;\n this.store.set(key, {\n value,\n expiresAt\n });\n }\n async del(key) {\n this.store.delete(key);\n }\n constructor(){\n this.store = new Map();\n }\n}\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9zZXJ2aWNlcy9jYWNoZS9tZW1vcnktY2FjaGUtc2VydmljZS50cyIsIm1hcHBpbmdzIjoiOzs7O0FBT08sTUFBTUE7SUFHWCxNQUFNQyxJQUFPQyxHQUFXLEVBQUU7UUFDeEIsTUFBTUMsUUFBUSxJQUFJLENBQUNDLEtBQUssQ0FBQ0gsR0FBRyxDQUFDQztRQUM3QixJQUFJLENBQUNDLE9BQU8sT0FBT0U7UUFDbkIsSUFBSUYsTUFBTUcsU0FBUyxJQUFJQyxLQUFLQyxHQUFHLEtBQUtMLE1BQU1HLFNBQVMsRUFBRTtZQUNuRCxJQUFJLENBQUNGLEtBQUssQ0FBQ0ssTUFBTSxDQUFDUDtZQUNsQixPQUFPRztRQUNUO1FBQ0EsT0FBT0YsTUFBTU8sS0FBSztJQUNwQjtJQUVBLE1BQU1DLElBQU9ULEdBQVcsRUFBRVEsS0FBUSxFQUFFRSxPQUF5QixFQUFFO1FBQzdELE1BQU1DLE1BQU1ELFNBQVNFO1FBQ3JCLE1BQU1SLFlBQVlPLE1BQU1OLEtBQUtDLEdBQUcsS0FBS0ssTUFBTSxPQUFPUjtRQUNsRCxJQUFJLENBQUNELEtBQUssQ0FBQ08sR0FBRyxDQUFDVCxLQUFLO1lBQUVRO1lBQU9KO1FBQVU7SUFDekM7SUFFQSxNQUFNUyxJQUFJYixHQUFXLEVBQUU7UUFDckIsSUFBSSxDQUFDRSxLQUFLLENBQUNLLE1BQU0sQ0FBQ1A7SUFDcEI7O2FBcEJpQkUsUUFBUSxJQUFJWTs7QUFxQi9CIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbGliL3NlcnZpY2VzL2NhY2hlL21lbW9yeS1jYWNoZS1zZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2FjaGVTZXJ2aWNlLCBDYWNoZVNldE9wdGlvbnMgfSBmcm9tICcuL2NhY2hlLXNlcnZpY2UnO1xuXG50eXBlIEVudHJ5ID0ge1xuICB2YWx1ZTogdW5rbm93bjtcbiAgZXhwaXJlc0F0PzogbnVtYmVyO1xufTtcblxuZXhwb3J0IGNsYXNzIE1lbW9yeUNhY2hlU2VydmljZSBpbXBsZW1lbnRzIENhY2hlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RvcmUgPSBuZXcgTWFwPHN0cmluZywgRW50cnk+KCk7XG5cbiAgYXN5bmMgZ2V0PFQ+KGtleTogc3RyaW5nKSB7XG4gICAgY29uc3QgZW50cnkgPSB0aGlzLnN0b3JlLmdldChrZXkpO1xuICAgIGlmICghZW50cnkpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgaWYgKGVudHJ5LmV4cGlyZXNBdCAmJiBEYXRlLm5vdygpID4gZW50cnkuZXhwaXJlc0F0KSB7XG4gICAgICB0aGlzLnN0b3JlLmRlbGV0ZShrZXkpO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIGVudHJ5LnZhbHVlIGFzIFQ7XG4gIH1cblxuICBhc3luYyBzZXQ8VD4oa2V5OiBzdHJpbmcsIHZhbHVlOiBULCBvcHRpb25zPzogQ2FjaGVTZXRPcHRpb25zKSB7XG4gICAgY29uc3QgdHRsID0gb3B0aW9ucz8udHRsU2Vjb25kcztcbiAgICBjb25zdCBleHBpcmVzQXQgPSB0dGwgPyBEYXRlLm5vdygpICsgdHRsICogMTAwMCA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLnN0b3JlLnNldChrZXksIHsgdmFsdWUsIGV4cGlyZXNBdCB9KTtcbiAgfVxuXG4gIGFzeW5jIGRlbChrZXk6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmUuZGVsZXRlKGtleSk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJNZW1vcnlDYWNoZVNlcnZpY2UiLCJnZXQiLCJrZXkiLCJlbnRyeSIsInN0b3JlIiwidW5kZWZpbmVkIiwiZXhwaXJlc0F0IiwiRGF0ZSIsIm5vdyIsImRlbGV0ZSIsInZhbHVlIiwic2V0Iiwib3B0aW9ucyIsInR0bCIsInR0bFNlY29uZHMiLCJkZWwiLCJNYXAiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/services/cache/memory-cache-service.ts\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./lib/services/create-services.ts":
|
||
/*!*****************************************!*\
|
||
!*** ./lib/services/create-services.ts ***!
|
||
\*****************************************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getAppServices: () => (/* binding */ getAppServices)\n/* harmony export */ });\n/* harmony import */ var _app_services__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./app-services */ \"(app-pages-browser)/./lib/services/app-services.ts\");\n/* harmony import */ var _analytics_noop_analytics_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./analytics/noop-analytics-service */ \"(app-pages-browser)/./lib/services/analytics/noop-analytics-service.ts\");\n/* harmony import */ var _analytics_umami_analytics_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./analytics/umami-analytics-service */ \"(app-pages-browser)/./lib/services/analytics/umami-analytics-service.ts\");\n/* harmony import */ var _cache_memory_cache_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./cache/memory-cache-service */ \"(app-pages-browser)/./lib/services/cache/memory-cache-service.ts\");\n/* harmony import */ var _errors_glitchtip_error_reporting_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./errors/glitchtip-error-reporting-service */ \"(app-pages-browser)/./lib/services/errors/glitchtip-error-reporting-service.ts\");\n/* harmony import */ var _errors_noop_error_reporting_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./errors/noop-error-reporting-service */ \"(app-pages-browser)/./lib/services/errors/noop-error-reporting-service.ts\");\n/* harmony import */ var _logging_noop_logger_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./logging/noop-logger-service */ \"(app-pages-browser)/./lib/services/logging/noop-logger-service.ts\");\n/* harmony import */ var _logging_pino_logger_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./logging/pino-logger-service */ \"(app-pages-browser)/./lib/services/logging/pino-logger-service.ts\");\n/* harmony import */ var _notifications_gotify_notification_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./notifications/gotify-notification-service */ \"(app-pages-browser)/./lib/services/notifications/gotify-notification-service.ts\");\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../config */ \"(app-pages-browser)/./lib/config.ts\");\n\n\n\n\n\n\n\n\n\n\nlet singleton;\n/**\n * Get the application services singleton.\n */ function getAppServices() {\n // Return cached instance if available\n if (false) {}\n if (singleton) return singleton;\n // Create logger first to log initialization\n const logger = false ? 0 : new _logging_noop_logger_service__WEBPACK_IMPORTED_MODULE_6__.NoopLoggerService();\n // Log initialization\n if (false) {} else {\n // Client-side\n logger.info('Initializing client application services', {\n environment: (0,_config__WEBPACK_IMPORTED_MODULE_9__.getMaskedConfig)(),\n timestamp: new Date().toISOString()\n });\n }\n // Determine which services to enable based on environment variables\n const umamiEnabled = _config__WEBPACK_IMPORTED_MODULE_9__.config.analytics.umami.enabled;\n const sentryEnabled = _config__WEBPACK_IMPORTED_MODULE_9__.config.errors.glitchtip.enabled;\n logger.info('Service configuration', {\n umamiEnabled,\n sentryEnabled,\n isServer: \"object\" === 'undefined'\n });\n // Create analytics service (Umami or no-op)\n const analytics = umamiEnabled ? new _analytics_umami_analytics_service__WEBPACK_IMPORTED_MODULE_2__.UmamiAnalyticsService({\n enabled: true\n }, logger) : new _analytics_noop_analytics_service__WEBPACK_IMPORTED_MODULE_1__.NoopAnalyticsService();\n if (umamiEnabled) {\n logger.info('Umami analytics service initialized');\n } else {\n logger.info('Noop analytics service initialized (analytics disabled)');\n }\n // Create notification service\n const notifications = new _notifications_gotify_notification_service__WEBPACK_IMPORTED_MODULE_8__.NoopNotificationService();\n logger.info('Notification service initialized (noop)');\n // Create error reporting service (GlitchTip/Sentry or no-op)\n const errors = sentryEnabled ? new _errors_glitchtip_error_reporting_service__WEBPACK_IMPORTED_MODULE_4__.GlitchtipErrorReportingService({\n enabled: true,\n dsn: _config__WEBPACK_IMPORTED_MODULE_9__.config.errors.glitchtip.dsn,\n tracesSampleRate: 0.1\n }, logger, notifications) : new _errors_noop_error_reporting_service__WEBPACK_IMPORTED_MODULE_5__.NoopErrorReportingService();\n if (sentryEnabled) {\n logger.info(`GlitchTip error reporting service initialized (${ false ? 0 : 'client'})`);\n } else {\n logger.info('Noop error reporting service initialized (error reporting disabled)');\n }\n const cache = new _cache_memory_cache_service__WEBPACK_IMPORTED_MODULE_3__.MemoryCacheService();\n logger.info('Memory cache service initialized');\n logger.info('Pino logger service initialized', {\n name: false ? 0 : 'client',\n level: _config__WEBPACK_IMPORTED_MODULE_9__.config.logging.level\n });\n // Create and cache the singleton\n if (false) {}\n singleton = new _app_services__WEBPACK_IMPORTED_MODULE_0__.AppServices(analytics, errors, cache, logger, notifications);\n logger.info('All application services initialized successfully');\n return singleton;\n}\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9zZXJ2aWNlcy9jcmVhdGUtc2VydmljZXMudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBNkM7QUFDNkI7QUFDRTtBQUNWO0FBQzBCO0FBQ1Y7QUFDaEI7QUFDQTtBQUNvQjtBQUNsQztBQU1wRCxJQUFJVztBQUVKOztDQUVDLEdBQ00sU0FBU0M7SUFDZCxzQ0FBc0M7SUFDdEMsSUFBSSxLQUF5RCxFQUFFLEVBQWdDO0lBQy9GLElBQUlELFdBQVcsT0FBT0E7SUFFdEIsNENBQTRDO0lBQzVDLE1BQU1JLFNBQ0osTUFBNkIsR0FBRyxDQUErQixHQUFHLElBQUlULDJFQUFpQkE7SUFFekYscUJBQXFCO0lBQ3JCLElBQUksS0FBNkIsRUFBRSxFQU1sQyxNQUFNO1FBQ0wsY0FBYztRQUNkUyxPQUFPQyxJQUFJLENBQUMsNENBQTRDO1lBQ3REQyxhQUFhUCx3REFBZUE7WUFDNUJRLFdBQVcsSUFBSUMsT0FBT0MsV0FBVztRQUNuQztJQUNGO0lBRUEsb0VBQW9FO0lBQ3BFLE1BQU1DLGVBQWVaLDJDQUFNQSxDQUFDYSxTQUFTLENBQUNDLEtBQUssQ0FBQ0MsT0FBTztJQUNuRCxNQUFNQyxnQkFBZ0JoQiwyQ0FBTUEsQ0FBQ2lCLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDSCxPQUFPO0lBRXJEVCxPQUFPQyxJQUFJLENBQUMseUJBQXlCO1FBQ25DSztRQUNBSTtRQUNBRyxVQUFVLGFBQWtCO0lBQzlCO0lBRUEsNENBQTRDO0lBQzVDLE1BQU1OLFlBQVlELGVBQ2QsSUFBSW5CLHFGQUFxQkEsQ0FBQztRQUFFc0IsU0FBUztJQUFLLEdBQUdULFVBQzdDLElBQUlkLG1GQUFvQkE7SUFFNUIsSUFBSW9CLGNBQWM7UUFDaEJOLE9BQU9DLElBQUksQ0FBQztJQUNkLE9BQU87UUFDTEQsT0FBT0MsSUFBSSxDQUFDO0lBQ2Q7SUFFQSw4QkFBOEI7SUFDOUIsTUFBTWEsZ0JBQWdCLElBQUlyQiwrRkFBdUJBO0lBQ2pETyxPQUFPQyxJQUFJLENBQUM7SUFFWiw2REFBNkQ7SUFDN0QsTUFBTVUsU0FBU0QsZ0JBQ1gsSUFBSXJCLHFHQUE4QkEsQ0FDaEM7UUFDRW9CLFNBQVM7UUFDVE0sS0FBS3JCLDJDQUFNQSxDQUFDaUIsTUFBTSxDQUFDQyxTQUFTLENBQUNHLEdBQUc7UUFDaENDLGtCQUFrQjtJQUNwQixHQUNBaEIsUUFDQWMsaUJBRUYsSUFBSXhCLDJGQUF5QkE7SUFFakMsSUFBSW9CLGVBQWU7UUFDakJWLE9BQU9DLElBQUksQ0FDVCxDQUFDLCtDQUErQyxFQUFFLE1BQTZCLEdBQUcsQ0FBUSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRTVHLE9BQU87UUFDTEQsT0FBT0MsSUFBSSxDQUFDO0lBQ2Q7SUFFQSxNQUFNZ0IsUUFBUSxJQUFJN0IsMkVBQWtCQTtJQUNwQ1ksT0FBT0MsSUFBSSxDQUFDO0lBRVpELE9BQU9DLElBQUksQ0FBQyxtQ0FBbUM7UUFDN0NpQixNQUFNLE1BQTZCLEdBQUcsQ0FBUSxHQUFHO1FBQ2pEQyxPQUFPekIsMkNBQU1BLENBQUMwQixPQUFPLENBQUNELEtBQUs7SUFDN0I7SUFFQSxpQ0FBaUM7SUFDakMsSUFBSSxLQUE2QixFQUFFLEVBR2xDO0lBRUR2QixZQUFZLElBQUlYLHNEQUFXQSxDQUFDc0IsV0FBV0ksUUFBUU0sT0FBT2pCLFFBQVFjO0lBRTlEZCxPQUFPQyxJQUFJLENBQUM7SUFFWixPQUFPTDtBQUNUIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbGliL3NlcnZpY2VzL2NyZWF0ZS1zZXJ2aWNlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBTZXJ2aWNlcyB9IGZyb20gJy4vYXBwLXNlcnZpY2VzJztcbmltcG9ydCB7IE5vb3BBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi9hbmFseXRpY3Mvbm9vcC1hbmFseXRpY3Mtc2VydmljZSc7XG5pbXBvcnQgeyBVbWFtaUFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuL2FuYWx5dGljcy91bWFtaS1hbmFseXRpY3Mtc2VydmljZSc7XG5pbXBvcnQgeyBNZW1vcnlDYWNoZVNlcnZpY2UgfSBmcm9tICcuL2NhY2hlL21lbW9yeS1jYWNoZS1zZXJ2aWNlJztcbmltcG9ydCB7IEdsaXRjaHRpcEVycm9yUmVwb3J0aW5nU2VydmljZSB9IGZyb20gJy4vZXJyb3JzL2dsaXRjaHRpcC1lcnJvci1yZXBvcnRpbmctc2VydmljZSc7XG5pbXBvcnQgeyBOb29wRXJyb3JSZXBvcnRpbmdTZXJ2aWNlIH0gZnJvbSAnLi9lcnJvcnMvbm9vcC1lcnJvci1yZXBvcnRpbmctc2VydmljZSc7XG5pbXBvcnQgeyBOb29wTG9nZ2VyU2VydmljZSB9IGZyb20gJy4vbG9nZ2luZy9ub29wLWxvZ2dlci1zZXJ2aWNlJztcbmltcG9ydCB7IFBpbm9Mb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi9sb2dnaW5nL3Bpbm8tbG9nZ2VyLXNlcnZpY2UnO1xuaW1wb3J0IHsgTm9vcE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL25vdGlmaWNhdGlvbnMvZ290aWZ5LW5vdGlmaWNhdGlvbi1zZXJ2aWNlJztcbmltcG9ydCB7IGNvbmZpZywgZ2V0TWFza2VkQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnJztcblxuZGVjbGFyZSBnbG9iYWwge1xuICB2YXIgX19hcHBTZXJ2aWNlczogQXBwU2VydmljZXMgfCB1bmRlZmluZWQ7XG59XG5cbmxldCBzaW5nbGV0b246IEFwcFNlcnZpY2VzIHwgdW5kZWZpbmVkO1xuXG4vKipcbiAqIEdldCB0aGUgYXBwbGljYXRpb24gc2VydmljZXMgc2luZ2xldG9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXBwU2VydmljZXMoKTogQXBwU2VydmljZXMge1xuICAvLyBSZXR1cm4gY2FjaGVkIGluc3RhbmNlIGlmIGF2YWlsYWJsZVxuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcgJiYgZ2xvYmFsVGhpcy5fX2FwcFNlcnZpY2VzKSByZXR1cm4gZ2xvYmFsVGhpcy5fX2FwcFNlcnZpY2VzO1xuICBpZiAoc2luZ2xldG9uKSByZXR1cm4gc2luZ2xldG9uO1xuXG4gIC8vIENyZWF0ZSBsb2dnZXIgZmlyc3QgdG8gbG9nIGluaXRpYWxpemF0aW9uXG4gIGNvbnN0IGxvZ2dlciA9XG4gICAgdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcgPyBuZXcgUGlub0xvZ2dlclNlcnZpY2UoJ3NlcnZlcicpIDogbmV3IE5vb3BMb2dnZXJTZXJ2aWNlKCk7XG5cbiAgLy8gTG9nIGluaXRpYWxpemF0aW9uXG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIC8vIFNlcnZlci1zaWRlXG4gICAgbG9nZ2VyLmluZm8oJ0luaXRpYWxpemluZyBzZXJ2ZXIgYXBwbGljYXRpb24gc2VydmljZXMnLCB7XG4gICAgICBlbnZpcm9ubWVudDogZ2V0TWFza2VkQ29uZmlnKCksXG4gICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICAvLyBDbGllbnQtc2lkZVxuICAgIGxvZ2dlci5pbmZvKCdJbml0aWFsaXppbmcgY2xpZW50IGFwcGxpY2F0aW9uIHNlcnZpY2VzJywge1xuICAgICAgZW52aXJvbm1lbnQ6IGdldE1hc2tlZENvbmZpZygpLFxuICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgfSk7XG4gIH1cblxuICAvLyBEZXRlcm1pbmUgd2hpY2ggc2VydmljZXMgdG8gZW5hYmxlIGJhc2VkIG9uIGVudmlyb25tZW50IHZhcmlhYmxlc1xuICBjb25zdCB1bWFtaUVuYWJsZWQgPSBjb25maWcuYW5hbHl0aWNzLnVtYW1pLmVuYWJsZWQ7XG4gIGNvbnN0IHNlbnRyeUVuYWJsZWQgPSBjb25maWcuZXJyb3JzLmdsaXRjaHRpcC5lbmFibGVkO1xuXG4gIGxvZ2dlci5pbmZvKCdTZXJ2aWNlIGNvbmZpZ3VyYXRpb24nLCB7XG4gICAgdW1hbWlFbmFibGVkLFxuICAgIHNlbnRyeUVuYWJsZWQsXG4gICAgaXNTZXJ2ZXI6IHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnLFxuICB9KTtcblxuICAvLyBDcmVhdGUgYW5hbHl0aWNzIHNlcnZpY2UgKFVtYW1pIG9yIG5vLW9wKVxuICBjb25zdCBhbmFseXRpY3MgPSB1bWFtaUVuYWJsZWRcbiAgICA/IG5ldyBVbWFtaUFuYWx5dGljc1NlcnZpY2UoeyBlbmFibGVkOiB0cnVlIH0sIGxvZ2dlcilcbiAgICA6IG5ldyBOb29wQW5hbHl0aWNzU2VydmljZSgpO1xuXG4gIGlmICh1bWFtaUVuYWJsZWQpIHtcbiAgICBsb2dnZXIuaW5mbygnVW1hbWkgYW5hbHl0aWNzIHNlcnZpY2UgaW5pdGlhbGl6ZWQnKTtcbiAgfSBlbHNlIHtcbiAgICBsb2dnZXIuaW5mbygnTm9vcCBhbmFseXRpY3Mgc2VydmljZSBpbml0aWFsaXplZCAoYW5hbHl0aWNzIGRpc2FibGVkKScpO1xuICB9XG5cbiAgLy8gQ3JlYXRlIG5vdGlmaWNhdGlvbiBzZXJ2aWNlXG4gIGNvbnN0IG5vdGlmaWNhdGlvbnMgPSBuZXcgTm9vcE5vdGlmaWNhdGlvblNlcnZpY2UoKTtcbiAgbG9nZ2VyLmluZm8oJ05vdGlmaWNhdGlvbiBzZXJ2aWNlIGluaXRpYWxpemVkIChub29wKScpO1xuXG4gIC8vIENyZWF0ZSBlcnJvciByZXBvcnRpbmcgc2VydmljZSAoR2xpdGNoVGlwL1NlbnRyeSBvciBuby1vcClcbiAgY29uc3QgZXJyb3JzID0gc2VudHJ5RW5hYmxlZFxuICAgID8gbmV3IEdsaXRjaHRpcEVycm9yUmVwb3J0aW5nU2VydmljZShcbiAgICAgICAge1xuICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgZHNuOiBjb25maWcuZXJyb3JzLmdsaXRjaHRpcC5kc24sXG4gICAgICAgICAgdHJhY2VzU2FtcGxlUmF0ZTogMC4xLCAvLyBEZWZhdWx0IHRvIDEwJSBzYW1wbGluZ1xuICAgICAgICB9LFxuICAgICAgICBsb2dnZXIsXG4gICAgICAgIG5vdGlmaWNhdGlvbnMsXG4gICAgICApXG4gICAgOiBuZXcgTm9vcEVycm9yUmVwb3J0aW5nU2VydmljZSgpO1xuXG4gIGlmIChzZW50cnlFbmFibGVkKSB7XG4gICAgbG9nZ2VyLmluZm8oXG4gICAgICBgR2xpdGNoVGlwIGVycm9yIHJlcG9ydGluZyBzZXJ2aWNlIGluaXRpYWxpemVkICgke3R5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnID8gJ3NlcnZlcicgOiAnY2xpZW50J30pYCxcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIGxvZ2dlci5pbmZvKCdOb29wIGVycm9yIHJlcG9ydGluZyBzZXJ2aWNlIGluaXRpYWxpemVkIChlcnJvciByZXBvcnRpbmcgZGlzYWJsZWQpJyk7XG4gIH1cblxuICBjb25zdCBjYWNoZSA9IG5ldyBNZW1vcnlDYWNoZVNlcnZpY2UoKTtcbiAgbG9nZ2VyLmluZm8oJ01lbW9yeSBjYWNoZSBzZXJ2aWNlIGluaXRpYWxpemVkJyk7XG5cbiAgbG9nZ2VyLmluZm8oJ1Bpbm8gbG9nZ2VyIHNlcnZpY2UgaW5pdGlhbGl6ZWQnLCB7XG4gICAgbmFtZTogdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcgPyAnc2VydmVyJyA6ICdjbGllbnQnLFxuICAgIGxldmVsOiBjb25maWcubG9nZ2luZy5sZXZlbCxcbiAgfSk7XG5cbiAgLy8gQ3JlYXRlIGFuZCBjYWNoZSB0aGUgc2luZ2xldG9uXG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIGdsb2JhbFRoaXMuX19hcHBTZXJ2aWNlcyA9IG5ldyBBcHBTZXJ2aWNlcyhhbmFseXRpY3MsIGVycm9ycywgY2FjaGUsIGxvZ2dlciwgbm90aWZpY2F0aW9ucyk7XG4gICAgcmV0dXJuIGdsb2JhbFRoaXMuX19hcHBTZXJ2aWNlcztcbiAgfVxuXG4gIHNpbmdsZXRvbiA9IG5ldyBBcHBTZXJ2aWNlcyhhbmFseXRpY3MsIGVycm9ycywgY2FjaGUsIGxvZ2dlciwgbm90aWZpY2F0aW9ucyk7XG5cbiAgbG9nZ2VyLmluZm8oJ0FsbCBhcHBsaWNhdGlvbiBzZXJ2aWNlcyBpbml0aWFsaXplZCBzdWNjZXNzZnVsbHknKTtcblxuICByZXR1cm4gc2luZ2xldG9uO1xufVxuIl0sIm5hbWVzIjpbIkFwcFNlcnZpY2VzIiwiTm9vcEFuYWx5dGljc1NlcnZpY2UiLCJVbWFtaUFuYWx5dGljc1NlcnZpY2UiLCJNZW1vcnlDYWNoZVNlcnZpY2UiLCJHbGl0Y2h0aXBFcnJvclJlcG9ydGluZ1NlcnZpY2UiLCJOb29wRXJyb3JSZXBvcnRpbmdTZXJ2aWNlIiwiTm9vcExvZ2dlclNlcnZpY2UiLCJQaW5vTG9nZ2VyU2VydmljZSIsIk5vb3BOb3RpZmljYXRpb25TZXJ2aWNlIiwiY29uZmlnIiwiZ2V0TWFza2VkQ29uZmlnIiwic2luZ2xldG9uIiwiZ2V0QXBwU2VydmljZXMiLCJnbG9iYWxUaGlzIiwiX19hcHBTZXJ2aWNlcyIsImxvZ2dlciIsImluZm8iLCJlbnZpcm9ubWVudCIsInRpbWVzdGFtcCIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInVtYW1pRW5hYmxlZCIsImFuYWx5dGljcyIsInVtYW1pIiwiZW5hYmxlZCIsInNlbnRyeUVuYWJsZWQiLCJlcnJvcnMiLCJnbGl0Y2h0aXAiLCJpc1NlcnZlciIsIm5vdGlmaWNhdGlvbnMiLCJkc24iLCJ0cmFjZXNTYW1wbGVSYXRlIiwiY2FjaGUiLCJuYW1lIiwibGV2ZWwiLCJsb2dnaW5nIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/services/create-services.ts\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./lib/services/errors/glitchtip-error-reporting-service.ts":
|
||
/*!******************************************************************!*\
|
||
!*** ./lib/services/errors/glitchtip-error-reporting-service.ts ***!
|
||
\******************************************************************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlitchtipErrorReportingService: () => (/* binding */ GlitchtipErrorReportingService)\n/* harmony export */ });\n// GlitchTip speaks the Sentry protocol; @sentry/nextjs can send to GlitchTip via DSN.\n// Sentry is dynamically imported to avoid a ~100KB main-thread execution penalty on initial load.\nclass GlitchtipErrorReportingService {\n constructor(options, logger, notifications){\n this.options = options;\n this.notifications = notifications;\n this.sentryPromise = null;\n this.logger = logger.child({\n component: 'error-reporting-glitchtip'\n });\n if (this.options.enabled) {\n if (true) {\n // On client-side, wait until idle before fetching Sentry\n if ('requestIdleCallback' in window) {\n window.requestIdleCallback(()=>{\n this.getSentry();\n });\n } else {\n setTimeout(()=>{\n this.getSentry();\n }, 3000);\n }\n } else {}\n }\n }\n getSentry() {\n if (!this.sentryPromise) {\n this.sentryPromise = __webpack_require__.e(/*! import() */ \"_app-pages-browser_node_modules_pnpm_sentry_nextjs_10_47_0__opentelemetry_context-async-hooks-9d5bb2\").then(__webpack_require__.bind(__webpack_require__, /*! @sentry/nextjs */ \"(app-pages-browser)/./node_modules/.pnpm/@sentry+nextjs@10.47.0_@opentelemetry+context-async-hooks@2.6.1_@opentelemetry+api@1.9._05ce332ba5541670b73df19bfb9901e5/node_modules/@sentry/nextjs/build/esm/index.client.js\")).then((Sentry)=>{\n // Client-side initialization must happen here since sentry.client.config.ts is empty\n if ( true && this.options.enabled) {\n Sentry.init({\n dsn: this.options.dsn || 'https://public@errors.infra.mintel.me/1',\n tunnel: '/errors/api/relay',\n enabled: true,\n tracesSampleRate: this.options.tracesSampleRate ?? 0.1,\n replaysOnErrorSampleRate: 1.0,\n replaysSessionSampleRate: 0.1\n });\n }\n return Sentry;\n });\n }\n return this.sentryPromise;\n }\n async captureException(error, context) {\n if (!this.options.enabled) return undefined;\n // Send to Gotify if it's considered critical or if we just want all exceptions there\n if (this.notifications) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n const contextStr = context ? `\\nContext: ${JSON.stringify(context, null, 2)}` : '';\n await this.notifications.notify({\n title: '🔥 Critical Error Captured',\n message: `Error: ${errorMessage}${contextStr}`,\n priority: 7\n });\n }\n const Sentry = await this.getSentry();\n return Sentry.captureException(error, context);\n }\n async captureMessage(message, level = 'error') {\n if (!this.options.enabled) return undefined;\n // Send 404s and critical messages straight to Gotify\n if (this.notifications && (level === 'error' || level === 'fatal' || message.includes('Route Not Found'))) {\n await this.notifications.notify({\n title: level === 'warning' ? '⚠️ Warning Captured' : '🔥 Critical Message Captured',\n message: message,\n priority: level === 'warning' ? 5 : 7\n });\n }\n const Sentry = await this.getSentry();\n return Sentry.captureMessage(message, level);\n }\n setUser(user) {\n if (!this.options.enabled) return;\n this.getSentry().then((Sentry)=>Sentry.setUser(user));\n }\n setTag(key, value) {\n if (!this.options.enabled) return;\n this.getSentry().then((Sentry)=>Sentry.setTag(key, value));\n }\n withScope(fn, _context) {\n if (!this.options.enabled) return fn();\n // Since withScope mandates executing fn() synchronously to return T,\n // and Sentry load is async, if context mapping is absolutely required\n // for this feature we would need an async API.\n // For now we degrade gracefully by just executing the function.\n return fn();\n }\n}\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9zZXJ2aWNlcy9lcnJvcnMvZ2xpdGNodGlwLWVycm9yLXJlcG9ydGluZy1zZXJ2aWNlLnRzIiwibWFwcGluZ3MiOiI7Ozs7QUFjQSxzRkFBc0Y7QUFDdEYsa0dBQWtHO0FBQzNGLE1BQU1BO0lBSVgsWUFDRSxPQUErRCxFQUMvREUsTUFBcUIsRUFDckIsYUFBb0QsQ0FDcEQ7YUFIaUJELFVBQUFBO2FBRUFFLGdCQUFBQTthQUxYQyxnQkFBaUU7UUFPdkUsSUFBSSxDQUFDRixNQUFNLEdBQUdBLE9BQU9HLEtBQUssQ0FBQztZQUFFQyxXQUFXO1FBQTRCO1FBRXBFLElBQUksSUFBSSxDQUFDTCxPQUFPLENBQUNNLE9BQU8sRUFBRTtZQUN4QixJQUFJLElBQTZCLEVBQUU7Z0JBQ2pDLHlEQUF5RDtnQkFDekQsSUFBSSx5QkFBeUJDLFFBQVE7b0JBQ25DQSxPQUFPQyxtQkFBbUIsQ0FBQzt3QkFDekIsSUFBSSxDQUFDQyxTQUFTO29CQUNoQjtnQkFDRixPQUFPO29CQUNMQyxXQUFXO3dCQUNULElBQUksQ0FBQ0QsU0FBUztvQkFDaEIsR0FBRztnQkFDTDtZQUNGLE9BQU8sRUFHTjtRQUNIO0lBQ0Y7SUFFUUEsWUFBc0Q7UUFDNUQsSUFBSSxDQUFDLElBQUksQ0FBQ04sYUFBYSxFQUFFO1lBQ3ZCLElBQUksQ0FBQ0EsYUFBYSxHQUFHLGtiQUF3QixDQUFDUSxJQUFJLENBQUMsQ0FBQ0M7Z0JBQ2xELHFGQUFxRjtnQkFDckYsSUFBSSxLQUE2QixJQUFJLElBQUksQ0FBQ1osT0FBTyxDQUFDTSxPQUFPLEVBQUU7b0JBQ3pETSxPQUFPQyxJQUFJLENBQUM7d0JBQ1ZDLEtBQUssSUFBSSxDQUFDZCxPQUFPLENBQUNjLEdBQUcsSUFBSTt3QkFDekJDLFFBQVE7d0JBQ1JULFNBQVM7d0JBQ1RVLGtCQUFrQixJQUFJLENBQUNoQixPQUFPLENBQUNnQixnQkFBZ0IsSUFBSTt3QkFDbkRDLDBCQUEwQjt3QkFDMUJDLDBCQUEwQjtvQkFDNUI7Z0JBQ0Y7Z0JBQ0EsT0FBT047WUFDVDtRQUNGO1FBQ0EsT0FBTyxJQUFJLENBQUNULGFBQWE7SUFDM0I7SUFFQSxNQUFNZ0IsaUJBQWlCQyxLQUFjLEVBQUVDLE9BQWlDLEVBQUU7UUFDeEUsSUFBSSxDQUFDLElBQUksQ0FBQ3JCLE9BQU8sQ0FBQ00sT0FBTyxFQUFFLE9BQU9nQjtRQUVsQyxxRkFBcUY7UUFDckYsSUFBSSxJQUFJLENBQUNwQixhQUFhLEVBQUU7WUFDdEIsTUFBTXFCLGVBQWVILGlCQUFpQkksUUFBUUosTUFBTUssT0FBTyxHQUFHQyxPQUFPTjtZQUNyRSxNQUFNTyxhQUFhTixVQUFVLENBQUMsV0FBVyxFQUFFTyxLQUFLQyxTQUFTLENBQUNSLFNBQVMsTUFBTSxJQUFJLEdBQUc7WUFFaEYsTUFBTSxJQUFJLENBQUNuQixhQUFhLENBQUM0QixNQUFNLENBQUM7Z0JBQzlCQyxPQUFPO2dCQUNQTixTQUFTLENBQUMsT0FBTyxFQUFFRixlQUFlSSxZQUFZO2dCQUM5Q0ssVUFBVTtZQUNaO1FBQ0Y7UUFFQSxNQUFNcEIsU0FBUyxNQUFNLElBQUksQ0FBQ0gsU0FBUztRQUNuQyxPQUFPRyxPQUFPTyxnQkFBZ0IsQ0FBQ0MsT0FBT0M7SUFDeEM7SUFFQSxNQUFNWSxlQUFlUixPQUFlLEVBQUVTLFFBQTZCLE9BQU8sRUFBRTtRQUMxRSxJQUFJLENBQUMsSUFBSSxDQUFDbEMsT0FBTyxDQUFDTSxPQUFPLEVBQUUsT0FBT2dCO1FBRWxDLHFEQUFxRDtRQUNyRCxJQUNFLElBQUksQ0FBQ3BCLGFBQWEsSUFDakJnQyxDQUFBQSxVQUFVLFdBQVdBLFVBQVUsV0FBV1QsUUFBUVUsUUFBUSxDQUFDLGtCQUFpQixHQUM3RTtZQUNBLE1BQU0sSUFBSSxDQUFDakMsYUFBYSxDQUFDNEIsTUFBTSxDQUFDO2dCQUM5QkMsT0FBT0csVUFBVSxZQUFZLHdCQUF3QjtnQkFDckRULFNBQVNBO2dCQUNUTyxVQUFVRSxVQUFVLFlBQVksSUFBSTtZQUN0QztRQUNGO1FBRUEsTUFBTXRCLFNBQVMsTUFBTSxJQUFJLENBQUNILFNBQVM7UUFDbkMsT0FBT0csT0FBT3FCLGNBQWMsQ0FBQ1IsU0FBU1M7SUFDeEM7SUFFQUUsUUFBUUMsSUFBK0IsRUFBRTtRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDckMsT0FBTyxDQUFDTSxPQUFPLEVBQUU7UUFDM0IsSUFBSSxDQUFDRyxTQUFTLEdBQUdFLElBQUksQ0FBQyxDQUFDQyxTQUFXQSxPQUFPd0IsT0FBTyxDQUFDQztJQUNuRDtJQUVBQyxPQUFPQyxHQUFXLEVBQUVDLEtBQWEsRUFBRTtRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDeEMsT0FBTyxDQUFDTSxPQUFPLEVBQUU7UUFDM0IsSUFBSSxDQUFDRyxTQUFTLEdBQUdFLElBQUksQ0FBQyxDQUFDQyxTQUFXQSxPQUFPMEIsTUFBTSxDQUFDQyxLQUFLQztJQUN2RDtJQUVBQyxVQUFhQyxFQUFXLEVBQUVDLFFBQWtDLEVBQUs7UUFDL0QsSUFBSSxDQUFDLElBQUksQ0FBQzNDLE9BQU8sQ0FBQ00sT0FBTyxFQUFFLE9BQU9vQztRQUVsQyxxRUFBcUU7UUFDckUsc0VBQXNFO1FBQ3RFLCtDQUErQztRQUMvQyxnRUFBZ0U7UUFDaEUsT0FBT0E7SUFDVDtBQUNGIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbGliL3NlcnZpY2VzL2Vycm9ycy9nbGl0Y2h0aXAtZXJyb3ItcmVwb3J0aW5nLXNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBFcnJvclJlcG9ydGluZ0xldmVsLFxuICBFcnJvclJlcG9ydGluZ1NlcnZpY2UsXG4gIEVycm9yUmVwb3J0aW5nVXNlcixcbn0gZnJvbSAnLi9lcnJvci1yZXBvcnRpbmctc2VydmljZSc7XG5pbXBvcnQgdHlwZSB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbi1zZXJ2aWNlJztcbmltcG9ydCB0eXBlIHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uL2xvZ2dpbmcvbG9nZ2VyLXNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBHbGl0Y2h0aXBFcnJvclJlcG9ydGluZ1NlcnZpY2VPcHRpb25zID0ge1xuICBlbmFibGVkOiBib29sZWFuO1xuICBkc24/OiBzdHJpbmc7XG4gIHRyYWNlc1NhbXBsZVJhdGU/OiBudW1iZXI7XG59O1xuXG4vLyBHbGl0Y2hUaXAgc3BlYWtzIHRoZSBTZW50cnkgcHJvdG9jb2w7IEBzZW50cnkvbmV4dGpzIGNhbiBzZW5kIHRvIEdsaXRjaFRpcCB2aWEgRFNOLlxuLy8gU2VudHJ5IGlzIGR5bmFtaWNhbGx5IGltcG9ydGVkIHRvIGF2b2lkIGEgfjEwMEtCIG1haW4tdGhyZWFkIGV4ZWN1dGlvbiBwZW5hbHR5IG9uIGluaXRpYWwgbG9hZC5cbmV4cG9ydCBjbGFzcyBHbGl0Y2h0aXBFcnJvclJlcG9ydGluZ1NlcnZpY2UgaW1wbGVtZW50cyBFcnJvclJlcG9ydGluZ1NlcnZpY2Uge1xuICBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZTtcbiAgcHJpdmF0ZSBzZW50cnlQcm9taXNlOiBQcm9taXNlPHR5cGVvZiBpbXBvcnQoJ0BzZW50cnkvbmV4dGpzJyk+IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBHbGl0Y2h0aXBFcnJvclJlcG9ydGluZ1NlcnZpY2VPcHRpb25zLFxuICAgIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvbnM/OiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlci5jaGlsZCh7IGNvbXBvbmVudDogJ2Vycm9yLXJlcG9ydGluZy1nbGl0Y2h0aXAnIH0pO1xuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5lbmFibGVkKSB7XG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgLy8gT24gY2xpZW50LXNpZGUsIHdhaXQgdW50aWwgaWRsZSBiZWZvcmUgZmV0Y2hpbmcgU2VudHJ5XG4gICAgICAgIGlmICgncmVxdWVzdElkbGVDYWxsYmFjaycgaW4gd2luZG93KSB7XG4gICAgICAgICAgd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5nZXRTZW50cnkoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZ2V0U2VudHJ5KCk7XG4gICAgICAgICAgfSwgMzAwMCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFByZS1mZXRjaCBvbiBzZXJ2ZXItc2lkZVxuICAgICAgICB0aGlzLmdldFNlbnRyeSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VudHJ5KCk6IFByb21pc2U8dHlwZW9mIGltcG9ydCgnQHNlbnRyeS9uZXh0anMnKT4ge1xuICAgIGlmICghdGhpcy5zZW50cnlQcm9taXNlKSB7XG4gICAgICB0aGlzLnNlbnRyeVByb21pc2UgPSBpbXBvcnQoJ0BzZW50cnkvbmV4dGpzJykudGhlbigoU2VudHJ5KSA9PiB7XG4gICAgICAgIC8vIENsaWVudC1zaWRlIGluaXRpYWxpemF0aW9uIG11c3QgaGFwcGVuIGhlcmUgc2luY2Ugc2VudHJ5LmNsaWVudC5jb25maWcudHMgaXMgZW1wdHlcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHRoaXMub3B0aW9ucy5lbmFibGVkKSB7XG4gICAgICAgICAgU2VudHJ5LmluaXQoe1xuICAgICAgICAgICAgZHNuOiB0aGlzLm9wdGlvbnMuZHNuIHx8ICdodHRwczovL3B1YmxpY0BlcnJvcnMuaW5mcmEubWludGVsLm1lLzEnLFxuICAgICAgICAgICAgdHVubmVsOiAnL2Vycm9ycy9hcGkvcmVsYXknLFxuICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgIHRyYWNlc1NhbXBsZVJhdGU6IHRoaXMub3B0aW9ucy50cmFjZXNTYW1wbGVSYXRlID8/IDAuMSxcbiAgICAgICAgICAgIHJlcGxheXNPbkVycm9yU2FtcGxlUmF0ZTogMS4wLFxuICAgICAgICAgICAgcmVwbGF5c1Nlc3Npb25TYW1wbGVSYXRlOiAwLjEsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFNlbnRyeTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZW50cnlQcm9taXNlO1xuICB9XG5cbiAgYXN5bmMgY2FwdHVyZUV4Y2VwdGlvbihlcnJvcjogdW5rbm93biwgY29udGV4dD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuZW5hYmxlZCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIC8vIFNlbmQgdG8gR290aWZ5IGlmIGl0J3MgY29uc2lkZXJlZCBjcml0aWNhbCBvciBpZiB3ZSBqdXN0IHdhbnQgYWxsIGV4Y2VwdGlvbnMgdGhlcmVcbiAgICBpZiAodGhpcy5ub3RpZmljYXRpb25zKSB7XG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcik7XG4gICAgICBjb25zdCBjb250ZXh0U3RyID0gY29udGV4dCA/IGBcXG5Db250ZXh0OiAke0pTT04uc3RyaW5naWZ5KGNvbnRleHQsIG51bGwsIDIpfWAgOiAnJztcblxuICAgICAgYXdhaXQgdGhpcy5ub3RpZmljYXRpb25zLm5vdGlmeSh7XG4gICAgICAgIHRpdGxlOiAn8J+UpSBDcml0aWNhbCBFcnJvciBDYXB0dXJlZCcsXG4gICAgICAgIG1lc3NhZ2U6IGBFcnJvcjogJHtlcnJvck1lc3NhZ2V9JHtjb250ZXh0U3RyfWAsXG4gICAgICAgIHByaW9yaXR5OiA3LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgU2VudHJ5ID0gYXdhaXQgdGhpcy5nZXRTZW50cnkoKTtcbiAgICByZXR1cm4gU2VudHJ5LmNhcHR1cmVFeGNlcHRpb24oZXJyb3IsIGNvbnRleHQgYXMgYW55KSBhcyBhbnk7XG4gIH1cblxuICBhc3luYyBjYXB0dXJlTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcsIGxldmVsOiBFcnJvclJlcG9ydGluZ0xldmVsID0gJ2Vycm9yJykge1xuICAgIGlmICghdGhpcy5vcHRpb25zLmVuYWJsZWQpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAvLyBTZW5kIDQwNHMgYW5kIGNyaXRpY2FsIG1lc3NhZ2VzIHN0cmFpZ2h0IHRvIEdvdGlmeVxuICAgIGlmIChcbiAgICAgIHRoaXMubm90aWZpY2F0aW9ucyAmJlxuICAgICAgKGxldmVsID09PSAnZXJyb3InIHx8IGxldmVsID09PSAnZmF0YWwnIHx8IG1lc3NhZ2UuaW5jbHVkZXMoJ1JvdXRlIE5vdCBGb3VuZCcpKVxuICAgICkge1xuICAgICAgYXdhaXQgdGhpcy5ub3RpZmljYXRpb25zLm5vdGlmeSh7XG4gICAgICAgIHRpdGxlOiBsZXZlbCA9PT0gJ3dhcm5pbmcnID8gJ+KaoO+4jyBXYXJuaW5nIENhcHR1cmVkJyA6ICfwn5SlIENyaXRpY2FsIE1lc3NhZ2UgQ2FwdHVyZWQnLFxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgICBwcmlvcml0eTogbGV2ZWwgPT09ICd3YXJuaW5nJyA/IDUgOiA3LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgU2VudHJ5ID0gYXdhaXQgdGhpcy5nZXRTZW50cnkoKTtcbiAgICByZXR1cm4gU2VudHJ5LmNhcHR1cmVNZXNzYWdlKG1lc3NhZ2UsIGxldmVsIGFzIGFueSkgYXMgYW55O1xuICB9XG5cbiAgc2V0VXNlcih1c2VyOiBFcnJvclJlcG9ydGluZ1VzZXIgfCBudWxsKSB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuZW5hYmxlZCkgcmV0dXJuO1xuICAgIHRoaXMuZ2V0U2VudHJ5KCkudGhlbigoU2VudHJ5KSA9PiBTZW50cnkuc2V0VXNlcih1c2VyIGFzIGFueSkpO1xuICB9XG5cbiAgc2V0VGFnKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuZW5hYmxlZCkgcmV0dXJuO1xuICAgIHRoaXMuZ2V0U2VudHJ5KCkudGhlbigoU2VudHJ5KSA9PiBTZW50cnkuc2V0VGFnKGtleSwgdmFsdWUpKTtcbiAgfVxuXG4gIHdpdGhTY29wZTxUPihmbjogKCkgPT4gVCwgX2NvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFQge1xuICAgIGlmICghdGhpcy5vcHRpb25zLmVuYWJsZWQpIHJldHVybiBmbigpO1xuXG4gICAgLy8gU2luY2Ugd2l0aFNjb3BlIG1hbmRhdGVzIGV4ZWN1dGluZyBmbigpIHN5bmNocm9ub3VzbHkgdG8gcmV0dXJuIFQsXG4gICAgLy8gYW5kIFNlbnRyeSBsb2FkIGlzIGFzeW5jLCBpZiBjb250ZXh0IG1hcHBpbmcgaXMgYWJzb2x1dGVseSByZXF1aXJlZFxuICAgIC8vIGZvciB0aGlzIGZlYXR1cmUgd2Ugd291bGQgbmVlZCBhbiBhc3luYyBBUEkuXG4gICAgLy8gRm9yIG5vdyB3ZSBkZWdyYWRlIGdyYWNlZnVsbHkgYnkganVzdCBleGVjdXRpbmcgdGhlIGZ1bmN0aW9uLlxuICAgIHJldHVybiBmbigpO1xuICB9XG59XG4iXSwibmFtZXMiOlsiR2xpdGNodGlwRXJyb3JSZXBvcnRpbmdTZXJ2aWNlIiwib3B0aW9ucyIsImxvZ2dlciIsIm5vdGlmaWNhdGlvbnMiLCJzZW50cnlQcm9taXNlIiwiY2hpbGQiLCJjb21wb25lbnQiLCJlbmFibGVkIiwid2luZG93IiwicmVxdWVzdElkbGVDYWxsYmFjayIsImdldFNlbnRyeSIsInNldFRpbWVvdXQiLCJ0aGVuIiwiU2VudHJ5IiwiaW5pdCIsImRzbiIsInR1bm5lbCIsInRyYWNlc1NhbXBsZVJhdGUiLCJyZXBsYXlzT25FcnJvclNhbXBsZVJhdGUiLCJyZXBsYXlzU2Vzc2lvblNhbXBsZVJhdGUiLCJjYXB0dXJlRXhjZXB0aW9uIiwiZXJyb3IiLCJjb250ZXh0IiwidW5kZWZpbmVkIiwiZXJyb3JNZXNzYWdlIiwiRXJyb3IiLCJtZXNzYWdlIiwiU3RyaW5nIiwiY29udGV4dFN0ciIsIkpTT04iLCJzdHJpbmdpZnkiLCJub3RpZnkiLCJ0aXRsZSIsInByaW9yaXR5IiwiY2FwdHVyZU1lc3NhZ2UiLCJsZXZlbCIsImluY2x1ZGVzIiwic2V0VXNlciIsInVzZXIiLCJzZXRUYWciLCJrZXkiLCJ2YWx1ZSIsIndpdGhTY29wZSIsImZuIiwiX2NvbnRleHQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/services/errors/glitchtip-error-reporting-service.ts\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./lib/services/errors/noop-error-reporting-service.ts":
|
||
/*!*************************************************************!*\
|
||
!*** ./lib/services/errors/noop-error-reporting-service.ts ***!
|
||
\*************************************************************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NoopErrorReportingService: () => (/* binding */ NoopErrorReportingService)\n/* harmony export */ });\nclass NoopErrorReportingService {\n async captureException(_error, _context) {\n return undefined;\n }\n async captureMessage(_message, _level) {\n return undefined;\n }\n setUser(_user) {}\n setTag(_key, _value) {}\n withScope(fn, _context) {\n return fn();\n }\n}\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9zZXJ2aWNlcy9lcnJvcnMvbm9vcC1lcnJvci1yZXBvcnRpbmctc2VydmljZS50cyIsIm1hcHBpbmdzIjoiOzs7O0FBTU8sTUFBTUE7SUFDWCxNQUFNQyxpQkFBaUJDLE1BQWUsRUFBRUMsUUFBa0MsRUFBRTtRQUMxRSxPQUFPQztJQUNUO0lBRUEsTUFBTUMsZUFBZUMsUUFBZ0IsRUFBRUMsTUFBNEIsRUFBRTtRQUNuRSxPQUFPSDtJQUNUO0lBRUFJLFFBQVFDLEtBQWdDLEVBQUUsQ0FBQztJQUMzQ0MsT0FBT0MsSUFBWSxFQUFFQyxNQUFjLEVBQUUsQ0FBQztJQUV0Q0MsVUFBYUMsRUFBVyxFQUFFWCxRQUFrQyxFQUFFO1FBQzVELE9BQU9XO0lBQ1Q7QUFDRiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL2xpYi9zZXJ2aWNlcy9lcnJvcnMvbm9vcC1lcnJvci1yZXBvcnRpbmctc2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEVycm9yUmVwb3J0aW5nTGV2ZWwsXG4gIEVycm9yUmVwb3J0aW5nU2VydmljZSxcbiAgRXJyb3JSZXBvcnRpbmdVc2VyLFxufSBmcm9tICcuL2Vycm9yLXJlcG9ydGluZy1zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIE5vb3BFcnJvclJlcG9ydGluZ1NlcnZpY2UgaW1wbGVtZW50cyBFcnJvclJlcG9ydGluZ1NlcnZpY2Uge1xuICBhc3luYyBjYXB0dXJlRXhjZXB0aW9uKF9lcnJvcjogdW5rbm93biwgX2NvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBhc3luYyBjYXB0dXJlTWVzc2FnZShfbWVzc2FnZTogc3RyaW5nLCBfbGV2ZWw/OiBFcnJvclJlcG9ydGluZ0xldmVsKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHNldFVzZXIoX3VzZXI6IEVycm9yUmVwb3J0aW5nVXNlciB8IG51bGwpIHt9XG4gIHNldFRhZyhfa2V5OiBzdHJpbmcsIF92YWx1ZTogc3RyaW5nKSB7fVxuXG4gIHdpdGhTY29wZTxUPihmbjogKCkgPT4gVCwgX2NvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgIHJldHVybiBmbigpO1xuICB9XG59XG4iXSwibmFtZXMiOlsiTm9vcEVycm9yUmVwb3J0aW5nU2VydmljZSIsImNhcHR1cmVFeGNlcHRpb24iLCJfZXJyb3IiLCJfY29udGV4dCIsInVuZGVmaW5lZCIsImNhcHR1cmVNZXNzYWdlIiwiX21lc3NhZ2UiLCJfbGV2ZWwiLCJzZXRVc2VyIiwiX3VzZXIiLCJzZXRUYWciLCJfa2V5IiwiX3ZhbHVlIiwid2l0aFNjb3BlIiwiZm4iXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/services/errors/noop-error-reporting-service.ts\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./lib/services/logging/noop-logger-service.ts":
|
||
/*!*****************************************************!*\
|
||
!*** ./lib/services/logging/noop-logger-service.ts ***!
|
||
\*****************************************************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NoopLoggerService: () => (/* binding */ NoopLoggerService)\n/* harmony export */ });\nclass NoopLoggerService {\n trace() {}\n debug() {}\n info() {}\n warn() {}\n error() {}\n fatal() {}\n child() {\n return this;\n }\n}\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9zZXJ2aWNlcy9sb2dnaW5nL25vb3AtbG9nZ2VyLXNlcnZpY2UudHMiLCJtYXBwaW5ncyI6Ijs7OztBQUVPLE1BQU1BO0lBQ1hDLFFBQVEsQ0FBQztJQUNUQyxRQUFRLENBQUM7SUFDVEMsT0FBTyxDQUFDO0lBQ1JDLE9BQU8sQ0FBQztJQUNSQyxRQUFRLENBQUM7SUFDVEMsUUFBUSxDQUFDO0lBQ1RDLFFBQVE7UUFDTixPQUFPLElBQUk7SUFDYjtBQUNGIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbGliL3NlcnZpY2VzL2xvZ2dpbmcvbm9vcC1sb2dnZXItc2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuL2xvZ2dlci1zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIE5vb3BMb2dnZXJTZXJ2aWNlIGltcGxlbWVudHMgTG9nZ2VyU2VydmljZSB7XG4gIHRyYWNlKCkge31cbiAgZGVidWcoKSB7fVxuICBpbmZvKCkge31cbiAgd2FybigpIHt9XG4gIGVycm9yKCkge31cbiAgZmF0YWwoKSB7fVxuICBjaGlsZCgpIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuIl0sIm5hbWVzIjpbIk5vb3BMb2dnZXJTZXJ2aWNlIiwidHJhY2UiLCJkZWJ1ZyIsImluZm8iLCJ3YXJuIiwiZXJyb3IiLCJmYXRhbCIsImNoaWxkIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/services/logging/noop-logger-service.ts\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./lib/services/logging/pino-logger-service.ts":
|
||
/*!*****************************************************!*\
|
||
!*** ./lib/services/logging/pino-logger-service.ts ***!
|
||
\*****************************************************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PinoLoggerService: () => (/* binding */ PinoLoggerService)\n/* harmony export */ });\n/* harmony import */ var pino__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pino */ \"(app-pages-browser)/./node_modules/.pnpm/pino@10.3.1/node_modules/pino/browser.js\");\n/* harmony import */ var pino__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(pino__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../config */ \"(app-pages-browser)/./lib/config.ts\");\n\n\nclass PinoLoggerService {\n constructor(name, parent){\n if (parent) {\n this.logger = parent.child({\n name\n });\n } else {\n // In Next.js, especially in the Edge runtime or during instrumentation,\n // pino transports (which use worker threads) can cause issues.\n // We disable transport in production and during instrumentation.\n const useTransport = false;\n this.logger = pino__WEBPACK_IMPORTED_MODULE_0___default()({\n name: name || 'app',\n level: _config__WEBPACK_IMPORTED_MODULE_1__.config.logging.level,\n transport: useTransport ? {\n target: 'pino-pretty',\n options: {\n colorize: true\n }\n } : undefined\n });\n }\n }\n trace(msg, ...args) {\n // @ts-expect-error - pino types can be strict\n this.logger.trace(msg, ...args);\n }\n debug(msg, ...args) {\n // @ts-expect-error - pino types can be strict\n this.logger.debug(msg, ...args);\n }\n info(msg, ...args) {\n // @ts-expect-error - pino types can be strict\n this.logger.info(msg, ...args);\n }\n warn(msg, ...args) {\n // @ts-expect-error - pino types can be strict\n this.logger.warn(msg, ...args);\n }\n error(msg, ...args) {\n // @ts-expect-error - pino types can be strict\n this.logger.error(msg, ...args);\n }\n fatal(msg, ...args) {\n // @ts-expect-error - pino types can be strict\n this.logger.fatal(msg, ...args);\n }\n child(bindings) {\n const childPino = this.logger.child(bindings);\n // Bypass the constructor to avoid creating an orphaned, leaking pino instance\n const service = Object.create(PinoLoggerService.prototype);\n service.logger = childPino;\n return service;\n }\n}\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9zZXJ2aWNlcy9sb2dnaW5nL3Bpbm8tbG9nZ2VyLXNlcnZpY2UudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFrRDtBQUVaO0FBRS9CLE1BQU1FO0lBR1gsWUFBWUMsSUFBYSxFQUFFQyxNQUFtQixDQUFFO1FBQzlDLElBQUlBLFFBQVE7WUFDVixJQUFJLENBQUNDLE1BQU0sR0FBR0QsT0FBT0UsS0FBSyxDQUFDO2dCQUFFSDtZQUFLO1FBQ3BDLE9BQU87WUFDTCx3RUFBd0U7WUFDeEUsK0RBQStEO1lBQy9ELGlFQUFpRTtZQUNqRSxNQUFNSSxlQUFlO1lBRXJCLElBQUksQ0FBQ0YsTUFBTSxHQUFHTCwyQ0FBSUEsQ0FBQztnQkFDakJHLE1BQU1BLFFBQVE7Z0JBQ2RLLE9BQU9QLDJDQUFNQSxDQUFDUSxPQUFPLENBQUNELEtBQUs7Z0JBQzNCRSxXQUFXSCxlQUNQO29CQUNFSSxRQUFRO29CQUNSQyxTQUFTO3dCQUNQQyxVQUFVO29CQUNaO2dCQUNGLElBQ0FDO1lBQ047UUFDRjtJQUNGO0lBRUFDLE1BQU1DLEdBQVcsRUFBRSxHQUFHQyxJQUFXLEVBQUU7UUFDakMsOENBQThDO1FBQzlDLElBQUksQ0FBQ1osTUFBTSxDQUFDVSxLQUFLLENBQUNDLFFBQVFDO0lBQzVCO0lBRUFDLE1BQU1GLEdBQVcsRUFBRSxHQUFHQyxJQUFXLEVBQUU7UUFDakMsOENBQThDO1FBQzlDLElBQUksQ0FBQ1osTUFBTSxDQUFDYSxLQUFLLENBQUNGLFFBQVFDO0lBQzVCO0lBRUFFLEtBQUtILEdBQVcsRUFBRSxHQUFHQyxJQUFXLEVBQUU7UUFDaEMsOENBQThDO1FBQzlDLElBQUksQ0FBQ1osTUFBTSxDQUFDYyxJQUFJLENBQUNILFFBQVFDO0lBQzNCO0lBRUFHLEtBQUtKLEdBQVcsRUFBRSxHQUFHQyxJQUFXLEVBQUU7UUFDaEMsOENBQThDO1FBQzlDLElBQUksQ0FBQ1osTUFBTSxDQUFDZSxJQUFJLENBQUNKLFFBQVFDO0lBQzNCO0lBRUFJLE1BQU1MLEdBQVcsRUFBRSxHQUFHQyxJQUFXLEVBQUU7UUFDakMsOENBQThDO1FBQzlDLElBQUksQ0FBQ1osTUFBTSxDQUFDZ0IsS0FBSyxDQUFDTCxRQUFRQztJQUM1QjtJQUVBSyxNQUFNTixHQUFXLEVBQUUsR0FBR0MsSUFBVyxFQUFFO1FBQ2pDLDhDQUE4QztRQUM5QyxJQUFJLENBQUNaLE1BQU0sQ0FBQ2lCLEtBQUssQ0FBQ04sUUFBUUM7SUFDNUI7SUFFQVgsTUFBTWlCLFFBQTZCLEVBQWlCO1FBQ2xELE1BQU1DLFlBQVksSUFBSSxDQUFDbkIsTUFBTSxDQUFDQyxLQUFLLENBQUNpQjtRQUNwQyw4RUFBOEU7UUFDOUUsTUFBTUUsVUFBVUMsT0FBT0MsTUFBTSxDQUFDekIsa0JBQWtCMEIsU0FBUztRQUN6REgsUUFBUXBCLE1BQU0sR0FBR21CO1FBQ2pCLE9BQU9DO0lBQ1Q7QUFDRiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL2xpYi9zZXJ2aWNlcy9sb2dnaW5nL3Bpbm8tbG9nZ2VyLXNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBpbm8sIHsgTG9nZ2VyIGFzIFBpbm9Mb2dnZXIgfSBmcm9tICdwaW5vJztcbmltcG9ydCB0eXBlIHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4vbG9nZ2VyLXNlcnZpY2UnO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcblxuZXhwb3J0IGNsYXNzIFBpbm9Mb2dnZXJTZXJ2aWNlIGltcGxlbWVudHMgTG9nZ2VyU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBQaW5vTG9nZ2VyO1xuXG4gIGNvbnN0cnVjdG9yKG5hbWU/OiBzdHJpbmcsIHBhcmVudD86IFBpbm9Mb2dnZXIpIHtcbiAgICBpZiAocGFyZW50KSB7XG4gICAgICB0aGlzLmxvZ2dlciA9IHBhcmVudC5jaGlsZCh7IG5hbWUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEluIE5leHQuanMsIGVzcGVjaWFsbHkgaW4gdGhlIEVkZ2UgcnVudGltZSBvciBkdXJpbmcgaW5zdHJ1bWVudGF0aW9uLFxuICAgICAgLy8gcGlubyB0cmFuc3BvcnRzICh3aGljaCB1c2Ugd29ya2VyIHRocmVhZHMpIGNhbiBjYXVzZSBpc3N1ZXMuXG4gICAgICAvLyBXZSBkaXNhYmxlIHRyYW5zcG9ydCBpbiBwcm9kdWN0aW9uIGFuZCBkdXJpbmcgaW5zdHJ1bWVudGF0aW9uLlxuICAgICAgY29uc3QgdXNlVHJhbnNwb3J0ID0gZmFsc2U7XG5cbiAgICAgIHRoaXMubG9nZ2VyID0gcGlubyh7XG4gICAgICAgIG5hbWU6IG5hbWUgfHwgJ2FwcCcsXG4gICAgICAgIGxldmVsOiBjb25maWcubG9nZ2luZy5sZXZlbCxcbiAgICAgICAgdHJhbnNwb3J0OiB1c2VUcmFuc3BvcnRcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgdGFyZ2V0OiAncGluby1wcmV0dHknLFxuICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgY29sb3JpemU6IHRydWUsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICB0cmFjZShtc2c6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIC0gcGlubyB0eXBlcyBjYW4gYmUgc3RyaWN0XG4gICAgdGhpcy5sb2dnZXIudHJhY2UobXNnLCAuLi5hcmdzKTtcbiAgfVxuXG4gIGRlYnVnKG1zZzogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSkge1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLSBwaW5vIHR5cGVzIGNhbiBiZSBzdHJpY3RcbiAgICB0aGlzLmxvZ2dlci5kZWJ1Zyhtc2csIC4uLmFyZ3MpO1xuICB9XG5cbiAgaW5mbyhtc2c6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIC0gcGlubyB0eXBlcyBjYW4gYmUgc3RyaWN0XG4gICAgdGhpcy5sb2dnZXIuaW5mbyhtc2csIC4uLmFyZ3MpO1xuICB9XG5cbiAgd2Fybihtc2c6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIC0gcGlubyB0eXBlcyBjYW4gYmUgc3RyaWN0XG4gICAgdGhpcy5sb2dnZXIud2Fybihtc2csIC4uLmFyZ3MpO1xuICB9XG5cbiAgZXJyb3IobXNnOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciAtIHBpbm8gdHlwZXMgY2FuIGJlIHN0cmljdFxuICAgIHRoaXMubG9nZ2VyLmVycm9yKG1zZywgLi4uYXJncyk7XG4gIH1cblxuICBmYXRhbChtc2c6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIC0gcGlubyB0eXBlcyBjYW4gYmUgc3RyaWN0XG4gICAgdGhpcy5sb2dnZXIuZmF0YWwobXNnLCAuLi5hcmdzKTtcbiAgfVxuXG4gIGNoaWxkKGJpbmRpbmdzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogTG9nZ2VyU2VydmljZSB7XG4gICAgY29uc3QgY2hpbGRQaW5vID0gdGhpcy5sb2dnZXIuY2hpbGQoYmluZGluZ3MpO1xuICAgIC8vIEJ5cGFzcyB0aGUgY29uc3RydWN0b3IgdG8gYXZvaWQgY3JlYXRpbmcgYW4gb3JwaGFuZWQsIGxlYWtpbmcgcGlubyBpbnN0YW5jZVxuICAgIGNvbnN0IHNlcnZpY2UgPSBPYmplY3QuY3JlYXRlKFBpbm9Mb2dnZXJTZXJ2aWNlLnByb3RvdHlwZSk7XG4gICAgc2VydmljZS5sb2dnZXIgPSBjaGlsZFBpbm87XG4gICAgcmV0dXJuIHNlcnZpY2U7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJwaW5vIiwiY29uZmlnIiwiUGlub0xvZ2dlclNlcnZpY2UiLCJuYW1lIiwicGFyZW50IiwibG9nZ2VyIiwiY2hpbGQiLCJ1c2VUcmFuc3BvcnQiLCJsZXZlbCIsImxvZ2dpbmciLCJ0cmFuc3BvcnQiLCJ0YXJnZXQiLCJvcHRpb25zIiwiY29sb3JpemUiLCJ1bmRlZmluZWQiLCJ0cmFjZSIsIm1zZyIsImFyZ3MiLCJkZWJ1ZyIsImluZm8iLCJ3YXJuIiwiZXJyb3IiLCJmYXRhbCIsImJpbmRpbmdzIiwiY2hpbGRQaW5vIiwic2VydmljZSIsIk9iamVjdCIsImNyZWF0ZSIsInByb3RvdHlwZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/services/logging/pino-logger-service.ts\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./lib/services/notifications/gotify-notification-service.ts":
|
||
/*!*******************************************************************!*\
|
||
!*** ./lib/services/notifications/gotify-notification-service.ts ***!
|
||
\*******************************************************************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GotifyNotificationService: () => (/* binding */ GotifyNotificationService),\n/* harmony export */ NoopNotificationService: () => (/* binding */ NoopNotificationService)\n/* harmony export */ });\nclass GotifyNotificationService {\n constructor(config){\n this.config = config;\n }\n async notify(options) {\n if (!this.config.enabled) return;\n try {\n const { title, message, priority = 4 } = options;\n const url = new URL('message', this.config.url);\n url.searchParams.set('token', this.config.token);\n const controller = new AbortController();\n const timeoutId = setTimeout(()=>controller.abort(), 5000);\n const response = await fetch(url.toString(), {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n title,\n message,\n priority\n }),\n signal: controller.signal\n });\n clearTimeout(timeoutId);\n if (!response.ok) {\n const errorText = await response.text();\n console.error('Gotify notification failed:', {\n status: response.status,\n error: errorText\n });\n }\n } catch (error) {\n console.error('Gotify notification error:', error);\n }\n }\n}\nclass NoopNotificationService {\n async notify() {\n // Do nothing\n }\n}\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9zZXJ2aWNlcy9ub3RpZmljYXRpb25zL2dvdGlmeS1ub3RpZmljYXRpb24tc2VydmljZS50cyIsIm1hcHBpbmdzIjoiOzs7OztBQVFPLE1BQU1BO0lBQ1gsWUFBWSxNQUE0QixDQUFFO2FBQXRCQyxTQUFBQTtJQUF1QjtJQUUzQyxNQUFNQyxPQUFPQyxPQUE0QixFQUFpQjtRQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDRixNQUFNLENBQUNHLE9BQU8sRUFBRTtRQUUxQixJQUFJO1lBQ0YsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLE9BQU8sRUFBRUMsV0FBVyxDQUFDLEVBQUUsR0FBR0o7WUFDekMsTUFBTUssTUFBTSxJQUFJQyxJQUFJLFdBQVcsSUFBSSxDQUFDUixNQUFNLENBQUNPLEdBQUc7WUFDOUNBLElBQUlFLFlBQVksQ0FBQ0MsR0FBRyxDQUFDLFNBQVMsSUFBSSxDQUFDVixNQUFNLENBQUNXLEtBQUs7WUFFL0MsTUFBTUMsYUFBYSxJQUFJQztZQUN2QixNQUFNQyxZQUFZQyxXQUFXLElBQU1ILFdBQVdJLEtBQUssSUFBSTtZQUV2RCxNQUFNQyxXQUFXLE1BQU1DLE1BQU1YLElBQUlZLFFBQVEsSUFBSTtnQkFDM0NDLFFBQVE7Z0JBQ1JDLFNBQVM7b0JBQ1AsZ0JBQWdCO2dCQUNsQjtnQkFDQUMsTUFBTUMsS0FBS0MsU0FBUyxDQUFDO29CQUNuQnBCO29CQUNBQztvQkFDQUM7Z0JBQ0Y7Z0JBQ0FtQixRQUFRYixXQUFXYSxNQUFNO1lBQzNCO1lBRUFDLGFBQWFaO1lBRWIsSUFBSSxDQUFDRyxTQUFTVSxFQUFFLEVBQUU7Z0JBQ2hCLE1BQU1DLFlBQVksTUFBTVgsU0FBU1ksSUFBSTtnQkFDckNDLFFBQVFDLEtBQUssQ0FBQywrQkFBK0I7b0JBQzNDQyxRQUFRZixTQUFTZSxNQUFNO29CQUN2QkQsT0FBT0g7Z0JBQ1Q7WUFDRjtRQUNGLEVBQUUsT0FBT0csT0FBTztZQUNkRCxRQUFRQyxLQUFLLENBQUMsOEJBQThCQTtRQUM5QztJQUNGO0FBQ0Y7QUFFTyxNQUFNRTtJQUNYLE1BQU1oQyxTQUF3QjtJQUM1QixhQUFhO0lBQ2Y7QUFDRiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL2xpYi9zZXJ2aWNlcy9ub3RpZmljYXRpb25zL2dvdGlmeS1ub3RpZmljYXRpb24tc2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb3RpZmljYXRpb25PcHRpb25zLCBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9ub3RpZmljYXRpb24tc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR290aWZ5Q29uZmlnIHtcbiAgdXJsOiBzdHJpbmc7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBHb3RpZnlOb3RpZmljYXRpb25TZXJ2aWNlIGltcGxlbWVudHMgTm90aWZpY2F0aW9uU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBHb3RpZnlDb25maWcpIHt9XG5cbiAgYXN5bmMgbm90aWZ5KG9wdGlvbnM6IE5vdGlmaWNhdGlvbk9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuY29uZmlnLmVuYWJsZWQpIHJldHVybjtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IHRpdGxlLCBtZXNzYWdlLCBwcmlvcml0eSA9IDQgfSA9IG9wdGlvbnM7XG4gICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKCdtZXNzYWdlJywgdGhpcy5jb25maWcudXJsKTtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuc2V0KCd0b2tlbicsIHRoaXMuY29uZmlnLnRva2VuKTtcblxuICAgICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICAgIGNvbnN0IHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4gY29udHJvbGxlci5hYm9ydCgpLCA1MDAwKTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwudG9TdHJpbmcoKSwge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIH0sXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgIHByaW9yaXR5LFxuICAgICAgICB9KSxcbiAgICAgICAgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuXG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKTtcblxuICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICBjb25zdCBlcnJvclRleHQgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0dvdGlmeSBub3RpZmljYXRpb24gZmFpbGVkOicsIHtcbiAgICAgICAgICBzdGF0dXM6IHJlc3BvbnNlLnN0YXR1cyxcbiAgICAgICAgICBlcnJvcjogZXJyb3JUZXh0LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignR290aWZ5IG5vdGlmaWNhdGlvbiBlcnJvcjonLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBOb29wTm90aWZpY2F0aW9uU2VydmljZSBpbXBsZW1lbnRzIE5vdGlmaWNhdGlvblNlcnZpY2Uge1xuICBhc3luYyBub3RpZnkoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gRG8gbm90aGluZ1xuICB9XG59XG4iXSwibmFtZXMiOlsiR290aWZ5Tm90aWZpY2F0aW9uU2VydmljZSIsImNvbmZpZyIsIm5vdGlmeSIsIm9wdGlvbnMiLCJlbmFibGVkIiwidGl0bGUiLCJtZXNzYWdlIiwicHJpb3JpdHkiLCJ1cmwiLCJVUkwiLCJzZWFyY2hQYXJhbXMiLCJzZXQiLCJ0b2tlbiIsImNvbnRyb2xsZXIiLCJBYm9ydENvbnRyb2xsZXIiLCJ0aW1lb3V0SWQiLCJzZXRUaW1lb3V0IiwiYWJvcnQiLCJyZXNwb25zZSIsImZldGNoIiwidG9TdHJpbmciLCJtZXRob2QiLCJoZWFkZXJzIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJzaWduYWwiLCJjbGVhclRpbWVvdXQiLCJvayIsImVycm9yVGV4dCIsInRleHQiLCJjb25zb2xlIiwiZXJyb3IiLCJzdGF0dXMiLCJOb29wTm90aWZpY2F0aW9uU2VydmljZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/services/notifications/gotify-notification-service.ts\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+fast-memoize@3.1.1/node_modules/@formatjs/fast-memoize/index.js":
|
||
/*!******************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+fast-memoize@3.1.1/node_modules/@formatjs/fast-memoize/index.js ***!
|
||
\******************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ memoize: () => (/* binding */ memoize),\n/* harmony export */ strategies: () => (/* binding */ strategies)\n/* harmony export */ });\nfunction memoize(fn, options) {\n\tconst cache = options && options.cache ? options.cache : cacheDefault;\n\tconst serializer = options && options.serializer ? options.serializer : serializerDefault;\n\tconst strategy = options && options.strategy ? options.strategy : strategyDefault;\n\treturn strategy(fn, {\n\t\tcache,\n\t\tserializer\n\t});\n}\n//\n// Strategy\n//\nfunction isPrimitive(value) {\n\treturn value == null || typeof value === \"number\" || typeof value === \"boolean\";\n}\nfunction monadic(fn, cache, serializer, arg) {\n\tconst cacheKey = isPrimitive(arg) ? arg : serializer(arg);\n\tlet computedValue = cache.get(cacheKey);\n\tif (typeof computedValue === \"undefined\") {\n\t\tcomputedValue = fn.call(this, arg);\n\t\tcache.set(cacheKey, computedValue);\n\t}\n\treturn computedValue;\n}\nfunction variadic(fn, cache, serializer) {\n\tconst args = Array.prototype.slice.call(arguments, 3);\n\tconst cacheKey = serializer(args);\n\tlet computedValue = cache.get(cacheKey);\n\tif (typeof computedValue === \"undefined\") {\n\t\tcomputedValue = fn.apply(this, args);\n\t\tcache.set(cacheKey, computedValue);\n\t}\n\treturn computedValue;\n}\nfunction assemble(fn, context, strategy, cache, serialize) {\n\treturn strategy.bind(context, fn, cache, serialize);\n}\nfunction strategyDefault(fn, options) {\n\tconst strategy = fn.length === 1 ? monadic : variadic;\n\treturn assemble(fn, this, strategy, options.cache.create(), options.serializer);\n}\nfunction strategyVariadic(fn, options) {\n\treturn assemble(fn, this, variadic, options.cache.create(), options.serializer);\n}\nfunction strategyMonadic(fn, options) {\n\treturn assemble(fn, this, monadic, options.cache.create(), options.serializer);\n}\n//\n// Serializer\n//\nconst serializerDefault = function() {\n\treturn JSON.stringify(arguments);\n};\n//\n// Cache\n//\nclass ObjectWithoutPrototypeCache {\n\tcache;\n\tconstructor() {\n\t\tthis.cache = Object.create(null);\n\t}\n\tget(key) {\n\t\treturn this.cache[key];\n\t}\n\tset(key, value) {\n\t\tthis.cache[key] = value;\n\t}\n}\nconst cacheDefault = { create: function create() {\n\treturn new ObjectWithoutPrototypeCache();\n} };\nconst strategies = {\n\tvariadic: strategyVariadic,\n\tmonadic: strategyMonadic\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMrZmFzdC1tZW1vaXplQDMuMS4xL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvZmFzdC1tZW1vaXplL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMrZmFzdC1tZW1vaXplQDMuMS4xL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvZmFzdC1tZW1vaXplL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBtZW1vaXplKGZuLCBvcHRpb25zKSB7XG5cdGNvbnN0IGNhY2hlID0gb3B0aW9ucyAmJiBvcHRpb25zLmNhY2hlID8gb3B0aW9ucy5jYWNoZSA6IGNhY2hlRGVmYXVsdDtcblx0Y29uc3Qgc2VyaWFsaXplciA9IG9wdGlvbnMgJiYgb3B0aW9ucy5zZXJpYWxpemVyID8gb3B0aW9ucy5zZXJpYWxpemVyIDogc2VyaWFsaXplckRlZmF1bHQ7XG5cdGNvbnN0IHN0cmF0ZWd5ID0gb3B0aW9ucyAmJiBvcHRpb25zLnN0cmF0ZWd5ID8gb3B0aW9ucy5zdHJhdGVneSA6IHN0cmF0ZWd5RGVmYXVsdDtcblx0cmV0dXJuIHN0cmF0ZWd5KGZuLCB7XG5cdFx0Y2FjaGUsXG5cdFx0c2VyaWFsaXplclxuXHR9KTtcbn1cbi8vXG4vLyBTdHJhdGVneVxuLy9cbmZ1bmN0aW9uIGlzUHJpbWl0aXZlKHZhbHVlKSB7XG5cdHJldHVybiB2YWx1ZSA9PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIiB8fCB0eXBlb2YgdmFsdWUgPT09IFwiYm9vbGVhblwiO1xufVxuZnVuY3Rpb24gbW9uYWRpYyhmbiwgY2FjaGUsIHNlcmlhbGl6ZXIsIGFyZykge1xuXHRjb25zdCBjYWNoZUtleSA9IGlzUHJpbWl0aXZlKGFyZykgPyBhcmcgOiBzZXJpYWxpemVyKGFyZyk7XG5cdGxldCBjb21wdXRlZFZhbHVlID0gY2FjaGUuZ2V0KGNhY2hlS2V5KTtcblx0aWYgKHR5cGVvZiBjb21wdXRlZFZhbHVlID09PSBcInVuZGVmaW5lZFwiKSB7XG5cdFx0Y29tcHV0ZWRWYWx1ZSA9IGZuLmNhbGwodGhpcywgYXJnKTtcblx0XHRjYWNoZS5zZXQoY2FjaGVLZXksIGNvbXB1dGVkVmFsdWUpO1xuXHR9XG5cdHJldHVybiBjb21wdXRlZFZhbHVlO1xufVxuZnVuY3Rpb24gdmFyaWFkaWMoZm4sIGNhY2hlLCBzZXJpYWxpemVyKSB7XG5cdGNvbnN0IGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDMpO1xuXHRjb25zdCBjYWNoZUtleSA9IHNlcmlhbGl6ZXIoYXJncyk7XG5cdGxldCBjb21wdXRlZFZhbHVlID0gY2FjaGUuZ2V0KGNhY2hlS2V5KTtcblx0aWYgKHR5cGVvZiBjb21wdXRlZFZhbHVlID09PSBcInVuZGVmaW5lZFwiKSB7XG5cdFx0Y29tcHV0ZWRWYWx1ZSA9IGZuLmFwcGx5KHRoaXMsIGFyZ3MpO1xuXHRcdGNhY2hlLnNldChjYWNoZUtleSwgY29tcHV0ZWRWYWx1ZSk7XG5cdH1cblx0cmV0dXJuIGNvbXB1dGVkVmFsdWU7XG59XG5mdW5jdGlvbiBhc3NlbWJsZShmbiwgY29udGV4dCwgc3RyYXRlZ3ksIGNhY2hlLCBzZXJpYWxpemUpIHtcblx0cmV0dXJuIHN0cmF0ZWd5LmJpbmQoY29udGV4dCwgZm4sIGNhY2hlLCBzZXJpYWxpemUpO1xufVxuZnVuY3Rpb24gc3RyYXRlZ3lEZWZhdWx0KGZuLCBvcHRpb25zKSB7XG5cdGNvbnN0IHN0cmF0ZWd5ID0gZm4ubGVuZ3RoID09PSAxID8gbW9uYWRpYyA6IHZhcmlhZGljO1xuXHRyZXR1cm4gYXNzZW1ibGUoZm4sIHRoaXMsIHN0cmF0ZWd5LCBvcHRpb25zLmNhY2hlLmNyZWF0ZSgpLCBvcHRpb25zLnNlcmlhbGl6ZXIpO1xufVxuZnVuY3Rpb24gc3RyYXRlZ3lWYXJpYWRpYyhmbiwgb3B0aW9ucykge1xuXHRyZXR1cm4gYXNzZW1ibGUoZm4sIHRoaXMsIHZhcmlhZGljLCBvcHRpb25zLmNhY2hlLmNyZWF0ZSgpLCBvcHRpb25zLnNlcmlhbGl6ZXIpO1xufVxuZnVuY3Rpb24gc3RyYXRlZ3lNb25hZGljKGZuLCBvcHRpb25zKSB7XG5cdHJldHVybiBhc3NlbWJsZShmbiwgdGhpcywgbW9uYWRpYywgb3B0aW9ucy5jYWNoZS5jcmVhdGUoKSwgb3B0aW9ucy5zZXJpYWxpemVyKTtcbn1cbi8vXG4vLyBTZXJpYWxpemVyXG4vL1xuY29uc3Qgc2VyaWFsaXplckRlZmF1bHQgPSBmdW5jdGlvbigpIHtcblx0cmV0dXJuIEpTT04uc3RyaW5naWZ5KGFyZ3VtZW50cyk7XG59O1xuLy9cbi8vIENhY2hlXG4vL1xuY2xhc3MgT2JqZWN0V2l0aG91dFByb3RvdHlwZUNhY2hlIHtcblx0Y2FjaGU7XG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHRoaXMuY2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuXHR9XG5cdGdldChrZXkpIHtcblx0XHRyZXR1cm4gdGhpcy5jYWNoZVtrZXldO1xuXHR9XG5cdHNldChrZXksIHZhbHVlKSB7XG5cdFx0dGhpcy5jYWNoZVtrZXldID0gdmFsdWU7XG5cdH1cbn1cbmNvbnN0IGNhY2hlRGVmYXVsdCA9IHsgY3JlYXRlOiBmdW5jdGlvbiBjcmVhdGUoKSB7XG5cdHJldHVybiBuZXcgT2JqZWN0V2l0aG91dFByb3RvdHlwZUNhY2hlKCk7XG59IH07XG5leHBvcnQgY29uc3Qgc3RyYXRlZ2llcyA9IHtcblx0dmFyaWFkaWM6IHN0cmF0ZWd5VmFyaWFkaWMsXG5cdG1vbmFkaWM6IHN0cmF0ZWd5TW9uYWRpY1xufTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+fast-memoize@3.1.1/node_modules/@formatjs/fast-memoize/index.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/date-time-pattern-generator.js":
|
||
/*!****************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/date-time-pattern-generator.js ***!
|
||
\****************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getBestPattern: () => (/* binding */ getBestPattern)\n/* harmony export */ });\n/* harmony import */ var _time_data_generated_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./time-data.generated.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/time-data.generated.js\");\n\n/**\n* Returns the best matching date time pattern if a date time skeleton\n* pattern is provided with a locale. Follows the Unicode specification:\n* https://www.unicode.org/reports/tr35/tr35-dates.html#table-mapping-requested-time-skeletons-to-patterns\n* @param skeleton date time skeleton pattern that possibly includes j, J or C\n* @param locale\n*/\nfunction getBestPattern(skeleton, locale) {\n\tlet skeletonCopy = \"\";\n\tfor (let patternPos = 0; patternPos < skeleton.length; patternPos++) {\n\t\tconst patternChar = skeleton.charAt(patternPos);\n\t\tif (patternChar === \"j\") {\n\t\t\tlet extraLength = 0;\n\t\t\twhile (patternPos + 1 < skeleton.length && skeleton.charAt(patternPos + 1) === patternChar) {\n\t\t\t\textraLength++;\n\t\t\t\tpatternPos++;\n\t\t\t}\n\t\t\tlet hourLen = 1 + (extraLength & 1);\n\t\t\tlet dayPeriodLen = extraLength < 2 ? 1 : 3 + (extraLength >> 1);\n\t\t\tlet dayPeriodChar = \"a\";\n\t\t\tlet hourChar = getDefaultHourSymbolFromLocale(locale);\n\t\t\tif (hourChar == \"H\" || hourChar == \"k\") {\n\t\t\t\tdayPeriodLen = 0;\n\t\t\t}\n\t\t\twhile (dayPeriodLen-- > 0) {\n\t\t\t\tskeletonCopy += dayPeriodChar;\n\t\t\t}\n\t\t\twhile (hourLen-- > 0) {\n\t\t\t\tskeletonCopy = hourChar + skeletonCopy;\n\t\t\t}\n\t\t} else if (patternChar === \"J\") {\n\t\t\tskeletonCopy += \"H\";\n\t\t} else {\n\t\t\tskeletonCopy += patternChar;\n\t\t}\n\t}\n\treturn skeletonCopy;\n}\n/**\n* Maps the [hour cycle type](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle)\n* of the given `locale` to the corresponding time pattern.\n* @param locale\n*/\nfunction getDefaultHourSymbolFromLocale(locale) {\n\tlet hourCycle = locale.hourCycle;\n\tif (hourCycle === undefined && locale.hourCycles && locale.hourCycles.length) {\n\t\t// @ts-ignore\n\t\thourCycle = locale.hourCycles[0];\n\t}\n\tif (hourCycle) {\n\t\tswitch (hourCycle) {\n\t\t\tcase \"h24\": return \"k\";\n\t\t\tcase \"h23\": return \"H\";\n\t\t\tcase \"h12\": return \"h\";\n\t\t\tcase \"h11\": return \"K\";\n\t\t\tdefault: throw new Error(\"Invalid hourCycle\");\n\t\t}\n\t}\n\t// TODO: Once hourCycle is fully supported remove the following with data generation\n\tconst languageTag = locale.language;\n\tlet regionTag;\n\tif (languageTag !== \"root\") {\n\t\tregionTag = locale.maximize().region;\n\t}\n\tconst hourCycles = _time_data_generated_js__WEBPACK_IMPORTED_MODULE_0__.timeData[regionTag || \"\"] || _time_data_generated_js__WEBPACK_IMPORTED_MODULE_0__.timeData[languageTag || \"\"] || _time_data_generated_js__WEBPACK_IMPORTED_MODULE_0__.timeData[`${languageTag}-001`] || _time_data_generated_js__WEBPACK_IMPORTED_MODULE_0__.timeData[\"001\"];\n\treturn hourCycles[0];\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyQDMuNS4zL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyL2RhdGUtdGltZS1wYXR0ZXJuLWdlbmVyYXRvci5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFvRDtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQSwwQkFBMEIsOEJBQThCO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsNkRBQVEscUJBQXFCLDZEQUFRLHVCQUF1Qiw2REFBUSxJQUFJLFlBQVksVUFBVSw2REFBUTtBQUMxSDtBQUNBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0Bmb3JtYXRqcytpY3UtbWVzc2FnZWZvcm1hdC1wYXJzZXJAMy41LjMvbm9kZV9tb2R1bGVzL0Bmb3JtYXRqcy9pY3UtbWVzc2FnZWZvcm1hdC1wYXJzZXIvZGF0ZS10aW1lLXBhdHRlcm4tZ2VuZXJhdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRpbWVEYXRhIH0gZnJvbSBcIi4vdGltZS1kYXRhLmdlbmVyYXRlZC5qc1wiO1xuLyoqXG4qIFJldHVybnMgdGhlIGJlc3QgbWF0Y2hpbmcgZGF0ZSB0aW1lIHBhdHRlcm4gaWYgYSBkYXRlIHRpbWUgc2tlbGV0b25cbiogcGF0dGVybiBpcyBwcm92aWRlZCB3aXRoIGEgbG9jYWxlLiBGb2xsb3dzIHRoZSBVbmljb2RlIHNwZWNpZmljYXRpb246XG4qIGh0dHBzOi8vd3d3LnVuaWNvZGUub3JnL3JlcG9ydHMvdHIzNS90cjM1LWRhdGVzLmh0bWwjdGFibGUtbWFwcGluZy1yZXF1ZXN0ZWQtdGltZS1za2VsZXRvbnMtdG8tcGF0dGVybnNcbiogQHBhcmFtIHNrZWxldG9uIGRhdGUgdGltZSBza2VsZXRvbiBwYXR0ZXJuIHRoYXQgcG9zc2libHkgaW5jbHVkZXMgaiwgSiBvciBDXG4qIEBwYXJhbSBsb2NhbGVcbiovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmVzdFBhdHRlcm4oc2tlbGV0b24sIGxvY2FsZSkge1xuXHRsZXQgc2tlbGV0b25Db3B5ID0gXCJcIjtcblx0Zm9yIChsZXQgcGF0dGVyblBvcyA9IDA7IHBhdHRlcm5Qb3MgPCBza2VsZXRvbi5sZW5ndGg7IHBhdHRlcm5Qb3MrKykge1xuXHRcdGNvbnN0IHBhdHRlcm5DaGFyID0gc2tlbGV0b24uY2hhckF0KHBhdHRlcm5Qb3MpO1xuXHRcdGlmIChwYXR0ZXJuQ2hhciA9PT0gXCJqXCIpIHtcblx0XHRcdGxldCBleHRyYUxlbmd0aCA9IDA7XG5cdFx0XHR3aGlsZSAocGF0dGVyblBvcyArIDEgPCBza2VsZXRvbi5sZW5ndGggJiYgc2tlbGV0b24uY2hhckF0KHBhdHRlcm5Qb3MgKyAxKSA9PT0gcGF0dGVybkNoYXIpIHtcblx0XHRcdFx0ZXh0cmFMZW5ndGgrKztcblx0XHRcdFx0cGF0dGVyblBvcysrO1xuXHRcdFx0fVxuXHRcdFx0bGV0IGhvdXJMZW4gPSAxICsgKGV4dHJhTGVuZ3RoICYgMSk7XG5cdFx0XHRsZXQgZGF5UGVyaW9kTGVuID0gZXh0cmFMZW5ndGggPCAyID8gMSA6IDMgKyAoZXh0cmFMZW5ndGggPj4gMSk7XG5cdFx0XHRsZXQgZGF5UGVyaW9kQ2hhciA9IFwiYVwiO1xuXHRcdFx0bGV0IGhvdXJDaGFyID0gZ2V0RGVmYXVsdEhvdXJTeW1ib2xGcm9tTG9jYWxlKGxvY2FsZSk7XG5cdFx0XHRpZiAoaG91ckNoYXIgPT0gXCJIXCIgfHwgaG91ckNoYXIgPT0gXCJrXCIpIHtcblx0XHRcdFx0ZGF5UGVyaW9kTGVuID0gMDtcblx0XHRcdH1cblx0XHRcdHdoaWxlIChkYXlQZXJpb2RMZW4tLSA+IDApIHtcblx0XHRcdFx0c2tlbGV0b25Db3B5ICs9IGRheVBlcmlvZENoYXI7XG5cdFx0XHR9XG5cdFx0XHR3aGlsZSAoaG91ckxlbi0tID4gMCkge1xuXHRcdFx0XHRza2VsZXRvbkNvcHkgPSBob3VyQ2hhciArIHNrZWxldG9uQ29weTtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKHBhdHRlcm5DaGFyID09PSBcIkpcIikge1xuXHRcdFx0c2tlbGV0b25Db3B5ICs9IFwiSFwiO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRza2VsZXRvbkNvcHkgKz0gcGF0dGVybkNoYXI7XG5cdFx0fVxuXHR9XG5cdHJldHVybiBza2VsZXRvbkNvcHk7XG59XG4vKipcbiogTWFwcyB0aGUgW2hvdXIgY3ljbGUgdHlwZV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvSW50bC9Mb2NhbGUvaG91ckN5Y2xlKVxuKiBvZiB0aGUgZ2l2ZW4gYGxvY2FsZWAgdG8gdGhlIGNvcnJlc3BvbmRpbmcgdGltZSBwYXR0ZXJuLlxuKiBAcGFyYW0gbG9jYWxlXG4qL1xuZnVuY3Rpb24gZ2V0RGVmYXVsdEhvdXJTeW1ib2xGcm9tTG9jYWxlKGxvY2FsZSkge1xuXHRsZXQgaG91ckN5Y2xlID0gbG9jYWxlLmhvdXJDeWNsZTtcblx0aWYgKGhvdXJDeWNsZSA9PT0gdW5kZWZpbmVkICYmIGxvY2FsZS5ob3VyQ3ljbGVzICYmIGxvY2FsZS5ob3VyQ3ljbGVzLmxlbmd0aCkge1xuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRob3VyQ3ljbGUgPSBsb2NhbGUuaG91ckN5Y2xlc1swXTtcblx0fVxuXHRpZiAoaG91ckN5Y2xlKSB7XG5cdFx0c3dpdGNoIChob3VyQ3ljbGUpIHtcblx0XHRcdGNhc2UgXCJoMjRcIjogcmV0dXJuIFwia1wiO1xuXHRcdFx0Y2FzZSBcImgyM1wiOiByZXR1cm4gXCJIXCI7XG5cdFx0XHRjYXNlIFwiaDEyXCI6IHJldHVybiBcImhcIjtcblx0XHRcdGNhc2UgXCJoMTFcIjogcmV0dXJuIFwiS1wiO1xuXHRcdFx0ZGVmYXVsdDogdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBob3VyQ3ljbGVcIik7XG5cdFx0fVxuXHR9XG5cdC8vIFRPRE86IE9uY2UgaG91ckN5Y2xlIGlzIGZ1bGx5IHN1cHBvcnRlZCByZW1vdmUgdGhlIGZvbGxvd2luZyB3aXRoIGRhdGEgZ2VuZXJhdGlvblxuXHRjb25zdCBsYW5ndWFnZVRhZyA9IGxvY2FsZS5sYW5ndWFnZTtcblx0bGV0IHJlZ2lvblRhZztcblx0aWYgKGxhbmd1YWdlVGFnICE9PSBcInJvb3RcIikge1xuXHRcdHJlZ2lvblRhZyA9IGxvY2FsZS5tYXhpbWl6ZSgpLnJlZ2lvbjtcblx0fVxuXHRjb25zdCBob3VyQ3ljbGVzID0gdGltZURhdGFbcmVnaW9uVGFnIHx8IFwiXCJdIHx8IHRpbWVEYXRhW2xhbmd1YWdlVGFnIHx8IFwiXCJdIHx8IHRpbWVEYXRhW2Ake2xhbmd1YWdlVGFnfS0wMDFgXSB8fCB0aW1lRGF0YVtcIjAwMVwiXTtcblx0cmV0dXJuIGhvdXJDeWNsZXNbMF07XG59XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/date-time-pattern-generator.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/error.js":
|
||
/*!******************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/error.js ***!
|
||
\******************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ErrorKind: () => (/* binding */ ErrorKind)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js\");\n\nlet ErrorKind = /* @__PURE__ */ function(ErrorKind) {\n\t/** Argument is unclosed (e.g. `{0`) */\n\tErrorKind[ErrorKind[\"EXPECT_ARGUMENT_CLOSING_BRACE\"] = 1] = \"EXPECT_ARGUMENT_CLOSING_BRACE\";\n\t/** Argument is empty (e.g. `{}`). */\n\tErrorKind[ErrorKind[\"EMPTY_ARGUMENT\"] = 2] = \"EMPTY_ARGUMENT\";\n\t/** Argument is malformed (e.g. `{foo!}``) */\n\tErrorKind[ErrorKind[\"MALFORMED_ARGUMENT\"] = 3] = \"MALFORMED_ARGUMENT\";\n\t/** Expect an argument type (e.g. `{foo,}`) */\n\tErrorKind[ErrorKind[\"EXPECT_ARGUMENT_TYPE\"] = 4] = \"EXPECT_ARGUMENT_TYPE\";\n\t/** Unsupported argument type (e.g. `{foo,foo}`) */\n\tErrorKind[ErrorKind[\"INVALID_ARGUMENT_TYPE\"] = 5] = \"INVALID_ARGUMENT_TYPE\";\n\t/** Expect an argument style (e.g. `{foo, number, }`) */\n\tErrorKind[ErrorKind[\"EXPECT_ARGUMENT_STYLE\"] = 6] = \"EXPECT_ARGUMENT_STYLE\";\n\t/** The number skeleton is invalid. */\n\tErrorKind[ErrorKind[\"INVALID_NUMBER_SKELETON\"] = 7] = \"INVALID_NUMBER_SKELETON\";\n\t/** The date time skeleton is invalid. */\n\tErrorKind[ErrorKind[\"INVALID_DATE_TIME_SKELETON\"] = 8] = \"INVALID_DATE_TIME_SKELETON\";\n\t/** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */\n\tErrorKind[ErrorKind[\"EXPECT_NUMBER_SKELETON\"] = 9] = \"EXPECT_NUMBER_SKELETON\";\n\t/** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */\n\tErrorKind[ErrorKind[\"EXPECT_DATE_TIME_SKELETON\"] = 10] = \"EXPECT_DATE_TIME_SKELETON\";\n\t/** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */\n\tErrorKind[ErrorKind[\"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\"] = 11] = \"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\";\n\t/** Missing select argument options (e.g. `{foo, select}`) */\n\tErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_OPTIONS\"] = 12] = \"EXPECT_SELECT_ARGUMENT_OPTIONS\";\n\t/** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */\n\tErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 13] = \"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\";\n\t/** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */\n\tErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 14] = \"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\";\n\t/** Expecting a selector in `select` argument (e.g `{foo, select}`) */\n\tErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR\"] = 15] = \"EXPECT_SELECT_ARGUMENT_SELECTOR\";\n\t/** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */\n\tErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR\"] = 16] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR\";\n\t/** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */\n\tErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\"] = 17] = \"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\";\n\t/**\n\t* Expecting a message fragment after the `plural` or `selectordinal` selector\n\t* (e.g. `{foo, plural, one}`)\n\t*/\n\tErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\"] = 18] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\";\n\t/** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */\n\tErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_SELECTOR\"] = 19] = \"INVALID_PLURAL_ARGUMENT_SELECTOR\";\n\t/**\n\t* Duplicate selectors in `plural` or `selectordinal` argument.\n\t* (e.g. {foo, plural, one {#} one {#}})\n\t*/\n\tErrorKind[ErrorKind[\"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\"] = 20] = \"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\";\n\t/** Duplicate selectors in `select` argument.\n\t* (e.g. {foo, select, apple {apple} apple {apple}})\n\t*/\n\tErrorKind[ErrorKind[\"DUPLICATE_SELECT_ARGUMENT_SELECTOR\"] = 21] = \"DUPLICATE_SELECT_ARGUMENT_SELECTOR\";\n\t/** Plural or select argument option must have `other` clause. */\n\tErrorKind[ErrorKind[\"MISSING_OTHER_CLAUSE\"] = 22] = \"MISSING_OTHER_CLAUSE\";\n\t/** The tag is malformed. (e.g. `<bold!>foo</bold!>) */\n\tErrorKind[ErrorKind[\"INVALID_TAG\"] = 23] = \"INVALID_TAG\";\n\t/** The tag name is invalid. (e.g. `<123>foo</123>`) */\n\tErrorKind[ErrorKind[\"INVALID_TAG_NAME\"] = 25] = \"INVALID_TAG_NAME\";\n\t/** The closing tag does not match the opening tag. (e.g. `<bold>foo</italic>`) */\n\tErrorKind[ErrorKind[\"UNMATCHED_CLOSING_TAG\"] = 26] = \"UNMATCHED_CLOSING_TAG\";\n\t/** The opening tag has unmatched closing tag. (e.g. `<bold>foo`) */\n\tErrorKind[ErrorKind[\"UNCLOSED_TAG\"] = 27] = \"UNCLOSED_TAG\";\n\treturn ErrorKind;\n}({});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyQDMuNS4zL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyL2Vycm9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQW9CO0FBQ2I7QUFDUCxrQ0FBa0M7QUFDbEM7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQSxtQ0FBbUMsS0FBSztBQUN4QztBQUNBLHFDQUFxQyxLQUFLO0FBQzFDO0FBQ0EsdUNBQXVDLFFBQVE7QUFDL0M7QUFDQSxzQ0FBc0MsY0FBYztBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseURBQXlELGdCQUFnQjtBQUN6RTtBQUNBLDREQUE0RCxjQUFjO0FBQzFFO0FBQ0EseURBQXlEO0FBQ3pEO0FBQ0EsNkNBQTZDLFlBQVk7QUFDekQ7QUFDQSw4RUFBOEUsb0JBQW9CO0FBQ2xHO0FBQ0Esb0VBQW9FLHVCQUF1QjtBQUMzRjtBQUNBLHNEQUFzRCxZQUFZO0FBQ2xFO0FBQ0EseUVBQXlFLFlBQVk7QUFDckY7QUFDQSxzRUFBc0UsbUJBQW1CO0FBQ3pGO0FBQ0E7QUFDQTtBQUNBLFdBQVcsaUJBQWlCO0FBQzVCO0FBQ0E7QUFDQSxrRUFBa0UsaUJBQWlCLEdBQUc7QUFDdEY7QUFDQTtBQUNBO0FBQ0EsVUFBVSxrQkFBa0IsR0FBRyxLQUFLLEdBQUc7QUFDdkM7QUFDQTtBQUNBO0FBQ0EsVUFBVSxvQkFBb0IsT0FBTyxPQUFPLE9BQU87QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUciLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9lcnJvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCIuL3R5cGVzLmpzXCI7XG5leHBvcnQgbGV0IEVycm9yS2luZCA9IC8qIEBfX1BVUkVfXyAqLyBmdW5jdGlvbihFcnJvcktpbmQpIHtcblx0LyoqIEFyZ3VtZW50IGlzIHVuY2xvc2VkIChlLmcuIGB7MGApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJFWFBFQ1RfQVJHVU1FTlRfQ0xPU0lOR19CUkFDRVwiXSA9IDFdID0gXCJFWFBFQ1RfQVJHVU1FTlRfQ0xPU0lOR19CUkFDRVwiO1xuXHQvKiogQXJndW1lbnQgaXMgZW1wdHkgKGUuZy4gYHt9YCkuICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJFTVBUWV9BUkdVTUVOVFwiXSA9IDJdID0gXCJFTVBUWV9BUkdVTUVOVFwiO1xuXHQvKiogQXJndW1lbnQgaXMgbWFsZm9ybWVkIChlLmcuIGB7Zm9vIX1gYCkgKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIk1BTEZPUk1FRF9BUkdVTUVOVFwiXSA9IDNdID0gXCJNQUxGT1JNRURfQVJHVU1FTlRcIjtcblx0LyoqIEV4cGVjdCBhbiBhcmd1bWVudCB0eXBlIChlLmcuIGB7Zm9vLH1gKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiRVhQRUNUX0FSR1VNRU5UX1RZUEVcIl0gPSA0XSA9IFwiRVhQRUNUX0FSR1VNRU5UX1RZUEVcIjtcblx0LyoqIFVuc3VwcG9ydGVkIGFyZ3VtZW50IHR5cGUgKGUuZy4gYHtmb28sZm9vfWApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJJTlZBTElEX0FSR1VNRU5UX1RZUEVcIl0gPSA1XSA9IFwiSU5WQUxJRF9BUkdVTUVOVF9UWVBFXCI7XG5cdC8qKiBFeHBlY3QgYW4gYXJndW1lbnQgc3R5bGUgKGUuZy4gYHtmb28sIG51bWJlciwgfWApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJFWFBFQ1RfQVJHVU1FTlRfU1RZTEVcIl0gPSA2XSA9IFwiRVhQRUNUX0FSR1VNRU5UX1NUWUxFXCI7XG5cdC8qKiBUaGUgbnVtYmVyIHNrZWxldG9uIGlzIGludmFsaWQuICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJJTlZBTElEX05VTUJFUl9TS0VMRVRPTlwiXSA9IDddID0gXCJJTlZBTElEX05VTUJFUl9TS0VMRVRPTlwiO1xuXHQvKiogVGhlIGRhdGUgdGltZSBza2VsZXRvbiBpcyBpbnZhbGlkLiAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiSU5WQUxJRF9EQVRFX1RJTUVfU0tFTEVUT05cIl0gPSA4XSA9IFwiSU5WQUxJRF9EQVRFX1RJTUVfU0tFTEVUT05cIjtcblx0LyoqIEV4ZXBjdCBhIG51bWJlciBza2VsZXRvbiBmb2xsb3dpbmcgdGhlIGA6OmAgKGUuZy4gYHtmb28sIG51bWJlciwgOjp9YCkgKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIkVYUEVDVF9OVU1CRVJfU0tFTEVUT05cIl0gPSA5XSA9IFwiRVhQRUNUX05VTUJFUl9TS0VMRVRPTlwiO1xuXHQvKiogRXhlcGN0IGEgZGF0ZSB0aW1lIHNrZWxldG9uIGZvbGxvd2luZyB0aGUgYDo6YCAoZS5nLiBge2ZvbywgZGF0ZSwgOjp9YCkgKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIkVYUEVDVF9EQVRFX1RJTUVfU0tFTEVUT05cIl0gPSAxMF0gPSBcIkVYUEVDVF9EQVRFX1RJTUVfU0tFTEVUT05cIjtcblx0LyoqIFVubWF0Y2hlZCBhcG9zdHJvcGhlcyBpbiB0aGUgYXJndW1lbnQgc3R5bGUgKGUuZy4gYHtmb28sIG51bWJlciwgJ3Rlc3RgKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiVU5DTE9TRURfUVVPVEVfSU5fQVJHVU1FTlRfU1RZTEVcIl0gPSAxMV0gPSBcIlVOQ0xPU0VEX1FVT1RFX0lOX0FSR1VNRU5UX1NUWUxFXCI7XG5cdC8qKiBNaXNzaW5nIHNlbGVjdCBhcmd1bWVudCBvcHRpb25zIChlLmcuIGB7Zm9vLCBzZWxlY3R9YCkgKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIkVYUEVDVF9TRUxFQ1RfQVJHVU1FTlRfT1BUSU9OU1wiXSA9IDEyXSA9IFwiRVhQRUNUX1NFTEVDVF9BUkdVTUVOVF9PUFRJT05TXCI7XG5cdC8qKiBFeHBlY3RpbmcgYW4gb2Zmc2V0IHZhbHVlIGluIGBwbHVyYWxgIG9yIGBzZWxlY3RvcmRpbmFsYCBhcmd1bWVudCAoZS5nIGB7Zm9vLCBwbHVyYWwsIG9mZnNldH1gKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiRVhQRUNUX1BMVVJBTF9BUkdVTUVOVF9PRkZTRVRfVkFMVUVcIl0gPSAxM10gPSBcIkVYUEVDVF9QTFVSQUxfQVJHVU1FTlRfT0ZGU0VUX1ZBTFVFXCI7XG5cdC8qKiBPZmZzZXQgdmFsdWUgaW4gYHBsdXJhbGAgb3IgYHNlbGVjdG9yZGluYWxgIGlzIGludmFsaWQgKGUuZy4gYHtmb28sIHBsdXJhbCwgb2Zmc2V0OiB4fWApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJJTlZBTElEX1BMVVJBTF9BUkdVTUVOVF9PRkZTRVRfVkFMVUVcIl0gPSAxNF0gPSBcIklOVkFMSURfUExVUkFMX0FSR1VNRU5UX09GRlNFVF9WQUxVRVwiO1xuXHQvKiogRXhwZWN0aW5nIGEgc2VsZWN0b3IgaW4gYHNlbGVjdGAgYXJndW1lbnQgKGUuZyBge2Zvbywgc2VsZWN0fWApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJFWFBFQ1RfU0VMRUNUX0FSR1VNRU5UX1NFTEVDVE9SXCJdID0gMTVdID0gXCJFWFBFQ1RfU0VMRUNUX0FSR1VNRU5UX1NFTEVDVE9SXCI7XG5cdC8qKiBFeHBlY3RpbmcgYSBzZWxlY3RvciBpbiBgcGx1cmFsYCBvciBgc2VsZWN0b3JkaW5hbGAgYXJndW1lbnQgKGUuZyBge2ZvbywgcGx1cmFsfWApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJFWFBFQ1RfUExVUkFMX0FSR1VNRU5UX1NFTEVDVE9SXCJdID0gMTZdID0gXCJFWFBFQ1RfUExVUkFMX0FSR1VNRU5UX1NFTEVDVE9SXCI7XG5cdC8qKiBFeHBlY3RpbmcgYSBtZXNzYWdlIGZyYWdtZW50IGFmdGVyIHRoZSBgc2VsZWN0YCBzZWxlY3RvciAoZS5nLiBge2Zvbywgc2VsZWN0LCBhcHBsZX1gKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiRVhQRUNUX1NFTEVDVF9BUkdVTUVOVF9TRUxFQ1RPUl9GUkFHTUVOVFwiXSA9IDE3XSA9IFwiRVhQRUNUX1NFTEVDVF9BUkdVTUVOVF9TRUxFQ1RPUl9GUkFHTUVOVFwiO1xuXHQvKipcblx0KiBFeHBlY3RpbmcgYSBtZXNzYWdlIGZyYWdtZW50IGFmdGVyIHRoZSBgcGx1cmFsYCBvciBgc2VsZWN0b3JkaW5hbGAgc2VsZWN0b3Jcblx0KiAoZS5nLiBge2ZvbywgcGx1cmFsLCBvbmV9YClcblx0Ki9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIkVYUEVDVF9QTFVSQUxfQVJHVU1FTlRfU0VMRUNUT1JfRlJBR01FTlRcIl0gPSAxOF0gPSBcIkVYUEVDVF9QTFVSQUxfQVJHVU1FTlRfU0VMRUNUT1JfRlJBR01FTlRcIjtcblx0LyoqIFNlbGVjdG9yIGluIGBwbHVyYWxgIG9yIGBzZWxlY3RvcmRpbmFsYCBpcyBtYWxmb3JtZWQgKGUuZy4gYHtmb28sIHBsdXJhbCwgPXggeyN9fWApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJJTlZBTElEX1BMVVJBTF9BUkdVTUVOVF9TRUxFQ1RPUlwiXSA9IDE5XSA9IFwiSU5WQUxJRF9QTFVSQUxfQVJHVU1FTlRfU0VMRUNUT1JcIjtcblx0LyoqXG5cdCogRHVwbGljYXRlIHNlbGVjdG9ycyBpbiBgcGx1cmFsYCBvciBgc2VsZWN0b3JkaW5hbGAgYXJndW1lbnQuXG5cdCogKGUuZy4ge2ZvbywgcGx1cmFsLCBvbmUgeyN9IG9uZSB7I319KVxuXHQqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiRFVQTElDQVRFX1BMVVJBTF9BUkdVTUVOVF9TRUxFQ1RPUlwiXSA9IDIwXSA9IFwiRFVQTElDQVRFX1BMVVJBTF9BUkdVTUVOVF9TRUxFQ1RPUlwiO1xuXHQvKiogRHVwbGljYXRlIHNlbGVjdG9ycyBpbiBgc2VsZWN0YCBhcmd1bWVudC5cblx0KiAoZS5nLiB7Zm9vLCBzZWxlY3QsIGFwcGxlIHthcHBsZX0gYXBwbGUge2FwcGxlfX0pXG5cdCovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJEVVBMSUNBVEVfU0VMRUNUX0FSR1VNRU5UX1NFTEVDVE9SXCJdID0gMjFdID0gXCJEVVBMSUNBVEVfU0VMRUNUX0FSR1VNRU5UX1NFTEVDVE9SXCI7XG5cdC8qKiBQbHVyYWwgb3Igc2VsZWN0IGFyZ3VtZW50IG9wdGlvbiBtdXN0IGhhdmUgYG90aGVyYCBjbGF1c2UuICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJNSVNTSU5HX09USEVSX0NMQVVTRVwiXSA9IDIyXSA9IFwiTUlTU0lOR19PVEhFUl9DTEFVU0VcIjtcblx0LyoqIFRoZSB0YWcgaXMgbWFsZm9ybWVkLiAoZS5nLiBgPGJvbGQhPmZvbzwvYm9sZCE+KSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiSU5WQUxJRF9UQUdcIl0gPSAyM10gPSBcIklOVkFMSURfVEFHXCI7XG5cdC8qKiBUaGUgdGFnIG5hbWUgaXMgaW52YWxpZC4gKGUuZy4gYDwxMjM+Zm9vPC8xMjM+YCkgKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIklOVkFMSURfVEFHX05BTUVcIl0gPSAyNV0gPSBcIklOVkFMSURfVEFHX05BTUVcIjtcblx0LyoqIFRoZSBjbG9zaW5nIHRhZyBkb2VzIG5vdCBtYXRjaCB0aGUgb3BlbmluZyB0YWcuIChlLmcuIGA8Ym9sZD5mb288L2l0YWxpYz5gKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiVU5NQVRDSEVEX0NMT1NJTkdfVEFHXCJdID0gMjZdID0gXCJVTk1BVENIRURfQ0xPU0lOR19UQUdcIjtcblx0LyoqIFRoZSBvcGVuaW5nIHRhZyBoYXMgdW5tYXRjaGVkIGNsb3NpbmcgdGFnLiAoZS5nLiBgPGJvbGQ+Zm9vYCkgKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIlVOQ0xPU0VEX1RBR1wiXSA9IDI3XSA9IFwiVU5DTE9TRURfVEFHXCI7XG5cdHJldHVybiBFcnJvcktpbmQ7XG59KHt9KTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/error.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/index.js":
|
||
/*!******************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/index.js ***!
|
||
\******************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SKELETON_TYPE: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.SKELETON_TYPE),\n/* harmony export */ TYPE: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.TYPE),\n/* harmony export */ _Parser: () => (/* binding */ _Parser),\n/* harmony export */ createLiteralElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.createLiteralElement),\n/* harmony export */ createNumberElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.createNumberElement),\n/* harmony export */ isArgumentElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isArgumentElement),\n/* harmony export */ isDateElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isDateElement),\n/* harmony export */ isDateTimeSkeleton: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isDateTimeSkeleton),\n/* harmony export */ isLiteralElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isLiteralElement),\n/* harmony export */ isNumberElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isNumberElement),\n/* harmony export */ isNumberSkeleton: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isNumberSkeleton),\n/* harmony export */ isPluralElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isPluralElement),\n/* harmony export */ isPoundElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isPoundElement),\n/* harmony export */ isSelectElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isSelectElement),\n/* harmony export */ isStructurallySame: () => (/* reexport safe */ _manipulator_js__WEBPACK_IMPORTED_MODULE_3__.isStructurallySame),\n/* harmony export */ isTagElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isTagElement),\n/* harmony export */ isTimeElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isTimeElement),\n/* harmony export */ parse: () => (/* binding */ parse)\n/* harmony export */ });\n/* harmony import */ var _error_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./error.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/error.js\");\n/* harmony import */ var _parser_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parser.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/parser.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js\");\n/* harmony import */ var _manipulator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./manipulator.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/manipulator.js\");\n\n\n\nfunction pruneLocation(els) {\n\tels.forEach((el) => {\n\t\tdelete el.location;\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isSelectElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isPluralElement)(el)) {\n\t\t\tfor (const k in el.options) {\n\t\t\t\tdelete el.options[k].location;\n\t\t\t\tpruneLocation(el.options[k].value);\n\t\t\t}\n\t\t} else if ((0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isNumberElement)(el) && (0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isNumberSkeleton)(el.style)) {\n\t\t\tdelete el.style.location;\n\t\t} else if (((0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isDateElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isTimeElement)(el)) && (0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isDateTimeSkeleton)(el.style)) {\n\t\t\tdelete el.style.location;\n\t\t} else if ((0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isTagElement)(el)) {\n\t\t\tpruneLocation(el.children);\n\t\t}\n\t});\n}\nfunction parse(message, opts = {}) {\n\topts = {\n\t\tshouldParseSkeletons: true,\n\t\trequiresOtherClause: true,\n\t\t...opts\n\t};\n\tconst result = new _parser_js__WEBPACK_IMPORTED_MODULE_1__.Parser(message, opts).parse();\n\tif (result.err) {\n\t\tconst error = SyntaxError(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind[result.err.kind]);\n\t\t// @ts-expect-error Assign to error object\n\t\terror.location = result.err.location;\n\t\t// @ts-expect-error Assign to error object\n\t\terror.originalMessage = result.err.message;\n\t\tthrow error;\n\t}\n\tif (!opts?.captureLocation) {\n\t\tpruneLocation(result.val);\n\t}\n\treturn result.val;\n}\n\n// only for testing\nconst _Parser = _parser_js__WEBPACK_IMPORTED_MODULE_1__.Parser;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyQDMuNS4zL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBdUM7QUFDRjtBQUM0SDtBQUNqSztBQUNBO0FBQ0E7QUFDQSxNQUFNLDBEQUFlLFFBQVEsMERBQWU7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFNBQVMsMERBQWUsUUFBUSwyREFBZ0I7QUFDcEQ7QUFDQSxJQUFJLFVBQVUsd0RBQWEsUUFBUSx3REFBYSxTQUFTLDZEQUFrQjtBQUMzRTtBQUNBLElBQUksU0FBUyx1REFBWTtBQUN6QjtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ08saUNBQWlDO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsOENBQU07QUFDMUI7QUFDQSw0QkFBNEIsZ0RBQVM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUMyQjtBQUMzQjtBQUNPLGdCQUFnQiw4Q0FBTTtBQUN5QiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyQDMuNS4zL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVycm9yS2luZCB9IGZyb20gXCIuL2Vycm9yLmpzXCI7XG5pbXBvcnQgeyBQYXJzZXIgfSBmcm9tIFwiLi9wYXJzZXIuanNcIjtcbmltcG9ydCB7IGlzRGF0ZUVsZW1lbnQsIGlzRGF0ZVRpbWVTa2VsZXRvbiwgaXNOdW1iZXJFbGVtZW50LCBpc051bWJlclNrZWxldG9uLCBpc1BsdXJhbEVsZW1lbnQsIGlzU2VsZWN0RWxlbWVudCwgaXNUYWdFbGVtZW50LCBpc1RpbWVFbGVtZW50IH0gZnJvbSBcIi4vdHlwZXMuanNcIjtcbmZ1bmN0aW9uIHBydW5lTG9jYXRpb24oZWxzKSB7XG5cdGVscy5mb3JFYWNoKChlbCkgPT4ge1xuXHRcdGRlbGV0ZSBlbC5sb2NhdGlvbjtcblx0XHRpZiAoaXNTZWxlY3RFbGVtZW50KGVsKSB8fCBpc1BsdXJhbEVsZW1lbnQoZWwpKSB7XG5cdFx0XHRmb3IgKGNvbnN0IGsgaW4gZWwub3B0aW9ucykge1xuXHRcdFx0XHRkZWxldGUgZWwub3B0aW9uc1trXS5sb2NhdGlvbjtcblx0XHRcdFx0cHJ1bmVMb2NhdGlvbihlbC5vcHRpb25zW2tdLnZhbHVlKTtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKGlzTnVtYmVyRWxlbWVudChlbCkgJiYgaXNOdW1iZXJTa2VsZXRvbihlbC5zdHlsZSkpIHtcblx0XHRcdGRlbGV0ZSBlbC5zdHlsZS5sb2NhdGlvbjtcblx0XHR9IGVsc2UgaWYgKChpc0RhdGVFbGVtZW50KGVsKSB8fCBpc1RpbWVFbGVtZW50KGVsKSkgJiYgaXNEYXRlVGltZVNrZWxldG9uKGVsLnN0eWxlKSkge1xuXHRcdFx0ZGVsZXRlIGVsLnN0eWxlLmxvY2F0aW9uO1xuXHRcdH0gZWxzZSBpZiAoaXNUYWdFbGVtZW50KGVsKSkge1xuXHRcdFx0cHJ1bmVMb2NhdGlvbihlbC5jaGlsZHJlbik7XG5cdFx0fVxuXHR9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZShtZXNzYWdlLCBvcHRzID0ge30pIHtcblx0b3B0cyA9IHtcblx0XHRzaG91bGRQYXJzZVNrZWxldG9uczogdHJ1ZSxcblx0XHRyZXF1aXJlc090aGVyQ2xhdXNlOiB0cnVlLFxuXHRcdC4uLm9wdHNcblx0fTtcblx0Y29uc3QgcmVzdWx0ID0gbmV3IFBhcnNlcihtZXNzYWdlLCBvcHRzKS5wYXJzZSgpO1xuXHRpZiAocmVzdWx0LmVycikge1xuXHRcdGNvbnN0IGVycm9yID0gU3ludGF4RXJyb3IoRXJyb3JLaW5kW3Jlc3VsdC5lcnIua2luZF0pO1xuXHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgQXNzaWduIHRvIGVycm9yIG9iamVjdFxuXHRcdGVycm9yLmxvY2F0aW9uID0gcmVzdWx0LmVyci5sb2NhdGlvbjtcblx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIEFzc2lnbiB0byBlcnJvciBvYmplY3Rcblx0XHRlcnJvci5vcmlnaW5hbE1lc3NhZ2UgPSByZXN1bHQuZXJyLm1lc3NhZ2U7XG5cdFx0dGhyb3cgZXJyb3I7XG5cdH1cblx0aWYgKCFvcHRzPy5jYXB0dXJlTG9jYXRpb24pIHtcblx0XHRwcnVuZUxvY2F0aW9uKHJlc3VsdC52YWwpO1xuXHR9XG5cdHJldHVybiByZXN1bHQudmFsO1xufVxuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXMuanNcIjtcbi8vIG9ubHkgZm9yIHRlc3RpbmdcbmV4cG9ydCBjb25zdCBfUGFyc2VyID0gUGFyc2VyO1xuZXhwb3J0IHsgaXNTdHJ1Y3R1cmFsbHlTYW1lIH0gZnJvbSBcIi4vbWFuaXB1bGF0b3IuanNcIjtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/index.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/manipulator.js":
|
||
/*!************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/manipulator.js ***!
|
||
\************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hoistSelectors: () => (/* binding */ hoistSelectors),\n/* harmony export */ isStructurallySame: () => (/* binding */ isStructurallySame)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js\");\n\nfunction cloneDeep(obj) {\n\tif (Array.isArray(obj)) {\n\t\t// @ts-expect-error meh\n\t\treturn obj.map(cloneDeep);\n\t}\n\tif (obj !== null && typeof obj === \"object\") {\n\t\t// @ts-expect-error meh\n\t\treturn Object.keys(obj).reduce((cloned, k) => {\n\t\t\t// @ts-expect-error meh\n\t\t\tcloned[k] = cloneDeep(obj[k]);\n\t\t\treturn cloned;\n\t\t}, {});\n\t}\n\treturn obj;\n}\n/**\n* Replace pound elements with number elements referencing the given variable.\n* This is needed when nesting plurals - the # in the outer plural should become\n* an explicit variable reference when nested inside another plural.\n* GH #4202\n*/\nfunction replacePoundWithArgument(ast, variableName) {\n\treturn ast.map((el) => {\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isPoundElement)(el)) {\n\t\t\t// Replace # with {variableName, number}\n\t\t\treturn {\n\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_0__.TYPE.number,\n\t\t\t\tvalue: variableName,\n\t\t\t\tstyle: null,\n\t\t\t\tlocation: el.location\n\t\t\t};\n\t\t}\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isPluralElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isSelectElement)(el)) {\n\t\t\t// Recursively process options\n\t\t\tconst newOptions = {};\n\t\t\tfor (const key of Object.keys(el.options)) {\n\t\t\t\tnewOptions[key] = { value: replacePoundWithArgument(el.options[key].value, variableName) };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...el,\n\t\t\t\toptions: newOptions\n\t\t\t};\n\t\t}\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isTagElement)(el)) {\n\t\t\treturn {\n\t\t\t\t...el,\n\t\t\t\tchildren: replacePoundWithArgument(el.children, variableName)\n\t\t\t};\n\t\t}\n\t\treturn el;\n\t});\n}\nfunction hoistPluralOrSelectElement(ast, el, positionToInject) {\n\t// pull this out of the ast and move it to the top\n\tconst cloned = cloneDeep(el);\n\tconst { options } = cloned;\n\t// GH #4202: Check if there are other plural/select elements after this one\n\tconst afterElements = ast.slice(positionToInject + 1);\n\tconst hasSubsequentPluralOrSelect = afterElements.some(isPluralOrSelectElement);\n\tcloned.options = Object.keys(options).reduce((all, k) => {\n\t\tlet optionValue = options[k].value;\n\t\t// GH #4202: If there are subsequent plurals/selects and this is a plural,\n\t\t// replace # with explicit variable reference to avoid ambiguity\n\t\tif (hasSubsequentPluralOrSelect && (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isPluralElement)(el)) {\n\t\t\toptionValue = replacePoundWithArgument(optionValue, el.value);\n\t\t}\n\t\tconst newValue = hoistSelectors([\n\t\t\t...ast.slice(0, positionToInject),\n\t\t\t...optionValue,\n\t\t\t...afterElements\n\t\t]);\n\t\tall[k] = { value: newValue };\n\t\treturn all;\n\t}, {});\n\treturn cloned;\n}\nfunction isPluralOrSelectElement(el) {\n\treturn (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isPluralElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isSelectElement)(el);\n}\nfunction findPluralOrSelectElement(ast) {\n\treturn !!ast.find((el) => {\n\t\tif (isPluralOrSelectElement(el)) {\n\t\t\treturn true;\n\t\t}\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isTagElement)(el)) {\n\t\t\treturn findPluralOrSelectElement(el.children);\n\t\t}\n\t\treturn false;\n\t});\n}\n/**\n* Hoist all selectors to the beginning of the AST & flatten the\n* resulting options. E.g:\n* \"I have {count, plural, one{a dog} other{many dogs}}\"\n* becomes \"{count, plural, one{I have a dog} other{I have many dogs}}\".\n* If there are multiple selectors, the order of which one is hoisted 1st\n* is non-deterministic.\n* The goal is to provide as many full sentences as possible since fragmented\n* sentences are not translator-friendly\n* @param ast AST\n*/\nfunction hoistSelectors(ast) {\n\tfor (let i = 0; i < ast.length; i++) {\n\t\tconst el = ast[i];\n\t\tif (isPluralOrSelectElement(el)) {\n\t\t\treturn [hoistPluralOrSelectElement(ast, el, i)];\n\t\t}\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isTagElement)(el) && findPluralOrSelectElement([el])) {\n\t\t\tthrow new Error(\"Cannot hoist plural/select within a tag element. Please put the tag element inside each plural/select option\");\n\t\t}\n\t}\n\treturn ast;\n}\n/**\n* Collect all variables in an AST to Record<string, TYPE>\n* @param ast AST to collect variables from\n* @param vars Record of variable name to variable type\n*/\nfunction collectVariables(ast, vars = new Map()) {\n\tast.forEach((el) => {\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isArgumentElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isDateElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isTimeElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isNumberElement)(el)) {\n\t\t\tif (el.value in vars && vars.get(el.value) !== el.type) {\n\t\t\t\tthrow new Error(`Variable ${el.value} has conflicting types`);\n\t\t\t}\n\t\t\tvars.set(el.value, el.type);\n\t\t}\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isPluralElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isSelectElement)(el)) {\n\t\t\tvars.set(el.value, el.type);\n\t\t\tObject.keys(el.options).forEach((k) => {\n\t\t\t\tcollectVariables(el.options[k].value, vars);\n\t\t\t});\n\t\t}\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isTagElement)(el)) {\n\t\t\tvars.set(el.value, el.type);\n\t\t\tcollectVariables(el.children, vars);\n\t\t}\n\t});\n}\n/**\n* Check if 2 ASTs are structurally the same. This primarily means that\n* they have the same variables with the same type\n* @param a\n* @param b\n* @returns\n*/\nfunction isStructurallySame(a, b) {\n\tconst aVars = new Map();\n\tconst bVars = new Map();\n\tcollectVariables(a, aVars);\n\tcollectVariables(b, bVars);\n\tif (aVars.size !== bVars.size) {\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: new Error(`Different number of variables: [${Array.from(aVars.keys()).join(\", \")}] vs [${Array.from(bVars.keys()).join(\", \")}]`)\n\t\t};\n\t}\n\treturn Array.from(aVars.entries()).reduce((result, [key, type]) => {\n\t\tif (!result.success) {\n\t\t\treturn result;\n\t\t}\n\t\tconst bType = bVars.get(key);\n\t\tif (bType == null) {\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: new Error(`Missing variable ${key} in message`)\n\t\t\t};\n\t\t}\n\t\tif (bType !== type) {\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: new Error(`Variable ${key} has conflicting types: ${_types_js__WEBPACK_IMPORTED_MODULE_0__.TYPE[type]} vs ${_types_js__WEBPACK_IMPORTED_MODULE_0__.TYPE[bType]}`)\n\t\t\t};\n\t\t}\n\t\treturn result;\n\t}, { success: true });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyQDMuNS4zL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyL21hbmlwdWxhdG9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFvSztBQUNwSztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRyxJQUFJO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0seURBQWM7QUFDcEIsc0JBQXNCO0FBQ3RCO0FBQ0EsVUFBVSwyQ0FBSTtBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLDBEQUFlLFFBQVEsMERBQWU7QUFDNUM7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sdURBQVk7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxVQUFVO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLDBEQUFlO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsRUFBRSxJQUFJO0FBQ047QUFDQTtBQUNBO0FBQ0EsUUFBUSwwREFBZSxRQUFRLDBEQUFlO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sdURBQVk7QUFDbEI7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxtQkFBbUIsT0FBTyxNQUFNLFdBQVc7QUFDdEQsWUFBWSxtQkFBbUIsY0FBYyxNQUFNLGtCQUFrQjtBQUNyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQLGlCQUFpQixnQkFBZ0I7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLHVEQUFZO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sNERBQWlCLFFBQVEsd0RBQWEsUUFBUSx3REFBYSxRQUFRLDBEQUFlO0FBQ3hGO0FBQ0EsZ0NBQWdDLFVBQVU7QUFDMUM7QUFDQTtBQUNBO0FBQ0EsTUFBTSwwREFBZSxRQUFRLDBEQUFlO0FBQzVDO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLE1BQU0sdURBQVk7QUFDbEI7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVELG9DQUFvQyxRQUFRLG9DQUFvQztBQUN2STtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QyxLQUFLO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsS0FBSyx5QkFBeUIsMkNBQUksUUFBUSxLQUFLLDJDQUFJLFFBQVE7QUFDNUY7QUFDQTtBQUNBO0FBQ0EsRUFBRSxJQUFJLGVBQWU7QUFDckIiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9tYW5pcHVsYXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0FyZ3VtZW50RWxlbWVudCwgaXNEYXRlRWxlbWVudCwgaXNOdW1iZXJFbGVtZW50LCBpc1BsdXJhbEVsZW1lbnQsIGlzUG91bmRFbGVtZW50LCBpc1NlbGVjdEVsZW1lbnQsIGlzVGFnRWxlbWVudCwgaXNUaW1lRWxlbWVudCwgVFlQRSB9IGZyb20gXCIuL3R5cGVzLmpzXCI7XG5mdW5jdGlvbiBjbG9uZURlZXAob2JqKSB7XG5cdGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcblx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIG1laFxuXHRcdHJldHVybiBvYmoubWFwKGNsb25lRGVlcCk7XG5cdH1cblx0aWYgKG9iaiAhPT0gbnVsbCAmJiB0eXBlb2Ygb2JqID09PSBcIm9iamVjdFwiKSB7XG5cdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciBtZWhcblx0XHRyZXR1cm4gT2JqZWN0LmtleXMob2JqKS5yZWR1Y2UoKGNsb25lZCwgaykgPT4ge1xuXHRcdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciBtZWhcblx0XHRcdGNsb25lZFtrXSA9IGNsb25lRGVlcChvYmpba10pO1xuXHRcdFx0cmV0dXJuIGNsb25lZDtcblx0XHR9LCB7fSk7XG5cdH1cblx0cmV0dXJuIG9iajtcbn1cbi8qKlxuKiBSZXBsYWNlIHBvdW5kIGVsZW1lbnRzIHdpdGggbnVtYmVyIGVsZW1lbnRzIHJlZmVyZW5jaW5nIHRoZSBnaXZlbiB2YXJpYWJsZS5cbiogVGhpcyBpcyBuZWVkZWQgd2hlbiBuZXN0aW5nIHBsdXJhbHMgLSB0aGUgIyBpbiB0aGUgb3V0ZXIgcGx1cmFsIHNob3VsZCBiZWNvbWVcbiogYW4gZXhwbGljaXQgdmFyaWFibGUgcmVmZXJlbmNlIHdoZW4gbmVzdGVkIGluc2lkZSBhbm90aGVyIHBsdXJhbC5cbiogR0ggIzQyMDJcbiovXG5mdW5jdGlvbiByZXBsYWNlUG91bmRXaXRoQXJndW1lbnQoYXN0LCB2YXJpYWJsZU5hbWUpIHtcblx0cmV0dXJuIGFzdC5tYXAoKGVsKSA9PiB7XG5cdFx0aWYgKGlzUG91bmRFbGVtZW50KGVsKSkge1xuXHRcdFx0Ly8gUmVwbGFjZSAjIHdpdGgge3ZhcmlhYmxlTmFtZSwgbnVtYmVyfVxuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0dHlwZTogVFlQRS5udW1iZXIsXG5cdFx0XHRcdHZhbHVlOiB2YXJpYWJsZU5hbWUsXG5cdFx0XHRcdHN0eWxlOiBudWxsLFxuXHRcdFx0XHRsb2NhdGlvbjogZWwubG9jYXRpb25cblx0XHRcdH07XG5cdFx0fVxuXHRcdGlmIChpc1BsdXJhbEVsZW1lbnQoZWwpIHx8IGlzU2VsZWN0RWxlbWVudChlbCkpIHtcblx0XHRcdC8vIFJlY3Vyc2l2ZWx5IHByb2Nlc3Mgb3B0aW9uc1xuXHRcdFx0Y29uc3QgbmV3T3B0aW9ucyA9IHt9O1xuXHRcdFx0Zm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZWwub3B0aW9ucykpIHtcblx0XHRcdFx0bmV3T3B0aW9uc1trZXldID0geyB2YWx1ZTogcmVwbGFjZVBvdW5kV2l0aEFyZ3VtZW50KGVsLm9wdGlvbnNba2V5XS52YWx1ZSwgdmFyaWFibGVOYW1lKSB9O1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0Li4uZWwsXG5cdFx0XHRcdG9wdGlvbnM6IG5ld09wdGlvbnNcblx0XHRcdH07XG5cdFx0fVxuXHRcdGlmIChpc1RhZ0VsZW1lbnQoZWwpKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHQuLi5lbCxcblx0XHRcdFx0Y2hpbGRyZW46IHJlcGxhY2VQb3VuZFdpdGhBcmd1bWVudChlbC5jaGlsZHJlbiwgdmFyaWFibGVOYW1lKVxuXHRcdFx0fTtcblx0XHR9XG5cdFx0cmV0dXJuIGVsO1xuXHR9KTtcbn1cbmZ1bmN0aW9uIGhvaXN0UGx1cmFsT3JTZWxlY3RFbGVtZW50KGFzdCwgZWwsIHBvc2l0aW9uVG9JbmplY3QpIHtcblx0Ly8gcHVsbCB0aGlzIG91dCBvZiB0aGUgYXN0IGFuZCBtb3ZlIGl0IHRvIHRoZSB0b3Bcblx0Y29uc3QgY2xvbmVkID0gY2xvbmVEZWVwKGVsKTtcblx0Y29uc3QgeyBvcHRpb25zIH0gPSBjbG9uZWQ7XG5cdC8vIEdIICM0MjAyOiBDaGVjayBpZiB0aGVyZSBhcmUgb3RoZXIgcGx1cmFsL3NlbGVjdCBlbGVtZW50cyBhZnRlciB0aGlzIG9uZVxuXHRjb25zdCBhZnRlckVsZW1lbnRzID0gYXN0LnNsaWNlKHBvc2l0aW9uVG9JbmplY3QgKyAxKTtcblx0Y29uc3QgaGFzU3Vic2VxdWVudFBsdXJhbE9yU2VsZWN0ID0gYWZ0ZXJFbGVtZW50cy5zb21lKGlzUGx1cmFsT3JTZWxlY3RFbGVtZW50KTtcblx0Y2xvbmVkLm9wdGlvbnMgPSBPYmplY3Qua2V5cyhvcHRpb25zKS5yZWR1Y2UoKGFsbCwgaykgPT4ge1xuXHRcdGxldCBvcHRpb25WYWx1ZSA9IG9wdGlvbnNba10udmFsdWU7XG5cdFx0Ly8gR0ggIzQyMDI6IElmIHRoZXJlIGFyZSBzdWJzZXF1ZW50IHBsdXJhbHMvc2VsZWN0cyBhbmQgdGhpcyBpcyBhIHBsdXJhbCxcblx0XHQvLyByZXBsYWNlICMgd2l0aCBleHBsaWNpdCB2YXJpYWJsZSByZWZlcmVuY2UgdG8gYXZvaWQgYW1iaWd1aXR5XG5cdFx0aWYgKGhhc1N1YnNlcXVlbnRQbHVyYWxPclNlbGVjdCAmJiBpc1BsdXJhbEVsZW1lbnQoZWwpKSB7XG5cdFx0XHRvcHRpb25WYWx1ZSA9IHJlcGxhY2VQb3VuZFdpdGhBcmd1bWVudChvcHRpb25WYWx1ZSwgZWwudmFsdWUpO1xuXHRcdH1cblx0XHRjb25zdCBuZXdWYWx1ZSA9IGhvaXN0U2VsZWN0b3JzKFtcblx0XHRcdC4uLmFzdC5zbGljZSgwLCBwb3NpdGlvblRvSW5qZWN0KSxcblx0XHRcdC4uLm9wdGlvblZhbHVlLFxuXHRcdFx0Li4uYWZ0ZXJFbGVtZW50c1xuXHRcdF0pO1xuXHRcdGFsbFtrXSA9IHsgdmFsdWU6IG5ld1ZhbHVlIH07XG5cdFx0cmV0dXJuIGFsbDtcblx0fSwge30pO1xuXHRyZXR1cm4gY2xvbmVkO1xufVxuZnVuY3Rpb24gaXNQbHVyYWxPclNlbGVjdEVsZW1lbnQoZWwpIHtcblx0cmV0dXJuIGlzUGx1cmFsRWxlbWVudChlbCkgfHwgaXNTZWxlY3RFbGVtZW50KGVsKTtcbn1cbmZ1bmN0aW9uIGZpbmRQbHVyYWxPclNlbGVjdEVsZW1lbnQoYXN0KSB7XG5cdHJldHVybiAhIWFzdC5maW5kKChlbCkgPT4ge1xuXHRcdGlmIChpc1BsdXJhbE9yU2VsZWN0RWxlbWVudChlbCkpIHtcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblx0XHRpZiAoaXNUYWdFbGVtZW50KGVsKSkge1xuXHRcdFx0cmV0dXJuIGZpbmRQbHVyYWxPclNlbGVjdEVsZW1lbnQoZWwuY2hpbGRyZW4pO1xuXHRcdH1cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH0pO1xufVxuLyoqXG4qIEhvaXN0IGFsbCBzZWxlY3RvcnMgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgQVNUICYgZmxhdHRlbiB0aGVcbiogcmVzdWx0aW5nIG9wdGlvbnMuIEUuZzpcbiogXCJJIGhhdmUge2NvdW50LCBwbHVyYWwsIG9uZXthIGRvZ30gb3RoZXJ7bWFueSBkb2dzfX1cIlxuKiBiZWNvbWVzIFwie2NvdW50LCBwbHVyYWwsIG9uZXtJIGhhdmUgYSBkb2d9IG90aGVye0kgaGF2ZSBtYW55IGRvZ3N9fVwiLlxuKiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgc2VsZWN0b3JzLCB0aGUgb3JkZXIgb2Ygd2hpY2ggb25lIGlzIGhvaXN0ZWQgMXN0XG4qIGlzIG5vbi1kZXRlcm1pbmlzdGljLlxuKiBUaGUgZ29hbCBpcyB0byBwcm92aWRlIGFzIG1hbnkgZnVsbCBzZW50ZW5jZXMgYXMgcG9zc2libGUgc2luY2UgZnJhZ21lbnRlZFxuKiBzZW50ZW5jZXMgYXJlIG5vdCB0cmFuc2xhdG9yLWZyaWVuZGx5XG4qIEBwYXJhbSBhc3QgQVNUXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIGhvaXN0U2VsZWN0b3JzKGFzdCkge1xuXHRmb3IgKGxldCBpID0gMDsgaSA8IGFzdC5sZW5ndGg7IGkrKykge1xuXHRcdGNvbnN0IGVsID0gYXN0W2ldO1xuXHRcdGlmIChpc1BsdXJhbE9yU2VsZWN0RWxlbWVudChlbCkpIHtcblx0XHRcdHJldHVybiBbaG9pc3RQbHVyYWxPclNlbGVjdEVsZW1lbnQoYXN0LCBlbCwgaSldO1xuXHRcdH1cblx0XHRpZiAoaXNUYWdFbGVtZW50KGVsKSAmJiBmaW5kUGx1cmFsT3JTZWxlY3RFbGVtZW50KFtlbF0pKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgaG9pc3QgcGx1cmFsL3NlbGVjdCB3aXRoaW4gYSB0YWcgZWxlbWVudC4gUGxlYXNlIHB1dCB0aGUgdGFnIGVsZW1lbnQgaW5zaWRlIGVhY2ggcGx1cmFsL3NlbGVjdCBvcHRpb25cIik7XG5cdFx0fVxuXHR9XG5cdHJldHVybiBhc3Q7XG59XG4vKipcbiogQ29sbGVjdCBhbGwgdmFyaWFibGVzIGluIGFuIEFTVCB0byBSZWNvcmQ8c3RyaW5nLCBUWVBFPlxuKiBAcGFyYW0gYXN0IEFTVCB0byBjb2xsZWN0IHZhcmlhYmxlcyBmcm9tXG4qIEBwYXJhbSB2YXJzIFJlY29yZCBvZiB2YXJpYWJsZSBuYW1lIHRvIHZhcmlhYmxlIHR5cGVcbiovXG5mdW5jdGlvbiBjb2xsZWN0VmFyaWFibGVzKGFzdCwgdmFycyA9IG5ldyBNYXAoKSkge1xuXHRhc3QuZm9yRWFjaCgoZWwpID0+IHtcblx0XHRpZiAoaXNBcmd1bWVudEVsZW1lbnQoZWwpIHx8IGlzRGF0ZUVsZW1lbnQoZWwpIHx8IGlzVGltZUVsZW1lbnQoZWwpIHx8IGlzTnVtYmVyRWxlbWVudChlbCkpIHtcblx0XHRcdGlmIChlbC52YWx1ZSBpbiB2YXJzICYmIHZhcnMuZ2V0KGVsLnZhbHVlKSAhPT0gZWwudHlwZSkge1xuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoYFZhcmlhYmxlICR7ZWwudmFsdWV9IGhhcyBjb25mbGljdGluZyB0eXBlc2ApO1xuXHRcdFx0fVxuXHRcdFx0dmFycy5zZXQoZWwudmFsdWUsIGVsLnR5cGUpO1xuXHRcdH1cblx0XHRpZiAoaXNQbHVyYWxFbGVtZW50KGVsKSB8fCBpc1NlbGVjdEVsZW1lbnQoZWwpKSB7XG5cdFx0XHR2YXJzLnNldChlbC52YWx1ZSwgZWwudHlwZSk7XG5cdFx0XHRPYmplY3Qua2V5cyhlbC5vcHRpb25zKS5mb3JFYWNoKChrKSA9PiB7XG5cdFx0XHRcdGNvbGxlY3RWYXJpYWJsZXMoZWwub3B0aW9uc1trXS52YWx1ZSwgdmFycyk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdFx0aWYgKGlzVGFnRWxlbWVudChlbCkpIHtcblx0XHRcdHZhcnMuc2V0KGVsLnZhbHVlLCBlbC50eXBlKTtcblx0XHRcdGNvbGxlY3RWYXJpYWJsZXMoZWwuY2hpbGRyZW4sIHZhcnMpO1xuXHRcdH1cblx0fSk7XG59XG4vKipcbiogQ2hlY2sgaWYgMiBBU1RzIGFyZSBzdHJ1Y3R1cmFsbHkgdGhlIHNhbWUuIFRoaXMgcHJpbWFyaWx5IG1lYW5zIHRoYXRcbiogdGhleSBoYXZlIHRoZSBzYW1lIHZhcmlhYmxlcyB3aXRoIHRoZSBzYW1lIHR5cGVcbiogQHBhcmFtIGFcbiogQHBhcmFtIGJcbiogQHJldHVybnNcbiovXG5leHBvcnQgZnVuY3Rpb24gaXNTdHJ1Y3R1cmFsbHlTYW1lKGEsIGIpIHtcblx0Y29uc3QgYVZhcnMgPSBuZXcgTWFwKCk7XG5cdGNvbnN0IGJWYXJzID0gbmV3IE1hcCgpO1xuXHRjb2xsZWN0VmFyaWFibGVzKGEsIGFWYXJzKTtcblx0Y29sbGVjdFZhcmlhYmxlcyhiLCBiVmFycyk7XG5cdGlmIChhVmFycy5zaXplICE9PSBiVmFycy5zaXplKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHN1Y2Nlc3M6IGZhbHNlLFxuXHRcdFx0ZXJyb3I6IG5ldyBFcnJvcihgRGlmZmVyZW50IG51bWJlciBvZiB2YXJpYWJsZXM6IFske0FycmF5LmZyb20oYVZhcnMua2V5cygpKS5qb2luKFwiLCBcIil9XSB2cyBbJHtBcnJheS5mcm9tKGJWYXJzLmtleXMoKSkuam9pbihcIiwgXCIpfV1gKVxuXHRcdH07XG5cdH1cblx0cmV0dXJuIEFycmF5LmZyb20oYVZhcnMuZW50cmllcygpKS5yZWR1Y2UoKHJlc3VsdCwgW2tleSwgdHlwZV0pID0+IHtcblx0XHRpZiAoIXJlc3VsdC5zdWNjZXNzKSB7XG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH1cblx0XHRjb25zdCBiVHlwZSA9IGJWYXJzLmdldChrZXkpO1xuXHRcdGlmIChiVHlwZSA9PSBudWxsKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRzdWNjZXNzOiBmYWxzZSxcblx0XHRcdFx0ZXJyb3I6IG5ldyBFcnJvcihgTWlzc2luZyB2YXJpYWJsZSAke2tleX0gaW4gbWVzc2FnZWApXG5cdFx0XHR9O1xuXHRcdH1cblx0XHRpZiAoYlR5cGUgIT09IHR5cGUpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdHN1Y2Nlc3M6IGZhbHNlLFxuXHRcdFx0XHRlcnJvcjogbmV3IEVycm9yKGBWYXJpYWJsZSAke2tleX0gaGFzIGNvbmZsaWN0aW5nIHR5cGVzOiAke1RZUEVbdHlwZV19IHZzICR7VFlQRVtiVHlwZV19YClcblx0XHRcdH07XG5cdFx0fVxuXHRcdHJldHVybiByZXN1bHQ7XG5cdH0sIHsgc3VjY2VzczogdHJ1ZSB9KTtcbn1cbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/manipulator.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/parser.js":
|
||
/*!*******************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/parser.js ***!
|
||
\*******************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Parser: () => (/* binding */ Parser)\n/* harmony export */ });\n/* harmony import */ var _error_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./error.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/error.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js\");\n/* harmony import */ var _regex_generated_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./regex.generated.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/regex.generated.js\");\n/* harmony import */ var _formatjs_icu_skeleton_parser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @formatjs/icu-skeleton-parser */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/index.js\");\n/* harmony import */ var _date_time_pattern_generator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./date-time-pattern-generator.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/date-time-pattern-generator.js\");\n\n\n\n\n\nconst SPACE_SEPARATOR_START_REGEX = new RegExp(`^${_regex_generated_js__WEBPACK_IMPORTED_MODULE_2__.SPACE_SEPARATOR_REGEX.source}*`);\nconst SPACE_SEPARATOR_END_REGEX = new RegExp(`${_regex_generated_js__WEBPACK_IMPORTED_MODULE_2__.SPACE_SEPARATOR_REGEX.source}*$`);\nfunction createLocation(start, end) {\n\treturn {\n\t\tstart,\n\t\tend\n\t};\n}\n// #region Ponyfills\n// Consolidate these variables up top for easier toggling during debugging\nconst hasNativeFromEntries = !!Object.fromEntries;\nconst hasTrimStart = !!String.prototype.trimStart;\nconst hasTrimEnd = !!String.prototype.trimEnd;\nconst fromEntries = hasNativeFromEntries ? Object.fromEntries : function fromEntries(entries) {\n\tconst obj = {};\n\tfor (const [k, v] of entries) {\n\t\tobj[k] = v;\n\t}\n\treturn obj;\n};\nconst trimStart = hasTrimStart ? function trimStart(s) {\n\treturn s.trimStart();\n} : function trimStart(s) {\n\treturn s.replace(SPACE_SEPARATOR_START_REGEX, \"\");\n};\nconst trimEnd = hasTrimEnd ? function trimEnd(s) {\n\treturn s.trimEnd();\n} : function trimEnd(s) {\n\treturn s.replace(SPACE_SEPARATOR_END_REGEX, \"\");\n};\n// #endregion\nconst IDENTIFIER_PREFIX_RE = new RegExp(\"([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)\", \"yu\");\nfunction matchIdentifierAtIndex(s, index) {\n\tIDENTIFIER_PREFIX_RE.lastIndex = index;\n\tconst match = IDENTIFIER_PREFIX_RE.exec(s);\n\treturn match[1] ?? \"\";\n}\nclass Parser {\n\tmessage;\n\tposition;\n\tlocale;\n\tignoreTag;\n\trequiresOtherClause;\n\tshouldParseSkeletons;\n\tconstructor(message, options = {}) {\n\t\tthis.message = message;\n\t\tthis.position = {\n\t\t\toffset: 0,\n\t\t\tline: 1,\n\t\t\tcolumn: 1\n\t\t};\n\t\tthis.ignoreTag = !!options.ignoreTag;\n\t\tthis.locale = options.locale;\n\t\tthis.requiresOtherClause = !!options.requiresOtherClause;\n\t\tthis.shouldParseSkeletons = !!options.shouldParseSkeletons;\n\t}\n\tparse() {\n\t\tif (this.offset() !== 0) {\n\t\t\tthrow Error(\"parser can only be used once\");\n\t\t}\n\t\treturn this.parseMessage(0, \"\", false);\n\t}\n\tparseMessage(nestingLevel, parentArgType, expectingCloseTag) {\n\t\tlet elements = [];\n\t\twhile (!this.isEOF()) {\n\t\t\tconst char = this.char();\n\t\t\tif (char === 123) {\n\t\t\t\tconst result = this.parseArgument(nestingLevel, expectingCloseTag);\n\t\t\t\tif (result.err) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\telements.push(result.val);\n\t\t\t} else if (char === 125 && nestingLevel > 0) {\n\t\t\t\tbreak;\n\t\t\t} else if (char === 35 && (parentArgType === \"plural\" || parentArgType === \"selectordinal\")) {\n\t\t\t\tconst position = this.clonePosition();\n\t\t\t\tthis.bump();\n\t\t\t\telements.push({\n\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.pound,\n\t\t\t\t\tlocation: createLocation(position, this.clonePosition())\n\t\t\t\t});\n\t\t\t} else if (char === 60 && !this.ignoreTag && this.peek() === 47) {\n\t\t\t\tif (expectingCloseTag) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(this.clonePosition(), this.clonePosition()));\n\t\t\t\t}\n\t\t\t} else if (char === 60 && !this.ignoreTag && _isAlpha(this.peek() || 0)) {\n\t\t\t\tconst result = this.parseTag(nestingLevel, parentArgType);\n\t\t\t\tif (result.err) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\telements.push(result.val);\n\t\t\t} else {\n\t\t\t\tconst result = this.parseLiteral(nestingLevel, parentArgType);\n\t\t\t\tif (result.err) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\telements.push(result.val);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tval: elements,\n\t\t\terr: null\n\t\t};\n\t}\n\t/**\n\t* A tag name must start with an ASCII lower/upper case letter. The grammar is based on the\n\t* [custom element name][] except that a dash is NOT always mandatory and uppercase letters\n\t* are accepted:\n\t*\n\t* ```\n\t* tag ::= \"<\" tagName (whitespace)* \"/>\" | \"<\" tagName (whitespace)* \">\" message \"</\" tagName (whitespace)* \">\"\n\t* tagName ::= [a-z] (PENChar)*\n\t* PENChar ::=\n\t* \"-\" | \".\" | [0-9] | \"_\" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |\n\t* [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |\n\t* [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n\t* ```\n\t*\n\t* [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n\t* NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do\n\t* since other tag-based engines like React allow it\n\t*/\n\tparseTag(nestingLevel, parentArgType) {\n\t\tconst startPosition = this.clonePosition();\n\t\tthis.bump();\n\t\tconst tagName = this.parseTagName();\n\t\tthis.bumpSpace();\n\t\tif (this.bumpIf(\"/>\")) {\n\t\t\t// Self closing tag\n\t\t\treturn {\n\t\t\t\tval: {\n\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.literal,\n\t\t\t\t\tvalue: `<${tagName}/>`,\n\t\t\t\t\tlocation: createLocation(startPosition, this.clonePosition())\n\t\t\t\t},\n\t\t\t\terr: null\n\t\t\t};\n\t\t} else if (this.bumpIf(\">\")) {\n\t\t\tconst childrenResult = this.parseMessage(nestingLevel + 1, parentArgType, true);\n\t\t\tif (childrenResult.err) {\n\t\t\t\treturn childrenResult;\n\t\t\t}\n\t\t\tconst children = childrenResult.val;\n\t\t\t// Expecting a close tag\n\t\t\tconst endTagStartPosition = this.clonePosition();\n\t\t\tif (this.bumpIf(\"</\")) {\n\t\t\t\tif (this.isEOF() || !_isAlpha(this.char())) {\n\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n\t\t\t\t}\n\t\t\t\tconst closingTagNameStartPosition = this.clonePosition();\n\t\t\t\tconst closingTagName = this.parseTagName();\n\t\t\t\tif (tagName !== closingTagName) {\n\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(closingTagNameStartPosition, this.clonePosition()));\n\t\t\t\t}\n\t\t\t\tthis.bumpSpace();\n\t\t\t\tif (!this.bumpIf(\">\")) {\n\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tval: {\n\t\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.tag,\n\t\t\t\t\t\tvalue: tagName,\n\t\t\t\t\t\tchildren,\n\t\t\t\t\t\tlocation: createLocation(startPosition, this.clonePosition())\n\t\t\t\t\t},\n\t\t\t\t\terr: null\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.UNCLOSED_TAG, createLocation(startPosition, this.clonePosition()));\n\t\t\t}\n\t\t} else {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_TAG, createLocation(startPosition, this.clonePosition()));\n\t\t}\n\t}\n\t/**\n\t* This method assumes that the caller has peeked ahead for the first tag character.\n\t*/\n\tparseTagName() {\n\t\tconst startOffset = this.offset();\n\t\tthis.bump();\n\t\twhile (!this.isEOF() && _isPotentialElementNameChar(this.char())) {\n\t\t\tthis.bump();\n\t\t}\n\t\treturn this.message.slice(startOffset, this.offset());\n\t}\n\tparseLiteral(nestingLevel, parentArgType) {\n\t\tconst start = this.clonePosition();\n\t\tlet value = \"\";\n\t\twhile (true) {\n\t\t\tconst parseQuoteResult = this.tryParseQuote(parentArgType);\n\t\t\tif (parseQuoteResult) {\n\t\t\t\tvalue += parseQuoteResult;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst parseUnquotedResult = this.tryParseUnquoted(nestingLevel, parentArgType);\n\t\t\tif (parseUnquotedResult) {\n\t\t\t\tvalue += parseUnquotedResult;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst parseLeftAngleResult = this.tryParseLeftAngleBracket();\n\t\t\tif (parseLeftAngleResult) {\n\t\t\t\tvalue += parseLeftAngleResult;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tconst location = createLocation(start, this.clonePosition());\n\t\treturn {\n\t\t\tval: {\n\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.literal,\n\t\t\t\tvalue,\n\t\t\t\tlocation\n\t\t\t},\n\t\t\terr: null\n\t\t};\n\t}\n\ttryParseLeftAngleBracket() {\n\t\tif (!this.isEOF() && this.char() === 60 && (this.ignoreTag || !_isAlphaOrSlash(this.peek() || 0))) {\n\t\t\tthis.bump();\n\t\t\treturn \"<\";\n\t\t}\n\t\treturn null;\n\t}\n\t/**\n\t* Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes\n\t* a character that requires quoting (that is, \"only where needed\"), and works the same in\n\t* nested messages as on the top level of the pattern. The new behavior is otherwise compatible.\n\t*/\n\ttryParseQuote(parentArgType) {\n\t\tif (this.isEOF() || this.char() !== 39) {\n\t\t\treturn null;\n\t\t}\n\t\t// Parse escaped char following the apostrophe, or early return if there is no escaped char.\n\t\t// Check if is valid escaped character\n\t\tswitch (this.peek()) {\n\t\t\tcase 39:\n\t\t\t\t// double quote, should return as a single quote.\n\t\t\t\tthis.bump();\n\t\t\t\tthis.bump();\n\t\t\t\treturn \"'\";\n\t\t\tcase 123:\n\t\t\tcase 60:\n\t\t\tcase 62:\n\t\t\tcase 125: break;\n\t\t\tcase 35:\n\t\t\t\tif (parentArgType === \"plural\" || parentArgType === \"selectordinal\") {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\tdefault: return null;\n\t\t}\n\t\tthis.bump();\n\t\tconst codePoints = [this.char()];\n\t\tthis.bump();\n\t\t// read chars until the optional closing apostrophe is found\n\t\twhile (!this.isEOF()) {\n\t\t\tconst ch = this.char();\n\t\t\tif (ch === 39) {\n\t\t\t\tif (this.peek() === 39) {\n\t\t\t\t\tcodePoints.push(39);\n\t\t\t\t\t// Bump one more time because we need to skip 2 characters.\n\t\t\t\t\tthis.bump();\n\t\t\t\t} else {\n\t\t\t\t\t// Optional closing apostrophe.\n\t\t\t\t\tthis.bump();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcodePoints.push(ch);\n\t\t\t}\n\t\t\tthis.bump();\n\t\t}\n\t\treturn String.fromCodePoint(...codePoints);\n\t}\n\ttryParseUnquoted(nestingLevel, parentArgType) {\n\t\tif (this.isEOF()) {\n\t\t\treturn null;\n\t\t}\n\t\tconst ch = this.char();\n\t\tif (ch === 60 || ch === 123 || ch === 35 && (parentArgType === \"plural\" || parentArgType === \"selectordinal\") || ch === 125 && nestingLevel > 0) {\n\t\t\treturn null;\n\t\t} else {\n\t\t\tthis.bump();\n\t\t\treturn String.fromCodePoint(ch);\n\t\t}\n\t}\n\tparseArgument(nestingLevel, expectingCloseTag) {\n\t\tconst openingBracePosition = this.clonePosition();\n\t\tthis.bump();\n\t\tthis.bumpSpace();\n\t\tif (this.isEOF()) {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n\t\t}\n\t\tif (this.char() === 125) {\n\t\t\tthis.bump();\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EMPTY_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n\t\t}\n\t\t// argument name\n\t\tlet value = this.parseIdentifierIfPossible().value;\n\t\tif (!value) {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n\t\t}\n\t\tthis.bumpSpace();\n\t\tif (this.isEOF()) {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n\t\t}\n\t\tswitch (this.char()) {\n\t\t\tcase 125: {\n\t\t\t\tthis.bump();\n\t\t\t\treturn {\n\t\t\t\t\tval: {\n\t\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.argument,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tlocation: createLocation(openingBracePosition, this.clonePosition())\n\t\t\t\t\t},\n\t\t\t\t\terr: null\n\t\t\t\t};\n\t\t\t}\n\t\t\tcase 44: {\n\t\t\t\tthis.bump();\n\t\t\t\tthis.bumpSpace();\n\t\t\t\tif (this.isEOF()) {\n\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n\t\t\t\t}\n\t\t\t\treturn this.parseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition);\n\t\t\t}\n\t\t\tdefault: return this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n\t\t}\n\t}\n\t/**\n\t* Advance the parser until the end of the identifier, if it is currently on\n\t* an identifier character. Return an empty string otherwise.\n\t*/\n\tparseIdentifierIfPossible() {\n\t\tconst startingPosition = this.clonePosition();\n\t\tconst startOffset = this.offset();\n\t\tconst value = matchIdentifierAtIndex(this.message, startOffset);\n\t\tconst endOffset = startOffset + value.length;\n\t\tthis.bumpTo(endOffset);\n\t\tconst endPosition = this.clonePosition();\n\t\tconst location = createLocation(startingPosition, endPosition);\n\t\treturn {\n\t\t\tvalue,\n\t\t\tlocation\n\t\t};\n\t}\n\tparseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition) {\n\t\t// Parse this range:\n\t\t// {name, type, style}\n\t\t// ^---^\n\t\tlet typeStartPosition = this.clonePosition();\n\t\tlet argType = this.parseIdentifierIfPossible().value;\n\t\tlet typeEndPosition = this.clonePosition();\n\t\tswitch (argType) {\n\t\t\tcase \"\":\n // Expecting a style string number, date, time, plural, selectordinal, or select.\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n\t\t\tcase \"number\":\n\t\t\tcase \"date\":\n\t\t\tcase \"time\": {\n\t\t\t\t// Parse this range:\n\t\t\t\t// {name, number, style}\n\t\t\t\t// ^-------^\n\t\t\t\tthis.bumpSpace();\n\t\t\t\tlet styleAndLocation = null;\n\t\t\t\tif (this.bumpIf(\",\")) {\n\t\t\t\t\tthis.bumpSpace();\n\t\t\t\t\tconst styleStartPosition = this.clonePosition();\n\t\t\t\t\tconst result = this.parseSimpleArgStyleIfPossible();\n\t\t\t\t\tif (result.err) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t\tconst style = trimEnd(result.val);\n\t\t\t\t\tif (style.length === 0) {\n\t\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_ARGUMENT_STYLE, createLocation(this.clonePosition(), this.clonePosition()));\n\t\t\t\t\t}\n\t\t\t\t\tconst styleLocation = createLocation(styleStartPosition, this.clonePosition());\n\t\t\t\t\tstyleAndLocation = {\n\t\t\t\t\t\tstyle,\n\t\t\t\t\t\tstyleLocation\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tconst argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n\t\t\t\tif (argCloseResult.err) {\n\t\t\t\t\treturn argCloseResult;\n\t\t\t\t}\n\t\t\t\tconst location = createLocation(openingBracePosition, this.clonePosition());\n\t\t\t\t// Extract style or skeleton\n\t\t\t\tif (styleAndLocation && styleAndLocation.style.startsWith(\"::\")) {\n\t\t\t\t\t// Skeleton starts with `::`.\n\t\t\t\t\tlet skeleton = trimStart(styleAndLocation.style.slice(2));\n\t\t\t\t\tif (argType === \"number\") {\n\t\t\t\t\t\tconst result = this.parseNumberSkeletonFromString(skeleton, styleAndLocation.styleLocation);\n\t\t\t\t\t\tif (result.err) {\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tval: {\n\t\t\t\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.number,\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\t\tstyle: result.val\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\terr: null\n\t\t\t\t\t\t};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (skeleton.length === 0) {\n\t\t\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_DATE_TIME_SKELETON, location);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet dateTimePattern = skeleton;\n\t\t\t\t\t\t// Get \"best match\" pattern only if locale is passed, if not, let it\n\t\t\t\t\t\t// pass as-is where `parseDateTimeSkeleton()` will throw an error\n\t\t\t\t\t\t// for unsupported patterns.\n\t\t\t\t\t\tif (this.locale) {\n\t\t\t\t\t\t\tdateTimePattern = (0,_date_time_pattern_generator_js__WEBPACK_IMPORTED_MODULE_4__.getBestPattern)(skeleton, this.locale);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst style = {\n\t\t\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.SKELETON_TYPE.dateTime,\n\t\t\t\t\t\t\tpattern: dateTimePattern,\n\t\t\t\t\t\t\tlocation: styleAndLocation.styleLocation,\n\t\t\t\t\t\t\tparsedOptions: this.shouldParseSkeletons ? (0,_formatjs_icu_skeleton_parser__WEBPACK_IMPORTED_MODULE_3__.parseDateTimeSkeleton)(dateTimePattern) : {}\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst type = argType === \"date\" ? _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.date : _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.time;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tval: {\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\t\tstyle\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\terr: null\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Regular style or no style.\n\t\t\t\treturn {\n\t\t\t\t\tval: {\n\t\t\t\t\t\ttype: argType === \"number\" ? _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.number : argType === \"date\" ? _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.date : _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.time,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tlocation,\n\t\t\t\t\t\tstyle: styleAndLocation?.style ?? null\n\t\t\t\t\t},\n\t\t\t\t\terr: null\n\t\t\t\t};\n\t\t\t}\n\t\t\tcase \"plural\":\n\t\t\tcase \"selectordinal\":\n\t\t\tcase \"select\": {\n\t\t\t\t// Parse this range:\n\t\t\t\t// {name, plural, options}\n\t\t\t\t// ^---------^\n\t\t\t\tconst typeEndPosition = this.clonePosition();\n\t\t\t\tthis.bumpSpace();\n\t\t\t\tif (!this.bumpIf(\",\")) {\n\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition, { ...typeEndPosition }));\n\t\t\t\t}\n\t\t\t\tthis.bumpSpace();\n\t\t\t\t// Parse offset:\n\t\t\t\t// {name, plural, offset:1, options}\n\t\t\t\t// ^-----^\n\t\t\t\t//\n\t\t\t\t// or the first option:\n\t\t\t\t//\n\t\t\t\t// {name, plural, one {...} other {...}}\n\t\t\t\t// ^--^\n\t\t\t\tlet identifierAndLocation = this.parseIdentifierIfPossible();\n\t\t\t\tlet pluralOffset = 0;\n\t\t\t\tif (argType !== \"select\" && identifierAndLocation.value === \"offset\") {\n\t\t\t\t\tif (!this.bumpIf(\":\")) {\n\t\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, createLocation(this.clonePosition(), this.clonePosition()));\n\t\t\t\t\t}\n\t\t\t\t\tthis.bumpSpace();\n\t\t\t\t\tconst result = this.tryParseDecimalInteger(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n\t\t\t\t\tif (result.err) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t\t// Parse another identifier for option parsing\n\t\t\t\t\tthis.bumpSpace();\n\t\t\t\t\tidentifierAndLocation = this.parseIdentifierIfPossible();\n\t\t\t\t\tpluralOffset = result.val;\n\t\t\t\t}\n\t\t\t\tconst optionsResult = this.tryParsePluralOrSelectOptions(nestingLevel, argType, expectingCloseTag, identifierAndLocation);\n\t\t\t\tif (optionsResult.err) {\n\t\t\t\t\treturn optionsResult;\n\t\t\t\t}\n\t\t\t\tconst argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n\t\t\t\tif (argCloseResult.err) {\n\t\t\t\t\treturn argCloseResult;\n\t\t\t\t}\n\t\t\t\tconst location = createLocation(openingBracePosition, this.clonePosition());\n\t\t\t\tif (argType === \"select\") {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tval: {\n\t\t\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.select,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\toptions: fromEntries(optionsResult.val),\n\t\t\t\t\t\t\tlocation\n\t\t\t\t\t\t},\n\t\t\t\t\t\terr: null\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tval: {\n\t\t\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.plural,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\toptions: fromEntries(optionsResult.val),\n\t\t\t\t\t\t\toffset: pluralOffset,\n\t\t\t\t\t\t\tpluralType: argType === \"plural\" ? \"cardinal\" : \"ordinal\",\n\t\t\t\t\t\t\tlocation\n\t\t\t\t\t\t},\n\t\t\t\t\t\terr: null\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t\tdefault: return this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n\t\t}\n\t}\n\ttryParseArgumentClose(openingBracePosition) {\n\t\t// Parse: {value, number, ::currency/GBP }\n\t\t//\n\t\tif (this.isEOF() || this.char() !== 125) {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n\t\t}\n\t\tthis.bump();\n\t\treturn {\n\t\t\tval: true,\n\t\t\terr: null\n\t\t};\n\t}\n\t/**\n\t* See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659\n\t*/\n\tparseSimpleArgStyleIfPossible() {\n\t\tlet nestedBraces = 0;\n\t\tconst startPosition = this.clonePosition();\n\t\twhile (!this.isEOF()) {\n\t\t\tconst ch = this.char();\n\t\t\tswitch (ch) {\n\t\t\t\tcase 39: {\n\t\t\t\t\t// Treat apostrophe as quoting but include it in the style part.\n\t\t\t\t\t// Find the end of the quoted literal text.\n\t\t\t\t\tthis.bump();\n\t\t\t\t\tlet apostrophePosition = this.clonePosition();\n\t\t\t\t\tif (!this.bumpUntil(\"'\")) {\n\t\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, createLocation(apostrophePosition, this.clonePosition()));\n\t\t\t\t\t}\n\t\t\t\t\tthis.bump();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 123: {\n\t\t\t\t\tnestedBraces += 1;\n\t\t\t\t\tthis.bump();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 125: {\n\t\t\t\t\tif (nestedBraces > 0) {\n\t\t\t\t\t\tnestedBraces -= 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tval: this.message.slice(startPosition.offset, this.offset()),\n\t\t\t\t\t\t\terr: null\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tthis.bump();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tval: this.message.slice(startPosition.offset, this.offset()),\n\t\t\terr: null\n\t\t};\n\t}\n\tparseNumberSkeletonFromString(skeleton, location) {\n\t\tlet tokens = [];\n\t\ttry {\n\t\t\ttokens = (0,_formatjs_icu_skeleton_parser__WEBPACK_IMPORTED_MODULE_3__.parseNumberSkeletonFromString)(skeleton);\n\t\t} catch {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_NUMBER_SKELETON, location);\n\t\t}\n\t\treturn {\n\t\t\tval: {\n\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.SKELETON_TYPE.number,\n\t\t\t\ttokens,\n\t\t\t\tlocation,\n\t\t\t\tparsedOptions: this.shouldParseSkeletons ? (0,_formatjs_icu_skeleton_parser__WEBPACK_IMPORTED_MODULE_3__.parseNumberSkeleton)(tokens) : {}\n\t\t\t},\n\t\t\terr: null\n\t\t};\n\t}\n\t/**\n\t* @param nesting_level The current nesting level of messages.\n\t* This can be positive when parsing message fragment in select or plural argument options.\n\t* @param parent_arg_type The parent argument's type.\n\t* @param parsed_first_identifier If provided, this is the first identifier-like selector of\n\t* the argument. It is a by-product of a previous parsing attempt.\n\t* @param expecting_close_tag If true, this message is directly or indirectly nested inside\n\t* between a pair of opening and closing tags. The nested message will not parse beyond\n\t* the closing tag boundary.\n\t*/\n\ttryParsePluralOrSelectOptions(nestingLevel, parentArgType, expectCloseTag, parsedFirstIdentifier) {\n\t\tlet hasOtherClause = false;\n\t\tconst options = [];\n\t\tconst parsedSelectors = new Set();\n\t\tlet { value: selector, location: selectorLocation } = parsedFirstIdentifier;\n\t\t// Parse:\n\t\t// one {one apple}\n\t\t// ^--^\n\t\twhile (true) {\n\t\t\tif (selector.length === 0) {\n\t\t\t\tconst startPosition = this.clonePosition();\n\t\t\t\tif (parentArgType !== \"select\" && this.bumpIf(\"=\")) {\n\t\t\t\t\t// Try parse `={number}` selector\n\t\t\t\t\tconst result = this.tryParseDecimalInteger(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_PLURAL_ARGUMENT_SELECTOR);\n\t\t\t\t\tif (result.err) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t\tselectorLocation = createLocation(startPosition, this.clonePosition());\n\t\t\t\t\tselector = this.message.slice(startPosition.offset, this.offset());\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Duplicate selector clauses\n\t\t\tif (parsedSelectors.has(selector)) {\n\t\t\t\treturn this.error(parentArgType === \"select\" ? _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.DUPLICATE_SELECT_ARGUMENT_SELECTOR : _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, selectorLocation);\n\t\t\t}\n\t\t\tif (selector === \"other\") {\n\t\t\t\thasOtherClause = true;\n\t\t\t}\n\t\t\t// Parse:\n\t\t\t// one {one apple}\n\t\t\t// ^----------^\n\t\t\tthis.bumpSpace();\n\t\t\tconst openingBracePosition = this.clonePosition();\n\t\t\tif (!this.bumpIf(\"{\")) {\n\t\t\t\treturn this.error(parentArgType === \"select\" ? _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT : _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, createLocation(this.clonePosition(), this.clonePosition()));\n\t\t\t}\n\t\t\tconst fragmentResult = this.parseMessage(nestingLevel + 1, parentArgType, expectCloseTag);\n\t\t\tif (fragmentResult.err) {\n\t\t\t\treturn fragmentResult;\n\t\t\t}\n\t\t\tconst argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n\t\t\tif (argCloseResult.err) {\n\t\t\t\treturn argCloseResult;\n\t\t\t}\n\t\t\toptions.push([selector, {\n\t\t\t\tvalue: fragmentResult.val,\n\t\t\t\tlocation: createLocation(openingBracePosition, this.clonePosition())\n\t\t\t}]);\n\t\t\t// Keep track of the existing selectors\n\t\t\tparsedSelectors.add(selector);\n\t\t\t// Prep next selector clause.\n\t\t\tthis.bumpSpace();\n\t\t\t({value: selector, location: selectorLocation} = this.parseIdentifierIfPossible());\n\t\t}\n\t\tif (options.length === 0) {\n\t\t\treturn this.error(parentArgType === \"select\" ? _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR : _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, createLocation(this.clonePosition(), this.clonePosition()));\n\t\t}\n\t\tif (this.requiresOtherClause && !hasOtherClause) {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.MISSING_OTHER_CLAUSE, createLocation(this.clonePosition(), this.clonePosition()));\n\t\t}\n\t\treturn {\n\t\t\tval: options,\n\t\t\terr: null\n\t\t};\n\t}\n\ttryParseDecimalInteger(expectNumberError, invalidNumberError) {\n\t\tlet sign = 1;\n\t\tconst startingPosition = this.clonePosition();\n\t\tif (this.bumpIf(\"+\")) {} else if (this.bumpIf(\"-\")) {\n\t\t\tsign = -1;\n\t\t}\n\t\tlet hasDigits = false;\n\t\tlet decimal = 0;\n\t\twhile (!this.isEOF()) {\n\t\t\tconst ch = this.char();\n\t\t\tif (ch >= 48 && ch <= 57) {\n\t\t\t\thasDigits = true;\n\t\t\t\tdecimal = decimal * 10 + (ch - 48);\n\t\t\t\tthis.bump();\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tconst location = createLocation(startingPosition, this.clonePosition());\n\t\tif (!hasDigits) {\n\t\t\treturn this.error(expectNumberError, location);\n\t\t}\n\t\tdecimal *= sign;\n\t\tif (!Number.isSafeInteger(decimal)) {\n\t\t\treturn this.error(invalidNumberError, location);\n\t\t}\n\t\treturn {\n\t\t\tval: decimal,\n\t\t\terr: null\n\t\t};\n\t}\n\toffset() {\n\t\treturn this.position.offset;\n\t}\n\tisEOF() {\n\t\treturn this.offset() === this.message.length;\n\t}\n\tclonePosition() {\n\t\t// This is much faster than `Object.assign` or spread.\n\t\treturn {\n\t\t\toffset: this.position.offset,\n\t\t\tline: this.position.line,\n\t\t\tcolumn: this.position.column\n\t\t};\n\t}\n\t/**\n\t* Return the code point at the current position of the parser.\n\t* Throws if the index is out of bound.\n\t*/\n\tchar() {\n\t\tconst offset = this.position.offset;\n\t\tif (offset >= this.message.length) {\n\t\t\tthrow Error(\"out of bound\");\n\t\t}\n\t\tconst code = this.message.codePointAt(offset);\n\t\tif (code === undefined) {\n\t\t\tthrow Error(`Offset ${offset} is at invalid UTF-16 code unit boundary`);\n\t\t}\n\t\treturn code;\n\t}\n\terror(kind, location) {\n\t\treturn {\n\t\t\tval: null,\n\t\t\terr: {\n\t\t\t\tkind,\n\t\t\t\tmessage: this.message,\n\t\t\t\tlocation\n\t\t\t}\n\t\t};\n\t}\n\t/** Bump the parser to the next UTF-16 code unit. */\n\tbump() {\n\t\tif (this.isEOF()) {\n\t\t\treturn;\n\t\t}\n\t\tconst code = this.char();\n\t\tif (code === 10) {\n\t\t\tthis.position.line += 1;\n\t\t\tthis.position.column = 1;\n\t\t\tthis.position.offset += 1;\n\t\t} else {\n\t\t\tthis.position.column += 1;\n\t\t\t// 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.\n\t\t\tthis.position.offset += code < 65536 ? 1 : 2;\n\t\t}\n\t}\n\t/**\n\t* If the substring starting at the current position of the parser has\n\t* the given prefix, then bump the parser to the character immediately\n\t* following the prefix and return true. Otherwise, don't bump the parser\n\t* and return false.\n\t*/\n\tbumpIf(prefix) {\n\t\tif (this.message.startsWith(prefix, this.offset())) {\n\t\t\tfor (let i = 0; i < prefix.length; i++) {\n\t\t\t\tthis.bump();\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\t/**\n\t* Bump the parser until the pattern character is found and return `true`.\n\t* Otherwise bump to the end of the file and return `false`.\n\t*/\n\tbumpUntil(pattern) {\n\t\tconst currentOffset = this.offset();\n\t\tconst index = this.message.indexOf(pattern, currentOffset);\n\t\tif (index >= 0) {\n\t\t\tthis.bumpTo(index);\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.bumpTo(this.message.length);\n\t\t\treturn false;\n\t\t}\n\t}\n\t/**\n\t* Bump the parser to the target offset.\n\t* If target offset is beyond the end of the input, bump the parser to the end of the input.\n\t*/\n\tbumpTo(targetOffset) {\n\t\tif (this.offset() > targetOffset) {\n\t\t\tthrow Error(`targetOffset ${targetOffset} must be greater than or equal to the current offset ${this.offset()}`);\n\t\t}\n\t\ttargetOffset = Math.min(targetOffset, this.message.length);\n\t\twhile (true) {\n\t\t\tconst offset = this.offset();\n\t\t\tif (offset === targetOffset) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (offset > targetOffset) {\n\t\t\t\tthrow Error(`targetOffset ${targetOffset} is at invalid UTF-16 code unit boundary`);\n\t\t\t}\n\t\t\tthis.bump();\n\t\t\tif (this.isEOF()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t/** advance the parser through all whitespace to the next non-whitespace code unit. */\n\tbumpSpace() {\n\t\twhile (!this.isEOF() && _isWhiteSpace(this.char())) {\n\t\t\tthis.bump();\n\t\t}\n\t}\n\t/**\n\t* Peek at the *next* Unicode codepoint in the input without advancing the parser.\n\t* If the input has been exhausted, then this returns null.\n\t*/\n\tpeek() {\n\t\tif (this.isEOF()) {\n\t\t\treturn null;\n\t\t}\n\t\tconst code = this.char();\n\t\tconst offset = this.offset();\n\t\tconst nextCode = this.message.charCodeAt(offset + (code >= 65536 ? 2 : 1));\n\t\treturn nextCode ?? null;\n\t}\n}\n/**\n* This check if codepoint is alphabet (lower & uppercase)\n* @param codepoint\n* @returns\n*/\nfunction _isAlpha(codepoint) {\n\treturn codepoint >= 97 && codepoint <= 122 || codepoint >= 65 && codepoint <= 90;\n}\nfunction _isAlphaOrSlash(codepoint) {\n\treturn _isAlpha(codepoint) || codepoint === 47;\n}\n/** See `parseTag` function docs. */\nfunction _isPotentialElementNameChar(c) {\n\treturn c === 45 || c === 46 || c >= 48 && c <= 57 || c === 95 || c >= 97 && c <= 122 || c >= 65 && c <= 90 || c == 183 || c >= 192 && c <= 214 || c >= 216 && c <= 246 || c >= 248 && c <= 893 || c >= 895 && c <= 8191 || c >= 8204 && c <= 8205 || c >= 8255 && c <= 8256 || c >= 8304 && c <= 8591 || c >= 11264 && c <= 12271 || c >= 12289 && c <= 55295 || c >= 63744 && c <= 64975 || c >= 65008 && c <= 65533 || c >= 65536 && c <= 983039;\n}\n/**\n* Code point equivalent of regex `\\p{White_Space}`.\n* From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n*/\nfunction _isWhiteSpace(c) {\n\treturn c >= 9 && c <= 13 || c === 32 || c === 133 || c >= 8206 && c <= 8207 || c === 8232 || c === 8233;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyQDMuNS4zL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyL3BhcnNlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBdUM7QUFDVTtBQUNZO0FBQzZEO0FBQ3hEO0FBQ2xFLG1EQUFtRCxzRUFBcUIsUUFBUTtBQUNoRixnREFBZ0Qsc0VBQXFCLFFBQVE7QUFDN0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQSxnREFBZ0QsWUFBWSxJQUFJLGVBQWU7QUFDL0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxXQUFXLDJDQUFJO0FBQ2Y7QUFDQSxLQUFLO0FBQ0wsS0FBSztBQUNMO0FBQ0E7QUFDQSxNQUFNO0FBQ04sdUJBQXVCLGdEQUFTO0FBQ2hDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLFlBQVk7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyQDMuNS4zL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyL3BhcnNlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFcnJvcktpbmQgfSBmcm9tIFwiLi9lcnJvci5qc1wiO1xuaW1wb3J0IHsgU0tFTEVUT05fVFlQRSwgVFlQRSB9IGZyb20gXCIuL3R5cGVzLmpzXCI7XG5pbXBvcnQgeyBTUEFDRV9TRVBBUkFUT1JfUkVHRVggfSBmcm9tIFwiLi9yZWdleC5nZW5lcmF0ZWQuanNcIjtcbmltcG9ydCB7IHBhcnNlTnVtYmVyU2tlbGV0b24sIHBhcnNlTnVtYmVyU2tlbGV0b25Gcm9tU3RyaW5nLCBwYXJzZURhdGVUaW1lU2tlbGV0b24gfSBmcm9tIFwiQGZvcm1hdGpzL2ljdS1za2VsZXRvbi1wYXJzZXJcIjtcbmltcG9ydCB7IGdldEJlc3RQYXR0ZXJuIH0gZnJvbSBcIi4vZGF0ZS10aW1lLXBhdHRlcm4tZ2VuZXJhdG9yLmpzXCI7XG5jb25zdCBTUEFDRV9TRVBBUkFUT1JfU1RBUlRfUkVHRVggPSBuZXcgUmVnRXhwKGBeJHtTUEFDRV9TRVBBUkFUT1JfUkVHRVguc291cmNlfSpgKTtcbmNvbnN0IFNQQUNFX1NFUEFSQVRPUl9FTkRfUkVHRVggPSBuZXcgUmVnRXhwKGAke1NQQUNFX1NFUEFSQVRPUl9SRUdFWC5zb3VyY2V9KiRgKTtcbmZ1bmN0aW9uIGNyZWF0ZUxvY2F0aW9uKHN0YXJ0LCBlbmQpIHtcblx0cmV0dXJuIHtcblx0XHRzdGFydCxcblx0XHRlbmRcblx0fTtcbn1cbi8vICNyZWdpb24gUG9ueWZpbGxzXG4vLyBDb25zb2xpZGF0ZSB0aGVzZSB2YXJpYWJsZXMgdXAgdG9wIGZvciBlYXNpZXIgdG9nZ2xpbmcgZHVyaW5nIGRlYnVnZ2luZ1xuY29uc3QgaGFzTmF0aXZlRnJvbUVudHJpZXMgPSAhIU9iamVjdC5mcm9tRW50cmllcztcbmNvbnN0IGhhc1RyaW1TdGFydCA9ICEhU3RyaW5nLnByb3RvdHlwZS50cmltU3RhcnQ7XG5jb25zdCBoYXNUcmltRW5kID0gISFTdHJpbmcucHJvdG90eXBlLnRyaW1FbmQ7XG5jb25zdCBmcm9tRW50cmllcyA9IGhhc05hdGl2ZUZyb21FbnRyaWVzID8gT2JqZWN0LmZyb21FbnRyaWVzIDogZnVuY3Rpb24gZnJvbUVudHJpZXMoZW50cmllcykge1xuXHRjb25zdCBvYmogPSB7fTtcblx0Zm9yIChjb25zdCBbaywgdl0gb2YgZW50cmllcykge1xuXHRcdG9ialtrXSA9IHY7XG5cdH1cblx0cmV0dXJuIG9iajtcbn07XG5jb25zdCB0cmltU3RhcnQgPSBoYXNUcmltU3RhcnQgPyBmdW5jdGlvbiB0cmltU3RhcnQocykge1xuXHRyZXR1cm4gcy50cmltU3RhcnQoKTtcbn0gOiBmdW5jdGlvbiB0cmltU3RhcnQocykge1xuXHRyZXR1cm4gcy5yZXBsYWNlKFNQQUNFX1NFUEFSQVRPUl9TVEFSVF9SRUdFWCwgXCJcIik7XG59O1xuY29uc3QgdHJpbUVuZCA9IGhhc1RyaW1FbmQgPyBmdW5jdGlvbiB0cmltRW5kKHMpIHtcblx0cmV0dXJuIHMudHJpbUVuZCgpO1xufSA6IGZ1bmN0aW9uIHRyaW1FbmQocykge1xuXHRyZXR1cm4gcy5yZXBsYWNlKFNQQUNFX1NFUEFSQVRPUl9FTkRfUkVHRVgsIFwiXCIpO1xufTtcbi8vICNlbmRyZWdpb25cbmNvbnN0IElERU5USUZJRVJfUFJFRklYX1JFID0gbmV3IFJlZ0V4cChcIihbXlxcXFxwe1doaXRlX1NwYWNlfVxcXFxwe1BhdHRlcm5fU3ludGF4fV0qKVwiLCBcInl1XCIpO1xuZnVuY3Rpb24gbWF0Y2hJZGVudGlmaWVyQXRJbmRleChzLCBpbmRleCkge1xuXHRJREVOVElGSUVSX1BSRUZJWF9SRS5sYXN0SW5kZXggPSBpbmRleDtcblx0Y29uc3QgbWF0Y2ggPSBJREVOVElGSUVSX1BSRUZJWF9SRS5leGVjKHMpO1xuXHRyZXR1cm4gbWF0Y2hbMV0gPz8gXCJcIjtcbn1cbmV4cG9ydCBjbGFzcyBQYXJzZXIge1xuXHRtZXNzYWdlO1xuXHRwb3NpdGlvbjtcblx0bG9jYWxlO1xuXHRpZ25vcmVUYWc7XG5cdHJlcXVpcmVzT3RoZXJDbGF1c2U7XG5cdHNob3VsZFBhcnNlU2tlbGV0b25zO1xuXHRjb25zdHJ1Y3RvcihtZXNzYWdlLCBvcHRpb25zID0ge30pIHtcblx0XHR0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xuXHRcdHRoaXMucG9zaXRpb24gPSB7XG5cdFx0XHRvZmZzZXQ6IDAsXG5cdFx0XHRsaW5lOiAxLFxuXHRcdFx0Y29sdW1uOiAxXG5cdFx0fTtcblx0XHR0aGlzLmlnbm9yZVRhZyA9ICEhb3B0aW9ucy5pZ25vcmVUYWc7XG5cdFx0dGhpcy5sb2NhbGUgPSBvcHRpb25zLmxvY2FsZTtcblx0XHR0aGlzLnJlcXVpcmVzT3RoZXJDbGF1c2UgPSAhIW9wdGlvbnMucmVxdWlyZXNPdGhlckNsYXVzZTtcblx0XHR0aGlzLnNob3VsZFBhcnNlU2tlbGV0b25zID0gISFvcHRpb25zLnNob3VsZFBhcnNlU2tlbGV0b25zO1xuXHR9XG5cdHBhcnNlKCkge1xuXHRcdGlmICh0aGlzLm9mZnNldCgpICE9PSAwKSB7XG5cdFx0XHR0aHJvdyBFcnJvcihcInBhcnNlciBjYW4gb25seSBiZSB1c2VkIG9uY2VcIik7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLnBhcnNlTWVzc2FnZSgwLCBcIlwiLCBmYWxzZSk7XG5cdH1cblx0cGFyc2VNZXNzYWdlKG5lc3RpbmdMZXZlbCwgcGFyZW50QXJnVHlwZSwgZXhwZWN0aW5nQ2xvc2VUYWcpIHtcblx0XHRsZXQgZWxlbWVudHMgPSBbXTtcblx0XHR3aGlsZSAoIXRoaXMuaXNFT0YoKSkge1xuXHRcdFx0Y29uc3QgY2hhciA9IHRoaXMuY2hhcigpO1xuXHRcdFx0aWYgKGNoYXIgPT09IDEyMykge1xuXHRcdFx0XHRjb25zdCByZXN1bHQgPSB0aGlzLnBhcnNlQXJndW1lbnQobmVzdGluZ0xldmVsLCBleHBlY3RpbmdDbG9zZVRhZyk7XG5cdFx0XHRcdGlmIChyZXN1bHQuZXJyKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbGVtZW50cy5wdXNoKHJlc3VsdC52YWwpO1xuXHRcdFx0fSBlbHNlIGlmIChjaGFyID09PSAxMjUgJiYgbmVzdGluZ0xldmVsID4gMCkge1xuXHRcdFx0XHRicmVhaztcblx0XHRcdH0gZWxzZSBpZiAoY2hhciA9PT0gMzUgJiYgKHBhcmVudEFyZ1R5cGUgPT09IFwicGx1cmFsXCIgfHwgcGFyZW50QXJnVHlwZSA9PT0gXCJzZWxlY3RvcmRpbmFsXCIpKSB7XG5cdFx0XHRcdGNvbnN0IHBvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0XHRlbGVtZW50cy5wdXNoKHtcblx0XHRcdFx0XHR0eXBlOiBUWVBFLnBvdW5kLFxuXHRcdFx0XHRcdGxvY2F0aW9uOiBjcmVhdGVMb2NhdGlvbihwb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpXG5cdFx0XHRcdH0pO1xuXHRcdFx0fSBlbHNlIGlmIChjaGFyID09PSA2MCAmJiAhdGhpcy5pZ25vcmVUYWcgJiYgdGhpcy5wZWVrKCkgPT09IDQ3KSB7XG5cdFx0XHRcdGlmIChleHBlY3RpbmdDbG9zZVRhZykge1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5VTk1BVENIRURfQ0xPU0lOR19UQUcsIGNyZWF0ZUxvY2F0aW9uKHRoaXMuY2xvbmVQb3NpdGlvbigpLCB0aGlzLmNsb25lUG9zaXRpb24oKSkpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2UgaWYgKGNoYXIgPT09IDYwICYmICF0aGlzLmlnbm9yZVRhZyAmJiBfaXNBbHBoYSh0aGlzLnBlZWsoKSB8fCAwKSkge1xuXHRcdFx0XHRjb25zdCByZXN1bHQgPSB0aGlzLnBhcnNlVGFnKG5lc3RpbmdMZXZlbCwgcGFyZW50QXJnVHlwZSk7XG5cdFx0XHRcdGlmIChyZXN1bHQuZXJyKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbGVtZW50cy5wdXNoKHJlc3VsdC52YWwpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gdGhpcy5wYXJzZUxpdGVyYWwobmVzdGluZ0xldmVsLCBwYXJlbnRBcmdUeXBlKTtcblx0XHRcdFx0aWYgKHJlc3VsdC5lcnIpIHtcblx0XHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0XHR9XG5cdFx0XHRcdGVsZW1lbnRzLnB1c2gocmVzdWx0LnZhbCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHR2YWw6IGVsZW1lbnRzLFxuXHRcdFx0ZXJyOiBudWxsXG5cdFx0fTtcblx0fVxuXHQvKipcblx0KiBBIHRhZyBuYW1lIG11c3Qgc3RhcnQgd2l0aCBhbiBBU0NJSSBsb3dlci91cHBlciBjYXNlIGxldHRlci4gVGhlIGdyYW1tYXIgaXMgYmFzZWQgb24gdGhlXG5cdCogW2N1c3RvbSBlbGVtZW50IG5hbWVdW10gZXhjZXB0IHRoYXQgYSBkYXNoIGlzIE5PVCBhbHdheXMgbWFuZGF0b3J5IGFuZCB1cHBlcmNhc2UgbGV0dGVyc1xuXHQqIGFyZSBhY2NlcHRlZDpcblx0KlxuXHQqIGBgYFxuXHQqIHRhZyA6Oj0gXCI8XCIgdGFnTmFtZSAod2hpdGVzcGFjZSkqIFwiLz5cIiB8IFwiPFwiIHRhZ05hbWUgKHdoaXRlc3BhY2UpKiBcIj5cIiBtZXNzYWdlIFwiPC9cIiB0YWdOYW1lICh3aGl0ZXNwYWNlKSogXCI+XCJcblx0KiB0YWdOYW1lIDo6PSBbYS16XSAoUEVOQ2hhcikqXG5cdCogUEVOQ2hhciA6Oj1cblx0KiAgICAgXCItXCIgfCBcIi5cIiB8IFswLTldIHwgXCJfXCIgfCBbYS16XSB8IFtBLVpdIHwgI3hCNyB8IFsjeEMwLSN4RDZdIHwgWyN4RDgtI3hGNl0gfCBbI3hGOC0jeDM3RF0gfFxuXHQqICAgICBbI3gzN0YtI3gxRkZGXSB8IFsjeDIwMEMtI3gyMDBEXSB8IFsjeDIwM0YtI3gyMDQwXSB8IFsjeDIwNzAtI3gyMThGXSB8IFsjeDJDMDAtI3gyRkVGXSB8XG5cdCogICAgIFsjeDMwMDEtI3hEN0ZGXSB8IFsjeEY5MDAtI3hGRENGXSB8IFsjeEZERjAtI3hGRkZEXSB8IFsjeDEwMDAwLSN4RUZGRkZdXG5cdCogYGBgXG5cdCpcblx0KiBbY3VzdG9tIGVsZW1lbnQgbmFtZV06IGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2N1c3RvbS1lbGVtZW50cy5odG1sI3ZhbGlkLWN1c3RvbS1lbGVtZW50LW5hbWVcblx0KiBOT1RFOiBXZSdyZSBhIGJpdCBtb3JlIGxheCBoZXJlIHNpbmNlIEhUTUwgdGVjaG5pY2FsbHkgZG9lcyBub3QgYWxsb3cgdXBwZXJjYXNlIEhUTUwgZWxlbWVudCBidXQgd2UgZG9cblx0KiBzaW5jZSBvdGhlciB0YWctYmFzZWQgZW5naW5lcyBsaWtlIFJlYWN0IGFsbG93IGl0XG5cdCovXG5cdHBhcnNlVGFnKG5lc3RpbmdMZXZlbCwgcGFyZW50QXJnVHlwZSkge1xuXHRcdGNvbnN0IHN0YXJ0UG9zaXRpb24gPSB0aGlzLmNsb25lUG9zaXRpb24oKTtcblx0XHR0aGlzLmJ1bXAoKTtcblx0XHRjb25zdCB0YWdOYW1lID0gdGhpcy5wYXJzZVRhZ05hbWUoKTtcblx0XHR0aGlzLmJ1bXBTcGFjZSgpO1xuXHRcdGlmICh0aGlzLmJ1bXBJZihcIi8+XCIpKSB7XG5cdFx0XHQvLyBTZWxmIGNsb3NpbmcgdGFnXG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHR2YWw6IHtcblx0XHRcdFx0XHR0eXBlOiBUWVBFLmxpdGVyYWwsXG5cdFx0XHRcdFx0dmFsdWU6IGA8JHt0YWdOYW1lfS8+YCxcblx0XHRcdFx0XHRsb2NhdGlvbjogY3JlYXRlTG9jYXRpb24oc3RhcnRQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGVycjogbnVsbFxuXHRcdFx0fTtcblx0XHR9IGVsc2UgaWYgKHRoaXMuYnVtcElmKFwiPlwiKSkge1xuXHRcdFx0Y29uc3QgY2hpbGRyZW5SZXN1bHQgPSB0aGlzLnBhcnNlTWVzc2FnZShuZXN0aW5nTGV2ZWwgKyAxLCBwYXJlbnRBcmdUeXBlLCB0cnVlKTtcblx0XHRcdGlmIChjaGlsZHJlblJlc3VsdC5lcnIpIHtcblx0XHRcdFx0cmV0dXJuIGNoaWxkcmVuUmVzdWx0O1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgY2hpbGRyZW4gPSBjaGlsZHJlblJlc3VsdC52YWw7XG5cdFx0XHQvLyBFeHBlY3RpbmcgYSBjbG9zZSB0YWdcblx0XHRcdGNvbnN0IGVuZFRhZ1N0YXJ0UG9zaXRpb24gPSB0aGlzLmNsb25lUG9zaXRpb24oKTtcblx0XHRcdGlmICh0aGlzLmJ1bXBJZihcIjwvXCIpKSB7XG5cdFx0XHRcdGlmICh0aGlzLmlzRU9GKCkgfHwgIV9pc0FscGhhKHRoaXMuY2hhcigpKSkge1xuXHRcdFx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5JTlZBTElEX1RBRywgY3JlYXRlTG9jYXRpb24oZW5kVGFnU3RhcnRQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zdCBjbG9zaW5nVGFnTmFtZVN0YXJ0UG9zaXRpb24gPSB0aGlzLmNsb25lUG9zaXRpb24oKTtcblx0XHRcdFx0Y29uc3QgY2xvc2luZ1RhZ05hbWUgPSB0aGlzLnBhcnNlVGFnTmFtZSgpO1xuXHRcdFx0XHRpZiAodGFnTmFtZSAhPT0gY2xvc2luZ1RhZ05hbWUpIHtcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihFcnJvcktpbmQuVU5NQVRDSEVEX0NMT1NJTkdfVEFHLCBjcmVhdGVMb2NhdGlvbihjbG9zaW5nVGFnTmFtZVN0YXJ0UG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5idW1wU3BhY2UoKTtcblx0XHRcdFx0aWYgKCF0aGlzLmJ1bXBJZihcIj5cIikpIHtcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihFcnJvcktpbmQuSU5WQUxJRF9UQUcsIGNyZWF0ZUxvY2F0aW9uKGVuZFRhZ1N0YXJ0UG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHR2YWw6IHtcblx0XHRcdFx0XHRcdHR5cGU6IFRZUEUudGFnLFxuXHRcdFx0XHRcdFx0dmFsdWU6IHRhZ05hbWUsXG5cdFx0XHRcdFx0XHRjaGlsZHJlbixcblx0XHRcdFx0XHRcdGxvY2F0aW9uOiBjcmVhdGVMb2NhdGlvbihzdGFydFBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSlcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGVycjogbnVsbFxuXHRcdFx0XHR9O1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLlVOQ0xPU0VEX1RBRywgY3JlYXRlTG9jYXRpb24oc3RhcnRQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLklOVkFMSURfVEFHLCBjcmVhdGVMb2NhdGlvbihzdGFydFBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSkpO1xuXHRcdH1cblx0fVxuXHQvKipcblx0KiBUaGlzIG1ldGhvZCBhc3N1bWVzIHRoYXQgdGhlIGNhbGxlciBoYXMgcGVla2VkIGFoZWFkIGZvciB0aGUgZmlyc3QgdGFnIGNoYXJhY3Rlci5cblx0Ki9cblx0cGFyc2VUYWdOYW1lKCkge1xuXHRcdGNvbnN0IHN0YXJ0T2Zmc2V0ID0gdGhpcy5vZmZzZXQoKTtcblx0XHR0aGlzLmJ1bXAoKTtcblx0XHR3aGlsZSAoIXRoaXMuaXNFT0YoKSAmJiBfaXNQb3RlbnRpYWxFbGVtZW50TmFtZUNoYXIodGhpcy5jaGFyKCkpKSB7XG5cdFx0XHR0aGlzLmJ1bXAoKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMubWVzc2FnZS5zbGljZShzdGFydE9mZnNldCwgdGhpcy5vZmZzZXQoKSk7XG5cdH1cblx0cGFyc2VMaXRlcmFsKG5lc3RpbmdMZXZlbCwgcGFyZW50QXJnVHlwZSkge1xuXHRcdGNvbnN0IHN0YXJ0ID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0bGV0IHZhbHVlID0gXCJcIjtcblx0XHR3aGlsZSAodHJ1ZSkge1xuXHRcdFx0Y29uc3QgcGFyc2VRdW90ZVJlc3VsdCA9IHRoaXMudHJ5UGFyc2VRdW90ZShwYXJlbnRBcmdUeXBlKTtcblx0XHRcdGlmIChwYXJzZVF1b3RlUmVzdWx0KSB7XG5cdFx0XHRcdHZhbHVlICs9IHBhcnNlUXVvdGVSZXN1bHQ7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgcGFyc2VVbnF1b3RlZFJlc3VsdCA9IHRoaXMudHJ5UGFyc2VVbnF1b3RlZChuZXN0aW5nTGV2ZWwsIHBhcmVudEFyZ1R5cGUpO1xuXHRcdFx0aWYgKHBhcnNlVW5xdW90ZWRSZXN1bHQpIHtcblx0XHRcdFx0dmFsdWUgKz0gcGFyc2VVbnF1b3RlZFJlc3VsdDtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBwYXJzZUxlZnRBbmdsZVJlc3VsdCA9IHRoaXMudHJ5UGFyc2VMZWZ0QW5nbGVCcmFja2V0KCk7XG5cdFx0XHRpZiAocGFyc2VMZWZ0QW5nbGVSZXN1bHQpIHtcblx0XHRcdFx0dmFsdWUgKz0gcGFyc2VMZWZ0QW5nbGVSZXN1bHQ7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0fVxuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHRcdGNvbnN0IGxvY2F0aW9uID0gY3JlYXRlTG9jYXRpb24oc3RhcnQsIHRoaXMuY2xvbmVQb3NpdGlvbigpKTtcblx0XHRyZXR1cm4ge1xuXHRcdFx0dmFsOiB7XG5cdFx0XHRcdHR5cGU6IFRZUEUubGl0ZXJhbCxcblx0XHRcdFx0dmFsdWUsXG5cdFx0XHRcdGxvY2F0aW9uXG5cdFx0XHR9LFxuXHRcdFx0ZXJyOiBudWxsXG5cdFx0fTtcblx0fVxuXHR0cnlQYXJzZUxlZnRBbmdsZUJyYWNrZXQoKSB7XG5cdFx0aWYgKCF0aGlzLmlzRU9GKCkgJiYgdGhpcy5jaGFyKCkgPT09IDYwICYmICh0aGlzLmlnbm9yZVRhZyB8fCAhX2lzQWxwaGFPclNsYXNoKHRoaXMucGVlaygpIHx8IDApKSkge1xuXHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0XHRyZXR1cm4gXCI8XCI7XG5cdFx0fVxuXHRcdHJldHVybiBudWxsO1xuXHR9XG5cdC8qKlxuXHQqIFN0YXJ0aW5nIHdpdGggSUNVIDQuOCwgYW4gQVNDSUkgYXBvc3Ryb3BoZSBvbmx5IHN0YXJ0cyBxdW90ZWQgdGV4dCBpZiBpdCBpbW1lZGlhdGVseSBwcmVjZWRlc1xuXHQqIGEgY2hhcmFjdGVyIHRoYXQgcmVxdWlyZXMgcXVvdGluZyAodGhhdCBpcywgXCJvbmx5IHdoZXJlIG5lZWRlZFwiKSwgYW5kIHdvcmtzIHRoZSBzYW1lIGluXG5cdCogbmVzdGVkIG1lc3NhZ2VzIGFzIG9uIHRoZSB0b3AgbGV2ZWwgb2YgdGhlIHBhdHRlcm4uIFRoZSBuZXcgYmVoYXZpb3IgaXMgb3RoZXJ3aXNlIGNvbXBhdGlibGUuXG5cdCovXG5cdHRyeVBhcnNlUXVvdGUocGFyZW50QXJnVHlwZSkge1xuXHRcdGlmICh0aGlzLmlzRU9GKCkgfHwgdGhpcy5jaGFyKCkgIT09IDM5KSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cdFx0Ly8gUGFyc2UgZXNjYXBlZCBjaGFyIGZvbGxvd2luZyB0aGUgYXBvc3Ryb3BoZSwgb3IgZWFybHkgcmV0dXJuIGlmIHRoZXJlIGlzIG5vIGVzY2FwZWQgY2hhci5cblx0XHQvLyBDaGVjayBpZiBpcyB2YWxpZCBlc2NhcGVkIGNoYXJhY3RlclxuXHRcdHN3aXRjaCAodGhpcy5wZWVrKCkpIHtcblx0XHRcdGNhc2UgMzk6XG5cdFx0XHRcdC8vIGRvdWJsZSBxdW90ZSwgc2hvdWxkIHJldHVybiBhcyBhIHNpbmdsZSBxdW90ZS5cblx0XHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0XHRyZXR1cm4gXCInXCI7XG5cdFx0XHRjYXNlIDEyMzpcblx0XHRcdGNhc2UgNjA6XG5cdFx0XHRjYXNlIDYyOlxuXHRcdFx0Y2FzZSAxMjU6IGJyZWFrO1xuXHRcdFx0Y2FzZSAzNTpcblx0XHRcdFx0aWYgKHBhcmVudEFyZ1R5cGUgPT09IFwicGx1cmFsXCIgfHwgcGFyZW50QXJnVHlwZSA9PT0gXCJzZWxlY3RvcmRpbmFsXCIpIHtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gbnVsbDtcblx0XHRcdGRlZmF1bHQ6IHJldHVybiBudWxsO1xuXHRcdH1cblx0XHR0aGlzLmJ1bXAoKTtcblx0XHRjb25zdCBjb2RlUG9pbnRzID0gW3RoaXMuY2hhcigpXTtcblx0XHR0aGlzLmJ1bXAoKTtcblx0XHQvLyByZWFkIGNoYXJzIHVudGlsIHRoZSBvcHRpb25hbCBjbG9zaW5nIGFwb3N0cm9waGUgaXMgZm91bmRcblx0XHR3aGlsZSAoIXRoaXMuaXNFT0YoKSkge1xuXHRcdFx0Y29uc3QgY2ggPSB0aGlzLmNoYXIoKTtcblx0XHRcdGlmIChjaCA9PT0gMzkpIHtcblx0XHRcdFx0aWYgKHRoaXMucGVlaygpID09PSAzOSkge1xuXHRcdFx0XHRcdGNvZGVQb2ludHMucHVzaCgzOSk7XG5cdFx0XHRcdFx0Ly8gQnVtcCBvbmUgbW9yZSB0aW1lIGJlY2F1c2Ugd2UgbmVlZCB0byBza2lwIDIgY2hhcmFjdGVycy5cblx0XHRcdFx0XHR0aGlzLmJ1bXAoKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHQvLyBPcHRpb25hbCBjbG9zaW5nIGFwb3N0cm9waGUuXG5cdFx0XHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvZGVQb2ludHMucHVzaChjaCk7XG5cdFx0XHR9XG5cdFx0XHR0aGlzLmJ1bXAoKTtcblx0XHR9XG5cdFx0cmV0dXJuIFN0cmluZy5mcm9tQ29kZVBvaW50KC4uLmNvZGVQb2ludHMpO1xuXHR9XG5cdHRyeVBhcnNlVW5xdW90ZWQobmVzdGluZ0xldmVsLCBwYXJlbnRBcmdUeXBlKSB7XG5cdFx0aWYgKHRoaXMuaXNFT0YoKSkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXHRcdGNvbnN0IGNoID0gdGhpcy5jaGFyKCk7XG5cdFx0aWYgKGNoID09PSA2MCB8fCBjaCA9PT0gMTIzIHx8IGNoID09PSAzNSAmJiAocGFyZW50QXJnVHlwZSA9PT0gXCJwbHVyYWxcIiB8fCBwYXJlbnRBcmdUeXBlID09PSBcInNlbGVjdG9yZGluYWxcIikgfHwgY2ggPT09IDEyNSAmJiBuZXN0aW5nTGV2ZWwgPiAwKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0XHRyZXR1cm4gU3RyaW5nLmZyb21Db2RlUG9pbnQoY2gpO1xuXHRcdH1cblx0fVxuXHRwYXJzZUFyZ3VtZW50KG5lc3RpbmdMZXZlbCwgZXhwZWN0aW5nQ2xvc2VUYWcpIHtcblx0XHRjb25zdCBvcGVuaW5nQnJhY2VQb3NpdGlvbiA9IHRoaXMuY2xvbmVQb3NpdGlvbigpO1xuXHRcdHRoaXMuYnVtcCgpO1xuXHRcdHRoaXMuYnVtcFNwYWNlKCk7XG5cdFx0aWYgKHRoaXMuaXNFT0YoKSkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLkVYUEVDVF9BUkdVTUVOVF9DTE9TSU5HX0JSQUNFLCBjcmVhdGVMb2NhdGlvbihvcGVuaW5nQnJhY2VQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpKTtcblx0XHR9XG5cdFx0aWYgKHRoaXMuY2hhcigpID09PSAxMjUpIHtcblx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLkVNUFRZX0FSR1VNRU5ULCBjcmVhdGVMb2NhdGlvbihvcGVuaW5nQnJhY2VQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpKTtcblx0XHR9XG5cdFx0Ly8gYXJndW1lbnQgbmFtZVxuXHRcdGxldCB2YWx1ZSA9IHRoaXMucGFyc2VJZGVudGlmaWVySWZQb3NzaWJsZSgpLnZhbHVlO1xuXHRcdGlmICghdmFsdWUpIHtcblx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5NQUxGT1JNRURfQVJHVU1FTlQsIGNyZWF0ZUxvY2F0aW9uKG9wZW5pbmdCcmFjZVBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSkpO1xuXHRcdH1cblx0XHR0aGlzLmJ1bXBTcGFjZSgpO1xuXHRcdGlmICh0aGlzLmlzRU9GKCkpIHtcblx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5FWFBFQ1RfQVJHVU1FTlRfQ0xPU0lOR19CUkFDRSwgY3JlYXRlTG9jYXRpb24ob3BlbmluZ0JyYWNlUG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0fVxuXHRcdHN3aXRjaCAodGhpcy5jaGFyKCkpIHtcblx0XHRcdGNhc2UgMTI1OiB7XG5cdFx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdHZhbDoge1xuXHRcdFx0XHRcdFx0dHlwZTogVFlQRS5hcmd1bWVudCxcblx0XHRcdFx0XHRcdHZhbHVlLFxuXHRcdFx0XHRcdFx0bG9jYXRpb246IGNyZWF0ZUxvY2F0aW9uKG9wZW5pbmdCcmFjZVBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSlcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGVycjogbnVsbFxuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXHRcdFx0Y2FzZSA0NDoge1xuXHRcdFx0XHR0aGlzLmJ1bXAoKTtcblx0XHRcdFx0dGhpcy5idW1wU3BhY2UoKTtcblx0XHRcdFx0aWYgKHRoaXMuaXNFT0YoKSkge1xuXHRcdFx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5FWFBFQ1RfQVJHVU1FTlRfQ0xPU0lOR19CUkFDRSwgY3JlYXRlTG9jYXRpb24ob3BlbmluZ0JyYWNlUG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHRoaXMucGFyc2VBcmd1bWVudE9wdGlvbnMobmVzdGluZ0xldmVsLCBleHBlY3RpbmdDbG9zZVRhZywgdmFsdWUsIG9wZW5pbmdCcmFjZVBvc2l0aW9uKTtcblx0XHRcdH1cblx0XHRcdGRlZmF1bHQ6IHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5NQUxGT1JNRURfQVJHVU1FTlQsIGNyZWF0ZUxvY2F0aW9uKG9wZW5pbmdCcmFjZVBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSkpO1xuXHRcdH1cblx0fVxuXHQvKipcblx0KiBBZHZhbmNlIHRoZSBwYXJzZXIgdW50aWwgdGhlIGVuZCBvZiB0aGUgaWRlbnRpZmllciwgaWYgaXQgaXMgY3VycmVudGx5IG9uXG5cdCogYW4gaWRlbnRpZmllciBjaGFyYWN0ZXIuIFJldHVybiBhbiBlbXB0eSBzdHJpbmcgb3RoZXJ3aXNlLlxuXHQqL1xuXHRwYXJzZUlkZW50aWZpZXJJZlBvc3NpYmxlKCkge1xuXHRcdGNvbnN0IHN0YXJ0aW5nUG9zaXRpb24gPSB0aGlzLmNsb25lUG9zaXRpb24oKTtcblx0XHRjb25zdCBzdGFydE9mZnNldCA9IHRoaXMub2Zmc2V0KCk7XG5cdFx0Y29uc3QgdmFsdWUgPSBtYXRjaElkZW50aWZpZXJBdEluZGV4KHRoaXMubWVzc2FnZSwgc3RhcnRPZmZzZXQpO1xuXHRcdGNvbnN0IGVuZE9mZnNldCA9IHN0YXJ0T2Zmc2V0ICsgdmFsdWUubGVuZ3RoO1xuXHRcdHRoaXMuYnVtcFRvKGVuZE9mZnNldCk7XG5cdFx0Y29uc3QgZW5kUG9zaXRpb24gPSB0aGlzLmNsb25lUG9zaXRpb24oKTtcblx0XHRjb25zdCBsb2NhdGlvbiA9IGNyZWF0ZUxvY2F0aW9uKHN0YXJ0aW5nUG9zaXRpb24sIGVuZFBvc2l0aW9uKTtcblx0XHRyZXR1cm4ge1xuXHRcdFx0dmFsdWUsXG5cdFx0XHRsb2NhdGlvblxuXHRcdH07XG5cdH1cblx0cGFyc2VBcmd1bWVudE9wdGlvbnMobmVzdGluZ0xldmVsLCBleHBlY3RpbmdDbG9zZVRhZywgdmFsdWUsIG9wZW5pbmdCcmFjZVBvc2l0aW9uKSB7XG5cdFx0Ly8gUGFyc2UgdGhpcyByYW5nZTpcblx0XHQvLyB7bmFtZSwgdHlwZSwgc3R5bGV9XG5cdFx0Ly8gICAgICAgIF4tLS1eXG5cdFx0bGV0IHR5cGVTdGFydFBvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0bGV0IGFyZ1R5cGUgPSB0aGlzLnBhcnNlSWRlbnRpZmllcklmUG9zc2libGUoKS52YWx1ZTtcblx0XHRsZXQgdHlwZUVuZFBvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0c3dpdGNoIChhcmdUeXBlKSB7XG5cdFx0XHRjYXNlIFwiXCI6XG4gLy8gRXhwZWN0aW5nIGEgc3R5bGUgc3RyaW5nIG51bWJlciwgZGF0ZSwgdGltZSwgcGx1cmFsLCBzZWxlY3RvcmRpbmFsLCBvciBzZWxlY3QuXG5cdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihFcnJvcktpbmQuRVhQRUNUX0FSR1VNRU5UX1RZUEUsIGNyZWF0ZUxvY2F0aW9uKHR5cGVTdGFydFBvc2l0aW9uLCB0eXBlRW5kUG9zaXRpb24pKTtcblx0XHRcdGNhc2UgXCJudW1iZXJcIjpcblx0XHRcdGNhc2UgXCJkYXRlXCI6XG5cdFx0XHRjYXNlIFwidGltZVwiOiB7XG5cdFx0XHRcdC8vIFBhcnNlIHRoaXMgcmFuZ2U6XG5cdFx0XHRcdC8vIHtuYW1lLCBudW1iZXIsIHN0eWxlfVxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgXi0tLS0tLS1eXG5cdFx0XHRcdHRoaXMuYnVtcFNwYWNlKCk7XG5cdFx0XHRcdGxldCBzdHlsZUFuZExvY2F0aW9uID0gbnVsbDtcblx0XHRcdFx0aWYgKHRoaXMuYnVtcElmKFwiLFwiKSkge1xuXHRcdFx0XHRcdHRoaXMuYnVtcFNwYWNlKCk7XG5cdFx0XHRcdFx0Y29uc3Qgc3R5bGVTdGFydFBvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gdGhpcy5wYXJzZVNpbXBsZUFyZ1N0eWxlSWZQb3NzaWJsZSgpO1xuXHRcdFx0XHRcdGlmIChyZXN1bHQuZXJyKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRjb25zdCBzdHlsZSA9IHRyaW1FbmQocmVzdWx0LnZhbCk7XG5cdFx0XHRcdFx0aWYgKHN0eWxlLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLkVYUEVDVF9BUkdVTUVOVF9TVFlMRSwgY3JlYXRlTG9jYXRpb24odGhpcy5jbG9uZVBvc2l0aW9uKCksIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGNvbnN0IHN0eWxlTG9jYXRpb24gPSBjcmVhdGVMb2NhdGlvbihzdHlsZVN0YXJ0UG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKTtcblx0XHRcdFx0XHRzdHlsZUFuZExvY2F0aW9uID0ge1xuXHRcdFx0XHRcdFx0c3R5bGUsXG5cdFx0XHRcdFx0XHRzdHlsZUxvY2F0aW9uXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zdCBhcmdDbG9zZVJlc3VsdCA9IHRoaXMudHJ5UGFyc2VBcmd1bWVudENsb3NlKG9wZW5pbmdCcmFjZVBvc2l0aW9uKTtcblx0XHRcdFx0aWYgKGFyZ0Nsb3NlUmVzdWx0LmVycikge1xuXHRcdFx0XHRcdHJldHVybiBhcmdDbG9zZVJlc3VsdDtcblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zdCBsb2NhdGlvbiA9IGNyZWF0ZUxvY2F0aW9uKG9wZW5pbmdCcmFjZVBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSk7XG5cdFx0XHRcdC8vIEV4dHJhY3Qgc3R5bGUgb3Igc2tlbGV0b25cblx0XHRcdFx0aWYgKHN0eWxlQW5kTG9jYXRpb24gJiYgc3R5bGVBbmRMb2NhdGlvbi5zdHlsZS5zdGFydHNXaXRoKFwiOjpcIikpIHtcblx0XHRcdFx0XHQvLyBTa2VsZXRvbiBzdGFydHMgd2l0aCBgOjpgLlxuXHRcdFx0XHRcdGxldCBza2VsZXRvbiA9IHRyaW1TdGFydChzdHlsZUFuZExvY2F0aW9uLnN0eWxlLnNsaWNlKDIpKTtcblx0XHRcdFx0XHRpZiAoYXJnVHlwZSA9PT0gXCJudW1iZXJcIikge1xuXHRcdFx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gdGhpcy5wYXJzZU51bWJlclNrZWxldG9uRnJvbVN0cmluZyhza2VsZXRvbiwgc3R5bGVBbmRMb2NhdGlvbi5zdHlsZUxvY2F0aW9uKTtcblx0XHRcdFx0XHRcdGlmIChyZXN1bHQuZXJyKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0XHR2YWw6IHtcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiBUWVBFLm51bWJlcixcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZSxcblx0XHRcdFx0XHRcdFx0XHRsb2NhdGlvbixcblx0XHRcdFx0XHRcdFx0XHRzdHlsZTogcmVzdWx0LnZhbFxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRlcnI6IG51bGxcblx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdGlmIChza2VsZXRvbi5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLkVYUEVDVF9EQVRFX1RJTUVfU0tFTEVUT04sIGxvY2F0aW9uKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGxldCBkYXRlVGltZVBhdHRlcm4gPSBza2VsZXRvbjtcblx0XHRcdFx0XHRcdC8vIEdldCBcImJlc3QgbWF0Y2hcIiBwYXR0ZXJuIG9ubHkgaWYgbG9jYWxlIGlzIHBhc3NlZCwgaWYgbm90LCBsZXQgaXRcblx0XHRcdFx0XHRcdC8vIHBhc3MgYXMtaXMgd2hlcmUgYHBhcnNlRGF0ZVRpbWVTa2VsZXRvbigpYCB3aWxsIHRocm93IGFuIGVycm9yXG5cdFx0XHRcdFx0XHQvLyBmb3IgdW5zdXBwb3J0ZWQgcGF0dGVybnMuXG5cdFx0XHRcdFx0XHRpZiAodGhpcy5sb2NhbGUpIHtcblx0XHRcdFx0XHRcdFx0ZGF0ZVRpbWVQYXR0ZXJuID0gZ2V0QmVzdFBhdHRlcm4oc2tlbGV0b24sIHRoaXMubG9jYWxlKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGNvbnN0IHN0eWxlID0ge1xuXHRcdFx0XHRcdFx0XHR0eXBlOiBTS0VMRVRPTl9UWVBFLmRhdGVUaW1lLFxuXHRcdFx0XHRcdFx0XHRwYXR0ZXJuOiBkYXRlVGltZVBhdHRlcm4sXG5cdFx0XHRcdFx0XHRcdGxvY2F0aW9uOiBzdHlsZUFuZExvY2F0aW9uLnN0eWxlTG9jYXRpb24sXG5cdFx0XHRcdFx0XHRcdHBhcnNlZE9wdGlvbnM6IHRoaXMuc2hvdWxkUGFyc2VTa2VsZXRvbnMgPyBwYXJzZURhdGVUaW1lU2tlbGV0b24oZGF0ZVRpbWVQYXR0ZXJuKSA6IHt9XG5cdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdFx0Y29uc3QgdHlwZSA9IGFyZ1R5cGUgPT09IFwiZGF0ZVwiID8gVFlQRS5kYXRlIDogVFlQRS50aW1lO1xuXHRcdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdFx0dmFsOiB7XG5cdFx0XHRcdFx0XHRcdFx0dHlwZSxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZSxcblx0XHRcdFx0XHRcdFx0XHRsb2NhdGlvbixcblx0XHRcdFx0XHRcdFx0XHRzdHlsZVxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRlcnI6IG51bGxcblx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC8vIFJlZ3VsYXIgc3R5bGUgb3Igbm8gc3R5bGUuXG5cdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0dmFsOiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBhcmdUeXBlID09PSBcIm51bWJlclwiID8gVFlQRS5udW1iZXIgOiBhcmdUeXBlID09PSBcImRhdGVcIiA/IFRZUEUuZGF0ZSA6IFRZUEUudGltZSxcblx0XHRcdFx0XHRcdHZhbHVlLFxuXHRcdFx0XHRcdFx0bG9jYXRpb24sXG5cdFx0XHRcdFx0XHRzdHlsZTogc3R5bGVBbmRMb2NhdGlvbj8uc3R5bGUgPz8gbnVsbFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0ZXJyOiBudWxsXG5cdFx0XHRcdH07XG5cdFx0XHR9XG5cdFx0XHRjYXNlIFwicGx1cmFsXCI6XG5cdFx0XHRjYXNlIFwic2VsZWN0b3JkaW5hbFwiOlxuXHRcdFx0Y2FzZSBcInNlbGVjdFwiOiB7XG5cdFx0XHRcdC8vIFBhcnNlIHRoaXMgcmFuZ2U6XG5cdFx0XHRcdC8vIHtuYW1lLCBwbHVyYWwsIG9wdGlvbnN9XG5cdFx0XHRcdC8vICAgICAgICAgICAgICBeLS0tLS0tLS0tXlxuXHRcdFx0XHRjb25zdCB0eXBlRW5kUG9zaXRpb24gPSB0aGlzLmNsb25lUG9zaXRpb24oKTtcblx0XHRcdFx0dGhpcy5idW1wU3BhY2UoKTtcblx0XHRcdFx0aWYgKCF0aGlzLmJ1bXBJZihcIixcIikpIHtcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihFcnJvcktpbmQuRVhQRUNUX1NFTEVDVF9BUkdVTUVOVF9PUFRJT05TLCBjcmVhdGVMb2NhdGlvbih0eXBlRW5kUG9zaXRpb24sIHsgLi4udHlwZUVuZFBvc2l0aW9uIH0pKTtcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLmJ1bXBTcGFjZSgpO1xuXHRcdFx0XHQvLyBQYXJzZSBvZmZzZXQ6XG5cdFx0XHRcdC8vIHtuYW1lLCBwbHVyYWwsIG9mZnNldDoxLCBvcHRpb25zfVxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICBeLS0tLS1eXG5cdFx0XHRcdC8vXG5cdFx0XHRcdC8vIG9yIHRoZSBmaXJzdCBvcHRpb246XG5cdFx0XHRcdC8vXG5cdFx0XHRcdC8vIHtuYW1lLCBwbHVyYWwsIG9uZSB7Li4ufSBvdGhlciB7Li4ufX1cblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgXi0tXlxuXHRcdFx0XHRsZXQgaWRlbnRpZmllckFuZExvY2F0aW9uID0gdGhpcy5wYXJzZUlkZW50aWZpZXJJZlBvc3NpYmxlKCk7XG5cdFx0XHRcdGxldCBwbHVyYWxPZmZzZXQgPSAwO1xuXHRcdFx0XHRpZiAoYXJnVHlwZSAhPT0gXCJzZWxlY3RcIiAmJiBpZGVudGlmaWVyQW5kTG9jYXRpb24udmFsdWUgPT09IFwib2Zmc2V0XCIpIHtcblx0XHRcdFx0XHRpZiAoIXRoaXMuYnVtcElmKFwiOlwiKSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLkVYUEVDVF9QTFVSQUxfQVJHVU1FTlRfT0ZGU0VUX1ZBTFVFLCBjcmVhdGVMb2NhdGlvbih0aGlzLmNsb25lUG9zaXRpb24oKSwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0dGhpcy5idW1wU3BhY2UoKTtcblx0XHRcdFx0XHRjb25zdCByZXN1bHQgPSB0aGlzLnRyeVBhcnNlRGVjaW1hbEludGVnZXIoRXJyb3JLaW5kLkVYUEVDVF9QTFVSQUxfQVJHVU1FTlRfT0ZGU0VUX1ZBTFVFLCBFcnJvcktpbmQuSU5WQUxJRF9QTFVSQUxfQVJHVU1FTlRfT0ZGU0VUX1ZBTFVFKTtcblx0XHRcdFx0XHRpZiAocmVzdWx0LmVycikge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ly8gUGFyc2UgYW5vdGhlciBpZGVudGlmaWVyIGZvciBvcHRpb24gcGFyc2luZ1xuXHRcdFx0XHRcdHRoaXMuYnVtcFNwYWNlKCk7XG5cdFx0XHRcdFx0aWRlbnRpZmllckFuZExvY2F0aW9uID0gdGhpcy5wYXJzZUlkZW50aWZpZXJJZlBvc3NpYmxlKCk7XG5cdFx0XHRcdFx0cGx1cmFsT2Zmc2V0ID0gcmVzdWx0LnZhbDtcblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zdCBvcHRpb25zUmVzdWx0ID0gdGhpcy50cnlQYXJzZVBsdXJhbE9yU2VsZWN0T3B0aW9ucyhuZXN0aW5nTGV2ZWwsIGFyZ1R5cGUsIGV4cGVjdGluZ0Nsb3NlVGFnLCBpZGVudGlmaWVyQW5kTG9jYXRpb24pO1xuXHRcdFx0XHRpZiAob3B0aW9uc1Jlc3VsdC5lcnIpIHtcblx0XHRcdFx0XHRyZXR1cm4gb3B0aW9uc1Jlc3VsdDtcblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zdCBhcmdDbG9zZVJlc3VsdCA9IHRoaXMudHJ5UGFyc2VBcmd1bWVudENsb3NlKG9wZW5pbmdCcmFjZVBvc2l0aW9uKTtcblx0XHRcdFx0aWYgKGFyZ0Nsb3NlUmVzdWx0LmVycikge1xuXHRcdFx0XHRcdHJldHVybiBhcmdDbG9zZVJlc3VsdDtcblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zdCBsb2NhdGlvbiA9IGNyZWF0ZUxvY2F0aW9uKG9wZW5pbmdCcmFjZVBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSk7XG5cdFx0XHRcdGlmIChhcmdUeXBlID09PSBcInNlbGVjdFwiKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdHZhbDoge1xuXHRcdFx0XHRcdFx0XHR0eXBlOiBUWVBFLnNlbGVjdCxcblx0XHRcdFx0XHRcdFx0dmFsdWUsXG5cdFx0XHRcdFx0XHRcdG9wdGlvbnM6IGZyb21FbnRyaWVzKG9wdGlvbnNSZXN1bHQudmFsKSxcblx0XHRcdFx0XHRcdFx0bG9jYXRpb25cblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRlcnI6IG51bGxcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHR2YWw6IHtcblx0XHRcdFx0XHRcdFx0dHlwZTogVFlQRS5wbHVyYWwsXG5cdFx0XHRcdFx0XHRcdHZhbHVlLFxuXHRcdFx0XHRcdFx0XHRvcHRpb25zOiBmcm9tRW50cmllcyhvcHRpb25zUmVzdWx0LnZhbCksXG5cdFx0XHRcdFx0XHRcdG9mZnNldDogcGx1cmFsT2Zmc2V0LFxuXHRcdFx0XHRcdFx0XHRwbHVyYWxUeXBlOiBhcmdUeXBlID09PSBcInBsdXJhbFwiID8gXCJjYXJkaW5hbFwiIDogXCJvcmRpbmFsXCIsXG5cdFx0XHRcdFx0XHRcdGxvY2F0aW9uXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0ZXJyOiBudWxsXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0ZGVmYXVsdDogcmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLklOVkFMSURfQVJHVU1FTlRfVFlQRSwgY3JlYXRlTG9jYXRpb24odHlwZVN0YXJ0UG9zaXRpb24sIHR5cGVFbmRQb3NpdGlvbikpO1xuXHRcdH1cblx0fVxuXHR0cnlQYXJzZUFyZ3VtZW50Q2xvc2Uob3BlbmluZ0JyYWNlUG9zaXRpb24pIHtcblx0XHQvLyBQYXJzZToge3ZhbHVlLCBudW1iZXIsIDo6Y3VycmVuY3kvR0JQIH1cblx0XHQvL1xuXHRcdGlmICh0aGlzLmlzRU9GKCkgfHwgdGhpcy5jaGFyKCkgIT09IDEyNSkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLkVYUEVDVF9BUkdVTUVOVF9DTE9TSU5HX0JSQUNFLCBjcmVhdGVMb2NhdGlvbihvcGVuaW5nQnJhY2VQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpKTtcblx0XHR9XG5cdFx0dGhpcy5idW1wKCk7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHZhbDogdHJ1ZSxcblx0XHRcdGVycjogbnVsbFxuXHRcdH07XG5cdH1cblx0LyoqXG5cdCogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdW5pY29kZS1vcmcvaWN1L2Jsb2IvYWY3ZWQxZjZkMjI5ODAxM2RjMzAzNjI4NDM4ZWM0YWJlMWYxNjQ3OS9pY3U0Yy9zb3VyY2UvY29tbW9uL21lc3NhZ2VwYXR0ZXJuLmNwcCNMNjU5XG5cdCovXG5cdHBhcnNlU2ltcGxlQXJnU3R5bGVJZlBvc3NpYmxlKCkge1xuXHRcdGxldCBuZXN0ZWRCcmFjZXMgPSAwO1xuXHRcdGNvbnN0IHN0YXJ0UG9zaXRpb24gPSB0aGlzLmNsb25lUG9zaXRpb24oKTtcblx0XHR3aGlsZSAoIXRoaXMuaXNFT0YoKSkge1xuXHRcdFx0Y29uc3QgY2ggPSB0aGlzLmNoYXIoKTtcblx0XHRcdHN3aXRjaCAoY2gpIHtcblx0XHRcdFx0Y2FzZSAzOToge1xuXHRcdFx0XHRcdC8vIFRyZWF0IGFwb3N0cm9waGUgYXMgcXVvdGluZyBidXQgaW5jbHVkZSBpdCBpbiB0aGUgc3R5bGUgcGFydC5cblx0XHRcdFx0XHQvLyBGaW5kIHRoZSBlbmQgb2YgdGhlIHF1b3RlZCBsaXRlcmFsIHRleHQuXG5cdFx0XHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0XHRcdFx0bGV0IGFwb3N0cm9waGVQb3NpdGlvbiA9IHRoaXMuY2xvbmVQb3NpdGlvbigpO1xuXHRcdFx0XHRcdGlmICghdGhpcy5idW1wVW50aWwoXCInXCIpKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihFcnJvcktpbmQuVU5DTE9TRURfUVVPVEVfSU5fQVJHVU1FTlRfU1RZTEUsIGNyZWF0ZUxvY2F0aW9uKGFwb3N0cm9waGVQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y2FzZSAxMjM6IHtcblx0XHRcdFx0XHRuZXN0ZWRCcmFjZXMgKz0gMTtcblx0XHRcdFx0XHR0aGlzLmJ1bXAoKTtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0fVxuXHRcdFx0XHRjYXNlIDEyNToge1xuXHRcdFx0XHRcdGlmIChuZXN0ZWRCcmFjZXMgPiAwKSB7XG5cdFx0XHRcdFx0XHRuZXN0ZWRCcmFjZXMgLT0gMTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdFx0dmFsOiB0aGlzLm1lc3NhZ2Uuc2xpY2Uoc3RhcnRQb3NpdGlvbi5vZmZzZXQsIHRoaXMub2Zmc2V0KCkpLFxuXHRcdFx0XHRcdFx0XHRlcnI6IG51bGxcblx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHR2YWw6IHRoaXMubWVzc2FnZS5zbGljZShzdGFydFBvc2l0aW9uLm9mZnNldCwgdGhpcy5vZmZzZXQoKSksXG5cdFx0XHRlcnI6IG51bGxcblx0XHR9O1xuXHR9XG5cdHBhcnNlTnVtYmVyU2tlbGV0b25Gcm9tU3RyaW5nKHNrZWxldG9uLCBsb2NhdGlvbikge1xuXHRcdGxldCB0b2tlbnMgPSBbXTtcblx0XHR0cnkge1xuXHRcdFx0dG9rZW5zID0gcGFyc2VOdW1iZXJTa2VsZXRvbkZyb21TdHJpbmcoc2tlbGV0b24pO1xuXHRcdH0gY2F0Y2gge1xuXHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLklOVkFMSURfTlVNQkVSX1NLRUxFVE9OLCBsb2NhdGlvbik7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHR2YWw6IHtcblx0XHRcdFx0dHlwZTogU0tFTEVUT05fVFlQRS5udW1iZXIsXG5cdFx0XHRcdHRva2Vucyxcblx0XHRcdFx0bG9jYXRpb24sXG5cdFx0XHRcdHBhcnNlZE9wdGlvbnM6IHRoaXMuc2hvdWxkUGFyc2VTa2VsZXRvbnMgPyBwYXJzZU51bWJlclNrZWxldG9uKHRva2VucykgOiB7fVxuXHRcdFx0fSxcblx0XHRcdGVycjogbnVsbFxuXHRcdH07XG5cdH1cblx0LyoqXG5cdCogQHBhcmFtIG5lc3RpbmdfbGV2ZWwgVGhlIGN1cnJlbnQgbmVzdGluZyBsZXZlbCBvZiBtZXNzYWdlcy5cblx0KiAgICAgVGhpcyBjYW4gYmUgcG9zaXRpdmUgd2hlbiBwYXJzaW5nIG1lc3NhZ2UgZnJhZ21lbnQgaW4gc2VsZWN0IG9yIHBsdXJhbCBhcmd1bWVudCBvcHRpb25zLlxuXHQqIEBwYXJhbSBwYXJlbnRfYXJnX3R5cGUgVGhlIHBhcmVudCBhcmd1bWVudCdzIHR5cGUuXG5cdCogQHBhcmFtIHBhcnNlZF9maXJzdF9pZGVudGlmaWVyIElmIHByb3ZpZGVkLCB0aGlzIGlzIHRoZSBmaXJzdCBpZGVudGlmaWVyLWxpa2Ugc2VsZWN0b3Igb2Zcblx0KiAgICAgdGhlIGFyZ3VtZW50LiBJdCBpcyBhIGJ5LXByb2R1Y3Qgb2YgYSBwcmV2aW91cyBwYXJzaW5nIGF0dGVtcHQuXG5cdCogQHBhcmFtIGV4cGVjdGluZ19jbG9zZV90YWcgSWYgdHJ1ZSwgdGhpcyBtZXNzYWdlIGlzIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgbmVzdGVkIGluc2lkZVxuXHQqICAgICBiZXR3ZWVuIGEgcGFpciBvZiBvcGVuaW5nIGFuZCBjbG9zaW5nIHRhZ3MuIFRoZSBuZXN0ZWQgbWVzc2FnZSB3aWxsIG5vdCBwYXJzZSBiZXlvbmRcblx0KiAgICAgdGhlIGNsb3NpbmcgdGFnIGJvdW5kYXJ5LlxuXHQqL1xuXHR0cnlQYXJzZVBsdXJhbE9yU2VsZWN0T3B0aW9ucyhuZXN0aW5nTGV2ZWwsIHBhcmVudEFyZ1R5cGUsIGV4cGVjdENsb3NlVGFnLCBwYXJzZWRGaXJzdElkZW50aWZpZXIpIHtcblx0XHRsZXQgaGFzT3RoZXJDbGF1c2UgPSBmYWxzZTtcblx0XHRjb25zdCBvcHRpb25zID0gW107XG5cdFx0Y29uc3QgcGFyc2VkU2VsZWN0b3JzID0gbmV3IFNldCgpO1xuXHRcdGxldCB7IHZhbHVlOiBzZWxlY3RvciwgbG9jYXRpb246IHNlbGVjdG9yTG9jYXRpb24gfSA9IHBhcnNlZEZpcnN0SWRlbnRpZmllcjtcblx0XHQvLyBQYXJzZTpcblx0XHQvLyBvbmUge29uZSBhcHBsZX1cblx0XHQvLyBeLS1eXG5cdFx0d2hpbGUgKHRydWUpIHtcblx0XHRcdGlmIChzZWxlY3Rvci5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0Y29uc3Qgc3RhcnRQb3NpdGlvbiA9IHRoaXMuY2xvbmVQb3NpdGlvbigpO1xuXHRcdFx0XHRpZiAocGFyZW50QXJnVHlwZSAhPT0gXCJzZWxlY3RcIiAmJiB0aGlzLmJ1bXBJZihcIj1cIikpIHtcblx0XHRcdFx0XHQvLyBUcnkgcGFyc2UgYD17bnVtYmVyfWAgc2VsZWN0b3Jcblx0XHRcdFx0XHRjb25zdCByZXN1bHQgPSB0aGlzLnRyeVBhcnNlRGVjaW1hbEludGVnZXIoRXJyb3JLaW5kLkVYUEVDVF9QTFVSQUxfQVJHVU1FTlRfU0VMRUNUT1IsIEVycm9yS2luZC5JTlZBTElEX1BMVVJBTF9BUkdVTUVOVF9TRUxFQ1RPUik7XG5cdFx0XHRcdFx0aWYgKHJlc3VsdC5lcnIpIHtcblx0XHRcdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHNlbGVjdG9yTG9jYXRpb24gPSBjcmVhdGVMb2NhdGlvbihzdGFydFBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSk7XG5cdFx0XHRcdFx0c2VsZWN0b3IgPSB0aGlzLm1lc3NhZ2Uuc2xpY2Uoc3RhcnRQb3NpdGlvbi5vZmZzZXQsIHRoaXMub2Zmc2V0KCkpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQvLyBEdXBsaWNhdGUgc2VsZWN0b3IgY2xhdXNlc1xuXHRcdFx0aWYgKHBhcnNlZFNlbGVjdG9ycy5oYXMoc2VsZWN0b3IpKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLmVycm9yKHBhcmVudEFyZ1R5cGUgPT09IFwic2VsZWN0XCIgPyBFcnJvcktpbmQuRFVQTElDQVRFX1NFTEVDVF9BUkdVTUVOVF9TRUxFQ1RPUiA6IEVycm9yS2luZC5EVVBMSUNBVEVfUExVUkFMX0FSR1VNRU5UX1NFTEVDVE9SLCBzZWxlY3RvckxvY2F0aW9uKTtcblx0XHRcdH1cblx0XHRcdGlmIChzZWxlY3RvciA9PT0gXCJvdGhlclwiKSB7XG5cdFx0XHRcdGhhc090aGVyQ2xhdXNlID0gdHJ1ZTtcblx0XHRcdH1cblx0XHRcdC8vIFBhcnNlOlxuXHRcdFx0Ly8gb25lIHtvbmUgYXBwbGV9XG5cdFx0XHQvLyAgICAgXi0tLS0tLS0tLS1eXG5cdFx0XHR0aGlzLmJ1bXBTcGFjZSgpO1xuXHRcdFx0Y29uc3Qgb3BlbmluZ0JyYWNlUG9zaXRpb24gPSB0aGlzLmNsb25lUG9zaXRpb24oKTtcblx0XHRcdGlmICghdGhpcy5idW1wSWYoXCJ7XCIpKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLmVycm9yKHBhcmVudEFyZ1R5cGUgPT09IFwic2VsZWN0XCIgPyBFcnJvcktpbmQuRVhQRUNUX1NFTEVDVF9BUkdVTUVOVF9TRUxFQ1RPUl9GUkFHTUVOVCA6IEVycm9yS2luZC5FWFBFQ1RfUExVUkFMX0FSR1VNRU5UX1NFTEVDVE9SX0ZSQUdNRU5ULCBjcmVhdGVMb2NhdGlvbih0aGlzLmNsb25lUG9zaXRpb24oKSwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpKTtcblx0XHRcdH1cblx0XHRcdGNvbnN0IGZyYWdtZW50UmVzdWx0ID0gdGhpcy5wYXJzZU1lc3NhZ2UobmVzdGluZ0xldmVsICsgMSwgcGFyZW50QXJnVHlwZSwgZXhwZWN0Q2xvc2VUYWcpO1xuXHRcdFx0aWYgKGZyYWdtZW50UmVzdWx0LmVycikge1xuXHRcdFx0XHRyZXR1cm4gZnJhZ21lbnRSZXN1bHQ7XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBhcmdDbG9zZVJlc3VsdCA9IHRoaXMudHJ5UGFyc2VBcmd1bWVudENsb3NlKG9wZW5pbmdCcmFjZVBvc2l0aW9uKTtcblx0XHRcdGlmIChhcmdDbG9zZVJlc3VsdC5lcnIpIHtcblx0XHRcdFx0cmV0dXJuIGFyZ0Nsb3NlUmVzdWx0O1xuXHRcdFx0fVxuXHRcdFx0b3B0aW9ucy5wdXNoKFtzZWxlY3Rvciwge1xuXHRcdFx0XHR2YWx1ZTogZnJhZ21lbnRSZXN1bHQudmFsLFxuXHRcdFx0XHRsb2NhdGlvbjogY3JlYXRlTG9jYXRpb24ob3BlbmluZ0JyYWNlUG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKVxuXHRcdFx0fV0pO1xuXHRcdFx0Ly8gS2VlcCB0cmFjayBvZiB0aGUgZXhpc3Rpbmcgc2VsZWN0b3JzXG5cdFx0XHRwYXJzZWRTZWxlY3RvcnMuYWRkKHNlbGVjdG9yKTtcblx0XHRcdC8vIFByZXAgbmV4dCBzZWxlY3RvciBjbGF1c2UuXG5cdFx0XHR0aGlzLmJ1bXBTcGFjZSgpO1xuXHRcdFx0KHt2YWx1ZTogc2VsZWN0b3IsIGxvY2F0aW9uOiBzZWxlY3RvckxvY2F0aW9ufSA9IHRoaXMucGFyc2VJZGVudGlmaWVySWZQb3NzaWJsZSgpKTtcblx0XHR9XG5cdFx0aWYgKG9wdGlvbnMubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihwYXJlbnRBcmdUeXBlID09PSBcInNlbGVjdFwiID8gRXJyb3JLaW5kLkVYUEVDVF9TRUxFQ1RfQVJHVU1FTlRfU0VMRUNUT1IgOiBFcnJvcktpbmQuRVhQRUNUX1BMVVJBTF9BUkdVTUVOVF9TRUxFQ1RPUiwgY3JlYXRlTG9jYXRpb24odGhpcy5jbG9uZVBvc2l0aW9uKCksIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLnJlcXVpcmVzT3RoZXJDbGF1c2UgJiYgIWhhc090aGVyQ2xhdXNlKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihFcnJvcktpbmQuTUlTU0lOR19PVEhFUl9DTEFVU0UsIGNyZWF0ZUxvY2F0aW9uKHRoaXMuY2xvbmVQb3NpdGlvbigpLCB0aGlzLmNsb25lUG9zaXRpb24oKSkpO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0dmFsOiBvcHRpb25zLFxuXHRcdFx0ZXJyOiBudWxsXG5cdFx0fTtcblx0fVxuXHR0cnlQYXJzZURlY2ltYWxJbnRlZ2VyKGV4cGVjdE51bWJlckVycm9yLCBpbnZhbGlkTnVtYmVyRXJyb3IpIHtcblx0XHRsZXQgc2lnbiA9IDE7XG5cdFx0Y29uc3Qgc3RhcnRpbmdQb3NpdGlvbiA9IHRoaXMuY2xvbmVQb3NpdGlvbigpO1xuXHRcdGlmICh0aGlzLmJ1bXBJZihcIitcIikpIHt9IGVsc2UgaWYgKHRoaXMuYnVtcElmKFwiLVwiKSkge1xuXHRcdFx0c2lnbiA9IC0xO1xuXHRcdH1cblx0XHRsZXQgaGFzRGlnaXRzID0gZmFsc2U7XG5cdFx0bGV0IGRlY2ltYWwgPSAwO1xuXHRcdHdoaWxlICghdGhpcy5pc0VPRigpKSB7XG5cdFx0XHRjb25zdCBjaCA9IHRoaXMuY2hhcigpO1xuXHRcdFx0aWYgKGNoID49IDQ4ICYmIGNoIDw9IDU3KSB7XG5cdFx0XHRcdGhhc0RpZ2l0cyA9IHRydWU7XG5cdFx0XHRcdGRlY2ltYWwgPSBkZWNpbWFsICogMTAgKyAoY2ggLSA0OCk7XG5cdFx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGNvbnN0IGxvY2F0aW9uID0gY3JlYXRlTG9jYXRpb24oc3RhcnRpbmdQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpO1xuXHRcdGlmICghaGFzRGlnaXRzKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihleHBlY3ROdW1iZXJFcnJvciwgbG9jYXRpb24pO1xuXHRcdH1cblx0XHRkZWNpbWFsICo9IHNpZ247XG5cdFx0aWYgKCFOdW1iZXIuaXNTYWZlSW50ZWdlcihkZWNpbWFsKSkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoaW52YWxpZE51bWJlckVycm9yLCBsb2NhdGlvbik7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHR2YWw6IGRlY2ltYWwsXG5cdFx0XHRlcnI6IG51bGxcblx0XHR9O1xuXHR9XG5cdG9mZnNldCgpIHtcblx0XHRyZXR1cm4gdGhpcy5wb3NpdGlvbi5vZmZzZXQ7XG5cdH1cblx0aXNFT0YoKSB7XG5cdFx0cmV0dXJuIHRoaXMub2Zmc2V0KCkgPT09IHRoaXMubWVzc2FnZS5sZW5ndGg7XG5cdH1cblx0Y2xvbmVQb3NpdGlvbigpIHtcblx0XHQvLyBUaGlzIGlzIG11Y2ggZmFzdGVyIHRoYW4gYE9iamVjdC5hc3NpZ25gIG9yIHNwcmVhZC5cblx0XHRyZXR1cm4ge1xuXHRcdFx0b2Zmc2V0OiB0aGlzLnBvc2l0aW9uLm9mZnNldCxcblx0XHRcdGxpbmU6IHRoaXMucG9zaXRpb24ubGluZSxcblx0XHRcdGNvbHVtbjogdGhpcy5wb3NpdGlvbi5jb2x1bW5cblx0XHR9O1xuXHR9XG5cdC8qKlxuXHQqIFJldHVybiB0aGUgY29kZSBwb2ludCBhdCB0aGUgY3VycmVudCBwb3NpdGlvbiBvZiB0aGUgcGFyc2VyLlxuXHQqIFRocm93cyBpZiB0aGUgaW5kZXggaXMgb3V0IG9mIGJvdW5kLlxuXHQqL1xuXHRjaGFyKCkge1xuXHRcdGNvbnN0IG9mZnNldCA9IHRoaXMucG9zaXRpb24ub2Zmc2V0O1xuXHRcdGlmIChvZmZzZXQgPj0gdGhpcy5tZXNzYWdlLmxlbmd0aCkge1xuXHRcdFx0dGhyb3cgRXJyb3IoXCJvdXQgb2YgYm91bmRcIik7XG5cdFx0fVxuXHRcdGNvbnN0IGNvZGUgPSB0aGlzLm1lc3NhZ2UuY29kZVBvaW50QXQob2Zmc2V0KTtcblx0XHRpZiAoY29kZSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHR0aHJvdyBFcnJvcihgT2Zmc2V0ICR7b2Zmc2V0fSBpcyBhdCBpbnZhbGlkIFVURi0xNiBjb2RlIHVuaXQgYm91bmRhcnlgKTtcblx0XHR9XG5cdFx0cmV0dXJuIGNvZGU7XG5cdH1cblx0ZXJyb3Ioa2luZCwgbG9jYXRpb24pIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0dmFsOiBudWxsLFxuXHRcdFx0ZXJyOiB7XG5cdFx0XHRcdGtpbmQsXG5cdFx0XHRcdG1lc3NhZ2U6IHRoaXMubWVzc2FnZSxcblx0XHRcdFx0bG9jYXRpb25cblx0XHRcdH1cblx0XHR9O1xuXHR9XG5cdC8qKiBCdW1wIHRoZSBwYXJzZXIgdG8gdGhlIG5leHQgVVRGLTE2IGNvZGUgdW5pdC4gKi9cblx0YnVtcCgpIHtcblx0XHRpZiAodGhpcy5pc0VPRigpKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGNvbnN0IGNvZGUgPSB0aGlzLmNoYXIoKTtcblx0XHRpZiAoY29kZSA9PT0gMTApIHtcblx0XHRcdHRoaXMucG9zaXRpb24ubGluZSArPSAxO1xuXHRcdFx0dGhpcy5wb3NpdGlvbi5jb2x1bW4gPSAxO1xuXHRcdFx0dGhpcy5wb3NpdGlvbi5vZmZzZXQgKz0gMTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5wb3NpdGlvbi5jb2x1bW4gKz0gMTtcblx0XHRcdC8vIDAgfiAweDEwMDAwIC0+IHVuaWNvZGUgQk1QLCBvdGhlcndpc2Ugc2tpcCB0aGUgc3Vycm9nYXRlIHBhaXIuXG5cdFx0XHR0aGlzLnBvc2l0aW9uLm9mZnNldCArPSBjb2RlIDwgNjU1MzYgPyAxIDogMjtcblx0XHR9XG5cdH1cblx0LyoqXG5cdCogSWYgdGhlIHN1YnN0cmluZyBzdGFydGluZyBhdCB0aGUgY3VycmVudCBwb3NpdGlvbiBvZiB0aGUgcGFyc2VyIGhhc1xuXHQqIHRoZSBnaXZlbiBwcmVmaXgsIHRoZW4gYnVtcCB0aGUgcGFyc2VyIHRvIHRoZSBjaGFyYWN0ZXIgaW1tZWRpYXRlbHlcblx0KiBmb2xsb3dpbmcgdGhlIHByZWZpeCBhbmQgcmV0dXJuIHRydWUuIE90aGVyd2lzZSwgZG9uJ3QgYnVtcCB0aGUgcGFyc2VyXG5cdCogYW5kIHJldHVybiBmYWxzZS5cblx0Ki9cblx0YnVtcElmKHByZWZpeCkge1xuXHRcdGlmICh0aGlzLm1lc3NhZ2Uuc3RhcnRzV2l0aChwcmVmaXgsIHRoaXMub2Zmc2V0KCkpKSB7XG5cdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHByZWZpeC5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHR0aGlzLmJ1bXAoKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblx0LyoqXG5cdCogQnVtcCB0aGUgcGFyc2VyIHVudGlsIHRoZSBwYXR0ZXJuIGNoYXJhY3RlciBpcyBmb3VuZCBhbmQgcmV0dXJuIGB0cnVlYC5cblx0KiBPdGhlcndpc2UgYnVtcCB0byB0aGUgZW5kIG9mIHRoZSBmaWxlIGFuZCByZXR1cm4gYGZhbHNlYC5cblx0Ki9cblx0YnVtcFVudGlsKHBhdHRlcm4pIHtcblx0XHRjb25zdCBjdXJyZW50T2Zmc2V0ID0gdGhpcy5vZmZzZXQoKTtcblx0XHRjb25zdCBpbmRleCA9IHRoaXMubWVzc2FnZS5pbmRleE9mKHBhdHRlcm4sIGN1cnJlbnRPZmZzZXQpO1xuXHRcdGlmIChpbmRleCA+PSAwKSB7XG5cdFx0XHR0aGlzLmJ1bXBUbyhpbmRleCk7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5idW1wVG8odGhpcy5tZXNzYWdlLmxlbmd0aCk7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHR9XG5cdC8qKlxuXHQqIEJ1bXAgdGhlIHBhcnNlciB0byB0aGUgdGFyZ2V0IG9mZnNldC5cblx0KiBJZiB0YXJnZXQgb2Zmc2V0IGlzIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBpbnB1dCwgYnVtcCB0aGUgcGFyc2VyIHRvIHRoZSBlbmQgb2YgdGhlIGlucHV0LlxuXHQqL1xuXHRidW1wVG8odGFyZ2V0T2Zmc2V0KSB7XG5cdFx0aWYgKHRoaXMub2Zmc2V0KCkgPiB0YXJnZXRPZmZzZXQpIHtcblx0XHRcdHRocm93IEVycm9yKGB0YXJnZXRPZmZzZXQgJHt0YXJnZXRPZmZzZXR9IG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBjdXJyZW50IG9mZnNldCAke3RoaXMub2Zmc2V0KCl9YCk7XG5cdFx0fVxuXHRcdHRhcmdldE9mZnNldCA9IE1hdGgubWluKHRhcmdldE9mZnNldCwgdGhpcy5tZXNzYWdlLmxlbmd0aCk7XG5cdFx0d2hpbGUgKHRydWUpIHtcblx0XHRcdGNvbnN0IG9mZnNldCA9IHRoaXMub2Zmc2V0KCk7XG5cdFx0XHRpZiAob2Zmc2V0ID09PSB0YXJnZXRPZmZzZXQpIHtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0XHRpZiAob2Zmc2V0ID4gdGFyZ2V0T2Zmc2V0KSB7XG5cdFx0XHRcdHRocm93IEVycm9yKGB0YXJnZXRPZmZzZXQgJHt0YXJnZXRPZmZzZXR9IGlzIGF0IGludmFsaWQgVVRGLTE2IGNvZGUgdW5pdCBib3VuZGFyeWApO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0XHRpZiAodGhpcy5pc0VPRigpKSB7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQvKiogYWR2YW5jZSB0aGUgcGFyc2VyIHRocm91Z2ggYWxsIHdoaXRlc3BhY2UgdG8gdGhlIG5leHQgbm9uLXdoaXRlc3BhY2UgY29kZSB1bml0LiAqL1xuXHRidW1wU3BhY2UoKSB7XG5cdFx0d2hpbGUgKCF0aGlzLmlzRU9GKCkgJiYgX2lzV2hpdGVTcGFjZSh0aGlzLmNoYXIoKSkpIHtcblx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdH1cblx0fVxuXHQvKipcblx0KiBQZWVrIGF0IHRoZSAqbmV4dCogVW5pY29kZSBjb2RlcG9pbnQgaW4gdGhlIGlucHV0IHdpdGhvdXQgYWR2YW5jaW5nIHRoZSBwYXJzZXIuXG5cdCogSWYgdGhlIGlucHV0IGhhcyBiZWVuIGV4aGF1c3RlZCwgdGhlbiB0aGlzIHJldHVybnMgbnVsbC5cblx0Ki9cblx0cGVlaygpIHtcblx0XHRpZiAodGhpcy5pc0VPRigpKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cdFx0Y29uc3QgY29kZSA9IHRoaXMuY2hhcigpO1xuXHRcdGNvbnN0IG9mZnNldCA9IHRoaXMub2Zmc2V0KCk7XG5cdFx0Y29uc3QgbmV4dENvZGUgPSB0aGlzLm1lc3NhZ2UuY2hhckNvZGVBdChvZmZzZXQgKyAoY29kZSA+PSA2NTUzNiA/IDIgOiAxKSk7XG5cdFx0cmV0dXJuIG5leHRDb2RlID8/IG51bGw7XG5cdH1cbn1cbi8qKlxuKiBUaGlzIGNoZWNrIGlmIGNvZGVwb2ludCBpcyBhbHBoYWJldCAobG93ZXIgJiB1cHBlcmNhc2UpXG4qIEBwYXJhbSBjb2RlcG9pbnRcbiogQHJldHVybnNcbiovXG5mdW5jdGlvbiBfaXNBbHBoYShjb2RlcG9pbnQpIHtcblx0cmV0dXJuIGNvZGVwb2ludCA+PSA5NyAmJiBjb2RlcG9pbnQgPD0gMTIyIHx8IGNvZGVwb2ludCA+PSA2NSAmJiBjb2RlcG9pbnQgPD0gOTA7XG59XG5mdW5jdGlvbiBfaXNBbHBoYU9yU2xhc2goY29kZXBvaW50KSB7XG5cdHJldHVybiBfaXNBbHBoYShjb2RlcG9pbnQpIHx8IGNvZGVwb2ludCA9PT0gNDc7XG59XG4vKiogU2VlIGBwYXJzZVRhZ2AgZnVuY3Rpb24gZG9jcy4gKi9cbmZ1bmN0aW9uIF9pc1BvdGVudGlhbEVsZW1lbnROYW1lQ2hhcihjKSB7XG5cdHJldHVybiBjID09PSA0NSB8fCBjID09PSA0NiB8fCBjID49IDQ4ICYmIGMgPD0gNTcgfHwgYyA9PT0gOTUgfHwgYyA+PSA5NyAmJiBjIDw9IDEyMiB8fCBjID49IDY1ICYmIGMgPD0gOTAgfHwgYyA9PSAxODMgfHwgYyA+PSAxOTIgJiYgYyA8PSAyMTQgfHwgYyA+PSAyMTYgJiYgYyA8PSAyNDYgfHwgYyA+PSAyNDggJiYgYyA8PSA4OTMgfHwgYyA+PSA4OTUgJiYgYyA8PSA4MTkxIHx8IGMgPj0gODIwNCAmJiBjIDw9IDgyMDUgfHwgYyA+PSA4MjU1ICYmIGMgPD0gODI1NiB8fCBjID49IDgzMDQgJiYgYyA8PSA4NTkxIHx8IGMgPj0gMTEyNjQgJiYgYyA8PSAxMjI3MSB8fCBjID49IDEyMjg5ICYmIGMgPD0gNTUyOTUgfHwgYyA+PSA2Mzc0NCAmJiBjIDw9IDY0OTc1IHx8IGMgPj0gNjUwMDggJiYgYyA8PSA2NTUzMyB8fCBjID49IDY1NTM2ICYmIGMgPD0gOTgzMDM5O1xufVxuLyoqXG4qIENvZGUgcG9pbnQgZXF1aXZhbGVudCBvZiByZWdleCBgXFxwe1doaXRlX1NwYWNlfWAuXG4qIEZyb206IGh0dHBzOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy9VQ0QvbGF0ZXN0L3VjZC9Qcm9wTGlzdC50eHRcbiovXG5mdW5jdGlvbiBfaXNXaGl0ZVNwYWNlKGMpIHtcblx0cmV0dXJuIGMgPj0gOSAmJiBjIDw9IDEzIHx8IGMgPT09IDMyIHx8IGMgPT09IDEzMyB8fCBjID49IDgyMDYgJiYgYyA8PSA4MjA3IHx8IGMgPT09IDgyMzIgfHwgYyA9PT0gODIzMztcbn1cbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/parser.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/regex.generated.js":
|
||
/*!****************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/regex.generated.js ***!
|
||
\****************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SPACE_SEPARATOR_REGEX: () => (/* binding */ SPACE_SEPARATOR_REGEX),\n/* harmony export */ WHITE_SPACE_REGEX: () => (/* binding */ WHITE_SPACE_REGEX)\n/* harmony export */ });\n// @generated from regex-gen.ts\nconst SPACE_SEPARATOR_REGEX = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\nconst WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyQDMuNS4zL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyL3JlZ2V4LmdlbmVyYXRlZC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ087QUFDQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyQDMuNS4zL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyL3JlZ2V4LmdlbmVyYXRlZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZ2VuZXJhdGVkIGZyb20gcmVnZXgtZ2VuLnRzXG5leHBvcnQgY29uc3QgU1BBQ0VfU0VQQVJBVE9SX1JFR0VYID0gL1sgXFx4QTBcXHUxNjgwXFx1MjAwMC1cXHUyMDBBXFx1MjAyRlxcdTIwNUZcXHUzMDAwXS87XG5leHBvcnQgY29uc3QgV0hJVEVfU1BBQ0VfUkVHRVggPSAvW1xcdC1cXHIgXFx4ODVcXHUyMDBFXFx1MjAwRlxcdTIwMjhcXHUyMDI5XS87XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/regex.generated.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/time-data.generated.js":
|
||
/*!********************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/time-data.generated.js ***!
|
||
\********************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ timeData: () => (/* binding */ timeData)\n/* harmony export */ });\n// @generated from time-data-gen.ts\n// prettier-ignore\nconst timeData = {\n\t\"001\": [\"H\", \"h\"],\n\t\"419\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"AC\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"AD\": [\"H\", \"hB\"],\n\t\"AE\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"AF\": [\n\t\t\"H\",\n\t\t\"hb\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"AG\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"AI\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"AL\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"AM\": [\"H\", \"hB\"],\n\t\"AO\": [\"H\", \"hB\"],\n\t\"AR\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"AS\": [\"h\", \"H\"],\n\t\"AT\": [\"H\", \"hB\"],\n\t\"AU\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"AW\": [\"H\", \"hB\"],\n\t\"AX\": [\"H\"],\n\t\"AZ\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"BA\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"BB\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"BD\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"H\"\n\t],\n\t\"BE\": [\"H\", \"hB\"],\n\t\"BF\": [\"H\", \"hB\"],\n\t\"BG\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"BH\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"BI\": [\"H\", \"h\"],\n\t\"BJ\": [\"H\", \"hB\"],\n\t\"BL\": [\"H\", \"hB\"],\n\t\"BM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"BN\": [\n\t\t\"hb\",\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"BO\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"BQ\": [\"H\"],\n\t\"BR\": [\"H\", \"hB\"],\n\t\"BS\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"BT\": [\"h\", \"H\"],\n\t\"BW\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"BY\": [\"H\", \"h\"],\n\t\"BZ\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"CA\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"CC\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"CD\": [\"hB\", \"H\"],\n\t\"CF\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"CG\": [\"H\", \"hB\"],\n\t\"CH\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"CI\": [\"H\", \"hB\"],\n\t\"CK\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"CL\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"CM\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"CN\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\"\n\t],\n\t\"CO\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"CP\": [\"H\"],\n\t\"CR\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"CU\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"CV\": [\"H\", \"hB\"],\n\t\"CW\": [\"H\", \"hB\"],\n\t\"CX\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"CY\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"CZ\": [\"H\"],\n\t\"DE\": [\"H\", \"hB\"],\n\t\"DG\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"DJ\": [\"h\", \"H\"],\n\t\"DK\": [\"H\"],\n\t\"DM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"DO\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"DZ\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"EA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"EC\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"EE\": [\"H\", \"hB\"],\n\t\"EG\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"EH\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"ER\": [\"h\", \"H\"],\n\t\"ES\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"hb\"\n\t],\n\t\"ET\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"FI\": [\"H\"],\n\t\"FJ\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"FK\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"FM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"FO\": [\"H\", \"h\"],\n\t\"FR\": [\"H\", \"hB\"],\n\t\"GA\": [\"H\", \"hB\"],\n\t\"GB\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"GD\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"GE\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"GF\": [\"H\", \"hB\"],\n\t\"GG\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"GH\": [\"h\", \"H\"],\n\t\"GI\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"GL\": [\"H\", \"h\"],\n\t\"GM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"GN\": [\"H\", \"hB\"],\n\t\"GP\": [\"H\", \"hB\"],\n\t\"GQ\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"hb\"\n\t],\n\t\"GR\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"GS\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"GT\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"GU\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"GW\": [\"H\", \"hB\"],\n\t\"GY\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"HK\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"HN\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"HR\": [\"H\", \"hB\"],\n\t\"HU\": [\"H\", \"h\"],\n\t\"IC\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"ID\": [\"H\"],\n\t\"IE\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"IL\": [\"H\", \"hB\"],\n\t\"IM\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"IN\": [\"h\", \"H\"],\n\t\"IO\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"IQ\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"IR\": [\"hB\", \"H\"],\n\t\"IS\": [\"H\"],\n\t\"IT\": [\"H\", \"hB\"],\n\t\"JE\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"JM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"JO\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"JP\": [\n\t\t\"H\",\n\t\t\"K\",\n\t\t\"h\"\n\t],\n\t\"KE\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"h\"\n\t],\n\t\"KG\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"KH\": [\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hb\"\n\t],\n\t\"KI\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"KM\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"KN\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"KP\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"KR\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"KW\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"KY\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"KZ\": [\"H\", \"hB\"],\n\t\"LA\": [\n\t\t\"H\",\n\t\t\"hb\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"LB\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"LC\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"LI\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"LK\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"LR\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"LS\": [\"h\", \"H\"],\n\t\"LT\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"LU\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"LV\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\"\n\t],\n\t\"LY\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"MA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"MC\": [\"H\", \"hB\"],\n\t\"MD\": [\"H\", \"hB\"],\n\t\"ME\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"MF\": [\"H\", \"hB\"],\n\t\"MG\": [\"H\", \"h\"],\n\t\"MH\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"MK\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"ML\": [\"H\"],\n\t\"MM\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"h\"\n\t],\n\t\"MN\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"MO\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"MP\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"MQ\": [\"H\", \"hB\"],\n\t\"MR\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"MS\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"MT\": [\"H\", \"h\"],\n\t\"MU\": [\"H\", \"h\"],\n\t\"MV\": [\"H\", \"h\"],\n\t\"MW\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"MX\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"MY\": [\n\t\t\"hb\",\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"MZ\": [\"H\", \"hB\"],\n\t\"NA\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"NC\": [\"H\", \"hB\"],\n\t\"NE\": [\"H\"],\n\t\"NF\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"NG\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"NI\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"NL\": [\"H\", \"hB\"],\n\t\"NO\": [\"H\", \"h\"],\n\t\"NP\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"NR\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"NU\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"NZ\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"OM\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"PA\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"PE\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"PF\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"PG\": [\"h\", \"H\"],\n\t\"PH\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"PK\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"H\"\n\t],\n\t\"PL\": [\"H\", \"h\"],\n\t\"PM\": [\"H\", \"hB\"],\n\t\"PN\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"PR\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"PS\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"PT\": [\"H\", \"hB\"],\n\t\"PW\": [\"h\", \"H\"],\n\t\"PY\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"QA\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"RE\": [\"H\", \"hB\"],\n\t\"RO\": [\"H\", \"hB\"],\n\t\"RS\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"RU\": [\"H\"],\n\t\"RW\": [\"H\", \"h\"],\n\t\"SA\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"SB\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"SC\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"SD\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"SE\": [\"H\"],\n\t\"SG\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"SH\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"SI\": [\"H\", \"hB\"],\n\t\"SJ\": [\"H\"],\n\t\"SK\": [\"H\"],\n\t\"SL\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"SM\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"SN\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"SO\": [\"h\", \"H\"],\n\t\"SR\": [\"H\", \"hB\"],\n\t\"SS\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"ST\": [\"H\", \"hB\"],\n\t\"SV\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"SX\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"SY\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"SZ\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"TA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"TC\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"TD\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"TF\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"TG\": [\"H\", \"hB\"],\n\t\"TH\": [\"H\", \"h\"],\n\t\"TJ\": [\"H\", \"h\"],\n\t\"TL\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\"\n\t],\n\t\"TM\": [\"H\", \"h\"],\n\t\"TN\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"TO\": [\"h\", \"H\"],\n\t\"TR\": [\"H\", \"hB\"],\n\t\"TT\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"TW\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"TZ\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"h\"\n\t],\n\t\"UA\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"UG\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"h\"\n\t],\n\t\"UM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"US\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"UY\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"UZ\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"VA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"VC\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"VE\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"VG\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"VI\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"VN\": [\"H\", \"h\"],\n\t\"VU\": [\"h\", \"H\"],\n\t\"WF\": [\"H\", \"hB\"],\n\t\"WS\": [\"h\", \"H\"],\n\t\"XK\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"YE\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"YT\": [\"H\", \"hB\"],\n\t\"ZA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"ZM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"ZW\": [\"H\", \"h\"],\n\t\"af-ZA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"ar-001\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"ca-ES\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"en-001\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"en-HK\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"en-IL\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"en-MY\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"es-BR\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"es-ES\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"es-GQ\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"fr-CA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"gl-ES\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"gu-IN\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"hi-IN\": [\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"it-CH\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"it-IT\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"kn-IN\": [\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"ku-SY\": [\"H\", \"hB\"],\n\t\"ml-IN\": [\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"mr-IN\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"pa-IN\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"ta-IN\": [\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"te-IN\": [\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"zu-ZA\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\"\n\t]\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyQDMuNS4zL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyL3RpbWUtZGF0YS5nZW5lcmF0ZWQuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0Bmb3JtYXRqcytpY3UtbWVzc2FnZWZvcm1hdC1wYXJzZXJAMy41LjMvbm9kZV9tb2R1bGVzL0Bmb3JtYXRqcy9pY3UtbWVzc2FnZWZvcm1hdC1wYXJzZXIvdGltZS1kYXRhLmdlbmVyYXRlZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZ2VuZXJhdGVkIGZyb20gdGltZS1kYXRhLWdlbi50c1xuLy8gcHJldHRpZXItaWdub3JlXG5leHBvcnQgY29uc3QgdGltZURhdGEgPSB7XG5cdFwiMDAxXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIjQxOVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIkFDXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiQURcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkFFXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiQUZcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJBR1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkFJXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiQUxcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkFNXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJBT1wiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiQVJcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJBU1wiOiBbXCJoXCIsIFwiSFwiXSxcblx0XCJBVFwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiQVVcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJBV1wiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiQVhcIjogW1wiSFwiXSxcblx0XCJBWlwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiXG5cdF0sXG5cdFwiQkFcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhcIlxuXHRdLFxuXHRcIkJCXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiQkRcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIkJFXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJCRlwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiQkdcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhcIlxuXHRdLFxuXHRcIkJIXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiQklcIjogW1wiSFwiLCBcImhcIl0sXG5cdFwiQkpcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkJMXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJCTVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkJOXCI6IFtcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiQk9cIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJCUVwiOiBbXCJIXCJdLFxuXHRcIkJSXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJCU1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkJUXCI6IFtcImhcIiwgXCJIXCJdLFxuXHRcIkJXXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiQllcIjogW1wiSFwiLCBcImhcIl0sXG5cdFwiQlpcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJDQVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkNDXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiQ0RcIjogW1wiaEJcIiwgXCJIXCJdLFxuXHRcIkNGXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJDR1wiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiQ0hcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhcIlxuXHRdLFxuXHRcIkNJXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJDS1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkNMXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiQ01cIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkNOXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaFwiXG5cdF0sXG5cdFwiQ09cIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJDUFwiOiBbXCJIXCJdLFxuXHRcIkNSXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiQ1VcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJDVlwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiQ1dcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkNYXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiQ1lcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJDWlwiOiBbXCJIXCJdLFxuXHRcIkRFXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJER1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkRKXCI6IFtcImhcIiwgXCJIXCJdLFxuXHRcIkRLXCI6IFtcIkhcIl0sXG5cdFwiRE1cIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJET1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIkRaXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiRUFcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJFQ1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIkVFXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJFR1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIkVIXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiRVJcIjogW1wiaFwiLCBcIkhcIl0sXG5cdFwiRVNcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJFVFwiOiBbXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIkZJXCI6IFtcIkhcIl0sXG5cdFwiRkpcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJGS1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkZNXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiRk9cIjogW1wiSFwiLCBcImhcIl0sXG5cdFwiRlJcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkdBXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJHQlwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkdEXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiR0VcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhcIlxuXHRdLFxuXHRcIkdGXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJHR1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkdIXCI6IFtcImhcIiwgXCJIXCJdLFxuXHRcIkdJXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiR0xcIjogW1wiSFwiLCBcImhcIl0sXG5cdFwiR01cIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJHTlwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiR1BcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkdRXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiR1JcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJHU1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkdUXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiR1VcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJHV1wiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiR1lcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJIS1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIkhOXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiSFJcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkhVXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIklDXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiSURcIjogW1wiSFwiXSxcblx0XCJJRVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIklMXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJJTVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIklOXCI6IFtcImhcIiwgXCJIXCJdLFxuXHRcIklPXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiSVFcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJJUlwiOiBbXCJoQlwiLCBcIkhcIl0sXG5cdFwiSVNcIjogW1wiSFwiXSxcblx0XCJJVFwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiSkVcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJKTVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkpPXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiSlBcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiS1wiLFxuXHRcdFwiaFwiXG5cdF0sXG5cdFwiS0VcIjogW1xuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJLR1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIktIXCI6IFtcblx0XHRcImhCXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiS0lcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJLTVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIktOXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiS1BcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJLUlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIktXXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiS1lcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJLWlwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiTEFcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJMQlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIkxDXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiTElcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhcIlxuXHRdLFxuXHRcIkxLXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiTFJcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJMU1wiOiBbXCJoXCIsIFwiSFwiXSxcblx0XCJMVFwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkxVXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJMVlwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhcIlxuXHRdLFxuXHRcIkxZXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiTUFcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJNQ1wiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiTURcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIk1FXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJNRlwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiTUdcIjogW1wiSFwiLCBcImhcIl0sXG5cdFwiTUhcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJNS1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIk1MXCI6IFtcIkhcIl0sXG5cdFwiTU1cIjogW1xuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJNTlwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIk1PXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiTVBcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJNUVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiTVJcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJNU1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIk1UXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIk1VXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIk1WXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIk1XXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiTVhcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJNWVwiOiBbXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIk1aXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJOQVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIk5DXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJORVwiOiBbXCJIXCJdLFxuXHRcIk5GXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiTkdcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJOSVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIk5MXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJOT1wiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCJOUFwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiTlJcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJOVVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIk5aXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiT01cIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJQQVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIlBFXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiUEZcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlBHXCI6IFtcImhcIiwgXCJIXCJdLFxuXHRcIlBIXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiUEtcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIlBMXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIlBNXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJQTlwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlBSXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiUFNcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJQVFwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiUFdcIjogW1wiaFwiLCBcIkhcIl0sXG5cdFwiUFlcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJRQVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIlJFXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJST1wiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiUlNcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhcIlxuXHRdLFxuXHRcIlJVXCI6IFtcIkhcIl0sXG5cdFwiUldcIjogW1wiSFwiLCBcImhcIl0sXG5cdFwiU0FcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJTQlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlNDXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJTRFwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIlNFXCI6IFtcIkhcIl0sXG5cdFwiU0dcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJTSFwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlNJXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJTSlwiOiBbXCJIXCJdLFxuXHRcIlNLXCI6IFtcIkhcIl0sXG5cdFwiU0xcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJTTVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiU05cIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlNPXCI6IFtcImhcIiwgXCJIXCJdLFxuXHRcIlNSXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJTU1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlNUXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJTVlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIlNYXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiU1lcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJTWlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlRBXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiVENcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJURFwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiVEZcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlRHXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJUSFwiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCJUSlwiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCJUTFwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhcIlxuXHRdLFxuXHRcIlRNXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIlROXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiVE9cIjogW1wiaFwiLCBcIkhcIl0sXG5cdFwiVFJcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIlRUXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiVFdcIjogW1xuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJUWlwiOiBbXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhcIlxuXHRdLFxuXHRcIlVBXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJVR1wiOiBbXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhcIlxuXHRdLFxuXHRcIlVNXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiVVNcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJVWVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIlVaXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJWQVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiVkNcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJWRVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIlZHXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiVklcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJWTlwiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCJWVVwiOiBbXCJoXCIsIFwiSFwiXSxcblx0XCJXRlwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiV1NcIjogW1wiaFwiLCBcIkhcIl0sXG5cdFwiWEtcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhcIlxuXHRdLFxuXHRcIllFXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiWVRcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIlpBXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiWk1cIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJaV1wiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCJhZi1aQVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcImFyLTAwMVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcImNhLUVTXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJlbi0wMDFcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJlbi1IS1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcImVuLUlMXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiZW4tTVlcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJlcy1CUlwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcImVzLUVTXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiZXMtR1FcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJmci1DQVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiZ2wtRVNcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcImd1LUlOXCI6IFtcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiaGktSU5cIjogW1xuXHRcdFwiaEJcIixcblx0XHRcImhcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIml0LUNIXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJpdC1JVFwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwia24tSU5cIjogW1xuXHRcdFwiaEJcIixcblx0XHRcImhcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcImt1LVNZXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJtbC1JTlwiOiBbXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwibXItSU5cIjogW1xuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJwYS1JTlwiOiBbXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcInRhLUlOXCI6IFtcblx0XHRcImhCXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwidGUtSU5cIjogW1xuXHRcdFwiaEJcIixcblx0XHRcImhcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcInp1LVpBXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaFwiXG5cdF1cbn07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/time-data.generated.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js":
|
||
/*!******************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js ***!
|
||
\******************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SKELETON_TYPE: () => (/* binding */ SKELETON_TYPE),\n/* harmony export */ TYPE: () => (/* binding */ TYPE),\n/* harmony export */ createLiteralElement: () => (/* binding */ createLiteralElement),\n/* harmony export */ createNumberElement: () => (/* binding */ createNumberElement),\n/* harmony export */ isArgumentElement: () => (/* binding */ isArgumentElement),\n/* harmony export */ isDateElement: () => (/* binding */ isDateElement),\n/* harmony export */ isDateTimeSkeleton: () => (/* binding */ isDateTimeSkeleton),\n/* harmony export */ isLiteralElement: () => (/* binding */ isLiteralElement),\n/* harmony export */ isNumberElement: () => (/* binding */ isNumberElement),\n/* harmony export */ isNumberSkeleton: () => (/* binding */ isNumberSkeleton),\n/* harmony export */ isPluralElement: () => (/* binding */ isPluralElement),\n/* harmony export */ isPoundElement: () => (/* binding */ isPoundElement),\n/* harmony export */ isSelectElement: () => (/* binding */ isSelectElement),\n/* harmony export */ isTagElement: () => (/* binding */ isTagElement),\n/* harmony export */ isTimeElement: () => (/* binding */ isTimeElement)\n/* harmony export */ });\n/* harmony import */ var _formatjs_icu_skeleton_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @formatjs/icu-skeleton-parser */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/index.js\");\n\nlet TYPE = /* @__PURE__ */ function(TYPE) {\n\t/**\n\t* Raw text\n\t*/\n\tTYPE[TYPE[\"literal\"] = 0] = \"literal\";\n\t/**\n\t* Variable w/o any format, e.g `var` in `this is a {var}`\n\t*/\n\tTYPE[TYPE[\"argument\"] = 1] = \"argument\";\n\t/**\n\t* Variable w/ number format\n\t*/\n\tTYPE[TYPE[\"number\"] = 2] = \"number\";\n\t/**\n\t* Variable w/ date format\n\t*/\n\tTYPE[TYPE[\"date\"] = 3] = \"date\";\n\t/**\n\t* Variable w/ time format\n\t*/\n\tTYPE[TYPE[\"time\"] = 4] = \"time\";\n\t/**\n\t* Variable w/ select format\n\t*/\n\tTYPE[TYPE[\"select\"] = 5] = \"select\";\n\t/**\n\t* Variable w/ plural format\n\t*/\n\tTYPE[TYPE[\"plural\"] = 6] = \"plural\";\n\t/**\n\t* Only possible within plural argument.\n\t* This is the `#` symbol that will be substituted with the count.\n\t*/\n\tTYPE[TYPE[\"pound\"] = 7] = \"pound\";\n\t/**\n\t* XML-like tag\n\t*/\n\tTYPE[TYPE[\"tag\"] = 8] = \"tag\";\n\treturn TYPE;\n}({});\nlet SKELETON_TYPE = /* @__PURE__ */ function(SKELETON_TYPE) {\n\tSKELETON_TYPE[SKELETON_TYPE[\"number\"] = 0] = \"number\";\n\tSKELETON_TYPE[SKELETON_TYPE[\"dateTime\"] = 1] = \"dateTime\";\n\treturn SKELETON_TYPE;\n}({});\n/**\n* Type Guards\n*/\nfunction isLiteralElement(el) {\n\treturn el.type === TYPE.literal;\n}\nfunction isArgumentElement(el) {\n\treturn el.type === TYPE.argument;\n}\nfunction isNumberElement(el) {\n\treturn el.type === TYPE.number;\n}\nfunction isDateElement(el) {\n\treturn el.type === TYPE.date;\n}\nfunction isTimeElement(el) {\n\treturn el.type === TYPE.time;\n}\nfunction isSelectElement(el) {\n\treturn el.type === TYPE.select;\n}\nfunction isPluralElement(el) {\n\treturn el.type === TYPE.plural;\n}\nfunction isPoundElement(el) {\n\treturn el.type === TYPE.pound;\n}\nfunction isTagElement(el) {\n\treturn el.type === TYPE.tag;\n}\nfunction isNumberSkeleton(el) {\n\treturn !!(el && typeof el === \"object\" && el.type === SKELETON_TYPE.number);\n}\nfunction isDateTimeSkeleton(el) {\n\treturn !!(el && typeof el === \"object\" && el.type === SKELETON_TYPE.dateTime);\n}\nfunction createLiteralElement(value) {\n\treturn {\n\t\ttype: TYPE.literal,\n\t\tvalue\n\t};\n}\nfunction createNumberElement(value, style) {\n\treturn {\n\t\ttype: TYPE.number,\n\t\tvalue,\n\t\tstyle\n\t};\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyQDMuNS4zL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyL3R5cGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBdUM7QUFDaEM7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscURBQXFELElBQUk7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsR0FBRztBQUNHO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxHQUFHO0FBQ0o7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci90eXBlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJAZm9ybWF0anMvaWN1LXNrZWxldG9uLXBhcnNlclwiO1xuZXhwb3J0IGxldCBUWVBFID0gLyogQF9fUFVSRV9fICovIGZ1bmN0aW9uKFRZUEUpIHtcblx0LyoqXG5cdCogUmF3IHRleHRcblx0Ki9cblx0VFlQRVtUWVBFW1wibGl0ZXJhbFwiXSA9IDBdID0gXCJsaXRlcmFsXCI7XG5cdC8qKlxuXHQqIFZhcmlhYmxlIHcvbyBhbnkgZm9ybWF0LCBlLmcgYHZhcmAgaW4gYHRoaXMgaXMgYSB7dmFyfWBcblx0Ki9cblx0VFlQRVtUWVBFW1wiYXJndW1lbnRcIl0gPSAxXSA9IFwiYXJndW1lbnRcIjtcblx0LyoqXG5cdCogVmFyaWFibGUgdy8gbnVtYmVyIGZvcm1hdFxuXHQqL1xuXHRUWVBFW1RZUEVbXCJudW1iZXJcIl0gPSAyXSA9IFwibnVtYmVyXCI7XG5cdC8qKlxuXHQqIFZhcmlhYmxlIHcvIGRhdGUgZm9ybWF0XG5cdCovXG5cdFRZUEVbVFlQRVtcImRhdGVcIl0gPSAzXSA9IFwiZGF0ZVwiO1xuXHQvKipcblx0KiBWYXJpYWJsZSB3LyB0aW1lIGZvcm1hdFxuXHQqL1xuXHRUWVBFW1RZUEVbXCJ0aW1lXCJdID0gNF0gPSBcInRpbWVcIjtcblx0LyoqXG5cdCogVmFyaWFibGUgdy8gc2VsZWN0IGZvcm1hdFxuXHQqL1xuXHRUWVBFW1RZUEVbXCJzZWxlY3RcIl0gPSA1XSA9IFwic2VsZWN0XCI7XG5cdC8qKlxuXHQqIFZhcmlhYmxlIHcvIHBsdXJhbCBmb3JtYXRcblx0Ki9cblx0VFlQRVtUWVBFW1wicGx1cmFsXCJdID0gNl0gPSBcInBsdXJhbFwiO1xuXHQvKipcblx0KiBPbmx5IHBvc3NpYmxlIHdpdGhpbiBwbHVyYWwgYXJndW1lbnQuXG5cdCogVGhpcyBpcyB0aGUgYCNgIHN5bWJvbCB0aGF0IHdpbGwgYmUgc3Vic3RpdHV0ZWQgd2l0aCB0aGUgY291bnQuXG5cdCovXG5cdFRZUEVbVFlQRVtcInBvdW5kXCJdID0gN10gPSBcInBvdW5kXCI7XG5cdC8qKlxuXHQqIFhNTC1saWtlIHRhZ1xuXHQqL1xuXHRUWVBFW1RZUEVbXCJ0YWdcIl0gPSA4XSA9IFwidGFnXCI7XG5cdHJldHVybiBUWVBFO1xufSh7fSk7XG5leHBvcnQgbGV0IFNLRUxFVE9OX1RZUEUgPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oU0tFTEVUT05fVFlQRSkge1xuXHRTS0VMRVRPTl9UWVBFW1NLRUxFVE9OX1RZUEVbXCJudW1iZXJcIl0gPSAwXSA9IFwibnVtYmVyXCI7XG5cdFNLRUxFVE9OX1RZUEVbU0tFTEVUT05fVFlQRVtcImRhdGVUaW1lXCJdID0gMV0gPSBcImRhdGVUaW1lXCI7XG5cdHJldHVybiBTS0VMRVRPTl9UWVBFO1xufSh7fSk7XG4vKipcbiogVHlwZSBHdWFyZHNcbiovXG5leHBvcnQgZnVuY3Rpb24gaXNMaXRlcmFsRWxlbWVudChlbCkge1xuXHRyZXR1cm4gZWwudHlwZSA9PT0gVFlQRS5saXRlcmFsO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQXJndW1lbnRFbGVtZW50KGVsKSB7XG5cdHJldHVybiBlbC50eXBlID09PSBUWVBFLmFyZ3VtZW50O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyRWxlbWVudChlbCkge1xuXHRyZXR1cm4gZWwudHlwZSA9PT0gVFlQRS5udW1iZXI7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNEYXRlRWxlbWVudChlbCkge1xuXHRyZXR1cm4gZWwudHlwZSA9PT0gVFlQRS5kYXRlO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVGltZUVsZW1lbnQoZWwpIHtcblx0cmV0dXJuIGVsLnR5cGUgPT09IFRZUEUudGltZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1NlbGVjdEVsZW1lbnQoZWwpIHtcblx0cmV0dXJuIGVsLnR5cGUgPT09IFRZUEUuc2VsZWN0O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzUGx1cmFsRWxlbWVudChlbCkge1xuXHRyZXR1cm4gZWwudHlwZSA9PT0gVFlQRS5wbHVyYWw7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNQb3VuZEVsZW1lbnQoZWwpIHtcblx0cmV0dXJuIGVsLnR5cGUgPT09IFRZUEUucG91bmQ7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNUYWdFbGVtZW50KGVsKSB7XG5cdHJldHVybiBlbC50eXBlID09PSBUWVBFLnRhZztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc051bWJlclNrZWxldG9uKGVsKSB7XG5cdHJldHVybiAhIShlbCAmJiB0eXBlb2YgZWwgPT09IFwib2JqZWN0XCIgJiYgZWwudHlwZSA9PT0gU0tFTEVUT05fVFlQRS5udW1iZXIpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZVRpbWVTa2VsZXRvbihlbCkge1xuXHRyZXR1cm4gISEoZWwgJiYgdHlwZW9mIGVsID09PSBcIm9iamVjdFwiICYmIGVsLnR5cGUgPT09IFNLRUxFVE9OX1RZUEUuZGF0ZVRpbWUpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxpdGVyYWxFbGVtZW50KHZhbHVlKSB7XG5cdHJldHVybiB7XG5cdFx0dHlwZTogVFlQRS5saXRlcmFsLFxuXHRcdHZhbHVlXG5cdH07XG59XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTnVtYmVyRWxlbWVudCh2YWx1ZSwgc3R5bGUpIHtcblx0cmV0dXJuIHtcblx0XHR0eXBlOiBUWVBFLm51bWJlcixcblx0XHR2YWx1ZSxcblx0XHRzdHlsZVxuXHR9O1xufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/date-time.js":
|
||
/*!************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/date-time.js ***!
|
||
\************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseDateTimeSkeleton: () => (/* binding */ parseDateTimeSkeleton)\n/* harmony export */ });\n/**\n* https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n* Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n* with some tweaks\n*/\nconst DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n* Parse Date time skeleton into Intl.DateTimeFormatOptions\n* Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n* @public\n* @param skeleton skeleton string\n*/\nfunction parseDateTimeSkeleton(skeleton) {\n\tconst result = {};\n\tskeleton.replace(DATE_TIME_REGEX, (match) => {\n\t\tconst len = match.length;\n\t\tswitch (match[0]) {\n\t\t\tcase \"G\":\n\t\t\t\tresult.era = len === 4 ? \"long\" : len === 5 ? \"narrow\" : \"short\";\n\t\t\t\tbreak;\n\t\t\tcase \"y\":\n\t\t\t\tresult.year = len === 2 ? \"2-digit\" : \"numeric\";\n\t\t\t\tbreak;\n\t\t\tcase \"Y\":\n\t\t\tcase \"u\":\n\t\t\tcase \"U\":\n\t\t\tcase \"r\": throw new RangeError(\"`Y/u/U/r` (year) patterns are not supported, use `y` instead\");\n\t\t\tcase \"q\":\n\t\t\tcase \"Q\": throw new RangeError(\"`q/Q` (quarter) patterns are not supported\");\n\t\t\tcase \"M\":\n\t\t\tcase \"L\":\n\t\t\t\tresult.month = [\n\t\t\t\t\t\"numeric\",\n\t\t\t\t\t\"2-digit\",\n\t\t\t\t\t\"short\",\n\t\t\t\t\t\"long\",\n\t\t\t\t\t\"narrow\"\n\t\t\t\t][len - 1];\n\t\t\t\tbreak;\n\t\t\tcase \"w\":\n\t\t\tcase \"W\": throw new RangeError(\"`w/W` (week) patterns are not supported\");\n\t\t\tcase \"d\":\n\t\t\t\tresult.day = [\"numeric\", \"2-digit\"][len - 1];\n\t\t\t\tbreak;\n\t\t\tcase \"D\":\n\t\t\tcase \"F\":\n\t\t\tcase \"g\": throw new RangeError(\"`D/F/g` (day) patterns are not supported, use `d` instead\");\n\t\t\tcase \"E\":\n\t\t\t\tresult.weekday = len === 4 ? \"long\" : len === 5 ? \"narrow\" : \"short\";\n\t\t\t\tbreak;\n\t\t\tcase \"e\":\n\t\t\t\tif (len < 4) {\n\t\t\t\t\tthrow new RangeError(\"`e..eee` (weekday) patterns are not supported\");\n\t\t\t\t}\n\t\t\t\tresult.weekday = [\n\t\t\t\t\t\"short\",\n\t\t\t\t\t\"long\",\n\t\t\t\t\t\"narrow\",\n\t\t\t\t\t\"short\"\n\t\t\t\t][len - 4];\n\t\t\t\tbreak;\n\t\t\tcase \"c\":\n\t\t\t\tif (len < 4) {\n\t\t\t\t\tthrow new RangeError(\"`c..ccc` (weekday) patterns are not supported\");\n\t\t\t\t}\n\t\t\t\tresult.weekday = [\n\t\t\t\t\t\"short\",\n\t\t\t\t\t\"long\",\n\t\t\t\t\t\"narrow\",\n\t\t\t\t\t\"short\"\n\t\t\t\t][len - 4];\n\t\t\t\tbreak;\n\t\t\tcase \"a\":\n\t\t\t\tresult.hour12 = true;\n\t\t\t\tbreak;\n\t\t\tcase \"b\":\n\t\t\tcase \"B\": throw new RangeError(\"`b/B` (period) patterns are not supported, use `a` instead\");\n\t\t\tcase \"h\":\n\t\t\t\tresult.hourCycle = \"h12\";\n\t\t\t\tresult.hour = [\"numeric\", \"2-digit\"][len - 1];\n\t\t\t\tbreak;\n\t\t\tcase \"H\":\n\t\t\t\tresult.hourCycle = \"h23\";\n\t\t\t\tresult.hour = [\"numeric\", \"2-digit\"][len - 1];\n\t\t\t\tbreak;\n\t\t\tcase \"K\":\n\t\t\t\tresult.hourCycle = \"h11\";\n\t\t\t\tresult.hour = [\"numeric\", \"2-digit\"][len - 1];\n\t\t\t\tbreak;\n\t\t\tcase \"k\":\n\t\t\t\tresult.hourCycle = \"h24\";\n\t\t\t\tresult.hour = [\"numeric\", \"2-digit\"][len - 1];\n\t\t\t\tbreak;\n\t\t\tcase \"j\":\n\t\t\tcase \"J\":\n\t\t\tcase \"C\": throw new RangeError(\"`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead\");\n\t\t\tcase \"m\":\n\t\t\t\tresult.minute = [\"numeric\", \"2-digit\"][len - 1];\n\t\t\t\tbreak;\n\t\t\tcase \"s\":\n\t\t\t\tresult.second = [\"numeric\", \"2-digit\"][len - 1];\n\t\t\t\tbreak;\n\t\t\tcase \"S\":\n\t\t\tcase \"A\": throw new RangeError(\"`S/A` (second) patterns are not supported, use `s` instead\");\n\t\t\tcase \"z\":\n\t\t\t\tresult.timeZoneName = len < 4 ? \"short\" : \"long\";\n\t\t\t\tbreak;\n\t\t\tcase \"Z\":\n\t\t\tcase \"O\":\n\t\t\tcase \"v\":\n\t\t\tcase \"V\":\n\t\t\tcase \"X\":\n\t\t\tcase \"x\": throw new RangeError(\"`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead\");\n\t\t}\n\t\treturn \"\";\n\t});\n\treturn result;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LXNrZWxldG9uLXBhcnNlckAyLjEuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1za2VsZXRvbi1wYXJzZXIvZGF0ZS10aW1lLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLElBQUksR0FBRyxJQUFJLE1BQU0sSUFBSSxjQUFjLElBQUksT0FBTyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxFQUFFLE9BQU8sSUFBSSxRQUFRLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLFdBQVcsSUFBSTtBQUN2SztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0Bmb3JtYXRqcytpY3Utc2tlbGV0b24tcGFyc2VyQDIuMS4zL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaWN1LXNrZWxldG9uLXBhcnNlci9kYXRlLXRpbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4qIGh0dHBzOi8vdW5pY29kZS5vcmcvcmVwb3J0cy90cjM1L3RyMzUtZGF0ZXMuaHRtbCNEYXRlX0ZpZWxkX1N5bWJvbF9UYWJsZVxuKiBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9jYXJpZHkvaW50bC1kYXRldGltZWZvcm1hdC1wYXR0ZXJuL2Jsb2IvbWFzdGVyL2luZGV4LmpzXG4qIHdpdGggc29tZSB0d2Vha3NcbiovXG5jb25zdCBEQVRFX1RJTUVfUkVHRVggPSAvKD86W0VlY117MSw2fXxHezEsNX18W1FxXXsxLDV9fCg/Olt5WXVyXSt8VXsxLDV9KXxbTUxdezEsNX18ZHsxLDJ9fER7MSwzfXxGezF9fFthYkJdezEsNX18W2hrSEtdezEsMn18d3sxLDJ9fFd7MX18bXsxLDJ9fHN7MSwyfXxbelpPdlZ4WF17MSw0fSkoPz0oW14nXSonW14nXSonKSpbXiddKiQpL2c7XG4vKipcbiogUGFyc2UgRGF0ZSB0aW1lIHNrZWxldG9uIGludG8gSW50bC5EYXRlVGltZUZvcm1hdE9wdGlvbnNcbiogUmVmOiBodHRwczovL3VuaWNvZGUub3JnL3JlcG9ydHMvdHIzNS90cjM1LWRhdGVzLmh0bWwjRGF0ZV9GaWVsZF9TeW1ib2xfVGFibGVcbiogQHB1YmxpY1xuKiBAcGFyYW0gc2tlbGV0b24gc2tlbGV0b24gc3RyaW5nXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRGF0ZVRpbWVTa2VsZXRvbihza2VsZXRvbikge1xuXHRjb25zdCByZXN1bHQgPSB7fTtcblx0c2tlbGV0b24ucmVwbGFjZShEQVRFX1RJTUVfUkVHRVgsIChtYXRjaCkgPT4ge1xuXHRcdGNvbnN0IGxlbiA9IG1hdGNoLmxlbmd0aDtcblx0XHRzd2l0Y2ggKG1hdGNoWzBdKSB7XG5cdFx0XHRjYXNlIFwiR1wiOlxuXHRcdFx0XHRyZXN1bHQuZXJhID0gbGVuID09PSA0ID8gXCJsb25nXCIgOiBsZW4gPT09IDUgPyBcIm5hcnJvd1wiIDogXCJzaG9ydFwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJ5XCI6XG5cdFx0XHRcdHJlc3VsdC55ZWFyID0gbGVuID09PSAyID8gXCIyLWRpZ2l0XCIgOiBcIm51bWVyaWNcIjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiWVwiOlxuXHRcdFx0Y2FzZSBcInVcIjpcblx0XHRcdGNhc2UgXCJVXCI6XG5cdFx0XHRjYXNlIFwiclwiOiB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcImBZL3UvVS9yYCAoeWVhcikgcGF0dGVybnMgYXJlIG5vdCBzdXBwb3J0ZWQsIHVzZSBgeWAgaW5zdGVhZFwiKTtcblx0XHRcdGNhc2UgXCJxXCI6XG5cdFx0XHRjYXNlIFwiUVwiOiB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcImBxL1FgIChxdWFydGVyKSBwYXR0ZXJucyBhcmUgbm90IHN1cHBvcnRlZFwiKTtcblx0XHRcdGNhc2UgXCJNXCI6XG5cdFx0XHRjYXNlIFwiTFwiOlxuXHRcdFx0XHRyZXN1bHQubW9udGggPSBbXG5cdFx0XHRcdFx0XCJudW1lcmljXCIsXG5cdFx0XHRcdFx0XCIyLWRpZ2l0XCIsXG5cdFx0XHRcdFx0XCJzaG9ydFwiLFxuXHRcdFx0XHRcdFwibG9uZ1wiLFxuXHRcdFx0XHRcdFwibmFycm93XCJcblx0XHRcdFx0XVtsZW4gLSAxXTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwid1wiOlxuXHRcdFx0Y2FzZSBcIldcIjogdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJgdy9XYCAod2VlaykgcGF0dGVybnMgYXJlIG5vdCBzdXBwb3J0ZWRcIik7XG5cdFx0XHRjYXNlIFwiZFwiOlxuXHRcdFx0XHRyZXN1bHQuZGF5ID0gW1wibnVtZXJpY1wiLCBcIjItZGlnaXRcIl1bbGVuIC0gMV07XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcIkRcIjpcblx0XHRcdGNhc2UgXCJGXCI6XG5cdFx0XHRjYXNlIFwiZ1wiOiB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcImBEL0YvZ2AgKGRheSkgcGF0dGVybnMgYXJlIG5vdCBzdXBwb3J0ZWQsIHVzZSBgZGAgaW5zdGVhZFwiKTtcblx0XHRcdGNhc2UgXCJFXCI6XG5cdFx0XHRcdHJlc3VsdC53ZWVrZGF5ID0gbGVuID09PSA0ID8gXCJsb25nXCIgOiBsZW4gPT09IDUgPyBcIm5hcnJvd1wiIDogXCJzaG9ydFwiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJlXCI6XG5cdFx0XHRcdGlmIChsZW4gPCA0KSB7XG5cdFx0XHRcdFx0dGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJgZS4uZWVlYCAod2Vla2RheSkgcGF0dGVybnMgYXJlIG5vdCBzdXBwb3J0ZWRcIik7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmVzdWx0LndlZWtkYXkgPSBbXG5cdFx0XHRcdFx0XCJzaG9ydFwiLFxuXHRcdFx0XHRcdFwibG9uZ1wiLFxuXHRcdFx0XHRcdFwibmFycm93XCIsXG5cdFx0XHRcdFx0XCJzaG9ydFwiXG5cdFx0XHRcdF1bbGVuIC0gNF07XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcImNcIjpcblx0XHRcdFx0aWYgKGxlbiA8IDQpIHtcblx0XHRcdFx0XHR0aHJvdyBuZXcgUmFuZ2VFcnJvcihcImBjLi5jY2NgICh3ZWVrZGF5KSBwYXR0ZXJucyBhcmUgbm90IHN1cHBvcnRlZFwiKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXN1bHQud2Vla2RheSA9IFtcblx0XHRcdFx0XHRcInNob3J0XCIsXG5cdFx0XHRcdFx0XCJsb25nXCIsXG5cdFx0XHRcdFx0XCJuYXJyb3dcIixcblx0XHRcdFx0XHRcInNob3J0XCJcblx0XHRcdFx0XVtsZW4gLSA0XTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiYVwiOlxuXHRcdFx0XHRyZXN1bHQuaG91cjEyID0gdHJ1ZTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwiYlwiOlxuXHRcdFx0Y2FzZSBcIkJcIjogdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJgYi9CYCAocGVyaW9kKSBwYXR0ZXJucyBhcmUgbm90IHN1cHBvcnRlZCwgdXNlIGBhYCBpbnN0ZWFkXCIpO1xuXHRcdFx0Y2FzZSBcImhcIjpcblx0XHRcdFx0cmVzdWx0LmhvdXJDeWNsZSA9IFwiaDEyXCI7XG5cdFx0XHRcdHJlc3VsdC5ob3VyID0gW1wibnVtZXJpY1wiLCBcIjItZGlnaXRcIl1bbGVuIC0gMV07XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcIkhcIjpcblx0XHRcdFx0cmVzdWx0LmhvdXJDeWNsZSA9IFwiaDIzXCI7XG5cdFx0XHRcdHJlc3VsdC5ob3VyID0gW1wibnVtZXJpY1wiLCBcIjItZGlnaXRcIl1bbGVuIC0gMV07XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcIktcIjpcblx0XHRcdFx0cmVzdWx0LmhvdXJDeWNsZSA9IFwiaDExXCI7XG5cdFx0XHRcdHJlc3VsdC5ob3VyID0gW1wibnVtZXJpY1wiLCBcIjItZGlnaXRcIl1bbGVuIC0gMV07XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcImtcIjpcblx0XHRcdFx0cmVzdWx0LmhvdXJDeWNsZSA9IFwiaDI0XCI7XG5cdFx0XHRcdHJlc3VsdC5ob3VyID0gW1wibnVtZXJpY1wiLCBcIjItZGlnaXRcIl1bbGVuIC0gMV07XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcImpcIjpcblx0XHRcdGNhc2UgXCJKXCI6XG5cdFx0XHRjYXNlIFwiQ1wiOiB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcImBqL0ovQ2AgKGhvdXIpIHBhdHRlcm5zIGFyZSBub3Qgc3VwcG9ydGVkLCB1c2UgYGgvSC9LL2tgIGluc3RlYWRcIik7XG5cdFx0XHRjYXNlIFwibVwiOlxuXHRcdFx0XHRyZXN1bHQubWludXRlID0gW1wibnVtZXJpY1wiLCBcIjItZGlnaXRcIl1bbGVuIC0gMV07XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBcInNcIjpcblx0XHRcdFx0cmVzdWx0LnNlY29uZCA9IFtcIm51bWVyaWNcIiwgXCIyLWRpZ2l0XCJdW2xlbiAtIDFdO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJTXCI6XG5cdFx0XHRjYXNlIFwiQVwiOiB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcImBTL0FgIChzZWNvbmQpIHBhdHRlcm5zIGFyZSBub3Qgc3VwcG9ydGVkLCB1c2UgYHNgIGluc3RlYWRcIik7XG5cdFx0XHRjYXNlIFwielwiOlxuXHRcdFx0XHRyZXN1bHQudGltZVpvbmVOYW1lID0gbGVuIDwgNCA/IFwic2hvcnRcIiA6IFwibG9uZ1wiO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJaXCI6XG5cdFx0XHRjYXNlIFwiT1wiOlxuXHRcdFx0Y2FzZSBcInZcIjpcblx0XHRcdGNhc2UgXCJWXCI6XG5cdFx0XHRjYXNlIFwiWFwiOlxuXHRcdFx0Y2FzZSBcInhcIjogdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJgWi9PL3YvVi9YL3hgICh0aW1lWm9uZSkgcGF0dGVybnMgYXJlIG5vdCBzdXBwb3J0ZWQsIHVzZSBgemAgaW5zdGVhZFwiKTtcblx0XHR9XG5cdFx0cmV0dXJuIFwiXCI7XG5cdH0pO1xuXHRyZXR1cm4gcmVzdWx0O1xufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/date-time.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/index.js":
|
||
/*!********************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/index.js ***!
|
||
\********************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseDateTimeSkeleton: () => (/* reexport safe */ _date_time_js__WEBPACK_IMPORTED_MODULE_0__.parseDateTimeSkeleton),\n/* harmony export */ parseNumberSkeleton: () => (/* reexport safe */ _number_js__WEBPACK_IMPORTED_MODULE_1__.parseNumberSkeleton),\n/* harmony export */ parseNumberSkeletonFromString: () => (/* reexport safe */ _number_js__WEBPACK_IMPORTED_MODULE_1__.parseNumberSkeletonFromString)\n/* harmony export */ });\n/* harmony import */ var _date_time_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./date-time.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/date-time.js\");\n/* harmony import */ var _number_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./number.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/number.js\");\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LXNrZWxldG9uLXBhcnNlckAyLjEuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1za2VsZXRvbi1wYXJzZXIvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBK0I7QUFDSCIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LXNrZWxldG9uLXBhcnNlckAyLjEuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1za2VsZXRvbi1wYXJzZXIvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZGF0ZS10aW1lLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9udW1iZXIuanNcIjtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/index.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/number.js":
|
||
/*!*********************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/number.js ***!
|
||
\*********************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseNumberSkeleton: () => (/* binding */ parseNumberSkeleton),\n/* harmony export */ parseNumberSkeletonFromString: () => (/* binding */ parseNumberSkeletonFromString)\n/* harmony export */ });\n/* harmony import */ var _regex_generated_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./regex.generated.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/regex.generated.js\");\n\nfunction parseNumberSkeletonFromString(skeleton) {\n\tif (skeleton.length === 0) {\n\t\tthrow new Error(\"Number skeleton cannot be empty\");\n\t}\n\t// Parse the skeleton\n\tconst stringTokens = skeleton.split(_regex_generated_js__WEBPACK_IMPORTED_MODULE_0__.WHITE_SPACE_REGEX).filter((x) => x.length > 0);\n\tconst tokens = [];\n\tfor (const stringToken of stringTokens) {\n\t\tlet stemAndOptions = stringToken.split(\"/\");\n\t\tif (stemAndOptions.length === 0) {\n\t\t\tthrow new Error(\"Invalid number skeleton\");\n\t\t}\n\t\tconst [stem, ...options] = stemAndOptions;\n\t\tfor (const option of options) {\n\t\t\tif (option.length === 0) {\n\t\t\t\tthrow new Error(\"Invalid number skeleton\");\n\t\t\t}\n\t\t}\n\t\ttokens.push({\n\t\t\tstem,\n\t\t\toptions\n\t\t});\n\t}\n\treturn tokens;\n}\nfunction icuUnitToEcma(unit) {\n\treturn unit.replace(/^(.*?)-/, \"\");\n}\nconst FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g;\nconst SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?[rs]?$/g;\nconst INTEGER_WIDTH_REGEX = /(\\*)(0+)|(#+)(0+)|(0+)/g;\nconst CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/;\nfunction parseSignificantPrecision(str) {\n\tconst result = {};\n\tif (str[str.length - 1] === \"r\") {\n\t\tresult.roundingPriority = \"morePrecision\";\n\t} else if (str[str.length - 1] === \"s\") {\n\t\tresult.roundingPriority = \"lessPrecision\";\n\t}\n\tstr.replace(SIGNIFICANT_PRECISION_REGEX, function(_, g1, g2) {\n\t\t// @@@ case\n\t\tif (typeof g2 !== \"string\") {\n\t\t\tresult.minimumSignificantDigits = g1.length;\n\t\t\tresult.maximumSignificantDigits = g1.length;\n\t\t} else if (g2 === \"+\") {\n\t\t\tresult.minimumSignificantDigits = g1.length;\n\t\t} else if (g1[0] === \"#\") {\n\t\t\tresult.maximumSignificantDigits = g1.length;\n\t\t} else {\n\t\t\tresult.minimumSignificantDigits = g1.length;\n\t\t\tresult.maximumSignificantDigits = g1.length + (typeof g2 === \"string\" ? g2.length : 0);\n\t\t}\n\t\treturn \"\";\n\t});\n\treturn result;\n}\nfunction parseSign(str) {\n\tswitch (str) {\n\t\tcase \"sign-auto\": return { signDisplay: \"auto\" };\n\t\tcase \"sign-accounting\":\n\t\tcase \"()\": return { currencySign: \"accounting\" };\n\t\tcase \"sign-always\":\n\t\tcase \"+!\": return { signDisplay: \"always\" };\n\t\tcase \"sign-accounting-always\":\n\t\tcase \"()!\": return {\n\t\t\tsignDisplay: \"always\",\n\t\t\tcurrencySign: \"accounting\"\n\t\t};\n\t\tcase \"sign-except-zero\":\n\t\tcase \"+?\": return { signDisplay: \"exceptZero\" };\n\t\tcase \"sign-accounting-except-zero\":\n\t\tcase \"()?\": return {\n\t\t\tsignDisplay: \"exceptZero\",\n\t\t\tcurrencySign: \"accounting\"\n\t\t};\n\t\tcase \"sign-never\":\n\t\tcase \"+_\": return { signDisplay: \"never\" };\n\t}\n}\nfunction parseConciseScientificAndEngineeringStem(stem) {\n\t// Engineering\n\tlet result;\n\tif (stem[0] === \"E\" && stem[1] === \"E\") {\n\t\tresult = { notation: \"engineering\" };\n\t\tstem = stem.slice(2);\n\t} else if (stem[0] === \"E\") {\n\t\tresult = { notation: \"scientific\" };\n\t\tstem = stem.slice(1);\n\t}\n\tif (result) {\n\t\tconst signDisplay = stem.slice(0, 2);\n\t\tif (signDisplay === \"+!\") {\n\t\t\tresult.signDisplay = \"always\";\n\t\t\tstem = stem.slice(2);\n\t\t} else if (signDisplay === \"+?\") {\n\t\t\tresult.signDisplay = \"exceptZero\";\n\t\t\tstem = stem.slice(2);\n\t\t}\n\t\tif (!CONCISE_INTEGER_WIDTH_REGEX.test(stem)) {\n\t\t\tthrow new Error(\"Malformed concise eng/scientific notation\");\n\t\t}\n\t\tresult.minimumIntegerDigits = stem.length;\n\t}\n\treturn result;\n}\nfunction parseNotationOptions(opt) {\n\tconst result = {};\n\tconst signOpts = parseSign(opt);\n\tif (signOpts) {\n\t\treturn signOpts;\n\t}\n\treturn result;\n}\n/**\n* https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n*/\nfunction parseNumberSkeleton(tokens) {\n\tlet result = {};\n\tfor (const token of tokens) {\n\t\tswitch (token.stem) {\n\t\t\tcase \"percent\":\n\t\t\tcase \"%\":\n\t\t\t\tresult.style = \"percent\";\n\t\t\t\tcontinue;\n\t\t\tcase \"%x100\":\n\t\t\t\tresult.style = \"percent\";\n\t\t\t\tresult.scale = 100;\n\t\t\t\tcontinue;\n\t\t\tcase \"currency\":\n\t\t\t\tresult.style = \"currency\";\n\t\t\t\tresult.currency = token.options[0];\n\t\t\t\tcontinue;\n\t\t\tcase \"group-off\":\n\t\t\tcase \",_\":\n\t\t\t\tresult.useGrouping = false;\n\t\t\t\tcontinue;\n\t\t\tcase \"precision-integer\":\n\t\t\tcase \".\":\n\t\t\t\tresult.maximumFractionDigits = 0;\n\t\t\t\tcontinue;\n\t\t\tcase \"measure-unit\":\n\t\t\tcase \"unit\":\n\t\t\t\tresult.style = \"unit\";\n\t\t\t\tresult.unit = icuUnitToEcma(token.options[0]);\n\t\t\t\tcontinue;\n\t\t\tcase \"compact-short\":\n\t\t\tcase \"K\":\n\t\t\t\tresult.notation = \"compact\";\n\t\t\t\tresult.compactDisplay = \"short\";\n\t\t\t\tcontinue;\n\t\t\tcase \"compact-long\":\n\t\t\tcase \"KK\":\n\t\t\t\tresult.notation = \"compact\";\n\t\t\t\tresult.compactDisplay = \"long\";\n\t\t\t\tcontinue;\n\t\t\tcase \"scientific\":\n\t\t\t\tresult = {\n\t\t\t\t\t...result,\n\t\t\t\t\tnotation: \"scientific\",\n\t\t\t\t\t...token.options.reduce((all, opt) => ({\n\t\t\t\t\t\t...all,\n\t\t\t\t\t\t...parseNotationOptions(opt)\n\t\t\t\t\t}), {})\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\tcase \"engineering\":\n\t\t\t\tresult = {\n\t\t\t\t\t...result,\n\t\t\t\t\tnotation: \"engineering\",\n\t\t\t\t\t...token.options.reduce((all, opt) => ({\n\t\t\t\t\t\t...all,\n\t\t\t\t\t\t...parseNotationOptions(opt)\n\t\t\t\t\t}), {})\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\tcase \"notation-simple\":\n\t\t\t\tresult.notation = \"standard\";\n\t\t\t\tcontinue;\n\t\t\tcase \"unit-width-narrow\":\n\t\t\t\tresult.currencyDisplay = \"narrowSymbol\";\n\t\t\t\tresult.unitDisplay = \"narrow\";\n\t\t\t\tcontinue;\n\t\t\tcase \"unit-width-short\":\n\t\t\t\tresult.currencyDisplay = \"code\";\n\t\t\t\tresult.unitDisplay = \"short\";\n\t\t\t\tcontinue;\n\t\t\tcase \"unit-width-full-name\":\n\t\t\t\tresult.currencyDisplay = \"name\";\n\t\t\t\tresult.unitDisplay = \"long\";\n\t\t\t\tcontinue;\n\t\t\tcase \"unit-width-iso-code\":\n\t\t\t\tresult.currencyDisplay = \"symbol\";\n\t\t\t\tcontinue;\n\t\t\tcase \"scale\":\n\t\t\t\tresult.scale = parseFloat(token.options[0]);\n\t\t\t\tcontinue;\n\t\t\tcase \"rounding-mode-floor\":\n\t\t\t\tresult.roundingMode = \"floor\";\n\t\t\t\tcontinue;\n\t\t\tcase \"rounding-mode-ceiling\":\n\t\t\t\tresult.roundingMode = \"ceil\";\n\t\t\t\tcontinue;\n\t\t\tcase \"rounding-mode-down\":\n\t\t\t\tresult.roundingMode = \"trunc\";\n\t\t\t\tcontinue;\n\t\t\tcase \"rounding-mode-up\":\n\t\t\t\tresult.roundingMode = \"expand\";\n\t\t\t\tcontinue;\n\t\t\tcase \"rounding-mode-half-even\":\n\t\t\t\tresult.roundingMode = \"halfEven\";\n\t\t\t\tcontinue;\n\t\t\tcase \"rounding-mode-half-down\":\n\t\t\t\tresult.roundingMode = \"halfTrunc\";\n\t\t\t\tcontinue;\n\t\t\tcase \"rounding-mode-half-up\":\n\t\t\t\tresult.roundingMode = \"halfExpand\";\n\t\t\t\tcontinue;\n\t\t\tcase \"integer-width\":\n\t\t\t\tif (token.options.length > 1) {\n\t\t\t\t\tthrow new RangeError(\"integer-width stems only accept a single optional option\");\n\t\t\t\t}\n\t\t\t\ttoken.options[0].replace(INTEGER_WIDTH_REGEX, function(_, g1, g2, g3, g4, g5) {\n\t\t\t\t\tif (g1) {\n\t\t\t\t\t\tresult.minimumIntegerDigits = g2.length;\n\t\t\t\t\t} else if (g3 && g4) {\n\t\t\t\t\t\tthrow new Error(\"We currently do not support maximum integer digits\");\n\t\t\t\t\t} else if (g5) {\n\t\t\t\t\t\tthrow new Error(\"We currently do not support exact integer digits\");\n\t\t\t\t\t}\n\t\t\t\t\treturn \"\";\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t}\n\t\t// https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n\t\tif (CONCISE_INTEGER_WIDTH_REGEX.test(token.stem)) {\n\t\t\tresult.minimumIntegerDigits = token.stem.length;\n\t\t\tcontinue;\n\t\t}\n\t\tif (FRACTION_PRECISION_REGEX.test(token.stem)) {\n\t\t\t// Precision\n\t\t\t// https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#fraction-precision\n\t\t\t// precision-integer case\n\t\t\tif (token.options.length > 1) {\n\t\t\t\tthrow new RangeError(\"Fraction-precision stems only accept a single optional option\");\n\t\t\t}\n\t\t\ttoken.stem.replace(FRACTION_PRECISION_REGEX, function(_, g1, g2, g3, g4, g5) {\n\t\t\t\t// .000* case (before ICU67 it was .000+)\n\t\t\t\tif (g2 === \"*\") {\n\t\t\t\t\tresult.minimumFractionDigits = g1.length;\n\t\t\t\t} else if (g3 && g3[0] === \"#\") {\n\t\t\t\t\tresult.maximumFractionDigits = g3.length;\n\t\t\t\t} else if (g4 && g5) {\n\t\t\t\t\tresult.minimumFractionDigits = g4.length;\n\t\t\t\t\tresult.maximumFractionDigits = g4.length + g5.length;\n\t\t\t\t} else {\n\t\t\t\t\tresult.minimumFractionDigits = g1.length;\n\t\t\t\t\tresult.maximumFractionDigits = g1.length;\n\t\t\t\t}\n\t\t\t\treturn \"\";\n\t\t\t});\n\t\t\tconst opt = token.options[0];\n\t\t\t// https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display\n\t\t\tif (opt === \"w\") {\n\t\t\t\tresult = {\n\t\t\t\t\t...result,\n\t\t\t\t\ttrailingZeroDisplay: \"stripIfInteger\"\n\t\t\t\t};\n\t\t\t} else if (opt) {\n\t\t\t\tresult = {\n\t\t\t\t\t...result,\n\t\t\t\t\t...parseSignificantPrecision(opt)\n\t\t\t\t};\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\t// https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision\n\t\tif (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n\t\t\tresult = {\n\t\t\t\t...result,\n\t\t\t\t...parseSignificantPrecision(token.stem)\n\t\t\t};\n\t\t\tcontinue;\n\t\t}\n\t\tconst signOpts = parseSign(token.stem);\n\t\tif (signOpts) {\n\t\t\tresult = {\n\t\t\t\t...result,\n\t\t\t\t...signOpts\n\t\t\t};\n\t\t}\n\t\tconst conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem);\n\t\tif (conciseScientificAndEngineeringOpts) {\n\t\t\tresult = {\n\t\t\t\t...result,\n\t\t\t\t...conciseScientificAndEngineeringOpts\n\t\t\t};\n\t\t}\n\t}\n\treturn result;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LXNrZWxldG9uLXBhcnNlckAyLjEuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1za2VsZXRvbi1wYXJzZXIvbnVtYmVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUF5RDtBQUNsRDtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLGtFQUFpQjtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLEdBQUc7QUFDSCxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLEtBQUs7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLEtBQUs7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1za2VsZXRvbi1wYXJzZXJAMi4xLjMvbm9kZV9tb2R1bGVzL0Bmb3JtYXRqcy9pY3Utc2tlbGV0b24tcGFyc2VyL251bWJlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXSElURV9TUEFDRV9SRUdFWCB9IGZyb20gXCIuL3JlZ2V4LmdlbmVyYXRlZC5qc1wiO1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTnVtYmVyU2tlbGV0b25Gcm9tU3RyaW5nKHNrZWxldG9uKSB7XG5cdGlmIChza2VsZXRvbi5sZW5ndGggPT09IDApIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJOdW1iZXIgc2tlbGV0b24gY2Fubm90IGJlIGVtcHR5XCIpO1xuXHR9XG5cdC8vIFBhcnNlIHRoZSBza2VsZXRvblxuXHRjb25zdCBzdHJpbmdUb2tlbnMgPSBza2VsZXRvbi5zcGxpdChXSElURV9TUEFDRV9SRUdFWCkuZmlsdGVyKCh4KSA9PiB4Lmxlbmd0aCA+IDApO1xuXHRjb25zdCB0b2tlbnMgPSBbXTtcblx0Zm9yIChjb25zdCBzdHJpbmdUb2tlbiBvZiBzdHJpbmdUb2tlbnMpIHtcblx0XHRsZXQgc3RlbUFuZE9wdGlvbnMgPSBzdHJpbmdUb2tlbi5zcGxpdChcIi9cIik7XG5cdFx0aWYgKHN0ZW1BbmRPcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBudW1iZXIgc2tlbGV0b25cIik7XG5cdFx0fVxuXHRcdGNvbnN0IFtzdGVtLCAuLi5vcHRpb25zXSA9IHN0ZW1BbmRPcHRpb25zO1xuXHRcdGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcblx0XHRcdGlmIChvcHRpb24ubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRcdHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgbnVtYmVyIHNrZWxldG9uXCIpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHR0b2tlbnMucHVzaCh7XG5cdFx0XHRzdGVtLFxuXHRcdFx0b3B0aW9uc1xuXHRcdH0pO1xuXHR9XG5cdHJldHVybiB0b2tlbnM7XG59XG5mdW5jdGlvbiBpY3VVbml0VG9FY21hKHVuaXQpIHtcblx0cmV0dXJuIHVuaXQucmVwbGFjZSgvXiguKj8pLS8sIFwiXCIpO1xufVxuY29uc3QgRlJBQ1RJT05fUFJFQ0lTSU9OX1JFR0VYID0gL15cXC4oPzooMCspKFxcKik/fCgjKyl8KDArKSgjKykpJC9nO1xuY29uc3QgU0lHTklGSUNBTlRfUFJFQ0lTSU9OX1JFR0VYID0gL14oQCspPyhcXCt8IyspP1tyc10/JC9nO1xuY29uc3QgSU5URUdFUl9XSURUSF9SRUdFWCA9IC8oXFwqKSgwKyl8KCMrKSgwKyl8KDArKS9nO1xuY29uc3QgQ09OQ0lTRV9JTlRFR0VSX1dJRFRIX1JFR0VYID0gL14oMCspJC87XG5mdW5jdGlvbiBwYXJzZVNpZ25pZmljYW50UHJlY2lzaW9uKHN0cikge1xuXHRjb25zdCByZXN1bHQgPSB7fTtcblx0aWYgKHN0cltzdHIubGVuZ3RoIC0gMV0gPT09IFwiclwiKSB7XG5cdFx0cmVzdWx0LnJvdW5kaW5nUHJpb3JpdHkgPSBcIm1vcmVQcmVjaXNpb25cIjtcblx0fSBlbHNlIGlmIChzdHJbc3RyLmxlbmd0aCAtIDFdID09PSBcInNcIikge1xuXHRcdHJlc3VsdC5yb3VuZGluZ1ByaW9yaXR5ID0gXCJsZXNzUHJlY2lzaW9uXCI7XG5cdH1cblx0c3RyLnJlcGxhY2UoU0lHTklGSUNBTlRfUFJFQ0lTSU9OX1JFR0VYLCBmdW5jdGlvbihfLCBnMSwgZzIpIHtcblx0XHQvLyBAQEAgY2FzZVxuXHRcdGlmICh0eXBlb2YgZzIgIT09IFwic3RyaW5nXCIpIHtcblx0XHRcdHJlc3VsdC5taW5pbXVtU2lnbmlmaWNhbnREaWdpdHMgPSBnMS5sZW5ndGg7XG5cdFx0XHRyZXN1bHQubWF4aW11bVNpZ25pZmljYW50RGlnaXRzID0gZzEubGVuZ3RoO1xuXHRcdH0gZWxzZSBpZiAoZzIgPT09IFwiK1wiKSB7XG5cdFx0XHRyZXN1bHQubWluaW11bVNpZ25pZmljYW50RGlnaXRzID0gZzEubGVuZ3RoO1xuXHRcdH0gZWxzZSBpZiAoZzFbMF0gPT09IFwiI1wiKSB7XG5cdFx0XHRyZXN1bHQubWF4aW11bVNpZ25pZmljYW50RGlnaXRzID0gZzEubGVuZ3RoO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXN1bHQubWluaW11bVNpZ25pZmljYW50RGlnaXRzID0gZzEubGVuZ3RoO1xuXHRcdFx0cmVzdWx0Lm1heGltdW1TaWduaWZpY2FudERpZ2l0cyA9IGcxLmxlbmd0aCArICh0eXBlb2YgZzIgPT09IFwic3RyaW5nXCIgPyBnMi5sZW5ndGggOiAwKTtcblx0XHR9XG5cdFx0cmV0dXJuIFwiXCI7XG5cdH0pO1xuXHRyZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gcGFyc2VTaWduKHN0cikge1xuXHRzd2l0Y2ggKHN0cikge1xuXHRcdGNhc2UgXCJzaWduLWF1dG9cIjogcmV0dXJuIHsgc2lnbkRpc3BsYXk6IFwiYXV0b1wiIH07XG5cdFx0Y2FzZSBcInNpZ24tYWNjb3VudGluZ1wiOlxuXHRcdGNhc2UgXCIoKVwiOiByZXR1cm4geyBjdXJyZW5jeVNpZ246IFwiYWNjb3VudGluZ1wiIH07XG5cdFx0Y2FzZSBcInNpZ24tYWx3YXlzXCI6XG5cdFx0Y2FzZSBcIishXCI6IHJldHVybiB7IHNpZ25EaXNwbGF5OiBcImFsd2F5c1wiIH07XG5cdFx0Y2FzZSBcInNpZ24tYWNjb3VudGluZy1hbHdheXNcIjpcblx0XHRjYXNlIFwiKCkhXCI6IHJldHVybiB7XG5cdFx0XHRzaWduRGlzcGxheTogXCJhbHdheXNcIixcblx0XHRcdGN1cnJlbmN5U2lnbjogXCJhY2NvdW50aW5nXCJcblx0XHR9O1xuXHRcdGNhc2UgXCJzaWduLWV4Y2VwdC16ZXJvXCI6XG5cdFx0Y2FzZSBcIis/XCI6IHJldHVybiB7IHNpZ25EaXNwbGF5OiBcImV4Y2VwdFplcm9cIiB9O1xuXHRcdGNhc2UgXCJzaWduLWFjY291bnRpbmctZXhjZXB0LXplcm9cIjpcblx0XHRjYXNlIFwiKCk/XCI6IHJldHVybiB7XG5cdFx0XHRzaWduRGlzcGxheTogXCJleGNlcHRaZXJvXCIsXG5cdFx0XHRjdXJyZW5jeVNpZ246IFwiYWNjb3VudGluZ1wiXG5cdFx0fTtcblx0XHRjYXNlIFwic2lnbi1uZXZlclwiOlxuXHRcdGNhc2UgXCIrX1wiOiByZXR1cm4geyBzaWduRGlzcGxheTogXCJuZXZlclwiIH07XG5cdH1cbn1cbmZ1bmN0aW9uIHBhcnNlQ29uY2lzZVNjaWVudGlmaWNBbmRFbmdpbmVlcmluZ1N0ZW0oc3RlbSkge1xuXHQvLyBFbmdpbmVlcmluZ1xuXHRsZXQgcmVzdWx0O1xuXHRpZiAoc3RlbVswXSA9PT0gXCJFXCIgJiYgc3RlbVsxXSA9PT0gXCJFXCIpIHtcblx0XHRyZXN1bHQgPSB7IG5vdGF0aW9uOiBcImVuZ2luZWVyaW5nXCIgfTtcblx0XHRzdGVtID0gc3RlbS5zbGljZSgyKTtcblx0fSBlbHNlIGlmIChzdGVtWzBdID09PSBcIkVcIikge1xuXHRcdHJlc3VsdCA9IHsgbm90YXRpb246IFwic2NpZW50aWZpY1wiIH07XG5cdFx0c3RlbSA9IHN0ZW0uc2xpY2UoMSk7XG5cdH1cblx0aWYgKHJlc3VsdCkge1xuXHRcdGNvbnN0IHNpZ25EaXNwbGF5ID0gc3RlbS5zbGljZSgwLCAyKTtcblx0XHRpZiAoc2lnbkRpc3BsYXkgPT09IFwiKyFcIikge1xuXHRcdFx0cmVzdWx0LnNpZ25EaXNwbGF5ID0gXCJhbHdheXNcIjtcblx0XHRcdHN0ZW0gPSBzdGVtLnNsaWNlKDIpO1xuXHRcdH0gZWxzZSBpZiAoc2lnbkRpc3BsYXkgPT09IFwiKz9cIikge1xuXHRcdFx0cmVzdWx0LnNpZ25EaXNwbGF5ID0gXCJleGNlcHRaZXJvXCI7XG5cdFx0XHRzdGVtID0gc3RlbS5zbGljZSgyKTtcblx0XHR9XG5cdFx0aWYgKCFDT05DSVNFX0lOVEVHRVJfV0lEVEhfUkVHRVgudGVzdChzdGVtKSkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiTWFsZm9ybWVkIGNvbmNpc2UgZW5nL3NjaWVudGlmaWMgbm90YXRpb25cIik7XG5cdFx0fVxuXHRcdHJlc3VsdC5taW5pbXVtSW50ZWdlckRpZ2l0cyA9IHN0ZW0ubGVuZ3RoO1xuXHR9XG5cdHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBwYXJzZU5vdGF0aW9uT3B0aW9ucyhvcHQpIHtcblx0Y29uc3QgcmVzdWx0ID0ge307XG5cdGNvbnN0IHNpZ25PcHRzID0gcGFyc2VTaWduKG9wdCk7XG5cdGlmIChzaWduT3B0cykge1xuXHRcdHJldHVybiBzaWduT3B0cztcblx0fVxuXHRyZXR1cm4gcmVzdWx0O1xufVxuLyoqXG4qIGh0dHBzOi8vZ2l0aHViLmNvbS91bmljb2RlLW9yZy9pY3UvYmxvYi9tYXN0ZXIvZG9jcy91c2VyZ3VpZGUvZm9ybWF0X3BhcnNlL251bWJlcnMvc2tlbGV0b25zLm1kI3NrZWxldG9uLXN0ZW1zLWFuZC1vcHRpb25zXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTnVtYmVyU2tlbGV0b24odG9rZW5zKSB7XG5cdGxldCByZXN1bHQgPSB7fTtcblx0Zm9yIChjb25zdCB0b2tlbiBvZiB0b2tlbnMpIHtcblx0XHRzd2l0Y2ggKHRva2VuLnN0ZW0pIHtcblx0XHRcdGNhc2UgXCJwZXJjZW50XCI6XG5cdFx0XHRjYXNlIFwiJVwiOlxuXHRcdFx0XHRyZXN1bHQuc3R5bGUgPSBcInBlcmNlbnRcIjtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHRjYXNlIFwiJXgxMDBcIjpcblx0XHRcdFx0cmVzdWx0LnN0eWxlID0gXCJwZXJjZW50XCI7XG5cdFx0XHRcdHJlc3VsdC5zY2FsZSA9IDEwMDtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHRjYXNlIFwiY3VycmVuY3lcIjpcblx0XHRcdFx0cmVzdWx0LnN0eWxlID0gXCJjdXJyZW5jeVwiO1xuXHRcdFx0XHRyZXN1bHQuY3VycmVuY3kgPSB0b2tlbi5vcHRpb25zWzBdO1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdGNhc2UgXCJncm91cC1vZmZcIjpcblx0XHRcdGNhc2UgXCIsX1wiOlxuXHRcdFx0XHRyZXN1bHQudXNlR3JvdXBpbmcgPSBmYWxzZTtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHRjYXNlIFwicHJlY2lzaW9uLWludGVnZXJcIjpcblx0XHRcdGNhc2UgXCIuXCI6XG5cdFx0XHRcdHJlc3VsdC5tYXhpbXVtRnJhY3Rpb25EaWdpdHMgPSAwO1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdGNhc2UgXCJtZWFzdXJlLXVuaXRcIjpcblx0XHRcdGNhc2UgXCJ1bml0XCI6XG5cdFx0XHRcdHJlc3VsdC5zdHlsZSA9IFwidW5pdFwiO1xuXHRcdFx0XHRyZXN1bHQudW5pdCA9IGljdVVuaXRUb0VjbWEodG9rZW4ub3B0aW9uc1swXSk7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0Y2FzZSBcImNvbXBhY3Qtc2hvcnRcIjpcblx0XHRcdGNhc2UgXCJLXCI6XG5cdFx0XHRcdHJlc3VsdC5ub3RhdGlvbiA9IFwiY29tcGFjdFwiO1xuXHRcdFx0XHRyZXN1bHQuY29tcGFjdERpc3BsYXkgPSBcInNob3J0XCI7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0Y2FzZSBcImNvbXBhY3QtbG9uZ1wiOlxuXHRcdFx0Y2FzZSBcIktLXCI6XG5cdFx0XHRcdHJlc3VsdC5ub3RhdGlvbiA9IFwiY29tcGFjdFwiO1xuXHRcdFx0XHRyZXN1bHQuY29tcGFjdERpc3BsYXkgPSBcImxvbmdcIjtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHRjYXNlIFwic2NpZW50aWZpY1wiOlxuXHRcdFx0XHRyZXN1bHQgPSB7XG5cdFx0XHRcdFx0Li4ucmVzdWx0LFxuXHRcdFx0XHRcdG5vdGF0aW9uOiBcInNjaWVudGlmaWNcIixcblx0XHRcdFx0XHQuLi50b2tlbi5vcHRpb25zLnJlZHVjZSgoYWxsLCBvcHQpID0+ICh7XG5cdFx0XHRcdFx0XHQuLi5hbGwsXG5cdFx0XHRcdFx0XHQuLi5wYXJzZU5vdGF0aW9uT3B0aW9ucyhvcHQpXG5cdFx0XHRcdFx0fSksIHt9KVxuXHRcdFx0XHR9O1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdGNhc2UgXCJlbmdpbmVlcmluZ1wiOlxuXHRcdFx0XHRyZXN1bHQgPSB7XG5cdFx0XHRcdFx0Li4ucmVzdWx0LFxuXHRcdFx0XHRcdG5vdGF0aW9uOiBcImVuZ2luZWVyaW5nXCIsXG5cdFx0XHRcdFx0Li4udG9rZW4ub3B0aW9ucy5yZWR1Y2UoKGFsbCwgb3B0KSA9PiAoe1xuXHRcdFx0XHRcdFx0Li4uYWxsLFxuXHRcdFx0XHRcdFx0Li4ucGFyc2VOb3RhdGlvbk9wdGlvbnMob3B0KVxuXHRcdFx0XHRcdH0pLCB7fSlcblx0XHRcdFx0fTtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHRjYXNlIFwibm90YXRpb24tc2ltcGxlXCI6XG5cdFx0XHRcdHJlc3VsdC5ub3RhdGlvbiA9IFwic3RhbmRhcmRcIjtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHRjYXNlIFwidW5pdC13aWR0aC1uYXJyb3dcIjpcblx0XHRcdFx0cmVzdWx0LmN1cnJlbmN5RGlzcGxheSA9IFwibmFycm93U3ltYm9sXCI7XG5cdFx0XHRcdHJlc3VsdC51bml0RGlzcGxheSA9IFwibmFycm93XCI7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0Y2FzZSBcInVuaXQtd2lkdGgtc2hvcnRcIjpcblx0XHRcdFx0cmVzdWx0LmN1cnJlbmN5RGlzcGxheSA9IFwiY29kZVwiO1xuXHRcdFx0XHRyZXN1bHQudW5pdERpc3BsYXkgPSBcInNob3J0XCI7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0Y2FzZSBcInVuaXQtd2lkdGgtZnVsbC1uYW1lXCI6XG5cdFx0XHRcdHJlc3VsdC5jdXJyZW5jeURpc3BsYXkgPSBcIm5hbWVcIjtcblx0XHRcdFx0cmVzdWx0LnVuaXREaXNwbGF5ID0gXCJsb25nXCI7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0Y2FzZSBcInVuaXQtd2lkdGgtaXNvLWNvZGVcIjpcblx0XHRcdFx0cmVzdWx0LmN1cnJlbmN5RGlzcGxheSA9IFwic3ltYm9sXCI7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0Y2FzZSBcInNjYWxlXCI6XG5cdFx0XHRcdHJlc3VsdC5zY2FsZSA9IHBhcnNlRmxvYXQodG9rZW4ub3B0aW9uc1swXSk7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0Y2FzZSBcInJvdW5kaW5nLW1vZGUtZmxvb3JcIjpcblx0XHRcdFx0cmVzdWx0LnJvdW5kaW5nTW9kZSA9IFwiZmxvb3JcIjtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHRjYXNlIFwicm91bmRpbmctbW9kZS1jZWlsaW5nXCI6XG5cdFx0XHRcdHJlc3VsdC5yb3VuZGluZ01vZGUgPSBcImNlaWxcIjtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHRjYXNlIFwicm91bmRpbmctbW9kZS1kb3duXCI6XG5cdFx0XHRcdHJlc3VsdC5yb3VuZGluZ01vZGUgPSBcInRydW5jXCI7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0Y2FzZSBcInJvdW5kaW5nLW1vZGUtdXBcIjpcblx0XHRcdFx0cmVzdWx0LnJvdW5kaW5nTW9kZSA9IFwiZXhwYW5kXCI7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0Y2FzZSBcInJvdW5kaW5nLW1vZGUtaGFsZi1ldmVuXCI6XG5cdFx0XHRcdHJlc3VsdC5yb3VuZGluZ01vZGUgPSBcImhhbGZFdmVuXCI7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0Y2FzZSBcInJvdW5kaW5nLW1vZGUtaGFsZi1kb3duXCI6XG5cdFx0XHRcdHJlc3VsdC5yb3VuZGluZ01vZGUgPSBcImhhbGZUcnVuY1wiO1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdGNhc2UgXCJyb3VuZGluZy1tb2RlLWhhbGYtdXBcIjpcblx0XHRcdFx0cmVzdWx0LnJvdW5kaW5nTW9kZSA9IFwiaGFsZkV4cGFuZFwiO1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdGNhc2UgXCJpbnRlZ2VyLXdpZHRoXCI6XG5cdFx0XHRcdGlmICh0b2tlbi5vcHRpb25zLmxlbmd0aCA+IDEpIHtcblx0XHRcdFx0XHR0aHJvdyBuZXcgUmFuZ2VFcnJvcihcImludGVnZXItd2lkdGggc3RlbXMgb25seSBhY2NlcHQgYSBzaW5nbGUgb3B0aW9uYWwgb3B0aW9uXCIpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRva2VuLm9wdGlvbnNbMF0ucmVwbGFjZShJTlRFR0VSX1dJRFRIX1JFR0VYLCBmdW5jdGlvbihfLCBnMSwgZzIsIGczLCBnNCwgZzUpIHtcblx0XHRcdFx0XHRpZiAoZzEpIHtcblx0XHRcdFx0XHRcdHJlc3VsdC5taW5pbXVtSW50ZWdlckRpZ2l0cyA9IGcyLmxlbmd0aDtcblx0XHRcdFx0XHR9IGVsc2UgaWYgKGczICYmIGc0KSB7XG5cdFx0XHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJXZSBjdXJyZW50bHkgZG8gbm90IHN1cHBvcnQgbWF4aW11bSBpbnRlZ2VyIGRpZ2l0c1wiKTtcblx0XHRcdFx0XHR9IGVsc2UgaWYgKGc1KSB7XG5cdFx0XHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJXZSBjdXJyZW50bHkgZG8gbm90IHN1cHBvcnQgZXhhY3QgaW50ZWdlciBkaWdpdHNcIik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiBcIlwiO1xuXHRcdFx0XHR9KTtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0fVxuXHRcdC8vIGh0dHBzOi8vdW5pY29kZS1vcmcuZ2l0aHViLmlvL2ljdS91c2VyZ3VpZGUvZm9ybWF0X3BhcnNlL251bWJlcnMvc2tlbGV0b25zLmh0bWwjaW50ZWdlci13aWR0aFxuXHRcdGlmIChDT05DSVNFX0lOVEVHRVJfV0lEVEhfUkVHRVgudGVzdCh0b2tlbi5zdGVtKSkge1xuXHRcdFx0cmVzdWx0Lm1pbmltdW1JbnRlZ2VyRGlnaXRzID0gdG9rZW4uc3RlbS5sZW5ndGg7XG5cdFx0XHRjb250aW51ZTtcblx0XHR9XG5cdFx0aWYgKEZSQUNUSU9OX1BSRUNJU0lPTl9SRUdFWC50ZXN0KHRva2VuLnN0ZW0pKSB7XG5cdFx0XHQvLyBQcmVjaXNpb25cblx0XHRcdC8vIGh0dHBzOi8vdW5pY29kZS1vcmcuZ2l0aHViLmlvL2ljdS91c2VyZ3VpZGUvZm9ybWF0X3BhcnNlL251bWJlcnMvc2tlbGV0b25zLmh0bWwjZnJhY3Rpb24tcHJlY2lzaW9uXG5cdFx0XHQvLyBwcmVjaXNpb24taW50ZWdlciBjYXNlXG5cdFx0XHRpZiAodG9rZW4ub3B0aW9ucy5sZW5ndGggPiAxKSB7XG5cdFx0XHRcdHRocm93IG5ldyBSYW5nZUVycm9yKFwiRnJhY3Rpb24tcHJlY2lzaW9uIHN0ZW1zIG9ubHkgYWNjZXB0IGEgc2luZ2xlIG9wdGlvbmFsIG9wdGlvblwiKTtcblx0XHRcdH1cblx0XHRcdHRva2VuLnN0ZW0ucmVwbGFjZShGUkFDVElPTl9QUkVDSVNJT05fUkVHRVgsIGZ1bmN0aW9uKF8sIGcxLCBnMiwgZzMsIGc0LCBnNSkge1xuXHRcdFx0XHQvLyAuMDAwKiBjYXNlIChiZWZvcmUgSUNVNjcgaXQgd2FzIC4wMDArKVxuXHRcdFx0XHRpZiAoZzIgPT09IFwiKlwiKSB7XG5cdFx0XHRcdFx0cmVzdWx0Lm1pbmltdW1GcmFjdGlvbkRpZ2l0cyA9IGcxLmxlbmd0aDtcblx0XHRcdFx0fSBlbHNlIGlmIChnMyAmJiBnM1swXSA9PT0gXCIjXCIpIHtcblx0XHRcdFx0XHRyZXN1bHQubWF4aW11bUZyYWN0aW9uRGlnaXRzID0gZzMubGVuZ3RoO1xuXHRcdFx0XHR9IGVsc2UgaWYgKGc0ICYmIGc1KSB7XG5cdFx0XHRcdFx0cmVzdWx0Lm1pbmltdW1GcmFjdGlvbkRpZ2l0cyA9IGc0Lmxlbmd0aDtcblx0XHRcdFx0XHRyZXN1bHQubWF4aW11bUZyYWN0aW9uRGlnaXRzID0gZzQubGVuZ3RoICsgZzUubGVuZ3RoO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHJlc3VsdC5taW5pbXVtRnJhY3Rpb25EaWdpdHMgPSBnMS5sZW5ndGg7XG5cdFx0XHRcdFx0cmVzdWx0Lm1heGltdW1GcmFjdGlvbkRpZ2l0cyA9IGcxLmxlbmd0aDtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gXCJcIjtcblx0XHRcdH0pO1xuXHRcdFx0Y29uc3Qgb3B0ID0gdG9rZW4ub3B0aW9uc1swXTtcblx0XHRcdC8vIGh0dHBzOi8vdW5pY29kZS1vcmcuZ2l0aHViLmlvL2ljdS91c2VyZ3VpZGUvZm9ybWF0X3BhcnNlL251bWJlcnMvc2tlbGV0b25zLmh0bWwjdHJhaWxpbmctemVyby1kaXNwbGF5XG5cdFx0XHRpZiAob3B0ID09PSBcIndcIikge1xuXHRcdFx0XHRyZXN1bHQgPSB7XG5cdFx0XHRcdFx0Li4ucmVzdWx0LFxuXHRcdFx0XHRcdHRyYWlsaW5nWmVyb0Rpc3BsYXk6IFwic3RyaXBJZkludGVnZXJcIlxuXHRcdFx0XHR9O1xuXHRcdFx0fSBlbHNlIGlmIChvcHQpIHtcblx0XHRcdFx0cmVzdWx0ID0ge1xuXHRcdFx0XHRcdC4uLnJlc3VsdCxcblx0XHRcdFx0XHQuLi5wYXJzZVNpZ25pZmljYW50UHJlY2lzaW9uKG9wdClcblx0XHRcdFx0fTtcblx0XHRcdH1cblx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblx0XHQvLyBodHRwczovL3VuaWNvZGUtb3JnLmdpdGh1Yi5pby9pY3UvdXNlcmd1aWRlL2Zvcm1hdF9wYXJzZS9udW1iZXJzL3NrZWxldG9ucy5odG1sI3NpZ25pZmljYW50LWRpZ2l0cy1wcmVjaXNpb25cblx0XHRpZiAoU0lHTklGSUNBTlRfUFJFQ0lTSU9OX1JFR0VYLnRlc3QodG9rZW4uc3RlbSkpIHtcblx0XHRcdHJlc3VsdCA9IHtcblx0XHRcdFx0Li4ucmVzdWx0LFxuXHRcdFx0XHQuLi5wYXJzZVNpZ25pZmljYW50UHJlY2lzaW9uKHRva2VuLnN0ZW0pXG5cdFx0XHR9O1xuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXHRcdGNvbnN0IHNpZ25PcHRzID0gcGFyc2VTaWduKHRva2VuLnN0ZW0pO1xuXHRcdGlmIChzaWduT3B0cykge1xuXHRcdFx0cmVzdWx0ID0ge1xuXHRcdFx0XHQuLi5yZXN1bHQsXG5cdFx0XHRcdC4uLnNpZ25PcHRzXG5cdFx0XHR9O1xuXHRcdH1cblx0XHRjb25zdCBjb25jaXNlU2NpZW50aWZpY0FuZEVuZ2luZWVyaW5nT3B0cyA9IHBhcnNlQ29uY2lzZVNjaWVudGlmaWNBbmRFbmdpbmVlcmluZ1N0ZW0odG9rZW4uc3RlbSk7XG5cdFx0aWYgKGNvbmNpc2VTY2llbnRpZmljQW5kRW5naW5lZXJpbmdPcHRzKSB7XG5cdFx0XHRyZXN1bHQgPSB7XG5cdFx0XHRcdC4uLnJlc3VsdCxcblx0XHRcdFx0Li4uY29uY2lzZVNjaWVudGlmaWNBbmRFbmdpbmVlcmluZ09wdHNcblx0XHRcdH07XG5cdFx0fVxuXHR9XG5cdHJldHVybiByZXN1bHQ7XG59XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/number.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/regex.generated.js":
|
||
/*!******************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/regex.generated.js ***!
|
||
\******************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WHITE_SPACE_REGEX: () => (/* binding */ WHITE_SPACE_REGEX)\n/* harmony export */ });\n// @generated from regex-gen.ts\nconst WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/i;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LXNrZWxldG9uLXBhcnNlckAyLjEuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1za2VsZXRvbi1wYXJzZXIvcmVnZXguZ2VuZXJhdGVkLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNPIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0Bmb3JtYXRqcytpY3Utc2tlbGV0b24tcGFyc2VyQDIuMS4zL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaWN1LXNrZWxldG9uLXBhcnNlci9yZWdleC5nZW5lcmF0ZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQGdlbmVyYXRlZCBmcm9tIHJlZ2V4LWdlbi50c1xuZXhwb3J0IGNvbnN0IFdISVRFX1NQQUNFX1JFR0VYID0gL1tcXHQtXFxyIFxceDg1XFx1MjAwRVxcdTIwMEZcXHUyMDI4XFx1MjAyOV0vaTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/regex.generated.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/BestAvailableLocale.js":
|
||
/*!*****************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/BestAvailableLocale.js ***!
|
||
\*****************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BestAvailableLocale: () => (/* binding */ BestAvailableLocale)\n/* harmony export */ });\n// Cache for Set conversions to avoid repeated array->Set conversions\nconst availableLocalesSetCache = new WeakMap();\n/**\n* https://tc39.es/ecma402/#sec-bestavailablelocale\n* @param availableLocales\n* @param locale\n*/\nfunction BestAvailableLocale(availableLocales, locale) {\n\t// Fast path: use Set for O(1) lookups instead of O(n) indexOf\n\tlet availableSet = availableLocalesSetCache.get(availableLocales);\n\tif (!availableSet) {\n\t\tavailableSet = new Set(availableLocales);\n\t\tavailableLocalesSetCache.set(availableLocales, availableSet);\n\t}\n\tlet candidate = locale;\n\twhile (true) {\n\t\tif (availableSet.has(candidate)) {\n\t\t\treturn candidate;\n\t\t}\n\t\tlet pos = candidate.lastIndexOf(\"-\");\n\t\tif (!~pos) {\n\t\t\treturn undefined;\n\t\t}\n\t\tif (pos >= 2 && candidate[pos - 2] === \"-\") {\n\t\t\tpos -= 2;\n\t\t}\n\t\tcandidate = candidate.slice(0, pos);\n\t}\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2Fic3RyYWN0L0Jlc3RBdmFpbGFibGVMb2NhbGUuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ludGwtbG9jYWxlbWF0Y2hlckAwLjguMi9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ludGwtbG9jYWxlbWF0Y2hlci9hYnN0cmFjdC9CZXN0QXZhaWxhYmxlTG9jYWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENhY2hlIGZvciBTZXQgY29udmVyc2lvbnMgdG8gYXZvaWQgcmVwZWF0ZWQgYXJyYXktPlNldCBjb252ZXJzaW9uc1xuY29uc3QgYXZhaWxhYmxlTG9jYWxlc1NldENhY2hlID0gbmV3IFdlYWtNYXAoKTtcbi8qKlxuKiBodHRwczovL3RjMzkuZXMvZWNtYTQwMi8jc2VjLWJlc3RhdmFpbGFibGVsb2NhbGVcbiogQHBhcmFtIGF2YWlsYWJsZUxvY2FsZXNcbiogQHBhcmFtIGxvY2FsZVxuKi9cbmV4cG9ydCBmdW5jdGlvbiBCZXN0QXZhaWxhYmxlTG9jYWxlKGF2YWlsYWJsZUxvY2FsZXMsIGxvY2FsZSkge1xuXHQvLyBGYXN0IHBhdGg6IHVzZSBTZXQgZm9yIE8oMSkgbG9va3VwcyBpbnN0ZWFkIG9mIE8obikgaW5kZXhPZlxuXHRsZXQgYXZhaWxhYmxlU2V0ID0gYXZhaWxhYmxlTG9jYWxlc1NldENhY2hlLmdldChhdmFpbGFibGVMb2NhbGVzKTtcblx0aWYgKCFhdmFpbGFibGVTZXQpIHtcblx0XHRhdmFpbGFibGVTZXQgPSBuZXcgU2V0KGF2YWlsYWJsZUxvY2FsZXMpO1xuXHRcdGF2YWlsYWJsZUxvY2FsZXNTZXRDYWNoZS5zZXQoYXZhaWxhYmxlTG9jYWxlcywgYXZhaWxhYmxlU2V0KTtcblx0fVxuXHRsZXQgY2FuZGlkYXRlID0gbG9jYWxlO1xuXHR3aGlsZSAodHJ1ZSkge1xuXHRcdGlmIChhdmFpbGFibGVTZXQuaGFzKGNhbmRpZGF0ZSkpIHtcblx0XHRcdHJldHVybiBjYW5kaWRhdGU7XG5cdFx0fVxuXHRcdGxldCBwb3MgPSBjYW5kaWRhdGUubGFzdEluZGV4T2YoXCItXCIpO1xuXHRcdGlmICghfnBvcykge1xuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHR9XG5cdFx0aWYgKHBvcyA+PSAyICYmIGNhbmRpZGF0ZVtwb3MgLSAyXSA9PT0gXCItXCIpIHtcblx0XHRcdHBvcyAtPSAyO1xuXHRcdH1cblx0XHRjYW5kaWRhdGUgPSBjYW5kaWRhdGUuc2xpY2UoMCwgcG9zKTtcblx0fVxufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/BestAvailableLocale.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/BestFitMatcher.js":
|
||
/*!************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/BestFitMatcher.js ***!
|
||
\************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BestFitMatcher: () => (/* binding */ BestFitMatcher)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/utils.js\");\n\n/**\n* https://tc39.es/ecma402/#sec-bestfitmatcher\n* @param availableLocales\n* @param requestedLocales\n* @param getDefaultLocale\n*/\nfunction BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) {\n\tlet foundLocale;\n\tlet extension;\n\tconst noExtensionLocales = [];\n\tconst noExtensionLocaleMap = requestedLocales.reduce((all, l) => {\n\t\tconst noExtensionLocale = l.replace(_utils_js__WEBPACK_IMPORTED_MODULE_0__.UNICODE_EXTENSION_SEQUENCE_REGEX, \"\");\n\t\tnoExtensionLocales.push(noExtensionLocale);\n\t\tall[noExtensionLocale] = l;\n\t\treturn all;\n\t}, {});\n\tconst result = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.findBestMatch)(noExtensionLocales, availableLocales);\n\tif (result.matchedSupportedLocale && result.matchedDesiredLocale) {\n\t\tfoundLocale = result.matchedSupportedLocale;\n\t\textension = noExtensionLocaleMap[result.matchedDesiredLocale].slice(result.matchedDesiredLocale.length) || undefined;\n\t}\n\tif (!foundLocale) {\n\t\treturn { locale: getDefaultLocale() };\n\t}\n\treturn {\n\t\tlocale: foundLocale,\n\t\textension\n\t};\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2Fic3RyYWN0L0Jlc3RGaXRNYXRjaGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQTZFO0FBQzdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0MsdUVBQWdDO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBLEVBQUUsSUFBSTtBQUNOLGdCQUFnQix3REFBYTtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2Fic3RyYWN0L0Jlc3RGaXRNYXRjaGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVOSUNPREVfRVhURU5TSU9OX1NFUVVFTkNFX1JFR0VYLCBmaW5kQmVzdE1hdGNoIH0gZnJvbSBcIi4vdXRpbHMuanNcIjtcbi8qKlxuKiBodHRwczovL3RjMzkuZXMvZWNtYTQwMi8jc2VjLWJlc3RmaXRtYXRjaGVyXG4qIEBwYXJhbSBhdmFpbGFibGVMb2NhbGVzXG4qIEBwYXJhbSByZXF1ZXN0ZWRMb2NhbGVzXG4qIEBwYXJhbSBnZXREZWZhdWx0TG9jYWxlXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIEJlc3RGaXRNYXRjaGVyKGF2YWlsYWJsZUxvY2FsZXMsIHJlcXVlc3RlZExvY2FsZXMsIGdldERlZmF1bHRMb2NhbGUpIHtcblx0bGV0IGZvdW5kTG9jYWxlO1xuXHRsZXQgZXh0ZW5zaW9uO1xuXHRjb25zdCBub0V4dGVuc2lvbkxvY2FsZXMgPSBbXTtcblx0Y29uc3Qgbm9FeHRlbnNpb25Mb2NhbGVNYXAgPSByZXF1ZXN0ZWRMb2NhbGVzLnJlZHVjZSgoYWxsLCBsKSA9PiB7XG5cdFx0Y29uc3Qgbm9FeHRlbnNpb25Mb2NhbGUgPSBsLnJlcGxhY2UoVU5JQ09ERV9FWFRFTlNJT05fU0VRVUVOQ0VfUkVHRVgsIFwiXCIpO1xuXHRcdG5vRXh0ZW5zaW9uTG9jYWxlcy5wdXNoKG5vRXh0ZW5zaW9uTG9jYWxlKTtcblx0XHRhbGxbbm9FeHRlbnNpb25Mb2NhbGVdID0gbDtcblx0XHRyZXR1cm4gYWxsO1xuXHR9LCB7fSk7XG5cdGNvbnN0IHJlc3VsdCA9IGZpbmRCZXN0TWF0Y2gobm9FeHRlbnNpb25Mb2NhbGVzLCBhdmFpbGFibGVMb2NhbGVzKTtcblx0aWYgKHJlc3VsdC5tYXRjaGVkU3VwcG9ydGVkTG9jYWxlICYmIHJlc3VsdC5tYXRjaGVkRGVzaXJlZExvY2FsZSkge1xuXHRcdGZvdW5kTG9jYWxlID0gcmVzdWx0Lm1hdGNoZWRTdXBwb3J0ZWRMb2NhbGU7XG5cdFx0ZXh0ZW5zaW9uID0gbm9FeHRlbnNpb25Mb2NhbGVNYXBbcmVzdWx0Lm1hdGNoZWREZXNpcmVkTG9jYWxlXS5zbGljZShyZXN1bHQubWF0Y2hlZERlc2lyZWRMb2NhbGUubGVuZ3RoKSB8fCB1bmRlZmluZWQ7XG5cdH1cblx0aWYgKCFmb3VuZExvY2FsZSkge1xuXHRcdHJldHVybiB7IGxvY2FsZTogZ2V0RGVmYXVsdExvY2FsZSgpIH07XG5cdH1cblx0cmV0dXJuIHtcblx0XHRsb2NhbGU6IGZvdW5kTG9jYWxlLFxuXHRcdGV4dGVuc2lvblxuXHR9O1xufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/BestFitMatcher.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/CanonicalizeLocaleList.js":
|
||
/*!********************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/CanonicalizeLocaleList.js ***!
|
||
\********************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanonicalizeLocaleList: () => (/* binding */ CanonicalizeLocaleList)\n/* harmony export */ });\n/**\n* http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist\n* @param locales\n*/\nfunction CanonicalizeLocaleList(locales) {\n\treturn Intl.getCanonicalLocales(locales);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2Fic3RyYWN0L0Nhbm9uaWNhbGl6ZUxvY2FsZUxpc3QuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0Bmb3JtYXRqcytpbnRsLWxvY2FsZW1hdGNoZXJAMC44LjIvbm9kZV9tb2R1bGVzL0Bmb3JtYXRqcy9pbnRsLWxvY2FsZW1hdGNoZXIvYWJzdHJhY3QvQ2Fub25pY2FsaXplTG9jYWxlTGlzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiogaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS00MDIvNy4wL2luZGV4Lmh0bWwjc2VjLWNhbm9uaWNhbGl6ZWxvY2FsZWxpc3RcbiogQHBhcmFtIGxvY2FsZXNcbiovXG5leHBvcnQgZnVuY3Rpb24gQ2Fub25pY2FsaXplTG9jYWxlTGlzdChsb2NhbGVzKSB7XG5cdHJldHVybiBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMobG9jYWxlcyk7XG59XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/CanonicalizeLocaleList.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/CanonicalizeUValue.js":
|
||
/*!****************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/CanonicalizeUValue.js ***!
|
||
\****************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanonicalizeUValue: () => (/* binding */ CanonicalizeUValue)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/utils.js\");\n\nfunction CanonicalizeUValue(ukey, uvalue) {\n\t// TODO: Implement algorithm for CanonicalizeUValue per https://tc39.es/ecma402/#sec-canonicalizeuvalue\n\tlet lowerValue = uvalue.toLowerCase();\n\t(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.invariant)(ukey !== undefined, `ukey must be defined`);\n\tlet canonicalized = lowerValue;\n\treturn canonicalized;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2Fic3RyYWN0L0Nhbm9uaWNhbGl6ZVVWYWx1ZS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUF1QztBQUNoQztBQUNQO0FBQ0E7QUFDQSxDQUFDLG9EQUFTO0FBQ1Y7QUFDQTtBQUNBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0Bmb3JtYXRqcytpbnRsLWxvY2FsZW1hdGNoZXJAMC44LjIvbm9kZV9tb2R1bGVzL0Bmb3JtYXRqcy9pbnRsLWxvY2FsZW1hdGNoZXIvYWJzdHJhY3QvQ2Fub25pY2FsaXplVVZhbHVlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGludmFyaWFudCB9IGZyb20gXCIuL3V0aWxzLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gQ2Fub25pY2FsaXplVVZhbHVlKHVrZXksIHV2YWx1ZSkge1xuXHQvLyBUT0RPOiBJbXBsZW1lbnQgYWxnb3JpdGhtIGZvciBDYW5vbmljYWxpemVVVmFsdWUgcGVyIGh0dHBzOi8vdGMzOS5lcy9lY21hNDAyLyNzZWMtY2Fub25pY2FsaXpldXZhbHVlXG5cdGxldCBsb3dlclZhbHVlID0gdXZhbHVlLnRvTG93ZXJDYXNlKCk7XG5cdGludmFyaWFudCh1a2V5ICE9PSB1bmRlZmluZWQsIGB1a2V5IG11c3QgYmUgZGVmaW5lZGApO1xuXHRsZXQgY2Fub25pY2FsaXplZCA9IGxvd2VyVmFsdWU7XG5cdHJldHVybiBjYW5vbmljYWxpemVkO1xufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/CanonicalizeUValue.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/CanonicalizeUnicodeLocaleId.js":
|
||
/*!*************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/CanonicalizeUnicodeLocaleId.js ***!
|
||
\*************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanonicalizeUnicodeLocaleId: () => (/* binding */ CanonicalizeUnicodeLocaleId)\n/* harmony export */ });\nfunction CanonicalizeUnicodeLocaleId(locale) {\n\treturn Intl.getCanonicalLocales(locale)[0];\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2Fic3RyYWN0L0Nhbm9uaWNhbGl6ZVVuaWNvZGVMb2NhbGVJZC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQU87QUFDUDtBQUNBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0Bmb3JtYXRqcytpbnRsLWxvY2FsZW1hdGNoZXJAMC44LjIvbm9kZV9tb2R1bGVzL0Bmb3JtYXRqcy9pbnRsLWxvY2FsZW1hdGNoZXIvYWJzdHJhY3QvQ2Fub25pY2FsaXplVW5pY29kZUxvY2FsZUlkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBDYW5vbmljYWxpemVVbmljb2RlTG9jYWxlSWQobG9jYWxlKSB7XG5cdHJldHVybiBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMobG9jYWxlKVswXTtcbn1cbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/CanonicalizeUnicodeLocaleId.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/InsertUnicodeExtensionAndCanonicalize.js":
|
||
/*!***********************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/InsertUnicodeExtensionAndCanonicalize.js ***!
|
||
\***********************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InsertUnicodeExtensionAndCanonicalize: () => (/* binding */ InsertUnicodeExtensionAndCanonicalize)\n/* harmony export */ });\n/* harmony import */ var _CanonicalizeUnicodeLocaleId_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CanonicalizeUnicodeLocaleId.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/CanonicalizeUnicodeLocaleId.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/utils.js\");\n\n\nfunction InsertUnicodeExtensionAndCanonicalize(locale, attributes, keywords) {\n\t(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.invariant)(locale.indexOf(\"-u-\") === -1, \"Expected locale to not have a Unicode locale extension\");\n\tlet extension = \"-u\";\n\tfor (const attr of attributes) {\n\t\textension += `-${attr}`;\n\t}\n\tfor (const kw of keywords) {\n\t\tconst { key, value } = kw;\n\t\textension += `-${key}`;\n\t\tif (value !== \"\") {\n\t\t\textension += `-${value}`;\n\t\t}\n\t}\n\tif (extension === \"-u\") {\n\t\treturn (0,_CanonicalizeUnicodeLocaleId_js__WEBPACK_IMPORTED_MODULE_1__.CanonicalizeUnicodeLocaleId)(locale);\n\t}\n\tlet privateIndex = locale.indexOf(\"-x-\");\n\tlet newLocale;\n\tif (privateIndex === -1) {\n\t\tnewLocale = locale + extension;\n\t} else {\n\t\tlet preExtension = locale.slice(0, privateIndex);\n\t\tlet postExtension = locale.slice(privateIndex);\n\t\tnewLocale = preExtension + extension + postExtension;\n\t}\n\treturn (0,_CanonicalizeUnicodeLocaleId_js__WEBPACK_IMPORTED_MODULE_1__.CanonicalizeUnicodeLocaleId)(newLocale);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2Fic3RyYWN0L0luc2VydFVuaWNvZGVFeHRlbnNpb25BbmRDYW5vbmljYWxpemUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQStFO0FBQ3hDO0FBQ2hDO0FBQ1AsQ0FBQyxvREFBUztBQUNWO0FBQ0E7QUFDQSxtQkFBbUIsS0FBSztBQUN4QjtBQUNBO0FBQ0EsVUFBVSxhQUFhO0FBQ3ZCLG1CQUFtQixJQUFJO0FBQ3ZCO0FBQ0Esb0JBQW9CLE1BQU07QUFDMUI7QUFDQTtBQUNBO0FBQ0EsU0FBUyw0RkFBMkI7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsNEZBQTJCO0FBQ25DIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0Bmb3JtYXRqcytpbnRsLWxvY2FsZW1hdGNoZXJAMC44LjIvbm9kZV9tb2R1bGVzL0Bmb3JtYXRqcy9pbnRsLWxvY2FsZW1hdGNoZXIvYWJzdHJhY3QvSW5zZXJ0VW5pY29kZUV4dGVuc2lvbkFuZENhbm9uaWNhbGl6ZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYW5vbmljYWxpemVVbmljb2RlTG9jYWxlSWQgfSBmcm9tIFwiLi9DYW5vbmljYWxpemVVbmljb2RlTG9jYWxlSWQuanNcIjtcbmltcG9ydCB7IGludmFyaWFudCB9IGZyb20gXCIuL3V0aWxzLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gSW5zZXJ0VW5pY29kZUV4dGVuc2lvbkFuZENhbm9uaWNhbGl6ZShsb2NhbGUsIGF0dHJpYnV0ZXMsIGtleXdvcmRzKSB7XG5cdGludmFyaWFudChsb2NhbGUuaW5kZXhPZihcIi11LVwiKSA9PT0gLTEsIFwiRXhwZWN0ZWQgbG9jYWxlIHRvIG5vdCBoYXZlIGEgVW5pY29kZSBsb2NhbGUgZXh0ZW5zaW9uXCIpO1xuXHRsZXQgZXh0ZW5zaW9uID0gXCItdVwiO1xuXHRmb3IgKGNvbnN0IGF0dHIgb2YgYXR0cmlidXRlcykge1xuXHRcdGV4dGVuc2lvbiArPSBgLSR7YXR0cn1gO1xuXHR9XG5cdGZvciAoY29uc3Qga3cgb2Yga2V5d29yZHMpIHtcblx0XHRjb25zdCB7IGtleSwgdmFsdWUgfSA9IGt3O1xuXHRcdGV4dGVuc2lvbiArPSBgLSR7a2V5fWA7XG5cdFx0aWYgKHZhbHVlICE9PSBcIlwiKSB7XG5cdFx0XHRleHRlbnNpb24gKz0gYC0ke3ZhbHVlfWA7XG5cdFx0fVxuXHR9XG5cdGlmIChleHRlbnNpb24gPT09IFwiLXVcIikge1xuXHRcdHJldHVybiBDYW5vbmljYWxpemVVbmljb2RlTG9jYWxlSWQobG9jYWxlKTtcblx0fVxuXHRsZXQgcHJpdmF0ZUluZGV4ID0gbG9jYWxlLmluZGV4T2YoXCIteC1cIik7XG5cdGxldCBuZXdMb2NhbGU7XG5cdGlmIChwcml2YXRlSW5kZXggPT09IC0xKSB7XG5cdFx0bmV3TG9jYWxlID0gbG9jYWxlICsgZXh0ZW5zaW9uO1xuXHR9IGVsc2Uge1xuXHRcdGxldCBwcmVFeHRlbnNpb24gPSBsb2NhbGUuc2xpY2UoMCwgcHJpdmF0ZUluZGV4KTtcblx0XHRsZXQgcG9zdEV4dGVuc2lvbiA9IGxvY2FsZS5zbGljZShwcml2YXRlSW5kZXgpO1xuXHRcdG5ld0xvY2FsZSA9IHByZUV4dGVuc2lvbiArIGV4dGVuc2lvbiArIHBvc3RFeHRlbnNpb247XG5cdH1cblx0cmV0dXJuIENhbm9uaWNhbGl6ZVVuaWNvZGVMb2NhbGVJZChuZXdMb2NhbGUpO1xufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/InsertUnicodeExtensionAndCanonicalize.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/LookupMatcher.js":
|
||
/*!***********************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/LookupMatcher.js ***!
|
||
\***********************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LookupMatcher: () => (/* binding */ LookupMatcher)\n/* harmony export */ });\n/* harmony import */ var _BestAvailableLocale_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BestAvailableLocale.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/BestAvailableLocale.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/utils.js\");\n\n\n/**\n* https://tc39.es/ecma402/#sec-lookupmatcher\n* @param availableLocales\n* @param requestedLocales\n* @param getDefaultLocale\n*/\nfunction LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) {\n\tconst result = { locale: \"\" };\n\tfor (const locale of requestedLocales) {\n\t\tconst noExtensionLocale = locale.replace(_utils_js__WEBPACK_IMPORTED_MODULE_0__.UNICODE_EXTENSION_SEQUENCE_REGEX, \"\");\n\t\tconst availableLocale = (0,_BestAvailableLocale_js__WEBPACK_IMPORTED_MODULE_1__.BestAvailableLocale)(availableLocales, noExtensionLocale);\n\t\tif (availableLocale) {\n\t\t\tresult.locale = availableLocale;\n\t\t\tif (locale !== noExtensionLocale) {\n\t\t\t\tresult.extension = locale.slice(noExtensionLocale.length, locale.length);\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\tresult.locale = getDefaultLocale();\n\treturn result;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2Fic3RyYWN0L0xvb2t1cE1hdGNoZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQStEO0FBQ0Q7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCxrQkFBa0I7QUFDbEI7QUFDQSwyQ0FBMkMsdUVBQWdDO0FBQzNFLDBCQUEwQiw0RUFBbUI7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2Fic3RyYWN0L0xvb2t1cE1hdGNoZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVzdEF2YWlsYWJsZUxvY2FsZSB9IGZyb20gXCIuL0Jlc3RBdmFpbGFibGVMb2NhbGUuanNcIjtcbmltcG9ydCB7IFVOSUNPREVfRVhURU5TSU9OX1NFUVVFTkNFX1JFR0VYIH0gZnJvbSBcIi4vdXRpbHMuanNcIjtcbi8qKlxuKiBodHRwczovL3RjMzkuZXMvZWNtYTQwMi8jc2VjLWxvb2t1cG1hdGNoZXJcbiogQHBhcmFtIGF2YWlsYWJsZUxvY2FsZXNcbiogQHBhcmFtIHJlcXVlc3RlZExvY2FsZXNcbiogQHBhcmFtIGdldERlZmF1bHRMb2NhbGVcbiovXG5leHBvcnQgZnVuY3Rpb24gTG9va3VwTWF0Y2hlcihhdmFpbGFibGVMb2NhbGVzLCByZXF1ZXN0ZWRMb2NhbGVzLCBnZXREZWZhdWx0TG9jYWxlKSB7XG5cdGNvbnN0IHJlc3VsdCA9IHsgbG9jYWxlOiBcIlwiIH07XG5cdGZvciAoY29uc3QgbG9jYWxlIG9mIHJlcXVlc3RlZExvY2FsZXMpIHtcblx0XHRjb25zdCBub0V4dGVuc2lvbkxvY2FsZSA9IGxvY2FsZS5yZXBsYWNlKFVOSUNPREVfRVhURU5TSU9OX1NFUVVFTkNFX1JFR0VYLCBcIlwiKTtcblx0XHRjb25zdCBhdmFpbGFibGVMb2NhbGUgPSBCZXN0QXZhaWxhYmxlTG9jYWxlKGF2YWlsYWJsZUxvY2FsZXMsIG5vRXh0ZW5zaW9uTG9jYWxlKTtcblx0XHRpZiAoYXZhaWxhYmxlTG9jYWxlKSB7XG5cdFx0XHRyZXN1bHQubG9jYWxlID0gYXZhaWxhYmxlTG9jYWxlO1xuXHRcdFx0aWYgKGxvY2FsZSAhPT0gbm9FeHRlbnNpb25Mb2NhbGUpIHtcblx0XHRcdFx0cmVzdWx0LmV4dGVuc2lvbiA9IGxvY2FsZS5zbGljZShub0V4dGVuc2lvbkxvY2FsZS5sZW5ndGgsIGxvY2FsZS5sZW5ndGgpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9XG5cdH1cblx0cmVzdWx0LmxvY2FsZSA9IGdldERlZmF1bHRMb2NhbGUoKTtcblx0cmV0dXJuIHJlc3VsdDtcbn1cbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/LookupMatcher.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/LookupSupportedLocales.js":
|
||
/*!********************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/LookupSupportedLocales.js ***!
|
||
\********************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LookupSupportedLocales: () => (/* binding */ LookupSupportedLocales)\n/* harmony export */ });\n/* harmony import */ var _BestAvailableLocale_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BestAvailableLocale.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/BestAvailableLocale.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/utils.js\");\n\n\n/**\n* https://tc39.es/ecma402/#sec-lookupsupportedlocales\n* @param availableLocales\n* @param requestedLocales\n*/\nfunction LookupSupportedLocales(availableLocales, requestedLocales) {\n\tconst subset = [];\n\tfor (const locale of requestedLocales) {\n\t\tconst noExtensionLocale = locale.replace(_utils_js__WEBPACK_IMPORTED_MODULE_0__.UNICODE_EXTENSION_SEQUENCE_REGEX, \"\");\n\t\tconst availableLocale = (0,_BestAvailableLocale_js__WEBPACK_IMPORTED_MODULE_1__.BestAvailableLocale)(availableLocales, noExtensionLocale);\n\t\tif (availableLocale) {\n\t\t\tsubset.push(availableLocale);\n\t\t}\n\t}\n\treturn subset;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2Fic3RyYWN0L0xvb2t1cFN1cHBvcnRlZExvY2FsZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQStEO0FBQ0Q7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBLDJDQUEyQyx1RUFBZ0M7QUFDM0UsMEJBQTBCLDRFQUFtQjtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ludGwtbG9jYWxlbWF0Y2hlckAwLjguMi9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ludGwtbG9jYWxlbWF0Y2hlci9hYnN0cmFjdC9Mb29rdXBTdXBwb3J0ZWRMb2NhbGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlc3RBdmFpbGFibGVMb2NhbGUgfSBmcm9tIFwiLi9CZXN0QXZhaWxhYmxlTG9jYWxlLmpzXCI7XG5pbXBvcnQgeyBVTklDT0RFX0VYVEVOU0lPTl9TRVFVRU5DRV9SRUdFWCB9IGZyb20gXCIuL3V0aWxzLmpzXCI7XG4vKipcbiogaHR0cHM6Ly90YzM5LmVzL2VjbWE0MDIvI3NlYy1sb29rdXBzdXBwb3J0ZWRsb2NhbGVzXG4qIEBwYXJhbSBhdmFpbGFibGVMb2NhbGVzXG4qIEBwYXJhbSByZXF1ZXN0ZWRMb2NhbGVzXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIExvb2t1cFN1cHBvcnRlZExvY2FsZXMoYXZhaWxhYmxlTG9jYWxlcywgcmVxdWVzdGVkTG9jYWxlcykge1xuXHRjb25zdCBzdWJzZXQgPSBbXTtcblx0Zm9yIChjb25zdCBsb2NhbGUgb2YgcmVxdWVzdGVkTG9jYWxlcykge1xuXHRcdGNvbnN0IG5vRXh0ZW5zaW9uTG9jYWxlID0gbG9jYWxlLnJlcGxhY2UoVU5JQ09ERV9FWFRFTlNJT05fU0VRVUVOQ0VfUkVHRVgsIFwiXCIpO1xuXHRcdGNvbnN0IGF2YWlsYWJsZUxvY2FsZSA9IEJlc3RBdmFpbGFibGVMb2NhbGUoYXZhaWxhYmxlTG9jYWxlcywgbm9FeHRlbnNpb25Mb2NhbGUpO1xuXHRcdGlmIChhdmFpbGFibGVMb2NhbGUpIHtcblx0XHRcdHN1YnNldC5wdXNoKGF2YWlsYWJsZUxvY2FsZSk7XG5cdFx0fVxuXHR9XG5cdHJldHVybiBzdWJzZXQ7XG59XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/LookupSupportedLocales.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/ResolveLocale.js":
|
||
/*!***********************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/ResolveLocale.js ***!
|
||
\***********************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ResolveLocale: () => (/* binding */ ResolveLocale)\n/* harmony export */ });\n/* harmony import */ var _BestFitMatcher_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BestFitMatcher.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/BestFitMatcher.js\");\n/* harmony import */ var _CanonicalizeUValue_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./CanonicalizeUValue.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/CanonicalizeUValue.js\");\n/* harmony import */ var _InsertUnicodeExtensionAndCanonicalize_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./InsertUnicodeExtensionAndCanonicalize.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/InsertUnicodeExtensionAndCanonicalize.js\");\n/* harmony import */ var _LookupMatcher_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./LookupMatcher.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/LookupMatcher.js\");\n/* harmony import */ var _UnicodeExtensionComponents_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UnicodeExtensionComponents.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/UnicodeExtensionComponents.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/utils.js\");\n\n\n\n\n\n\n/**\n* https://tc39.es/ecma402/#sec-resolvelocale\n*/\nfunction ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData, getDefaultLocale) {\n\tconst matcher = options.localeMatcher;\n\tlet r;\n\tif (matcher === \"lookup\") {\n\t\tr = (0,_LookupMatcher_js__WEBPACK_IMPORTED_MODULE_0__.LookupMatcher)(Array.from(availableLocales), requestedLocales, getDefaultLocale);\n\t} else {\n\t\tr = (0,_BestFitMatcher_js__WEBPACK_IMPORTED_MODULE_1__.BestFitMatcher)(Array.from(availableLocales), requestedLocales, getDefaultLocale);\n\t}\n\tif (r == null) {\n\t\tr = {\n\t\t\tlocale: getDefaultLocale(),\n\t\t\textension: \"\"\n\t\t};\n\t}\n\tlet foundLocale = r.locale;\n\tlet foundLocaleData = localeData[foundLocale];\n\t// TODO: We can't really guarantee that the locale data is available\n\t// invariant(\n\t// foundLocaleData !== undefined,\n\t// `Missing locale data for ${foundLocale}`\n\t// )\n\tconst result = {\n\t\tlocale: \"en\",\n\t\tdataLocale: foundLocale\n\t};\n\tlet components;\n\tlet keywords;\n\tif (r.extension) {\n\t\tcomponents = (0,_UnicodeExtensionComponents_js__WEBPACK_IMPORTED_MODULE_2__.UnicodeExtensionComponents)(r.extension);\n\t\tkeywords = components.keywords;\n\t} else {\n\t\tkeywords = [];\n\t}\n\tlet supportedKeywords = [];\n\tfor (const key of relevantExtensionKeys) {\n\t\t// TODO: Shouldn't default to empty array, see TODO above\n\t\tlet keyLocaleData = foundLocaleData?.[key] ?? [];\n\t\t(0,_utils_js__WEBPACK_IMPORTED_MODULE_3__.invariant)(Array.isArray(keyLocaleData), `keyLocaleData for ${key} must be an array`);\n\t\tlet value = keyLocaleData[0];\n\t\t(0,_utils_js__WEBPACK_IMPORTED_MODULE_3__.invariant)(value === undefined || typeof value === \"string\", `value must be a string or undefined`);\n\t\tlet supportedKeyword;\n\t\tlet entry = keywords.find((k) => k.key === key);\n\t\tif (entry) {\n\t\t\tlet requestedValue = entry.value;\n\t\t\tif (requestedValue !== \"\") {\n\t\t\t\tif (keyLocaleData.indexOf(requestedValue) > -1) {\n\t\t\t\t\tvalue = requestedValue;\n\t\t\t\t\tsupportedKeyword = {\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tvalue\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} else if (keyLocaleData.indexOf(\"true\") > -1) {\n\t\t\t\tvalue = \"true\";\n\t\t\t\tsupportedKeyword = {\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\tlet optionsValue = options[key];\n\t\t(0,_utils_js__WEBPACK_IMPORTED_MODULE_3__.invariant)(optionsValue == null || typeof optionsValue === \"string\", `optionsValue must be a string or undefined`);\n\t\tif (typeof optionsValue === \"string\") {\n\t\t\tlet ukey = key.toLowerCase();\n\t\t\toptionsValue = (0,_CanonicalizeUValue_js__WEBPACK_IMPORTED_MODULE_4__.CanonicalizeUValue)(ukey, optionsValue);\n\t\t\tif (optionsValue === \"\") {\n\t\t\t\toptionsValue = \"true\";\n\t\t\t}\n\t\t}\n\t\tif (optionsValue !== value && keyLocaleData.indexOf(optionsValue) > -1) {\n\t\t\tvalue = optionsValue;\n\t\t\tsupportedKeyword = undefined;\n\t\t}\n\t\tif (supportedKeyword) {\n\t\t\tsupportedKeywords.push(supportedKeyword);\n\t\t}\n\t\tresult[key] = value;\n\t}\n\tlet supportedAttributes = [];\n\tif (supportedKeywords.length > 0) {\n\t\tsupportedAttributes = [];\n\t\tfoundLocale = (0,_InsertUnicodeExtensionAndCanonicalize_js__WEBPACK_IMPORTED_MODULE_5__.InsertUnicodeExtensionAndCanonicalize)(foundLocale, supportedAttributes, supportedKeywords);\n\t}\n\tresult.locale = foundLocale;\n\treturn result;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2Fic3RyYWN0L1Jlc29sdmVMb2NhbGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFxRDtBQUNRO0FBQ3NDO0FBQ2hEO0FBQzBCO0FBQ3RDO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsTUFBTSxnRUFBYTtBQUNuQixHQUFHO0FBQ0gsTUFBTSxrRUFBYztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsWUFBWTtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSwwRkFBMEI7QUFDekM7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxvREFBUyxvREFBb0QsS0FBSztBQUNwRTtBQUNBLEVBQUUsb0RBQVM7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsb0RBQVM7QUFDWDtBQUNBO0FBQ0Esa0JBQWtCLDBFQUFrQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixnSEFBcUM7QUFDckQ7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ludGwtbG9jYWxlbWF0Y2hlckAwLjguMi9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ludGwtbG9jYWxlbWF0Y2hlci9hYnN0cmFjdC9SZXNvbHZlTG9jYWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlc3RGaXRNYXRjaGVyIH0gZnJvbSBcIi4vQmVzdEZpdE1hdGNoZXIuanNcIjtcbmltcG9ydCB7IENhbm9uaWNhbGl6ZVVWYWx1ZSB9IGZyb20gXCIuL0Nhbm9uaWNhbGl6ZVVWYWx1ZS5qc1wiO1xuaW1wb3J0IHsgSW5zZXJ0VW5pY29kZUV4dGVuc2lvbkFuZENhbm9uaWNhbGl6ZSB9IGZyb20gXCIuL0luc2VydFVuaWNvZGVFeHRlbnNpb25BbmRDYW5vbmljYWxpemUuanNcIjtcbmltcG9ydCB7IExvb2t1cE1hdGNoZXIgfSBmcm9tIFwiLi9Mb29rdXBNYXRjaGVyLmpzXCI7XG5pbXBvcnQgeyBVbmljb2RlRXh0ZW5zaW9uQ29tcG9uZW50cyB9IGZyb20gXCIuL1VuaWNvZGVFeHRlbnNpb25Db21wb25lbnRzLmpzXCI7XG5pbXBvcnQgeyBpbnZhcmlhbnQgfSBmcm9tIFwiLi91dGlscy5qc1wiO1xuLyoqXG4qIGh0dHBzOi8vdGMzOS5lcy9lY21hNDAyLyNzZWMtcmVzb2x2ZWxvY2FsZVxuKi9cbmV4cG9ydCBmdW5jdGlvbiBSZXNvbHZlTG9jYWxlKGF2YWlsYWJsZUxvY2FsZXMsIHJlcXVlc3RlZExvY2FsZXMsIG9wdGlvbnMsIHJlbGV2YW50RXh0ZW5zaW9uS2V5cywgbG9jYWxlRGF0YSwgZ2V0RGVmYXVsdExvY2FsZSkge1xuXHRjb25zdCBtYXRjaGVyID0gb3B0aW9ucy5sb2NhbGVNYXRjaGVyO1xuXHRsZXQgcjtcblx0aWYgKG1hdGNoZXIgPT09IFwibG9va3VwXCIpIHtcblx0XHRyID0gTG9va3VwTWF0Y2hlcihBcnJheS5mcm9tKGF2YWlsYWJsZUxvY2FsZXMpLCByZXF1ZXN0ZWRMb2NhbGVzLCBnZXREZWZhdWx0TG9jYWxlKTtcblx0fSBlbHNlIHtcblx0XHRyID0gQmVzdEZpdE1hdGNoZXIoQXJyYXkuZnJvbShhdmFpbGFibGVMb2NhbGVzKSwgcmVxdWVzdGVkTG9jYWxlcywgZ2V0RGVmYXVsdExvY2FsZSk7XG5cdH1cblx0aWYgKHIgPT0gbnVsbCkge1xuXHRcdHIgPSB7XG5cdFx0XHRsb2NhbGU6IGdldERlZmF1bHRMb2NhbGUoKSxcblx0XHRcdGV4dGVuc2lvbjogXCJcIlxuXHRcdH07XG5cdH1cblx0bGV0IGZvdW5kTG9jYWxlID0gci5sb2NhbGU7XG5cdGxldCBmb3VuZExvY2FsZURhdGEgPSBsb2NhbGVEYXRhW2ZvdW5kTG9jYWxlXTtcblx0Ly8gVE9ETzogV2UgY2FuJ3QgcmVhbGx5IGd1YXJhbnRlZSB0aGF0IHRoZSBsb2NhbGUgZGF0YSBpcyBhdmFpbGFibGVcblx0Ly8gaW52YXJpYW50KFxuXHQvLyAgIGZvdW5kTG9jYWxlRGF0YSAhPT0gdW5kZWZpbmVkLFxuXHQvLyAgIGBNaXNzaW5nIGxvY2FsZSBkYXRhIGZvciAke2ZvdW5kTG9jYWxlfWBcblx0Ly8gKVxuXHRjb25zdCByZXN1bHQgPSB7XG5cdFx0bG9jYWxlOiBcImVuXCIsXG5cdFx0ZGF0YUxvY2FsZTogZm91bmRMb2NhbGVcblx0fTtcblx0bGV0IGNvbXBvbmVudHM7XG5cdGxldCBrZXl3b3Jkcztcblx0aWYgKHIuZXh0ZW5zaW9uKSB7XG5cdFx0Y29tcG9uZW50cyA9IFVuaWNvZGVFeHRlbnNpb25Db21wb25lbnRzKHIuZXh0ZW5zaW9uKTtcblx0XHRrZXl3b3JkcyA9IGNvbXBvbmVudHMua2V5d29yZHM7XG5cdH0gZWxzZSB7XG5cdFx0a2V5d29yZHMgPSBbXTtcblx0fVxuXHRsZXQgc3VwcG9ydGVkS2V5d29yZHMgPSBbXTtcblx0Zm9yIChjb25zdCBrZXkgb2YgcmVsZXZhbnRFeHRlbnNpb25LZXlzKSB7XG5cdFx0Ly8gVE9ETzogU2hvdWxkbid0IGRlZmF1bHQgdG8gZW1wdHkgYXJyYXksIHNlZSBUT0RPIGFib3ZlXG5cdFx0bGV0IGtleUxvY2FsZURhdGEgPSBmb3VuZExvY2FsZURhdGE/LltrZXldID8/IFtdO1xuXHRcdGludmFyaWFudChBcnJheS5pc0FycmF5KGtleUxvY2FsZURhdGEpLCBga2V5TG9jYWxlRGF0YSBmb3IgJHtrZXl9IG11c3QgYmUgYW4gYXJyYXlgKTtcblx0XHRsZXQgdmFsdWUgPSBrZXlMb2NhbGVEYXRhWzBdO1xuXHRcdGludmFyaWFudCh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiwgYHZhbHVlIG11c3QgYmUgYSBzdHJpbmcgb3IgdW5kZWZpbmVkYCk7XG5cdFx0bGV0IHN1cHBvcnRlZEtleXdvcmQ7XG5cdFx0bGV0IGVudHJ5ID0ga2V5d29yZHMuZmluZCgoaykgPT4gay5rZXkgPT09IGtleSk7XG5cdFx0aWYgKGVudHJ5KSB7XG5cdFx0XHRsZXQgcmVxdWVzdGVkVmFsdWUgPSBlbnRyeS52YWx1ZTtcblx0XHRcdGlmIChyZXF1ZXN0ZWRWYWx1ZSAhPT0gXCJcIikge1xuXHRcdFx0XHRpZiAoa2V5TG9jYWxlRGF0YS5pbmRleE9mKHJlcXVlc3RlZFZhbHVlKSA+IC0xKSB7XG5cdFx0XHRcdFx0dmFsdWUgPSByZXF1ZXN0ZWRWYWx1ZTtcblx0XHRcdFx0XHRzdXBwb3J0ZWRLZXl3b3JkID0ge1xuXHRcdFx0XHRcdFx0a2V5LFxuXHRcdFx0XHRcdFx0dmFsdWVcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2UgaWYgKGtleUxvY2FsZURhdGEuaW5kZXhPZihcInRydWVcIikgPiAtMSkge1xuXHRcdFx0XHR2YWx1ZSA9IFwidHJ1ZVwiO1xuXHRcdFx0XHRzdXBwb3J0ZWRLZXl3b3JkID0ge1xuXHRcdFx0XHRcdGtleSxcblx0XHRcdFx0XHR2YWx1ZVxuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRsZXQgb3B0aW9uc1ZhbHVlID0gb3B0aW9uc1trZXldO1xuXHRcdGludmFyaWFudChvcHRpb25zVmFsdWUgPT0gbnVsbCB8fCB0eXBlb2Ygb3B0aW9uc1ZhbHVlID09PSBcInN0cmluZ1wiLCBgb3B0aW9uc1ZhbHVlIG11c3QgYmUgYSBzdHJpbmcgb3IgdW5kZWZpbmVkYCk7XG5cdFx0aWYgKHR5cGVvZiBvcHRpb25zVmFsdWUgPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdGxldCB1a2V5ID0ga2V5LnRvTG93ZXJDYXNlKCk7XG5cdFx0XHRvcHRpb25zVmFsdWUgPSBDYW5vbmljYWxpemVVVmFsdWUodWtleSwgb3B0aW9uc1ZhbHVlKTtcblx0XHRcdGlmIChvcHRpb25zVmFsdWUgPT09IFwiXCIpIHtcblx0XHRcdFx0b3B0aW9uc1ZhbHVlID0gXCJ0cnVlXCI7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlmIChvcHRpb25zVmFsdWUgIT09IHZhbHVlICYmIGtleUxvY2FsZURhdGEuaW5kZXhPZihvcHRpb25zVmFsdWUpID4gLTEpIHtcblx0XHRcdHZhbHVlID0gb3B0aW9uc1ZhbHVlO1xuXHRcdFx0c3VwcG9ydGVkS2V5d29yZCA9IHVuZGVmaW5lZDtcblx0XHR9XG5cdFx0aWYgKHN1cHBvcnRlZEtleXdvcmQpIHtcblx0XHRcdHN1cHBvcnRlZEtleXdvcmRzLnB1c2goc3VwcG9ydGVkS2V5d29yZCk7XG5cdFx0fVxuXHRcdHJlc3VsdFtrZXldID0gdmFsdWU7XG5cdH1cblx0bGV0IHN1cHBvcnRlZEF0dHJpYnV0ZXMgPSBbXTtcblx0aWYgKHN1cHBvcnRlZEtleXdvcmRzLmxlbmd0aCA+IDApIHtcblx0XHRzdXBwb3J0ZWRBdHRyaWJ1dGVzID0gW107XG5cdFx0Zm91bmRMb2NhbGUgPSBJbnNlcnRVbmljb2RlRXh0ZW5zaW9uQW5kQ2Fub25pY2FsaXplKGZvdW5kTG9jYWxlLCBzdXBwb3J0ZWRBdHRyaWJ1dGVzLCBzdXBwb3J0ZWRLZXl3b3Jkcyk7XG5cdH1cblx0cmVzdWx0LmxvY2FsZSA9IGZvdW5kTG9jYWxlO1xuXHRyZXR1cm4gcmVzdWx0O1xufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/ResolveLocale.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/UnicodeExtensionComponents.js":
|
||
/*!************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/UnicodeExtensionComponents.js ***!
|
||
\************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ UnicodeExtensionComponents: () => (/* binding */ UnicodeExtensionComponents)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/utils.js\");\n\nfunction UnicodeExtensionComponents(extension) {\n\t(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.invariant)(extension === extension.toLowerCase(), \"Expected extension to be lowercase\");\n\t(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.invariant)(extension.slice(0, 3) === \"-u-\", \"Expected extension to be a Unicode locale extension\");\n\tconst attributes = [];\n\tconst keywords = [];\n\tlet keyword;\n\tlet size = extension.length;\n\tlet k = 3;\n\twhile (k < size) {\n\t\tlet e = extension.indexOf(\"-\", k);\n\t\tlet len;\n\t\tif (e === -1) {\n\t\t\tlen = size - k;\n\t\t} else {\n\t\t\tlen = e - k;\n\t\t}\n\t\tlet subtag = extension.slice(k, k + len);\n\t\t(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.invariant)(len >= 2, \"Expected a subtag to have at least 2 characters\");\n\t\tif (keyword === undefined && len != 2) {\n\t\t\tif (attributes.indexOf(subtag) === -1) {\n\t\t\t\tattributes.push(subtag);\n\t\t\t}\n\t\t} else if (len === 2) {\n\t\t\tkeyword = {\n\t\t\t\tkey: subtag,\n\t\t\t\tvalue: \"\"\n\t\t\t};\n\t\t\tif (keywords.find((k) => k.key === keyword?.key) === undefined) {\n\t\t\t\tkeywords.push(keyword);\n\t\t\t}\n\t\t} else if (keyword?.value === \"\") {\n\t\t\tkeyword.value = subtag;\n\t\t} else {\n\t\t\t(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.invariant)(keyword !== undefined, \"Expected keyword to be defined\");\n\t\t\tkeyword.value += \"-\" + subtag;\n\t\t}\n\t\tk += len + 1;\n\t}\n\treturn {\n\t\tattributes,\n\t\tkeywords\n\t};\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2Fic3RyYWN0L1VuaWNvZGVFeHRlbnNpb25Db21wb25lbnRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQXVDO0FBQ2hDO0FBQ1AsQ0FBQyxvREFBUztBQUNWLENBQUMsb0RBQVM7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQSxFQUFFLG9EQUFTO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxJQUFJO0FBQ0osR0FBRyxvREFBUztBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2Fic3RyYWN0L1VuaWNvZGVFeHRlbnNpb25Db21wb25lbnRzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGludmFyaWFudCB9IGZyb20gXCIuL3V0aWxzLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gVW5pY29kZUV4dGVuc2lvbkNvbXBvbmVudHMoZXh0ZW5zaW9uKSB7XG5cdGludmFyaWFudChleHRlbnNpb24gPT09IGV4dGVuc2lvbi50b0xvd2VyQ2FzZSgpLCBcIkV4cGVjdGVkIGV4dGVuc2lvbiB0byBiZSBsb3dlcmNhc2VcIik7XG5cdGludmFyaWFudChleHRlbnNpb24uc2xpY2UoMCwgMykgPT09IFwiLXUtXCIsIFwiRXhwZWN0ZWQgZXh0ZW5zaW9uIHRvIGJlIGEgVW5pY29kZSBsb2NhbGUgZXh0ZW5zaW9uXCIpO1xuXHRjb25zdCBhdHRyaWJ1dGVzID0gW107XG5cdGNvbnN0IGtleXdvcmRzID0gW107XG5cdGxldCBrZXl3b3JkO1xuXHRsZXQgc2l6ZSA9IGV4dGVuc2lvbi5sZW5ndGg7XG5cdGxldCBrID0gMztcblx0d2hpbGUgKGsgPCBzaXplKSB7XG5cdFx0bGV0IGUgPSBleHRlbnNpb24uaW5kZXhPZihcIi1cIiwgayk7XG5cdFx0bGV0IGxlbjtcblx0XHRpZiAoZSA9PT0gLTEpIHtcblx0XHRcdGxlbiA9IHNpemUgLSBrO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRsZW4gPSBlIC0gaztcblx0XHR9XG5cdFx0bGV0IHN1YnRhZyA9IGV4dGVuc2lvbi5zbGljZShrLCBrICsgbGVuKTtcblx0XHRpbnZhcmlhbnQobGVuID49IDIsIFwiRXhwZWN0ZWQgYSBzdWJ0YWcgdG8gaGF2ZSBhdCBsZWFzdCAyIGNoYXJhY3RlcnNcIik7XG5cdFx0aWYgKGtleXdvcmQgPT09IHVuZGVmaW5lZCAmJiBsZW4gIT0gMikge1xuXHRcdFx0aWYgKGF0dHJpYnV0ZXMuaW5kZXhPZihzdWJ0YWcpID09PSAtMSkge1xuXHRcdFx0XHRhdHRyaWJ1dGVzLnB1c2goc3VidGFnKTtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKGxlbiA9PT0gMikge1xuXHRcdFx0a2V5d29yZCA9IHtcblx0XHRcdFx0a2V5OiBzdWJ0YWcsXG5cdFx0XHRcdHZhbHVlOiBcIlwiXG5cdFx0XHR9O1xuXHRcdFx0aWYgKGtleXdvcmRzLmZpbmQoKGspID0+IGsua2V5ID09PSBrZXl3b3JkPy5rZXkpID09PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0a2V5d29yZHMucHVzaChrZXl3b3JkKTtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKGtleXdvcmQ/LnZhbHVlID09PSBcIlwiKSB7XG5cdFx0XHRrZXl3b3JkLnZhbHVlID0gc3VidGFnO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRpbnZhcmlhbnQoa2V5d29yZCAhPT0gdW5kZWZpbmVkLCBcIkV4cGVjdGVkIGtleXdvcmQgdG8gYmUgZGVmaW5lZFwiKTtcblx0XHRcdGtleXdvcmQudmFsdWUgKz0gXCItXCIgKyBzdWJ0YWc7XG5cdFx0fVxuXHRcdGsgKz0gbGVuICsgMTtcblx0fVxuXHRyZXR1cm4ge1xuXHRcdGF0dHJpYnV0ZXMsXG5cdFx0a2V5d29yZHNcblx0fTtcbn1cbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/UnicodeExtensionComponents.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/languageMatching.js":
|
||
/*!**************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/languageMatching.js ***!
|
||
\**************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ data: () => (/* binding */ data)\n/* harmony export */ });\nconst data = { supplemental: { languageMatching: { \"written-new\": [\n\t{ paradigmLocales: { _locales: \"en en_GB es es_419 pt_BR pt_PT\" } },\n\t{ $enUS: { _value: \"AS+CA+GU+MH+MP+PH+PR+UM+US+VI\" } },\n\t{ $cnsar: { _value: \"HK+MO\" } },\n\t{ $americas: { _value: \"019\" } },\n\t{ $maghreb: { _value: \"MA+DZ+TN+LY+MR+EH\" } },\n\t{ no: {\n\t\t_desired: \"nb\",\n\t\t_distance: \"1\"\n\t} },\n\t{ bs: {\n\t\t_desired: \"hr\",\n\t\t_distance: \"4\"\n\t} },\n\t{ bs: {\n\t\t_desired: \"sh\",\n\t\t_distance: \"4\"\n\t} },\n\t{ hr: {\n\t\t_desired: \"sh\",\n\t\t_distance: \"4\"\n\t} },\n\t{ sr: {\n\t\t_desired: \"sh\",\n\t\t_distance: \"4\"\n\t} },\n\t{ aa: {\n\t\t_desired: \"ssy\",\n\t\t_distance: \"4\"\n\t} },\n\t{ de: {\n\t\t_desired: \"gsw\",\n\t\t_distance: \"4\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ de: {\n\t\t_desired: \"lb\",\n\t\t_distance: \"4\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ no: {\n\t\t_desired: \"da\",\n\t\t_distance: \"8\"\n\t} },\n\t{ nb: {\n\t\t_desired: \"da\",\n\t\t_distance: \"8\"\n\t} },\n\t{ ru: {\n\t\t_desired: \"ab\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"ach\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ nl: {\n\t\t_desired: \"af\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"ak\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"am\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ es: {\n\t\t_desired: \"ay\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ru: {\n\t\t_desired: \"az\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ur: {\n\t\t_desired: \"bal\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ru: {\n\t\t_desired: \"be\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"bem\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ hi: {\n\t\t_desired: \"bh\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"bn\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ zh: {\n\t\t_desired: \"bo\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ fr: {\n\t\t_desired: \"br\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ es: {\n\t\t_desired: \"ca\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ fil: {\n\t\t_desired: \"ceb\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"chr\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"ckb\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ fr: {\n\t\t_desired: \"co\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ fr: {\n\t\t_desired: \"crs\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ sk: {\n\t\t_desired: \"cs\",\n\t\t_distance: \"20\"\n\t} },\n\t{ en: {\n\t\t_desired: \"cy\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"ee\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"eo\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ es: {\n\t\t_desired: \"eu\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ da: {\n\t\t_desired: \"fo\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ nl: {\n\t\t_desired: \"fy\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"ga\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"gaa\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"gd\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ es: {\n\t\t_desired: \"gl\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ es: {\n\t\t_desired: \"gn\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ hi: {\n\t\t_desired: \"gu\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"ha\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"haw\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ fr: {\n\t\t_desired: \"ht\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ru: {\n\t\t_desired: \"hy\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"ia\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"ig\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"is\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ id: {\n\t\t_desired: \"jv\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"ka\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ fr: {\n\t\t_desired: \"kg\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ru: {\n\t\t_desired: \"kk\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"km\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"kn\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"kri\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ tr: {\n\t\t_desired: \"ku\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ru: {\n\t\t_desired: \"ky\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ it: {\n\t\t_desired: \"la\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"lg\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ fr: {\n\t\t_desired: \"ln\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"lo\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"loz\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ fr: {\n\t\t_desired: \"lua\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ hi: {\n\t\t_desired: \"mai\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"mfe\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ fr: {\n\t\t_desired: \"mg\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"mi\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"ml\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ru: {\n\t\t_desired: \"mn\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ hi: {\n\t\t_desired: \"mr\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ id: {\n\t\t_desired: \"ms\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"mt\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"my\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"ne\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ nb: {\n\t\t_desired: \"nn\",\n\t\t_distance: \"20\"\n\t} },\n\t{ no: {\n\t\t_desired: \"nn\",\n\t\t_distance: \"20\"\n\t} },\n\t{ en: {\n\t\t_desired: \"nso\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"ny\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"nyn\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ fr: {\n\t\t_desired: \"oc\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"om\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"or\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"pa\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"pcm\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"ps\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ es: {\n\t\t_desired: \"qu\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ de: {\n\t\t_desired: \"rm\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"rn\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ fr: {\n\t\t_desired: \"rw\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ hi: {\n\t\t_desired: \"sa\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"sd\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"si\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"sn\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"so\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"sq\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"st\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ id: {\n\t\t_desired: \"su\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"sw\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"ta\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"te\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ru: {\n\t\t_desired: \"tg\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"ti\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ru: {\n\t\t_desired: \"tk\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"tlh\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"tn\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"to\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ru: {\n\t\t_desired: \"tt\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"tum\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ zh: {\n\t\t_desired: \"ug\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ru: {\n\t\t_desired: \"uk\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"ur\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ru: {\n\t\t_desired: \"uz\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ fr: {\n\t\t_desired: \"wo\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"xh\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"yi\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"yo\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ zh: {\n\t\t_desired: \"za\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ en: {\n\t\t_desired: \"zu\",\n\t\t_distance: \"30\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"aao\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"abh\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"abv\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"acm\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"acq\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"acw\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"acx\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"acy\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"adf\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"aeb\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"aec\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"afb\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"ajp\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"apc\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"apd\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"arq\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"ars\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"ary\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"arz\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"auz\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"avl\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"ayh\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"ayl\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"ayn\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"ayp\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"bbz\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"pga\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"shu\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ar: {\n\t\t_desired: \"ssh\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ az: {\n\t\t_desired: \"azb\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ et: {\n\t\t_desired: \"vro\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ff: {\n\t\t_desired: \"ffm\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ff: {\n\t\t_desired: \"fub\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ff: {\n\t\t_desired: \"fue\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ff: {\n\t\t_desired: \"fuf\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ff: {\n\t\t_desired: \"fuh\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ff: {\n\t\t_desired: \"fui\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ff: {\n\t\t_desired: \"fuq\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ff: {\n\t\t_desired: \"fuv\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ gn: {\n\t\t_desired: \"gnw\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ gn: {\n\t\t_desired: \"gui\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ gn: {\n\t\t_desired: \"gun\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ gn: {\n\t\t_desired: \"nhd\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ iu: {\n\t\t_desired: \"ikt\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ kln: {\n\t\t_desired: \"enb\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ kln: {\n\t\t_desired: \"eyo\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ kln: {\n\t\t_desired: \"niq\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ kln: {\n\t\t_desired: \"oki\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ kln: {\n\t\t_desired: \"pko\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ kln: {\n\t\t_desired: \"sgc\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ kln: {\n\t\t_desired: \"tec\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ kln: {\n\t\t_desired: \"tuy\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ kok: {\n\t\t_desired: \"gom\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ kpe: {\n\t\t_desired: \"gkp\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ luy: {\n\t\t_desired: \"ida\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ luy: {\n\t\t_desired: \"lkb\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ luy: {\n\t\t_desired: \"lko\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ luy: {\n\t\t_desired: \"lks\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ luy: {\n\t\t_desired: \"lri\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ luy: {\n\t\t_desired: \"lrm\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ luy: {\n\t\t_desired: \"lsm\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ luy: {\n\t\t_desired: \"lto\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ luy: {\n\t\t_desired: \"lts\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ luy: {\n\t\t_desired: \"lwg\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ luy: {\n\t\t_desired: \"nle\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ luy: {\n\t\t_desired: \"nyd\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ luy: {\n\t\t_desired: \"rag\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ lv: {\n\t\t_desired: \"ltg\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ mg: {\n\t\t_desired: \"bhr\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ mg: {\n\t\t_desired: \"bjq\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ mg: {\n\t\t_desired: \"bmm\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ mg: {\n\t\t_desired: \"bzc\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ mg: {\n\t\t_desired: \"msh\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ mg: {\n\t\t_desired: \"skg\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ mg: {\n\t\t_desired: \"tdx\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ mg: {\n\t\t_desired: \"tkg\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ mg: {\n\t\t_desired: \"txy\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ mg: {\n\t\t_desired: \"xmv\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ mg: {\n\t\t_desired: \"xmw\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ mn: {\n\t\t_desired: \"mvf\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"bjn\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"btj\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"bve\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"bvu\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"coa\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"dup\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"hji\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"id\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"jak\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"jax\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"kvb\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"kvr\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"kxd\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"lce\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"lcf\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"liw\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"max\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"meo\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"mfa\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"mfb\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"min\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"mqg\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"msi\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"mui\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"orn\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"ors\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"pel\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"pse\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"tmw\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"urk\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"vkk\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"vkt\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"xmm\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"zlm\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ms: {\n\t\t_desired: \"zmi\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ne: {\n\t\t_desired: \"dty\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ om: {\n\t\t_desired: \"gax\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ om: {\n\t\t_desired: \"hae\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ om: {\n\t\t_desired: \"orc\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ or: {\n\t\t_desired: \"spv\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ps: {\n\t\t_desired: \"pbt\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ ps: {\n\t\t_desired: \"pst\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qub\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qud\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"quf\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qug\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"quh\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"quk\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qul\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qup\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qur\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qus\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"quw\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qux\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"quy\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qva\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qvc\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qve\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qvh\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qvi\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qvj\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qvl\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qvm\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qvn\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qvo\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qvp\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qvs\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qvw\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qvz\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qwa\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qwc\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qwh\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qws\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qxa\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qxc\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qxh\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qxl\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qxn\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qxo\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qxp\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qxr\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qxt\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qxu\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ qu: {\n\t\t_desired: \"qxw\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ sc: {\n\t\t_desired: \"sdc\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ sc: {\n\t\t_desired: \"sdn\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ sc: {\n\t\t_desired: \"sro\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ sq: {\n\t\t_desired: \"aae\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ sq: {\n\t\t_desired: \"aat\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ sq: {\n\t\t_desired: \"aln\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ syr: {\n\t\t_desired: \"aii\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ uz: {\n\t\t_desired: \"uzs\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ yi: {\n\t\t_desired: \"yih\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ zh: {\n\t\t_desired: \"cdo\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ zh: {\n\t\t_desired: \"cjy\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ zh: {\n\t\t_desired: \"cpx\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ zh: {\n\t\t_desired: \"czh\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ zh: {\n\t\t_desired: \"czo\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ zh: {\n\t\t_desired: \"gan\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ zh: {\n\t\t_desired: \"hak\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ zh: {\n\t\t_desired: \"hsn\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ zh: {\n\t\t_desired: \"lzh\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ zh: {\n\t\t_desired: \"mnp\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ zh: {\n\t\t_desired: \"nan\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ zh: {\n\t\t_desired: \"wuu\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ zh: {\n\t\t_desired: \"yue\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"*\": {\n\t\t_desired: \"*\",\n\t\t_distance: \"80\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"am-Ethi\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"ru-Cyrl\": {\n\t\t_desired: \"az-Latn\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"bn-Beng\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"zh-Hans\": {\n\t\t_desired: \"bo-Tibt\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"ru-Cyrl\": {\n\t\t_desired: \"hy-Armn\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"ka-Geor\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"km-Khmr\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"kn-Knda\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"lo-Laoo\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"ml-Mlym\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"my-Mymr\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"ne-Deva\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"or-Orya\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"pa-Guru\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"ps-Arab\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"sd-Arab\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"si-Sinh\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"ta-Taml\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"te-Telu\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"ti-Ethi\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"ru-Cyrl\": {\n\t\t_desired: \"tk-Latn\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"ur-Arab\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"ru-Cyrl\": {\n\t\t_desired: \"uz-Latn\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"en-Latn\": {\n\t\t_desired: \"yi-Hebr\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"sr-Cyrl\": {\n\t\t_desired: \"sr-Latn\",\n\t\t_distance: \"5\"\n\t} },\n\t{ \"zh-Hans\": {\n\t\t_desired: \"za-Latn\",\n\t\t_distance: \"10\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"zh-Hans\": {\n\t\t_desired: \"zh-Hani\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"zh-Hant\": {\n\t\t_desired: \"zh-Hani\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"ar-Arab\": {\n\t\t_desired: \"ar-Latn\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"bn-Beng\": {\n\t\t_desired: \"bn-Latn\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"gu-Gujr\": {\n\t\t_desired: \"gu-Latn\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"hi-Deva\": {\n\t\t_desired: \"hi-Latn\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"kn-Knda\": {\n\t\t_desired: \"kn-Latn\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"ml-Mlym\": {\n\t\t_desired: \"ml-Latn\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"mr-Deva\": {\n\t\t_desired: \"mr-Latn\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"ta-Taml\": {\n\t\t_desired: \"ta-Latn\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"te-Telu\": {\n\t\t_desired: \"te-Latn\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"zh-Hans\": {\n\t\t_desired: \"zh-Latn\",\n\t\t_distance: \"20\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"ja-Jpan\": {\n\t\t_desired: \"ja-Latn\",\n\t\t_distance: \"5\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"ja-Jpan\": {\n\t\t_desired: \"ja-Hani\",\n\t\t_distance: \"5\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"ja-Jpan\": {\n\t\t_desired: \"ja-Hira\",\n\t\t_distance: \"5\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"ja-Jpan\": {\n\t\t_desired: \"ja-Kana\",\n\t\t_distance: \"5\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"ja-Jpan\": {\n\t\t_desired: \"ja-Hrkt\",\n\t\t_distance: \"5\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"ja-Hrkt\": {\n\t\t_desired: \"ja-Hira\",\n\t\t_distance: \"5\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"ja-Hrkt\": {\n\t\t_desired: \"ja-Kana\",\n\t\t_distance: \"5\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"ko-Kore\": {\n\t\t_desired: \"ko-Hani\",\n\t\t_distance: \"5\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"ko-Kore\": {\n\t\t_desired: \"ko-Hang\",\n\t\t_distance: \"5\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"ko-Kore\": {\n\t\t_desired: \"ko-Jamo\",\n\t\t_distance: \"5\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"ko-Hang\": {\n\t\t_desired: \"ko-Jamo\",\n\t\t_distance: \"5\",\n\t\t_oneway: \"true\"\n\t} },\n\t{ \"*-*\": {\n\t\t_desired: \"*-*\",\n\t\t_distance: \"50\"\n\t} },\n\t{ \"ar-*-$maghreb\": {\n\t\t_desired: \"ar-*-$maghreb\",\n\t\t_distance: \"4\"\n\t} },\n\t{ \"ar-*-$!maghreb\": {\n\t\t_desired: \"ar-*-$!maghreb\",\n\t\t_distance: \"4\"\n\t} },\n\t{ \"ar-*-*\": {\n\t\t_desired: \"ar-*-*\",\n\t\t_distance: \"5\"\n\t} },\n\t{ \"en-*-$enUS\": {\n\t\t_desired: \"en-*-$enUS\",\n\t\t_distance: \"4\"\n\t} },\n\t{ \"en-*-GB\": {\n\t\t_desired: \"en-*-$!enUS\",\n\t\t_distance: \"3\"\n\t} },\n\t{ \"en-*-$!enUS\": {\n\t\t_desired: \"en-*-$!enUS\",\n\t\t_distance: \"4\"\n\t} },\n\t{ \"en-*-*\": {\n\t\t_desired: \"en-*-*\",\n\t\t_distance: \"5\"\n\t} },\n\t{ \"es-*-$americas\": {\n\t\t_desired: \"es-*-$americas\",\n\t\t_distance: \"4\"\n\t} },\n\t{ \"es-*-$!americas\": {\n\t\t_desired: \"es-*-$!americas\",\n\t\t_distance: \"4\"\n\t} },\n\t{ \"es-*-*\": {\n\t\t_desired: \"es-*-*\",\n\t\t_distance: \"5\"\n\t} },\n\t{ \"pt-*-$americas\": {\n\t\t_desired: \"pt-*-$americas\",\n\t\t_distance: \"4\"\n\t} },\n\t{ \"pt-*-$!americas\": {\n\t\t_desired: \"pt-*-$!americas\",\n\t\t_distance: \"4\"\n\t} },\n\t{ \"pt-*-*\": {\n\t\t_desired: \"pt-*-*\",\n\t\t_distance: \"5\"\n\t} },\n\t{ \"zh-Hant-$cnsar\": {\n\t\t_desired: \"zh-Hant-$cnsar\",\n\t\t_distance: \"4\"\n\t} },\n\t{ \"zh-Hant-$!cnsar\": {\n\t\t_desired: \"zh-Hant-$!cnsar\",\n\t\t_distance: \"4\"\n\t} },\n\t{ \"zh-Hant-*\": {\n\t\t_desired: \"zh-Hant-*\",\n\t\t_distance: \"5\"\n\t} },\n\t{ \"*-*-*\": {\n\t\t_desired: \"*-*-*\",\n\t\t_distance: \"4\"\n\t} }\n] } } };\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2Fic3RyYWN0L2xhbmd1YWdlTWF0Y2hpbmcuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFPLGVBQWUsZ0JBQWdCLG9CQUFvQjtBQUMxRCxHQUFHLG1CQUFtQiw4Q0FBOEM7QUFDcEUsR0FBRyxTQUFTLDJDQUEyQztBQUN2RCxHQUFHLFVBQVUsbUJBQW1CO0FBQ2hDLEdBQUcsYUFBYSxpQkFBaUI7QUFDakMsR0FBRyxZQUFZLCtCQUErQjtBQUM5QyxHQUFHO0FBQ0g7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2Fic3RyYWN0L2xhbmd1YWdlTWF0Y2hpbmcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGRhdGEgPSB7IHN1cHBsZW1lbnRhbDogeyBsYW5ndWFnZU1hdGNoaW5nOiB7IFwid3JpdHRlbi1uZXdcIjogW1xuXHR7IHBhcmFkaWdtTG9jYWxlczogeyBfbG9jYWxlczogXCJlbiBlbl9HQiBlcyBlc180MTkgcHRfQlIgcHRfUFRcIiB9IH0sXG5cdHsgJGVuVVM6IHsgX3ZhbHVlOiBcIkFTK0NBK0dVK01IK01QK1BIK1BSK1VNK1VTK1ZJXCIgfSB9LFxuXHR7ICRjbnNhcjogeyBfdmFsdWU6IFwiSEsrTU9cIiB9IH0sXG5cdHsgJGFtZXJpY2FzOiB7IF92YWx1ZTogXCIwMTlcIiB9IH0sXG5cdHsgJG1hZ2hyZWI6IHsgX3ZhbHVlOiBcIk1BK0RaK1ROK0xZK01SK0VIXCIgfSB9LFxuXHR7IG5vOiB7XG5cdFx0X2Rlc2lyZWQ6IFwibmJcIixcblx0XHRfZGlzdGFuY2U6IFwiMVwiXG5cdH0gfSxcblx0eyBiczoge1xuXHRcdF9kZXNpcmVkOiBcImhyXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjRcIlxuXHR9IH0sXG5cdHsgYnM6IHtcblx0XHRfZGVzaXJlZDogXCJzaFwiLFxuXHRcdF9kaXN0YW5jZTogXCI0XCJcblx0fSB9LFxuXHR7IGhyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwic2hcIixcblx0XHRfZGlzdGFuY2U6IFwiNFwiXG5cdH0gfSxcblx0eyBzcjoge1xuXHRcdF9kZXNpcmVkOiBcInNoXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjRcIlxuXHR9IH0sXG5cdHsgYWE6IHtcblx0XHRfZGVzaXJlZDogXCJzc3lcIixcblx0XHRfZGlzdGFuY2U6IFwiNFwiXG5cdH0gfSxcblx0eyBkZToge1xuXHRcdF9kZXNpcmVkOiBcImdzd1wiLFxuXHRcdF9kaXN0YW5jZTogXCI0XCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGRlOiB7XG5cdFx0X2Rlc2lyZWQ6IFwibGJcIixcblx0XHRfZGlzdGFuY2U6IFwiNFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBubzoge1xuXHRcdF9kZXNpcmVkOiBcImRhXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjhcIlxuXHR9IH0sXG5cdHsgbmI6IHtcblx0XHRfZGVzaXJlZDogXCJkYVwiLFxuXHRcdF9kaXN0YW5jZTogXCI4XCJcblx0fSB9LFxuXHR7IHJ1OiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYWJcIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJhY2hcIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbmw6IHtcblx0XHRfZGVzaXJlZDogXCJhZlwiLFxuXHRcdF9kaXN0YW5jZTogXCIyMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcImFrXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGVuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYW1cIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZXM6IHtcblx0XHRfZGVzaXJlZDogXCJheVwiLFxuXHRcdF9kaXN0YW5jZTogXCIyMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBydToge1xuXHRcdF9kZXNpcmVkOiBcImF6XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IHVyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYmFsXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjIwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IHJ1OiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYmVcIixcblx0XHRfZGlzdGFuY2U6IFwiMjBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJiZW1cIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgaGk6IHtcblx0XHRfZGVzaXJlZDogXCJiaFwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcImJuXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IHpoOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYm9cIixcblx0XHRfZGlzdGFuY2U6IFwiMjBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZnI6IHtcblx0XHRfZGVzaXJlZDogXCJiclwiLFxuXHRcdF9kaXN0YW5jZTogXCIyMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlczoge1xuXHRcdF9kZXNpcmVkOiBcImNhXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjIwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGZpbDoge1xuXHRcdF9kZXNpcmVkOiBcImNlYlwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcImNoclwiLFxuXHRcdF9kaXN0YW5jZTogXCIyMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBhcjoge1xuXHRcdF9kZXNpcmVkOiBcImNrYlwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBmcjoge1xuXHRcdF9kZXNpcmVkOiBcImNvXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjIwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGZyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiY3JzXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjIwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IHNrOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiY3NcIixcblx0XHRfZGlzdGFuY2U6IFwiMjBcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJjeVwiLFxuXHRcdF9kaXN0YW5jZTogXCIyMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcImVlXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGVuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiZW9cIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZXM6IHtcblx0XHRfZGVzaXJlZDogXCJldVwiLFxuXHRcdF9kaXN0YW5jZTogXCIyMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBkYToge1xuXHRcdF9kZXNpcmVkOiBcImZvXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjIwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IG5sOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiZnlcIixcblx0XHRfZGlzdGFuY2U6IFwiMjBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJnYVwiLFxuXHRcdF9kaXN0YW5jZTogXCIyMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcImdhYVwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcImdkXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjIwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGVzOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiZ2xcIixcblx0XHRfZGlzdGFuY2U6IFwiMjBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZXM6IHtcblx0XHRfZGVzaXJlZDogXCJnblwiLFxuXHRcdF9kaXN0YW5jZTogXCIyMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBoaToge1xuXHRcdF9kZXNpcmVkOiBcImd1XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGVuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiaGFcIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJoYXdcIixcblx0XHRfZGlzdGFuY2U6IFwiMjBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZnI6IHtcblx0XHRfZGVzaXJlZDogXCJodFwiLFxuXHRcdF9kaXN0YW5jZTogXCIyMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBydToge1xuXHRcdF9kZXNpcmVkOiBcImh5XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGVuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiaWFcIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJpZ1wiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcImlzXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjIwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGlkOiB7XG5cdFx0X2Rlc2lyZWQ6IFwianZcIixcblx0XHRfZGlzdGFuY2U6IFwiMjBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJrYVwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBmcjoge1xuXHRcdF9kZXNpcmVkOiBcImtnXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IHJ1OiB7XG5cdFx0X2Rlc2lyZWQ6IFwia2tcIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJrbVwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcImtuXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGVuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwia3JpXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IHRyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwia3VcIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgcnU6IHtcblx0XHRfZGVzaXJlZDogXCJreVwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBpdDoge1xuXHRcdF9kZXNpcmVkOiBcImxhXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjIwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGVuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwibGdcIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZnI6IHtcblx0XHRfZGVzaXJlZDogXCJsblwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcImxvXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGVuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwibG96XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGZyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwibHVhXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGhpOiB7XG5cdFx0X2Rlc2lyZWQ6IFwibWFpXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjIwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGVuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwibWZlXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGZyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwibWdcIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJtaVwiLFxuXHRcdF9kaXN0YW5jZTogXCIyMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcIm1sXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IHJ1OiB7XG5cdFx0X2Rlc2lyZWQ6IFwibW5cIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgaGk6IHtcblx0XHRfZGVzaXJlZDogXCJtclwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBpZDoge1xuXHRcdF9kZXNpcmVkOiBcIm1zXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGVuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwibXRcIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJteVwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcIm5lXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IG5iOiB7XG5cdFx0X2Rlc2lyZWQ6IFwibm5cIixcblx0XHRfZGlzdGFuY2U6IFwiMjBcIlxuXHR9IH0sXG5cdHsgbm86IHtcblx0XHRfZGVzaXJlZDogXCJublwiLFxuXHRcdF9kaXN0YW5jZTogXCIyMFwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcIm5zb1wiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcIm55XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGVuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwibnluXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGZyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwib2NcIixcblx0XHRfZGlzdGFuY2U6IFwiMjBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJvbVwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcIm9yXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGVuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwicGFcIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJwY21cIixcblx0XHRfZGlzdGFuY2U6IFwiMjBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJwc1wiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlczoge1xuXHRcdF9kZXNpcmVkOiBcInF1XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGRlOiB7XG5cdFx0X2Rlc2lyZWQ6IFwicm1cIixcblx0XHRfZGlzdGFuY2U6IFwiMjBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJyblwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBmcjoge1xuXHRcdF9kZXNpcmVkOiBcInJ3XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGhpOiB7XG5cdFx0X2Rlc2lyZWQ6IFwic2FcIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJzZFwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcInNpXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGVuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwic25cIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJzb1wiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcInNxXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGVuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwic3RcIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgaWQ6IHtcblx0XHRfZGVzaXJlZDogXCJzdVwiLFxuXHRcdF9kaXN0YW5jZTogXCIyMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcInN3XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGVuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwidGFcIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJ0ZVwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBydToge1xuXHRcdF9kZXNpcmVkOiBcInRnXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGVuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwidGlcIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgcnU6IHtcblx0XHRfZGVzaXJlZDogXCJ0a1wiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcInRsaFwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcInRuXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGVuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwidG9cIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgcnU6IHtcblx0XHRfZGVzaXJlZDogXCJ0dFwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcInR1bVwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyB6aDoge1xuXHRcdF9kZXNpcmVkOiBcInVnXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjIwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IHJ1OiB7XG5cdFx0X2Rlc2lyZWQ6IFwidWtcIixcblx0XHRfZGlzdGFuY2U6IFwiMjBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJ1clwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBydToge1xuXHRcdF9kZXNpcmVkOiBcInV6XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGZyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwid29cIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgZW46IHtcblx0XHRfZGVzaXJlZDogXCJ4aFwiLFxuXHRcdF9kaXN0YW5jZTogXCIzMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcInlpXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGVuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwieW9cIixcblx0XHRfZGlzdGFuY2U6IFwiMzBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgemg6IHtcblx0XHRfZGVzaXJlZDogXCJ6YVwiLFxuXHRcdF9kaXN0YW5jZTogXCIyMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBlbjoge1xuXHRcdF9kZXNpcmVkOiBcInp1XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjMwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYWFvXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYWJoXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYWJ2XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYWNtXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYWNxXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYWN3XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYWN4XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYWN5XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYWRmXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYWViXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYWVjXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYWZiXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYWpwXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYXBjXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYXBkXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYXJxXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYXJzXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYXJ5XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYXJ6XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYXV6XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYXZsXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYXloXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYXlsXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYXluXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYXlwXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYmJ6XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwicGdhXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwic2h1XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGFyOiB7XG5cdFx0X2Rlc2lyZWQ6IFwic3NoXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGF6OiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYXpiXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGV0OiB7XG5cdFx0X2Rlc2lyZWQ6IFwidnJvXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGZmOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiZmZtXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGZmOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiZnViXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGZmOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiZnVlXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGZmOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiZnVmXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGZmOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiZnVoXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGZmOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiZnVpXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGZmOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiZnVxXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGZmOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiZnV2XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGduOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiZ253XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGduOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiZ3VpXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGduOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiZ3VuXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGduOiB7XG5cdFx0X2Rlc2lyZWQ6IFwibmhkXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGl1OiB7XG5cdFx0X2Rlc2lyZWQ6IFwiaWt0XCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGtsbjoge1xuXHRcdF9kZXNpcmVkOiBcImVuYlwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBrbG46IHtcblx0XHRfZGVzaXJlZDogXCJleW9cIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsga2xuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwibmlxXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGtsbjoge1xuXHRcdF9kZXNpcmVkOiBcIm9raVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBrbG46IHtcblx0XHRfZGVzaXJlZDogXCJwa29cIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsga2xuOiB7XG5cdFx0X2Rlc2lyZWQ6IFwic2djXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGtsbjoge1xuXHRcdF9kZXNpcmVkOiBcInRlY1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBrbG46IHtcblx0XHRfZGVzaXJlZDogXCJ0dXlcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsga29rOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiZ29tXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGtwZToge1xuXHRcdF9kZXNpcmVkOiBcImdrcFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBsdXk6IHtcblx0XHRfZGVzaXJlZDogXCJpZGFcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbHV5OiB7XG5cdFx0X2Rlc2lyZWQ6IFwibGtiXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGx1eToge1xuXHRcdF9kZXNpcmVkOiBcImxrb1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBsdXk6IHtcblx0XHRfZGVzaXJlZDogXCJsa3NcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbHV5OiB7XG5cdFx0X2Rlc2lyZWQ6IFwibHJpXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGx1eToge1xuXHRcdF9kZXNpcmVkOiBcImxybVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBsdXk6IHtcblx0XHRfZGVzaXJlZDogXCJsc21cIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbHV5OiB7XG5cdFx0X2Rlc2lyZWQ6IFwibHRvXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGx1eToge1xuXHRcdF9kZXNpcmVkOiBcImx0c1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBsdXk6IHtcblx0XHRfZGVzaXJlZDogXCJsd2dcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbHV5OiB7XG5cdFx0X2Rlc2lyZWQ6IFwibmxlXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IGx1eToge1xuXHRcdF9kZXNpcmVkOiBcIm55ZFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBsdXk6IHtcblx0XHRfZGVzaXJlZDogXCJyYWdcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbHY6IHtcblx0XHRfZGVzaXJlZDogXCJsdGdcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbWc6IHtcblx0XHRfZGVzaXJlZDogXCJiaHJcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbWc6IHtcblx0XHRfZGVzaXJlZDogXCJianFcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbWc6IHtcblx0XHRfZGVzaXJlZDogXCJibW1cIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbWc6IHtcblx0XHRfZGVzaXJlZDogXCJiemNcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbWc6IHtcblx0XHRfZGVzaXJlZDogXCJtc2hcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbWc6IHtcblx0XHRfZGVzaXJlZDogXCJza2dcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbWc6IHtcblx0XHRfZGVzaXJlZDogXCJ0ZHhcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbWc6IHtcblx0XHRfZGVzaXJlZDogXCJ0a2dcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbWc6IHtcblx0XHRfZGVzaXJlZDogXCJ0eHlcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbWc6IHtcblx0XHRfZGVzaXJlZDogXCJ4bXZcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbWc6IHtcblx0XHRfZGVzaXJlZDogXCJ4bXdcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbW46IHtcblx0XHRfZGVzaXJlZDogXCJtdmZcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbXM6IHtcblx0XHRfZGVzaXJlZDogXCJiam5cIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbXM6IHtcblx0XHRfZGVzaXJlZDogXCJidGpcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbXM6IHtcblx0XHRfZGVzaXJlZDogXCJidmVcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbXM6IHtcblx0XHRfZGVzaXJlZDogXCJidnVcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbXM6IHtcblx0XHRfZGVzaXJlZDogXCJjb2FcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbXM6IHtcblx0XHRfZGVzaXJlZDogXCJkdXBcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbXM6IHtcblx0XHRfZGVzaXJlZDogXCJoamlcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgbXM6IHtcblx0XHRfZGVzaXJlZDogXCJpZFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcImpha1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcImpheFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcImt2YlwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcImt2clwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcImt4ZFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcImxjZVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcImxjZlwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcImxpd1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcIm1heFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcIm1lb1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcIm1mYVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcIm1mYlwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcIm1pblwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcIm1xZ1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcIm1zaVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcIm11aVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcIm9yblwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcIm9yc1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcInBlbFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcInBzZVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcInRtd1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcInVya1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcInZra1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcInZrdFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcInhtbVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcInpsbVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBtczoge1xuXHRcdF9kZXNpcmVkOiBcInptaVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBuZToge1xuXHRcdF9kZXNpcmVkOiBcImR0eVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBvbToge1xuXHRcdF9kZXNpcmVkOiBcImdheFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBvbToge1xuXHRcdF9kZXNpcmVkOiBcImhhZVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBvbToge1xuXHRcdF9kZXNpcmVkOiBcIm9yY1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBvcjoge1xuXHRcdF9kZXNpcmVkOiBcInNwdlwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBwczoge1xuXHRcdF9kZXNpcmVkOiBcInBidFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBwczoge1xuXHRcdF9kZXNpcmVkOiBcInBzdFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF1YlwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF1ZFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF1ZlwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF1Z1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF1aFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF1a1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF1bFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF1cFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF1clwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF1c1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF1d1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF1eFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF1eVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF2YVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF2Y1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF2ZVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF2aFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF2aVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF2alwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF2bFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF2bVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF2blwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF2b1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF2cFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF2c1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF2d1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF2elwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF3YVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF3Y1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF3aFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF3c1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF4YVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF4Y1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF4aFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF4bFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF4blwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF4b1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF4cFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF4clwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF4dFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF4dVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBxdToge1xuXHRcdF9kZXNpcmVkOiBcInF4d1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBzYzoge1xuXHRcdF9kZXNpcmVkOiBcInNkY1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBzYzoge1xuXHRcdF9kZXNpcmVkOiBcInNkblwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBzYzoge1xuXHRcdF9kZXNpcmVkOiBcInNyb1wiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBzcToge1xuXHRcdF9kZXNpcmVkOiBcImFhZVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBzcToge1xuXHRcdF9kZXNpcmVkOiBcImFhdFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBzcToge1xuXHRcdF9kZXNpcmVkOiBcImFsblwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBzeXI6IHtcblx0XHRfZGVzaXJlZDogXCJhaWlcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgdXo6IHtcblx0XHRfZGVzaXJlZDogXCJ1enNcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgeWk6IHtcblx0XHRfZGVzaXJlZDogXCJ5aWhcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgemg6IHtcblx0XHRfZGVzaXJlZDogXCJjZG9cIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgemg6IHtcblx0XHRfZGVzaXJlZDogXCJjanlcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgemg6IHtcblx0XHRfZGVzaXJlZDogXCJjcHhcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgemg6IHtcblx0XHRfZGVzaXJlZDogXCJjemhcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgemg6IHtcblx0XHRfZGVzaXJlZDogXCJjem9cIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgemg6IHtcblx0XHRfZGVzaXJlZDogXCJnYW5cIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgemg6IHtcblx0XHRfZGVzaXJlZDogXCJoYWtcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgemg6IHtcblx0XHRfZGVzaXJlZDogXCJoc25cIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgemg6IHtcblx0XHRfZGVzaXJlZDogXCJsemhcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgemg6IHtcblx0XHRfZGVzaXJlZDogXCJtbnBcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgemg6IHtcblx0XHRfZGVzaXJlZDogXCJuYW5cIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgemg6IHtcblx0XHRfZGVzaXJlZDogXCJ3dXVcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgemg6IHtcblx0XHRfZGVzaXJlZDogXCJ5dWVcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgXCIqXCI6IHtcblx0XHRfZGVzaXJlZDogXCIqXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjgwXCJcblx0fSB9LFxuXHR7IFwiZW4tTGF0blwiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYW0tRXRoaVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcInJ1LUN5cmxcIjoge1xuXHRcdF9kZXNpcmVkOiBcImF6LUxhdG5cIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgXCJlbi1MYXRuXCI6IHtcblx0XHRfZGVzaXJlZDogXCJibi1CZW5nXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IFwiemgtSGFuc1wiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYm8tVGlidFwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcInJ1LUN5cmxcIjoge1xuXHRcdF9kZXNpcmVkOiBcImh5LUFybW5cIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgXCJlbi1MYXRuXCI6IHtcblx0XHRfZGVzaXJlZDogXCJrYS1HZW9yXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IFwiZW4tTGF0blwiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwia20tS2htclwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcImVuLUxhdG5cIjoge1xuXHRcdF9kZXNpcmVkOiBcImtuLUtuZGFcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgXCJlbi1MYXRuXCI6IHtcblx0XHRfZGVzaXJlZDogXCJsby1MYW9vXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IFwiZW4tTGF0blwiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwibWwtTWx5bVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcImVuLUxhdG5cIjoge1xuXHRcdF9kZXNpcmVkOiBcIm15LU15bXJcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgXCJlbi1MYXRuXCI6IHtcblx0XHRfZGVzaXJlZDogXCJuZS1EZXZhXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IFwiZW4tTGF0blwiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwib3ItT3J5YVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcImVuLUxhdG5cIjoge1xuXHRcdF9kZXNpcmVkOiBcInBhLUd1cnVcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgXCJlbi1MYXRuXCI6IHtcblx0XHRfZGVzaXJlZDogXCJwcy1BcmFiXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IFwiZW4tTGF0blwiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwic2QtQXJhYlwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcImVuLUxhdG5cIjoge1xuXHRcdF9kZXNpcmVkOiBcInNpLVNpbmhcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgXCJlbi1MYXRuXCI6IHtcblx0XHRfZGVzaXJlZDogXCJ0YS1UYW1sXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IFwiZW4tTGF0blwiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwidGUtVGVsdVwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcImVuLUxhdG5cIjoge1xuXHRcdF9kZXNpcmVkOiBcInRpLUV0aGlcIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgXCJydS1DeXJsXCI6IHtcblx0XHRfZGVzaXJlZDogXCJ0ay1MYXRuXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IFwiZW4tTGF0blwiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwidXItQXJhYlwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcInJ1LUN5cmxcIjoge1xuXHRcdF9kZXNpcmVkOiBcInV6LUxhdG5cIixcblx0XHRfZGlzdGFuY2U6IFwiMTBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgXCJlbi1MYXRuXCI6IHtcblx0XHRfZGVzaXJlZDogXCJ5aS1IZWJyXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjEwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IFwic3ItQ3lybFwiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwic3ItTGF0blwiLFxuXHRcdF9kaXN0YW5jZTogXCI1XCJcblx0fSB9LFxuXHR7IFwiemgtSGFuc1wiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiemEtTGF0blwiLFxuXHRcdF9kaXN0YW5jZTogXCIxMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcInpoLUhhbnNcIjoge1xuXHRcdF9kZXNpcmVkOiBcInpoLUhhbmlcIixcblx0XHRfZGlzdGFuY2U6IFwiMjBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgXCJ6aC1IYW50XCI6IHtcblx0XHRfZGVzaXJlZDogXCJ6aC1IYW5pXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjIwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IFwiYXItQXJhYlwiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYXItTGF0blwiLFxuXHRcdF9kaXN0YW5jZTogXCIyMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcImJuLUJlbmdcIjoge1xuXHRcdF9kZXNpcmVkOiBcImJuLUxhdG5cIixcblx0XHRfZGlzdGFuY2U6IFwiMjBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgXCJndS1HdWpyXCI6IHtcblx0XHRfZGVzaXJlZDogXCJndS1MYXRuXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjIwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IFwiaGktRGV2YVwiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiaGktTGF0blwiLFxuXHRcdF9kaXN0YW5jZTogXCIyMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcImtuLUtuZGFcIjoge1xuXHRcdF9kZXNpcmVkOiBcImtuLUxhdG5cIixcblx0XHRfZGlzdGFuY2U6IFwiMjBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgXCJtbC1NbHltXCI6IHtcblx0XHRfZGVzaXJlZDogXCJtbC1MYXRuXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjIwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IFwibXItRGV2YVwiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwibXItTGF0blwiLFxuXHRcdF9kaXN0YW5jZTogXCIyMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcInRhLVRhbWxcIjoge1xuXHRcdF9kZXNpcmVkOiBcInRhLUxhdG5cIixcblx0XHRfZGlzdGFuY2U6IFwiMjBcIixcblx0XHRfb25ld2F5OiBcInRydWVcIlxuXHR9IH0sXG5cdHsgXCJ0ZS1UZWx1XCI6IHtcblx0XHRfZGVzaXJlZDogXCJ0ZS1MYXRuXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjIwXCIsXG5cdFx0X29uZXdheTogXCJ0cnVlXCJcblx0fSB9LFxuXHR7IFwiemgtSGFuc1wiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiemgtTGF0blwiLFxuXHRcdF9kaXN0YW5jZTogXCIyMFwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcImphLUpwYW5cIjoge1xuXHRcdF9kZXNpcmVkOiBcImphLUxhdG5cIixcblx0XHRfZGlzdGFuY2U6IFwiNVwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcImphLUpwYW5cIjoge1xuXHRcdF9kZXNpcmVkOiBcImphLUhhbmlcIixcblx0XHRfZGlzdGFuY2U6IFwiNVwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcImphLUpwYW5cIjoge1xuXHRcdF9kZXNpcmVkOiBcImphLUhpcmFcIixcblx0XHRfZGlzdGFuY2U6IFwiNVwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcImphLUpwYW5cIjoge1xuXHRcdF9kZXNpcmVkOiBcImphLUthbmFcIixcblx0XHRfZGlzdGFuY2U6IFwiNVwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcImphLUpwYW5cIjoge1xuXHRcdF9kZXNpcmVkOiBcImphLUhya3RcIixcblx0XHRfZGlzdGFuY2U6IFwiNVwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcImphLUhya3RcIjoge1xuXHRcdF9kZXNpcmVkOiBcImphLUhpcmFcIixcblx0XHRfZGlzdGFuY2U6IFwiNVwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcImphLUhya3RcIjoge1xuXHRcdF9kZXNpcmVkOiBcImphLUthbmFcIixcblx0XHRfZGlzdGFuY2U6IFwiNVwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcImtvLUtvcmVcIjoge1xuXHRcdF9kZXNpcmVkOiBcImtvLUhhbmlcIixcblx0XHRfZGlzdGFuY2U6IFwiNVwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcImtvLUtvcmVcIjoge1xuXHRcdF9kZXNpcmVkOiBcImtvLUhhbmdcIixcblx0XHRfZGlzdGFuY2U6IFwiNVwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcImtvLUtvcmVcIjoge1xuXHRcdF9kZXNpcmVkOiBcImtvLUphbW9cIixcblx0XHRfZGlzdGFuY2U6IFwiNVwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcImtvLUhhbmdcIjoge1xuXHRcdF9kZXNpcmVkOiBcImtvLUphbW9cIixcblx0XHRfZGlzdGFuY2U6IFwiNVwiLFxuXHRcdF9vbmV3YXk6IFwidHJ1ZVwiXG5cdH0gfSxcblx0eyBcIiotKlwiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiKi0qXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjUwXCJcblx0fSB9LFxuXHR7IFwiYXItKi0kbWFnaHJlYlwiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiYXItKi0kbWFnaHJlYlwiLFxuXHRcdF9kaXN0YW5jZTogXCI0XCJcblx0fSB9LFxuXHR7IFwiYXItKi0kIW1hZ2hyZWJcIjoge1xuXHRcdF9kZXNpcmVkOiBcImFyLSotJCFtYWdocmViXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjRcIlxuXHR9IH0sXG5cdHsgXCJhci0qLSpcIjoge1xuXHRcdF9kZXNpcmVkOiBcImFyLSotKlwiLFxuXHRcdF9kaXN0YW5jZTogXCI1XCJcblx0fSB9LFxuXHR7IFwiZW4tKi0kZW5VU1wiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiZW4tKi0kZW5VU1wiLFxuXHRcdF9kaXN0YW5jZTogXCI0XCJcblx0fSB9LFxuXHR7IFwiZW4tKi1HQlwiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiZW4tKi0kIWVuVVNcIixcblx0XHRfZGlzdGFuY2U6IFwiM1wiXG5cdH0gfSxcblx0eyBcImVuLSotJCFlblVTXCI6IHtcblx0XHRfZGVzaXJlZDogXCJlbi0qLSQhZW5VU1wiLFxuXHRcdF9kaXN0YW5jZTogXCI0XCJcblx0fSB9LFxuXHR7IFwiZW4tKi0qXCI6IHtcblx0XHRfZGVzaXJlZDogXCJlbi0qLSpcIixcblx0XHRfZGlzdGFuY2U6IFwiNVwiXG5cdH0gfSxcblx0eyBcImVzLSotJGFtZXJpY2FzXCI6IHtcblx0XHRfZGVzaXJlZDogXCJlcy0qLSRhbWVyaWNhc1wiLFxuXHRcdF9kaXN0YW5jZTogXCI0XCJcblx0fSB9LFxuXHR7IFwiZXMtKi0kIWFtZXJpY2FzXCI6IHtcblx0XHRfZGVzaXJlZDogXCJlcy0qLSQhYW1lcmljYXNcIixcblx0XHRfZGlzdGFuY2U6IFwiNFwiXG5cdH0gfSxcblx0eyBcImVzLSotKlwiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwiZXMtKi0qXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjVcIlxuXHR9IH0sXG5cdHsgXCJwdC0qLSRhbWVyaWNhc1wiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwicHQtKi0kYW1lcmljYXNcIixcblx0XHRfZGlzdGFuY2U6IFwiNFwiXG5cdH0gfSxcblx0eyBcInB0LSotJCFhbWVyaWNhc1wiOiB7XG5cdFx0X2Rlc2lyZWQ6IFwicHQtKi0kIWFtZXJpY2FzXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjRcIlxuXHR9IH0sXG5cdHsgXCJwdC0qLSpcIjoge1xuXHRcdF9kZXNpcmVkOiBcInB0LSotKlwiLFxuXHRcdF9kaXN0YW5jZTogXCI1XCJcblx0fSB9LFxuXHR7IFwiemgtSGFudC0kY25zYXJcIjoge1xuXHRcdF9kZXNpcmVkOiBcInpoLUhhbnQtJGNuc2FyXCIsXG5cdFx0X2Rpc3RhbmNlOiBcIjRcIlxuXHR9IH0sXG5cdHsgXCJ6aC1IYW50LSQhY25zYXJcIjoge1xuXHRcdF9kZXNpcmVkOiBcInpoLUhhbnQtJCFjbnNhclwiLFxuXHRcdF9kaXN0YW5jZTogXCI0XCJcblx0fSB9LFxuXHR7IFwiemgtSGFudC0qXCI6IHtcblx0XHRfZGVzaXJlZDogXCJ6aC1IYW50LSpcIixcblx0XHRfZGlzdGFuY2U6IFwiNVwiXG5cdH0gfSxcblx0eyBcIiotKi0qXCI6IHtcblx0XHRfZGVzaXJlZDogXCIqLSotKlwiLFxuXHRcdF9kaXN0YW5jZTogXCI0XCJcblx0fSB9XG5dIH0gfSB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/languageMatching.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/regions.generated.js":
|
||
/*!***************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/regions.generated.js ***!
|
||
\***************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ regions: () => (/* binding */ regions)\n/* harmony export */ });\n// This file is generated from regions-gen.ts\nconst regions = {\n\t\"001\": [\n\t\t\"001\",\n\t\t\"001-status-grouping\",\n\t\t\"002\",\n\t\t\"005\",\n\t\t\"009\",\n\t\t\"011\",\n\t\t\"013\",\n\t\t\"014\",\n\t\t\"015\",\n\t\t\"017\",\n\t\t\"018\",\n\t\t\"019\",\n\t\t\"021\",\n\t\t\"029\",\n\t\t\"030\",\n\t\t\"034\",\n\t\t\"035\",\n\t\t\"039\",\n\t\t\"053\",\n\t\t\"054\",\n\t\t\"057\",\n\t\t\"061\",\n\t\t\"142\",\n\t\t\"143\",\n\t\t\"145\",\n\t\t\"150\",\n\t\t\"151\",\n\t\t\"154\",\n\t\t\"155\",\n\t\t\"AC\",\n\t\t\"AD\",\n\t\t\"AE\",\n\t\t\"AF\",\n\t\t\"AG\",\n\t\t\"AI\",\n\t\t\"AL\",\n\t\t\"AM\",\n\t\t\"AO\",\n\t\t\"AQ\",\n\t\t\"AR\",\n\t\t\"AS\",\n\t\t\"AT\",\n\t\t\"AU\",\n\t\t\"AW\",\n\t\t\"AX\",\n\t\t\"AZ\",\n\t\t\"BA\",\n\t\t\"BB\",\n\t\t\"BD\",\n\t\t\"BE\",\n\t\t\"BF\",\n\t\t\"BG\",\n\t\t\"BH\",\n\t\t\"BI\",\n\t\t\"BJ\",\n\t\t\"BL\",\n\t\t\"BM\",\n\t\t\"BN\",\n\t\t\"BO\",\n\t\t\"BQ\",\n\t\t\"BR\",\n\t\t\"BS\",\n\t\t\"BT\",\n\t\t\"BV\",\n\t\t\"BW\",\n\t\t\"BY\",\n\t\t\"BZ\",\n\t\t\"CA\",\n\t\t\"CC\",\n\t\t\"CD\",\n\t\t\"CF\",\n\t\t\"CG\",\n\t\t\"CH\",\n\t\t\"CI\",\n\t\t\"CK\",\n\t\t\"CL\",\n\t\t\"CM\",\n\t\t\"CN\",\n\t\t\"CO\",\n\t\t\"CP\",\n\t\t\"CQ\",\n\t\t\"CR\",\n\t\t\"CU\",\n\t\t\"CV\",\n\t\t\"CW\",\n\t\t\"CX\",\n\t\t\"CY\",\n\t\t\"CZ\",\n\t\t\"DE\",\n\t\t\"DG\",\n\t\t\"DJ\",\n\t\t\"DK\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"DZ\",\n\t\t\"EA\",\n\t\t\"EC\",\n\t\t\"EE\",\n\t\t\"EG\",\n\t\t\"EH\",\n\t\t\"ER\",\n\t\t\"ES\",\n\t\t\"ET\",\n\t\t\"EU\",\n\t\t\"EZ\",\n\t\t\"FI\",\n\t\t\"FJ\",\n\t\t\"FK\",\n\t\t\"FM\",\n\t\t\"FO\",\n\t\t\"FR\",\n\t\t\"GA\",\n\t\t\"GB\",\n\t\t\"GD\",\n\t\t\"GE\",\n\t\t\"GF\",\n\t\t\"GG\",\n\t\t\"GH\",\n\t\t\"GI\",\n\t\t\"GL\",\n\t\t\"GM\",\n\t\t\"GN\",\n\t\t\"GP\",\n\t\t\"GQ\",\n\t\t\"GR\",\n\t\t\"GS\",\n\t\t\"GT\",\n\t\t\"GU\",\n\t\t\"GW\",\n\t\t\"GY\",\n\t\t\"HK\",\n\t\t\"HM\",\n\t\t\"HN\",\n\t\t\"HR\",\n\t\t\"HT\",\n\t\t\"HU\",\n\t\t\"IC\",\n\t\t\"ID\",\n\t\t\"IE\",\n\t\t\"IL\",\n\t\t\"IM\",\n\t\t\"IN\",\n\t\t\"IO\",\n\t\t\"IQ\",\n\t\t\"IR\",\n\t\t\"IS\",\n\t\t\"IT\",\n\t\t\"JE\",\n\t\t\"JM\",\n\t\t\"JO\",\n\t\t\"JP\",\n\t\t\"KE\",\n\t\t\"KG\",\n\t\t\"KH\",\n\t\t\"KI\",\n\t\t\"KM\",\n\t\t\"KN\",\n\t\t\"KP\",\n\t\t\"KR\",\n\t\t\"KW\",\n\t\t\"KY\",\n\t\t\"KZ\",\n\t\t\"LA\",\n\t\t\"LB\",\n\t\t\"LC\",\n\t\t\"LI\",\n\t\t\"LK\",\n\t\t\"LR\",\n\t\t\"LS\",\n\t\t\"LT\",\n\t\t\"LU\",\n\t\t\"LV\",\n\t\t\"LY\",\n\t\t\"MA\",\n\t\t\"MC\",\n\t\t\"MD\",\n\t\t\"ME\",\n\t\t\"MF\",\n\t\t\"MG\",\n\t\t\"MH\",\n\t\t\"MK\",\n\t\t\"ML\",\n\t\t\"MM\",\n\t\t\"MN\",\n\t\t\"MO\",\n\t\t\"MP\",\n\t\t\"MQ\",\n\t\t\"MR\",\n\t\t\"MS\",\n\t\t\"MT\",\n\t\t\"MU\",\n\t\t\"MV\",\n\t\t\"MW\",\n\t\t\"MX\",\n\t\t\"MY\",\n\t\t\"MZ\",\n\t\t\"NA\",\n\t\t\"NC\",\n\t\t\"NE\",\n\t\t\"NF\",\n\t\t\"NG\",\n\t\t\"NI\",\n\t\t\"NL\",\n\t\t\"NO\",\n\t\t\"NP\",\n\t\t\"NR\",\n\t\t\"NU\",\n\t\t\"NZ\",\n\t\t\"OM\",\n\t\t\"PA\",\n\t\t\"PE\",\n\t\t\"PF\",\n\t\t\"PG\",\n\t\t\"PH\",\n\t\t\"PK\",\n\t\t\"PL\",\n\t\t\"PM\",\n\t\t\"PN\",\n\t\t\"PR\",\n\t\t\"PS\",\n\t\t\"PT\",\n\t\t\"PW\",\n\t\t\"PY\",\n\t\t\"QA\",\n\t\t\"QO\",\n\t\t\"RE\",\n\t\t\"RO\",\n\t\t\"RS\",\n\t\t\"RU\",\n\t\t\"RW\",\n\t\t\"SA\",\n\t\t\"SB\",\n\t\t\"SC\",\n\t\t\"SD\",\n\t\t\"SE\",\n\t\t\"SG\",\n\t\t\"SH\",\n\t\t\"SI\",\n\t\t\"SJ\",\n\t\t\"SK\",\n\t\t\"SL\",\n\t\t\"SM\",\n\t\t\"SN\",\n\t\t\"SO\",\n\t\t\"SR\",\n\t\t\"SS\",\n\t\t\"ST\",\n\t\t\"SV\",\n\t\t\"SX\",\n\t\t\"SY\",\n\t\t\"SZ\",\n\t\t\"TA\",\n\t\t\"TC\",\n\t\t\"TD\",\n\t\t\"TF\",\n\t\t\"TG\",\n\t\t\"TH\",\n\t\t\"TJ\",\n\t\t\"TK\",\n\t\t\"TL\",\n\t\t\"TM\",\n\t\t\"TN\",\n\t\t\"TO\",\n\t\t\"TR\",\n\t\t\"TT\",\n\t\t\"TV\",\n\t\t\"TW\",\n\t\t\"TZ\",\n\t\t\"UA\",\n\t\t\"UG\",\n\t\t\"UM\",\n\t\t\"UN\",\n\t\t\"US\",\n\t\t\"UY\",\n\t\t\"UZ\",\n\t\t\"VA\",\n\t\t\"VC\",\n\t\t\"VE\",\n\t\t\"VG\",\n\t\t\"VI\",\n\t\t\"VN\",\n\t\t\"VU\",\n\t\t\"WF\",\n\t\t\"WS\",\n\t\t\"XK\",\n\t\t\"YE\",\n\t\t\"YT\",\n\t\t\"ZA\",\n\t\t\"ZM\",\n\t\t\"ZW\"\n\t],\n\t\"002\": [\n\t\t\"002\",\n\t\t\"002-status-grouping\",\n\t\t\"011\",\n\t\t\"014\",\n\t\t\"015\",\n\t\t\"017\",\n\t\t\"018\",\n\t\t\"202\",\n\t\t\"AO\",\n\t\t\"BF\",\n\t\t\"BI\",\n\t\t\"BJ\",\n\t\t\"BW\",\n\t\t\"CD\",\n\t\t\"CF\",\n\t\t\"CG\",\n\t\t\"CI\",\n\t\t\"CM\",\n\t\t\"CV\",\n\t\t\"DJ\",\n\t\t\"DZ\",\n\t\t\"EA\",\n\t\t\"EG\",\n\t\t\"EH\",\n\t\t\"ER\",\n\t\t\"ET\",\n\t\t\"GA\",\n\t\t\"GH\",\n\t\t\"GM\",\n\t\t\"GN\",\n\t\t\"GQ\",\n\t\t\"GW\",\n\t\t\"IC\",\n\t\t\"IO\",\n\t\t\"KE\",\n\t\t\"KM\",\n\t\t\"LR\",\n\t\t\"LS\",\n\t\t\"LY\",\n\t\t\"MA\",\n\t\t\"MG\",\n\t\t\"ML\",\n\t\t\"MR\",\n\t\t\"MU\",\n\t\t\"MW\",\n\t\t\"MZ\",\n\t\t\"NA\",\n\t\t\"NE\",\n\t\t\"NG\",\n\t\t\"RE\",\n\t\t\"RW\",\n\t\t\"SC\",\n\t\t\"SD\",\n\t\t\"SH\",\n\t\t\"SL\",\n\t\t\"SN\",\n\t\t\"SO\",\n\t\t\"SS\",\n\t\t\"ST\",\n\t\t\"SZ\",\n\t\t\"TD\",\n\t\t\"TF\",\n\t\t\"TG\",\n\t\t\"TN\",\n\t\t\"TZ\",\n\t\t\"UG\",\n\t\t\"YT\",\n\t\t\"ZA\",\n\t\t\"ZM\",\n\t\t\"ZW\"\n\t],\n\t\"003\": [\n\t\t\"003\",\n\t\t\"013\",\n\t\t\"021\",\n\t\t\"029\",\n\t\t\"AG\",\n\t\t\"AI\",\n\t\t\"AW\",\n\t\t\"BB\",\n\t\t\"BL\",\n\t\t\"BM\",\n\t\t\"BQ\",\n\t\t\"BS\",\n\t\t\"BZ\",\n\t\t\"CA\",\n\t\t\"CR\",\n\t\t\"CU\",\n\t\t\"CW\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"GD\",\n\t\t\"GL\",\n\t\t\"GP\",\n\t\t\"GT\",\n\t\t\"HN\",\n\t\t\"HT\",\n\t\t\"JM\",\n\t\t\"KN\",\n\t\t\"KY\",\n\t\t\"LC\",\n\t\t\"MF\",\n\t\t\"MQ\",\n\t\t\"MS\",\n\t\t\"MX\",\n\t\t\"NI\",\n\t\t\"PA\",\n\t\t\"PM\",\n\t\t\"PR\",\n\t\t\"SV\",\n\t\t\"SX\",\n\t\t\"TC\",\n\t\t\"TT\",\n\t\t\"US\",\n\t\t\"VC\",\n\t\t\"VG\",\n\t\t\"VI\"\n\t],\n\t\"005\": [\n\t\t\"005\",\n\t\t\"AR\",\n\t\t\"BO\",\n\t\t\"BR\",\n\t\t\"BV\",\n\t\t\"CL\",\n\t\t\"CO\",\n\t\t\"EC\",\n\t\t\"FK\",\n\t\t\"GF\",\n\t\t\"GS\",\n\t\t\"GY\",\n\t\t\"PE\",\n\t\t\"PY\",\n\t\t\"SR\",\n\t\t\"UY\",\n\t\t\"VE\"\n\t],\n\t\"009\": [\n\t\t\"009\",\n\t\t\"053\",\n\t\t\"054\",\n\t\t\"057\",\n\t\t\"061\",\n\t\t\"AC\",\n\t\t\"AQ\",\n\t\t\"AS\",\n\t\t\"AU\",\n\t\t\"CC\",\n\t\t\"CK\",\n\t\t\"CP\",\n\t\t\"CX\",\n\t\t\"DG\",\n\t\t\"FJ\",\n\t\t\"FM\",\n\t\t\"GU\",\n\t\t\"HM\",\n\t\t\"KI\",\n\t\t\"MH\",\n\t\t\"MP\",\n\t\t\"NC\",\n\t\t\"NF\",\n\t\t\"NR\",\n\t\t\"NU\",\n\t\t\"NZ\",\n\t\t\"PF\",\n\t\t\"PG\",\n\t\t\"PN\",\n\t\t\"PW\",\n\t\t\"QO\",\n\t\t\"SB\",\n\t\t\"TA\",\n\t\t\"TK\",\n\t\t\"TO\",\n\t\t\"TV\",\n\t\t\"UM\",\n\t\t\"VU\",\n\t\t\"WF\",\n\t\t\"WS\"\n\t],\n\t\"011\": [\n\t\t\"011\",\n\t\t\"BF\",\n\t\t\"BJ\",\n\t\t\"CI\",\n\t\t\"CV\",\n\t\t\"GH\",\n\t\t\"GM\",\n\t\t\"GN\",\n\t\t\"GW\",\n\t\t\"LR\",\n\t\t\"ML\",\n\t\t\"MR\",\n\t\t\"NE\",\n\t\t\"NG\",\n\t\t\"SH\",\n\t\t\"SL\",\n\t\t\"SN\",\n\t\t\"TG\"\n\t],\n\t\"013\": [\n\t\t\"013\",\n\t\t\"BZ\",\n\t\t\"CR\",\n\t\t\"GT\",\n\t\t\"HN\",\n\t\t\"MX\",\n\t\t\"NI\",\n\t\t\"PA\",\n\t\t\"SV\"\n\t],\n\t\"014\": [\n\t\t\"014\",\n\t\t\"BI\",\n\t\t\"DJ\",\n\t\t\"ER\",\n\t\t\"ET\",\n\t\t\"IO\",\n\t\t\"KE\",\n\t\t\"KM\",\n\t\t\"MG\",\n\t\t\"MU\",\n\t\t\"MW\",\n\t\t\"MZ\",\n\t\t\"RE\",\n\t\t\"RW\",\n\t\t\"SC\",\n\t\t\"SO\",\n\t\t\"SS\",\n\t\t\"TF\",\n\t\t\"TZ\",\n\t\t\"UG\",\n\t\t\"YT\",\n\t\t\"ZM\",\n\t\t\"ZW\"\n\t],\n\t\"015\": [\n\t\t\"015\",\n\t\t\"DZ\",\n\t\t\"EA\",\n\t\t\"EG\",\n\t\t\"EH\",\n\t\t\"IC\",\n\t\t\"LY\",\n\t\t\"MA\",\n\t\t\"SD\",\n\t\t\"TN\"\n\t],\n\t\"017\": [\n\t\t\"017\",\n\t\t\"AO\",\n\t\t\"CD\",\n\t\t\"CF\",\n\t\t\"CG\",\n\t\t\"CM\",\n\t\t\"GA\",\n\t\t\"GQ\",\n\t\t\"ST\",\n\t\t\"TD\"\n\t],\n\t\"018\": [\n\t\t\"018\",\n\t\t\"BW\",\n\t\t\"LS\",\n\t\t\"NA\",\n\t\t\"SZ\",\n\t\t\"ZA\"\n\t],\n\t\"019\": [\n\t\t\"003\",\n\t\t\"005\",\n\t\t\"013\",\n\t\t\"019\",\n\t\t\"019-status-grouping\",\n\t\t\"021\",\n\t\t\"029\",\n\t\t\"419\",\n\t\t\"AG\",\n\t\t\"AI\",\n\t\t\"AR\",\n\t\t\"AW\",\n\t\t\"BB\",\n\t\t\"BL\",\n\t\t\"BM\",\n\t\t\"BO\",\n\t\t\"BQ\",\n\t\t\"BR\",\n\t\t\"BS\",\n\t\t\"BV\",\n\t\t\"BZ\",\n\t\t\"CA\",\n\t\t\"CL\",\n\t\t\"CO\",\n\t\t\"CR\",\n\t\t\"CU\",\n\t\t\"CW\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"EC\",\n\t\t\"FK\",\n\t\t\"GD\",\n\t\t\"GF\",\n\t\t\"GL\",\n\t\t\"GP\",\n\t\t\"GS\",\n\t\t\"GT\",\n\t\t\"GY\",\n\t\t\"HN\",\n\t\t\"HT\",\n\t\t\"JM\",\n\t\t\"KN\",\n\t\t\"KY\",\n\t\t\"LC\",\n\t\t\"MF\",\n\t\t\"MQ\",\n\t\t\"MS\",\n\t\t\"MX\",\n\t\t\"NI\",\n\t\t\"PA\",\n\t\t\"PE\",\n\t\t\"PM\",\n\t\t\"PR\",\n\t\t\"PY\",\n\t\t\"SR\",\n\t\t\"SV\",\n\t\t\"SX\",\n\t\t\"TC\",\n\t\t\"TT\",\n\t\t\"US\",\n\t\t\"UY\",\n\t\t\"VC\",\n\t\t\"VE\",\n\t\t\"VG\",\n\t\t\"VI\"\n\t],\n\t\"021\": [\n\t\t\"021\",\n\t\t\"BM\",\n\t\t\"CA\",\n\t\t\"GL\",\n\t\t\"PM\",\n\t\t\"US\"\n\t],\n\t\"029\": [\n\t\t\"029\",\n\t\t\"AG\",\n\t\t\"AI\",\n\t\t\"AW\",\n\t\t\"BB\",\n\t\t\"BL\",\n\t\t\"BQ\",\n\t\t\"BS\",\n\t\t\"CU\",\n\t\t\"CW\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"GD\",\n\t\t\"GP\",\n\t\t\"HT\",\n\t\t\"JM\",\n\t\t\"KN\",\n\t\t\"KY\",\n\t\t\"LC\",\n\t\t\"MF\",\n\t\t\"MQ\",\n\t\t\"MS\",\n\t\t\"PR\",\n\t\t\"SX\",\n\t\t\"TC\",\n\t\t\"TT\",\n\t\t\"VC\",\n\t\t\"VG\",\n\t\t\"VI\"\n\t],\n\t\"030\": [\n\t\t\"030\",\n\t\t\"CN\",\n\t\t\"HK\",\n\t\t\"JP\",\n\t\t\"KP\",\n\t\t\"KR\",\n\t\t\"MN\",\n\t\t\"MO\",\n\t\t\"TW\"\n\t],\n\t\"034\": [\n\t\t\"034\",\n\t\t\"AF\",\n\t\t\"BD\",\n\t\t\"BT\",\n\t\t\"IN\",\n\t\t\"IR\",\n\t\t\"LK\",\n\t\t\"MV\",\n\t\t\"NP\",\n\t\t\"PK\"\n\t],\n\t\"035\": [\n\t\t\"035\",\n\t\t\"BN\",\n\t\t\"ID\",\n\t\t\"KH\",\n\t\t\"LA\",\n\t\t\"MM\",\n\t\t\"MY\",\n\t\t\"PH\",\n\t\t\"SG\",\n\t\t\"TH\",\n\t\t\"TL\",\n\t\t\"VN\"\n\t],\n\t\"039\": [\n\t\t\"039\",\n\t\t\"AD\",\n\t\t\"AL\",\n\t\t\"BA\",\n\t\t\"ES\",\n\t\t\"GI\",\n\t\t\"GR\",\n\t\t\"HR\",\n\t\t\"IT\",\n\t\t\"ME\",\n\t\t\"MK\",\n\t\t\"MT\",\n\t\t\"PT\",\n\t\t\"RS\",\n\t\t\"SI\",\n\t\t\"SM\",\n\t\t\"VA\",\n\t\t\"XK\"\n\t],\n\t\"053\": [\n\t\t\"053\",\n\t\t\"AU\",\n\t\t\"CC\",\n\t\t\"CX\",\n\t\t\"HM\",\n\t\t\"NF\",\n\t\t\"NZ\"\n\t],\n\t\"054\": [\n\t\t\"054\",\n\t\t\"FJ\",\n\t\t\"NC\",\n\t\t\"PG\",\n\t\t\"SB\",\n\t\t\"VU\"\n\t],\n\t\"057\": [\n\t\t\"057\",\n\t\t\"FM\",\n\t\t\"GU\",\n\t\t\"KI\",\n\t\t\"MH\",\n\t\t\"MP\",\n\t\t\"NR\",\n\t\t\"PW\",\n\t\t\"UM\"\n\t],\n\t\"061\": [\n\t\t\"061\",\n\t\t\"AS\",\n\t\t\"CK\",\n\t\t\"NU\",\n\t\t\"PF\",\n\t\t\"PN\",\n\t\t\"TK\",\n\t\t\"TO\",\n\t\t\"TV\",\n\t\t\"WF\",\n\t\t\"WS\"\n\t],\n\t\"142\": [\n\t\t\"030\",\n\t\t\"034\",\n\t\t\"035\",\n\t\t\"142\",\n\t\t\"143\",\n\t\t\"145\",\n\t\t\"AE\",\n\t\t\"AF\",\n\t\t\"AM\",\n\t\t\"AZ\",\n\t\t\"BD\",\n\t\t\"BH\",\n\t\t\"BN\",\n\t\t\"BT\",\n\t\t\"CN\",\n\t\t\"CY\",\n\t\t\"GE\",\n\t\t\"HK\",\n\t\t\"ID\",\n\t\t\"IL\",\n\t\t\"IN\",\n\t\t\"IQ\",\n\t\t\"IR\",\n\t\t\"JO\",\n\t\t\"JP\",\n\t\t\"KG\",\n\t\t\"KH\",\n\t\t\"KP\",\n\t\t\"KR\",\n\t\t\"KW\",\n\t\t\"KZ\",\n\t\t\"LA\",\n\t\t\"LB\",\n\t\t\"LK\",\n\t\t\"MM\",\n\t\t\"MN\",\n\t\t\"MO\",\n\t\t\"MV\",\n\t\t\"MY\",\n\t\t\"NP\",\n\t\t\"OM\",\n\t\t\"PH\",\n\t\t\"PK\",\n\t\t\"PS\",\n\t\t\"QA\",\n\t\t\"SA\",\n\t\t\"SG\",\n\t\t\"SY\",\n\t\t\"TH\",\n\t\t\"TJ\",\n\t\t\"TL\",\n\t\t\"TM\",\n\t\t\"TR\",\n\t\t\"TW\",\n\t\t\"UZ\",\n\t\t\"VN\",\n\t\t\"YE\"\n\t],\n\t\"143\": [\n\t\t\"143\",\n\t\t\"KG\",\n\t\t\"KZ\",\n\t\t\"TJ\",\n\t\t\"TM\",\n\t\t\"UZ\"\n\t],\n\t\"145\": [\n\t\t\"145\",\n\t\t\"AE\",\n\t\t\"AM\",\n\t\t\"AZ\",\n\t\t\"BH\",\n\t\t\"CY\",\n\t\t\"GE\",\n\t\t\"IL\",\n\t\t\"IQ\",\n\t\t\"JO\",\n\t\t\"KW\",\n\t\t\"LB\",\n\t\t\"OM\",\n\t\t\"PS\",\n\t\t\"QA\",\n\t\t\"SA\",\n\t\t\"SY\",\n\t\t\"TR\",\n\t\t\"YE\"\n\t],\n\t\"150\": [\n\t\t\"039\",\n\t\t\"150\",\n\t\t\"151\",\n\t\t\"154\",\n\t\t\"155\",\n\t\t\"AD\",\n\t\t\"AL\",\n\t\t\"AT\",\n\t\t\"AX\",\n\t\t\"BA\",\n\t\t\"BE\",\n\t\t\"BG\",\n\t\t\"BY\",\n\t\t\"CH\",\n\t\t\"CQ\",\n\t\t\"CZ\",\n\t\t\"DE\",\n\t\t\"DK\",\n\t\t\"EE\",\n\t\t\"ES\",\n\t\t\"FI\",\n\t\t\"FO\",\n\t\t\"FR\",\n\t\t\"GB\",\n\t\t\"GG\",\n\t\t\"GI\",\n\t\t\"GR\",\n\t\t\"HR\",\n\t\t\"HU\",\n\t\t\"IE\",\n\t\t\"IM\",\n\t\t\"IS\",\n\t\t\"IT\",\n\t\t\"JE\",\n\t\t\"LI\",\n\t\t\"LT\",\n\t\t\"LU\",\n\t\t\"LV\",\n\t\t\"MC\",\n\t\t\"MD\",\n\t\t\"ME\",\n\t\t\"MK\",\n\t\t\"MT\",\n\t\t\"NL\",\n\t\t\"NO\",\n\t\t\"PL\",\n\t\t\"PT\",\n\t\t\"RO\",\n\t\t\"RS\",\n\t\t\"RU\",\n\t\t\"SE\",\n\t\t\"SI\",\n\t\t\"SJ\",\n\t\t\"SK\",\n\t\t\"SM\",\n\t\t\"UA\",\n\t\t\"VA\",\n\t\t\"XK\"\n\t],\n\t\"151\": [\n\t\t\"151\",\n\t\t\"BG\",\n\t\t\"BY\",\n\t\t\"CZ\",\n\t\t\"HU\",\n\t\t\"MD\",\n\t\t\"PL\",\n\t\t\"RO\",\n\t\t\"RU\",\n\t\t\"SK\",\n\t\t\"UA\"\n\t],\n\t\"154\": [\n\t\t\"154\",\n\t\t\"AX\",\n\t\t\"CQ\",\n\t\t\"DK\",\n\t\t\"EE\",\n\t\t\"FI\",\n\t\t\"FO\",\n\t\t\"GB\",\n\t\t\"GG\",\n\t\t\"IE\",\n\t\t\"IM\",\n\t\t\"IS\",\n\t\t\"JE\",\n\t\t\"LT\",\n\t\t\"LV\",\n\t\t\"NO\",\n\t\t\"SE\",\n\t\t\"SJ\"\n\t],\n\t\"155\": [\n\t\t\"155\",\n\t\t\"AT\",\n\t\t\"BE\",\n\t\t\"CH\",\n\t\t\"DE\",\n\t\t\"FR\",\n\t\t\"LI\",\n\t\t\"LU\",\n\t\t\"MC\",\n\t\t\"NL\"\n\t],\n\t\"202\": [\n\t\t\"011\",\n\t\t\"014\",\n\t\t\"017\",\n\t\t\"018\",\n\t\t\"202\",\n\t\t\"AO\",\n\t\t\"BF\",\n\t\t\"BI\",\n\t\t\"BJ\",\n\t\t\"BW\",\n\t\t\"CD\",\n\t\t\"CF\",\n\t\t\"CG\",\n\t\t\"CI\",\n\t\t\"CM\",\n\t\t\"CV\",\n\t\t\"DJ\",\n\t\t\"ER\",\n\t\t\"ET\",\n\t\t\"GA\",\n\t\t\"GH\",\n\t\t\"GM\",\n\t\t\"GN\",\n\t\t\"GQ\",\n\t\t\"GW\",\n\t\t\"IO\",\n\t\t\"KE\",\n\t\t\"KM\",\n\t\t\"LR\",\n\t\t\"LS\",\n\t\t\"MG\",\n\t\t\"ML\",\n\t\t\"MR\",\n\t\t\"MU\",\n\t\t\"MW\",\n\t\t\"MZ\",\n\t\t\"NA\",\n\t\t\"NE\",\n\t\t\"NG\",\n\t\t\"RE\",\n\t\t\"RW\",\n\t\t\"SC\",\n\t\t\"SH\",\n\t\t\"SL\",\n\t\t\"SN\",\n\t\t\"SO\",\n\t\t\"SS\",\n\t\t\"ST\",\n\t\t\"SZ\",\n\t\t\"TD\",\n\t\t\"TF\",\n\t\t\"TG\",\n\t\t\"TZ\",\n\t\t\"UG\",\n\t\t\"YT\",\n\t\t\"ZA\",\n\t\t\"ZM\",\n\t\t\"ZW\"\n\t],\n\t\"419\": [\n\t\t\"005\",\n\t\t\"013\",\n\t\t\"029\",\n\t\t\"419\",\n\t\t\"AG\",\n\t\t\"AI\",\n\t\t\"AR\",\n\t\t\"AW\",\n\t\t\"BB\",\n\t\t\"BL\",\n\t\t\"BO\",\n\t\t\"BQ\",\n\t\t\"BR\",\n\t\t\"BS\",\n\t\t\"BV\",\n\t\t\"BZ\",\n\t\t\"CL\",\n\t\t\"CO\",\n\t\t\"CR\",\n\t\t\"CU\",\n\t\t\"CW\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"EC\",\n\t\t\"FK\",\n\t\t\"GD\",\n\t\t\"GF\",\n\t\t\"GP\",\n\t\t\"GS\",\n\t\t\"GT\",\n\t\t\"GY\",\n\t\t\"HN\",\n\t\t\"HT\",\n\t\t\"JM\",\n\t\t\"KN\",\n\t\t\"KY\",\n\t\t\"LC\",\n\t\t\"MF\",\n\t\t\"MQ\",\n\t\t\"MS\",\n\t\t\"MX\",\n\t\t\"NI\",\n\t\t\"PA\",\n\t\t\"PE\",\n\t\t\"PR\",\n\t\t\"PY\",\n\t\t\"SR\",\n\t\t\"SV\",\n\t\t\"SX\",\n\t\t\"TC\",\n\t\t\"TT\",\n\t\t\"UY\",\n\t\t\"VC\",\n\t\t\"VE\",\n\t\t\"VG\",\n\t\t\"VI\"\n\t],\n\tEU: [\n\t\t\"AT\",\n\t\t\"BE\",\n\t\t\"BG\",\n\t\t\"CY\",\n\t\t\"CZ\",\n\t\t\"DE\",\n\t\t\"DK\",\n\t\t\"EE\",\n\t\t\"ES\",\n\t\t\"EU\",\n\t\t\"FI\",\n\t\t\"FR\",\n\t\t\"GR\",\n\t\t\"HR\",\n\t\t\"HU\",\n\t\t\"IE\",\n\t\t\"IT\",\n\t\t\"LT\",\n\t\t\"LU\",\n\t\t\"LV\",\n\t\t\"MT\",\n\t\t\"NL\",\n\t\t\"PL\",\n\t\t\"PT\",\n\t\t\"RO\",\n\t\t\"SE\",\n\t\t\"SI\",\n\t\t\"SK\"\n\t],\n\tEZ: [\n\t\t\"AT\",\n\t\t\"BE\",\n\t\t\"CY\",\n\t\t\"DE\",\n\t\t\"EE\",\n\t\t\"ES\",\n\t\t\"EZ\",\n\t\t\"FI\",\n\t\t\"FR\",\n\t\t\"GR\",\n\t\t\"IE\",\n\t\t\"IT\",\n\t\t\"LT\",\n\t\t\"LU\",\n\t\t\"LV\",\n\t\t\"MT\",\n\t\t\"NL\",\n\t\t\"PT\",\n\t\t\"SI\",\n\t\t\"SK\"\n\t],\n\tQO: [\n\t\t\"AC\",\n\t\t\"AQ\",\n\t\t\"CP\",\n\t\t\"DG\",\n\t\t\"QO\",\n\t\t\"TA\"\n\t],\n\tUN: [\n\t\t\"AD\",\n\t\t\"AE\",\n\t\t\"AF\",\n\t\t\"AG\",\n\t\t\"AL\",\n\t\t\"AM\",\n\t\t\"AO\",\n\t\t\"AR\",\n\t\t\"AT\",\n\t\t\"AU\",\n\t\t\"AZ\",\n\t\t\"BA\",\n\t\t\"BB\",\n\t\t\"BD\",\n\t\t\"BE\",\n\t\t\"BF\",\n\t\t\"BG\",\n\t\t\"BH\",\n\t\t\"BI\",\n\t\t\"BJ\",\n\t\t\"BN\",\n\t\t\"BO\",\n\t\t\"BR\",\n\t\t\"BS\",\n\t\t\"BT\",\n\t\t\"BW\",\n\t\t\"BY\",\n\t\t\"BZ\",\n\t\t\"CA\",\n\t\t\"CD\",\n\t\t\"CF\",\n\t\t\"CG\",\n\t\t\"CH\",\n\t\t\"CI\",\n\t\t\"CL\",\n\t\t\"CM\",\n\t\t\"CN\",\n\t\t\"CO\",\n\t\t\"CR\",\n\t\t\"CU\",\n\t\t\"CV\",\n\t\t\"CY\",\n\t\t\"CZ\",\n\t\t\"DE\",\n\t\t\"DJ\",\n\t\t\"DK\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"DZ\",\n\t\t\"EC\",\n\t\t\"EE\",\n\t\t\"EG\",\n\t\t\"ER\",\n\t\t\"ES\",\n\t\t\"ET\",\n\t\t\"FI\",\n\t\t\"FJ\",\n\t\t\"FM\",\n\t\t\"FR\",\n\t\t\"GA\",\n\t\t\"GB\",\n\t\t\"GD\",\n\t\t\"GE\",\n\t\t\"GH\",\n\t\t\"GM\",\n\t\t\"GN\",\n\t\t\"GQ\",\n\t\t\"GR\",\n\t\t\"GT\",\n\t\t\"GW\",\n\t\t\"GY\",\n\t\t\"HN\",\n\t\t\"HR\",\n\t\t\"HT\",\n\t\t\"HU\",\n\t\t\"ID\",\n\t\t\"IE\",\n\t\t\"IL\",\n\t\t\"IN\",\n\t\t\"IQ\",\n\t\t\"IR\",\n\t\t\"IS\",\n\t\t\"IT\",\n\t\t\"JM\",\n\t\t\"JO\",\n\t\t\"JP\",\n\t\t\"KE\",\n\t\t\"KG\",\n\t\t\"KH\",\n\t\t\"KI\",\n\t\t\"KM\",\n\t\t\"KN\",\n\t\t\"KP\",\n\t\t\"KR\",\n\t\t\"KW\",\n\t\t\"KZ\",\n\t\t\"LA\",\n\t\t\"LB\",\n\t\t\"LC\",\n\t\t\"LI\",\n\t\t\"LK\",\n\t\t\"LR\",\n\t\t\"LS\",\n\t\t\"LT\",\n\t\t\"LU\",\n\t\t\"LV\",\n\t\t\"LY\",\n\t\t\"MA\",\n\t\t\"MC\",\n\t\t\"MD\",\n\t\t\"ME\",\n\t\t\"MG\",\n\t\t\"MH\",\n\t\t\"MK\",\n\t\t\"ML\",\n\t\t\"MM\",\n\t\t\"MN\",\n\t\t\"MR\",\n\t\t\"MT\",\n\t\t\"MU\",\n\t\t\"MV\",\n\t\t\"MW\",\n\t\t\"MX\",\n\t\t\"MY\",\n\t\t\"MZ\",\n\t\t\"NA\",\n\t\t\"NE\",\n\t\t\"NG\",\n\t\t\"NI\",\n\t\t\"NL\",\n\t\t\"NO\",\n\t\t\"NP\",\n\t\t\"NR\",\n\t\t\"NZ\",\n\t\t\"OM\",\n\t\t\"PA\",\n\t\t\"PE\",\n\t\t\"PG\",\n\t\t\"PH\",\n\t\t\"PK\",\n\t\t\"PL\",\n\t\t\"PT\",\n\t\t\"PW\",\n\t\t\"PY\",\n\t\t\"QA\",\n\t\t\"RO\",\n\t\t\"RS\",\n\t\t\"RU\",\n\t\t\"RW\",\n\t\t\"SA\",\n\t\t\"SB\",\n\t\t\"SC\",\n\t\t\"SD\",\n\t\t\"SE\",\n\t\t\"SG\",\n\t\t\"SI\",\n\t\t\"SK\",\n\t\t\"SL\",\n\t\t\"SM\",\n\t\t\"SN\",\n\t\t\"SO\",\n\t\t\"SR\",\n\t\t\"SS\",\n\t\t\"ST\",\n\t\t\"SV\",\n\t\t\"SY\",\n\t\t\"SZ\",\n\t\t\"TD\",\n\t\t\"TG\",\n\t\t\"TH\",\n\t\t\"TJ\",\n\t\t\"TL\",\n\t\t\"TM\",\n\t\t\"TN\",\n\t\t\"TO\",\n\t\t\"TR\",\n\t\t\"TT\",\n\t\t\"TV\",\n\t\t\"TZ\",\n\t\t\"UA\",\n\t\t\"UG\",\n\t\t\"UN\",\n\t\t\"US\",\n\t\t\"UY\",\n\t\t\"UZ\",\n\t\t\"VC\",\n\t\t\"VE\",\n\t\t\"VN\",\n\t\t\"VU\",\n\t\t\"WS\",\n\t\t\"YE\",\n\t\t\"ZA\",\n\t\t\"ZM\",\n\t\t\"ZW\"\n\t]\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2Fic3RyYWN0L3JlZ2lvbnMuZ2VuZXJhdGVkLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0Bmb3JtYXRqcytpbnRsLWxvY2FsZW1hdGNoZXJAMC44LjIvbm9kZV9tb2R1bGVzL0Bmb3JtYXRqcy9pbnRsLWxvY2FsZW1hdGNoZXIvYWJzdHJhY3QvcmVnaW9ucy5nZW5lcmF0ZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHJlZ2lvbnMtZ2VuLnRzXG5leHBvcnQgY29uc3QgcmVnaW9ucyA9IHtcblx0XCIwMDFcIjogW1xuXHRcdFwiMDAxXCIsXG5cdFx0XCIwMDEtc3RhdHVzLWdyb3VwaW5nXCIsXG5cdFx0XCIwMDJcIixcblx0XHRcIjAwNVwiLFxuXHRcdFwiMDA5XCIsXG5cdFx0XCIwMTFcIixcblx0XHRcIjAxM1wiLFxuXHRcdFwiMDE0XCIsXG5cdFx0XCIwMTVcIixcblx0XHRcIjAxN1wiLFxuXHRcdFwiMDE4XCIsXG5cdFx0XCIwMTlcIixcblx0XHRcIjAyMVwiLFxuXHRcdFwiMDI5XCIsXG5cdFx0XCIwMzBcIixcblx0XHRcIjAzNFwiLFxuXHRcdFwiMDM1XCIsXG5cdFx0XCIwMzlcIixcblx0XHRcIjA1M1wiLFxuXHRcdFwiMDU0XCIsXG5cdFx0XCIwNTdcIixcblx0XHRcIjA2MVwiLFxuXHRcdFwiMTQyXCIsXG5cdFx0XCIxNDNcIixcblx0XHRcIjE0NVwiLFxuXHRcdFwiMTUwXCIsXG5cdFx0XCIxNTFcIixcblx0XHRcIjE1NFwiLFxuXHRcdFwiMTU1XCIsXG5cdFx0XCJBQ1wiLFxuXHRcdFwiQURcIixcblx0XHRcIkFFXCIsXG5cdFx0XCJBRlwiLFxuXHRcdFwiQUdcIixcblx0XHRcIkFJXCIsXG5cdFx0XCJBTFwiLFxuXHRcdFwiQU1cIixcblx0XHRcIkFPXCIsXG5cdFx0XCJBUVwiLFxuXHRcdFwiQVJcIixcblx0XHRcIkFTXCIsXG5cdFx0XCJBVFwiLFxuXHRcdFwiQVVcIixcblx0XHRcIkFXXCIsXG5cdFx0XCJBWFwiLFxuXHRcdFwiQVpcIixcblx0XHRcIkJBXCIsXG5cdFx0XCJCQlwiLFxuXHRcdFwiQkRcIixcblx0XHRcIkJFXCIsXG5cdFx0XCJCRlwiLFxuXHRcdFwiQkdcIixcblx0XHRcIkJIXCIsXG5cdFx0XCJCSVwiLFxuXHRcdFwiQkpcIixcblx0XHRcIkJMXCIsXG5cdFx0XCJCTVwiLFxuXHRcdFwiQk5cIixcblx0XHRcIkJPXCIsXG5cdFx0XCJCUVwiLFxuXHRcdFwiQlJcIixcblx0XHRcIkJTXCIsXG5cdFx0XCJCVFwiLFxuXHRcdFwiQlZcIixcblx0XHRcIkJXXCIsXG5cdFx0XCJCWVwiLFxuXHRcdFwiQlpcIixcblx0XHRcIkNBXCIsXG5cdFx0XCJDQ1wiLFxuXHRcdFwiQ0RcIixcblx0XHRcIkNGXCIsXG5cdFx0XCJDR1wiLFxuXHRcdFwiQ0hcIixcblx0XHRcIkNJXCIsXG5cdFx0XCJDS1wiLFxuXHRcdFwiQ0xcIixcblx0XHRcIkNNXCIsXG5cdFx0XCJDTlwiLFxuXHRcdFwiQ09cIixcblx0XHRcIkNQXCIsXG5cdFx0XCJDUVwiLFxuXHRcdFwiQ1JcIixcblx0XHRcIkNVXCIsXG5cdFx0XCJDVlwiLFxuXHRcdFwiQ1dcIixcblx0XHRcIkNYXCIsXG5cdFx0XCJDWVwiLFxuXHRcdFwiQ1pcIixcblx0XHRcIkRFXCIsXG5cdFx0XCJER1wiLFxuXHRcdFwiREpcIixcblx0XHRcIkRLXCIsXG5cdFx0XCJETVwiLFxuXHRcdFwiRE9cIixcblx0XHRcIkRaXCIsXG5cdFx0XCJFQVwiLFxuXHRcdFwiRUNcIixcblx0XHRcIkVFXCIsXG5cdFx0XCJFR1wiLFxuXHRcdFwiRUhcIixcblx0XHRcIkVSXCIsXG5cdFx0XCJFU1wiLFxuXHRcdFwiRVRcIixcblx0XHRcIkVVXCIsXG5cdFx0XCJFWlwiLFxuXHRcdFwiRklcIixcblx0XHRcIkZKXCIsXG5cdFx0XCJGS1wiLFxuXHRcdFwiRk1cIixcblx0XHRcIkZPXCIsXG5cdFx0XCJGUlwiLFxuXHRcdFwiR0FcIixcblx0XHRcIkdCXCIsXG5cdFx0XCJHRFwiLFxuXHRcdFwiR0VcIixcblx0XHRcIkdGXCIsXG5cdFx0XCJHR1wiLFxuXHRcdFwiR0hcIixcblx0XHRcIkdJXCIsXG5cdFx0XCJHTFwiLFxuXHRcdFwiR01cIixcblx0XHRcIkdOXCIsXG5cdFx0XCJHUFwiLFxuXHRcdFwiR1FcIixcblx0XHRcIkdSXCIsXG5cdFx0XCJHU1wiLFxuXHRcdFwiR1RcIixcblx0XHRcIkdVXCIsXG5cdFx0XCJHV1wiLFxuXHRcdFwiR1lcIixcblx0XHRcIkhLXCIsXG5cdFx0XCJITVwiLFxuXHRcdFwiSE5cIixcblx0XHRcIkhSXCIsXG5cdFx0XCJIVFwiLFxuXHRcdFwiSFVcIixcblx0XHRcIklDXCIsXG5cdFx0XCJJRFwiLFxuXHRcdFwiSUVcIixcblx0XHRcIklMXCIsXG5cdFx0XCJJTVwiLFxuXHRcdFwiSU5cIixcblx0XHRcIklPXCIsXG5cdFx0XCJJUVwiLFxuXHRcdFwiSVJcIixcblx0XHRcIklTXCIsXG5cdFx0XCJJVFwiLFxuXHRcdFwiSkVcIixcblx0XHRcIkpNXCIsXG5cdFx0XCJKT1wiLFxuXHRcdFwiSlBcIixcblx0XHRcIktFXCIsXG5cdFx0XCJLR1wiLFxuXHRcdFwiS0hcIixcblx0XHRcIktJXCIsXG5cdFx0XCJLTVwiLFxuXHRcdFwiS05cIixcblx0XHRcIktQXCIsXG5cdFx0XCJLUlwiLFxuXHRcdFwiS1dcIixcblx0XHRcIktZXCIsXG5cdFx0XCJLWlwiLFxuXHRcdFwiTEFcIixcblx0XHRcIkxCXCIsXG5cdFx0XCJMQ1wiLFxuXHRcdFwiTElcIixcblx0XHRcIkxLXCIsXG5cdFx0XCJMUlwiLFxuXHRcdFwiTFNcIixcblx0XHRcIkxUXCIsXG5cdFx0XCJMVVwiLFxuXHRcdFwiTFZcIixcblx0XHRcIkxZXCIsXG5cdFx0XCJNQVwiLFxuXHRcdFwiTUNcIixcblx0XHRcIk1EXCIsXG5cdFx0XCJNRVwiLFxuXHRcdFwiTUZcIixcblx0XHRcIk1HXCIsXG5cdFx0XCJNSFwiLFxuXHRcdFwiTUtcIixcblx0XHRcIk1MXCIsXG5cdFx0XCJNTVwiLFxuXHRcdFwiTU5cIixcblx0XHRcIk1PXCIsXG5cdFx0XCJNUFwiLFxuXHRcdFwiTVFcIixcblx0XHRcIk1SXCIsXG5cdFx0XCJNU1wiLFxuXHRcdFwiTVRcIixcblx0XHRcIk1VXCIsXG5cdFx0XCJNVlwiLFxuXHRcdFwiTVdcIixcblx0XHRcIk1YXCIsXG5cdFx0XCJNWVwiLFxuXHRcdFwiTVpcIixcblx0XHRcIk5BXCIsXG5cdFx0XCJOQ1wiLFxuXHRcdFwiTkVcIixcblx0XHRcIk5GXCIsXG5cdFx0XCJOR1wiLFxuXHRcdFwiTklcIixcblx0XHRcIk5MXCIsXG5cdFx0XCJOT1wiLFxuXHRcdFwiTlBcIixcblx0XHRcIk5SXCIsXG5cdFx0XCJOVVwiLFxuXHRcdFwiTlpcIixcblx0XHRcIk9NXCIsXG5cdFx0XCJQQVwiLFxuXHRcdFwiUEVcIixcblx0XHRcIlBGXCIsXG5cdFx0XCJQR1wiLFxuXHRcdFwiUEhcIixcblx0XHRcIlBLXCIsXG5cdFx0XCJQTFwiLFxuXHRcdFwiUE1cIixcblx0XHRcIlBOXCIsXG5cdFx0XCJQUlwiLFxuXHRcdFwiUFNcIixcblx0XHRcIlBUXCIsXG5cdFx0XCJQV1wiLFxuXHRcdFwiUFlcIixcblx0XHRcIlFBXCIsXG5cdFx0XCJRT1wiLFxuXHRcdFwiUkVcIixcblx0XHRcIlJPXCIsXG5cdFx0XCJSU1wiLFxuXHRcdFwiUlVcIixcblx0XHRcIlJXXCIsXG5cdFx0XCJTQVwiLFxuXHRcdFwiU0JcIixcblx0XHRcIlNDXCIsXG5cdFx0XCJTRFwiLFxuXHRcdFwiU0VcIixcblx0XHRcIlNHXCIsXG5cdFx0XCJTSFwiLFxuXHRcdFwiU0lcIixcblx0XHRcIlNKXCIsXG5cdFx0XCJTS1wiLFxuXHRcdFwiU0xcIixcblx0XHRcIlNNXCIsXG5cdFx0XCJTTlwiLFxuXHRcdFwiU09cIixcblx0XHRcIlNSXCIsXG5cdFx0XCJTU1wiLFxuXHRcdFwiU1RcIixcblx0XHRcIlNWXCIsXG5cdFx0XCJTWFwiLFxuXHRcdFwiU1lcIixcblx0XHRcIlNaXCIsXG5cdFx0XCJUQVwiLFxuXHRcdFwiVENcIixcblx0XHRcIlREXCIsXG5cdFx0XCJURlwiLFxuXHRcdFwiVEdcIixcblx0XHRcIlRIXCIsXG5cdFx0XCJUSlwiLFxuXHRcdFwiVEtcIixcblx0XHRcIlRMXCIsXG5cdFx0XCJUTVwiLFxuXHRcdFwiVE5cIixcblx0XHRcIlRPXCIsXG5cdFx0XCJUUlwiLFxuXHRcdFwiVFRcIixcblx0XHRcIlRWXCIsXG5cdFx0XCJUV1wiLFxuXHRcdFwiVFpcIixcblx0XHRcIlVBXCIsXG5cdFx0XCJVR1wiLFxuXHRcdFwiVU1cIixcblx0XHRcIlVOXCIsXG5cdFx0XCJVU1wiLFxuXHRcdFwiVVlcIixcblx0XHRcIlVaXCIsXG5cdFx0XCJWQVwiLFxuXHRcdFwiVkNcIixcblx0XHRcIlZFXCIsXG5cdFx0XCJWR1wiLFxuXHRcdFwiVklcIixcblx0XHRcIlZOXCIsXG5cdFx0XCJWVVwiLFxuXHRcdFwiV0ZcIixcblx0XHRcIldTXCIsXG5cdFx0XCJYS1wiLFxuXHRcdFwiWUVcIixcblx0XHRcIllUXCIsXG5cdFx0XCJaQVwiLFxuXHRcdFwiWk1cIixcblx0XHRcIlpXXCJcblx0XSxcblx0XCIwMDJcIjogW1xuXHRcdFwiMDAyXCIsXG5cdFx0XCIwMDItc3RhdHVzLWdyb3VwaW5nXCIsXG5cdFx0XCIwMTFcIixcblx0XHRcIjAxNFwiLFxuXHRcdFwiMDE1XCIsXG5cdFx0XCIwMTdcIixcblx0XHRcIjAxOFwiLFxuXHRcdFwiMjAyXCIsXG5cdFx0XCJBT1wiLFxuXHRcdFwiQkZcIixcblx0XHRcIkJJXCIsXG5cdFx0XCJCSlwiLFxuXHRcdFwiQldcIixcblx0XHRcIkNEXCIsXG5cdFx0XCJDRlwiLFxuXHRcdFwiQ0dcIixcblx0XHRcIkNJXCIsXG5cdFx0XCJDTVwiLFxuXHRcdFwiQ1ZcIixcblx0XHRcIkRKXCIsXG5cdFx0XCJEWlwiLFxuXHRcdFwiRUFcIixcblx0XHRcIkVHXCIsXG5cdFx0XCJFSFwiLFxuXHRcdFwiRVJcIixcblx0XHRcIkVUXCIsXG5cdFx0XCJHQVwiLFxuXHRcdFwiR0hcIixcblx0XHRcIkdNXCIsXG5cdFx0XCJHTlwiLFxuXHRcdFwiR1FcIixcblx0XHRcIkdXXCIsXG5cdFx0XCJJQ1wiLFxuXHRcdFwiSU9cIixcblx0XHRcIktFXCIsXG5cdFx0XCJLTVwiLFxuXHRcdFwiTFJcIixcblx0XHRcIkxTXCIsXG5cdFx0XCJMWVwiLFxuXHRcdFwiTUFcIixcblx0XHRcIk1HXCIsXG5cdFx0XCJNTFwiLFxuXHRcdFwiTVJcIixcblx0XHRcIk1VXCIsXG5cdFx0XCJNV1wiLFxuXHRcdFwiTVpcIixcblx0XHRcIk5BXCIsXG5cdFx0XCJORVwiLFxuXHRcdFwiTkdcIixcblx0XHRcIlJFXCIsXG5cdFx0XCJSV1wiLFxuXHRcdFwiU0NcIixcblx0XHRcIlNEXCIsXG5cdFx0XCJTSFwiLFxuXHRcdFwiU0xcIixcblx0XHRcIlNOXCIsXG5cdFx0XCJTT1wiLFxuXHRcdFwiU1NcIixcblx0XHRcIlNUXCIsXG5cdFx0XCJTWlwiLFxuXHRcdFwiVERcIixcblx0XHRcIlRGXCIsXG5cdFx0XCJUR1wiLFxuXHRcdFwiVE5cIixcblx0XHRcIlRaXCIsXG5cdFx0XCJVR1wiLFxuXHRcdFwiWVRcIixcblx0XHRcIlpBXCIsXG5cdFx0XCJaTVwiLFxuXHRcdFwiWldcIlxuXHRdLFxuXHRcIjAwM1wiOiBbXG5cdFx0XCIwMDNcIixcblx0XHRcIjAxM1wiLFxuXHRcdFwiMDIxXCIsXG5cdFx0XCIwMjlcIixcblx0XHRcIkFHXCIsXG5cdFx0XCJBSVwiLFxuXHRcdFwiQVdcIixcblx0XHRcIkJCXCIsXG5cdFx0XCJCTFwiLFxuXHRcdFwiQk1cIixcblx0XHRcIkJRXCIsXG5cdFx0XCJCU1wiLFxuXHRcdFwiQlpcIixcblx0XHRcIkNBXCIsXG5cdFx0XCJDUlwiLFxuXHRcdFwiQ1VcIixcblx0XHRcIkNXXCIsXG5cdFx0XCJETVwiLFxuXHRcdFwiRE9cIixcblx0XHRcIkdEXCIsXG5cdFx0XCJHTFwiLFxuXHRcdFwiR1BcIixcblx0XHRcIkdUXCIsXG5cdFx0XCJITlwiLFxuXHRcdFwiSFRcIixcblx0XHRcIkpNXCIsXG5cdFx0XCJLTlwiLFxuXHRcdFwiS1lcIixcblx0XHRcIkxDXCIsXG5cdFx0XCJNRlwiLFxuXHRcdFwiTVFcIixcblx0XHRcIk1TXCIsXG5cdFx0XCJNWFwiLFxuXHRcdFwiTklcIixcblx0XHRcIlBBXCIsXG5cdFx0XCJQTVwiLFxuXHRcdFwiUFJcIixcblx0XHRcIlNWXCIsXG5cdFx0XCJTWFwiLFxuXHRcdFwiVENcIixcblx0XHRcIlRUXCIsXG5cdFx0XCJVU1wiLFxuXHRcdFwiVkNcIixcblx0XHRcIlZHXCIsXG5cdFx0XCJWSVwiXG5cdF0sXG5cdFwiMDA1XCI6IFtcblx0XHRcIjAwNVwiLFxuXHRcdFwiQVJcIixcblx0XHRcIkJPXCIsXG5cdFx0XCJCUlwiLFxuXHRcdFwiQlZcIixcblx0XHRcIkNMXCIsXG5cdFx0XCJDT1wiLFxuXHRcdFwiRUNcIixcblx0XHRcIkZLXCIsXG5cdFx0XCJHRlwiLFxuXHRcdFwiR1NcIixcblx0XHRcIkdZXCIsXG5cdFx0XCJQRVwiLFxuXHRcdFwiUFlcIixcblx0XHRcIlNSXCIsXG5cdFx0XCJVWVwiLFxuXHRcdFwiVkVcIlxuXHRdLFxuXHRcIjAwOVwiOiBbXG5cdFx0XCIwMDlcIixcblx0XHRcIjA1M1wiLFxuXHRcdFwiMDU0XCIsXG5cdFx0XCIwNTdcIixcblx0XHRcIjA2MVwiLFxuXHRcdFwiQUNcIixcblx0XHRcIkFRXCIsXG5cdFx0XCJBU1wiLFxuXHRcdFwiQVVcIixcblx0XHRcIkNDXCIsXG5cdFx0XCJDS1wiLFxuXHRcdFwiQ1BcIixcblx0XHRcIkNYXCIsXG5cdFx0XCJER1wiLFxuXHRcdFwiRkpcIixcblx0XHRcIkZNXCIsXG5cdFx0XCJHVVwiLFxuXHRcdFwiSE1cIixcblx0XHRcIktJXCIsXG5cdFx0XCJNSFwiLFxuXHRcdFwiTVBcIixcblx0XHRcIk5DXCIsXG5cdFx0XCJORlwiLFxuXHRcdFwiTlJcIixcblx0XHRcIk5VXCIsXG5cdFx0XCJOWlwiLFxuXHRcdFwiUEZcIixcblx0XHRcIlBHXCIsXG5cdFx0XCJQTlwiLFxuXHRcdFwiUFdcIixcblx0XHRcIlFPXCIsXG5cdFx0XCJTQlwiLFxuXHRcdFwiVEFcIixcblx0XHRcIlRLXCIsXG5cdFx0XCJUT1wiLFxuXHRcdFwiVFZcIixcblx0XHRcIlVNXCIsXG5cdFx0XCJWVVwiLFxuXHRcdFwiV0ZcIixcblx0XHRcIldTXCJcblx0XSxcblx0XCIwMTFcIjogW1xuXHRcdFwiMDExXCIsXG5cdFx0XCJCRlwiLFxuXHRcdFwiQkpcIixcblx0XHRcIkNJXCIsXG5cdFx0XCJDVlwiLFxuXHRcdFwiR0hcIixcblx0XHRcIkdNXCIsXG5cdFx0XCJHTlwiLFxuXHRcdFwiR1dcIixcblx0XHRcIkxSXCIsXG5cdFx0XCJNTFwiLFxuXHRcdFwiTVJcIixcblx0XHRcIk5FXCIsXG5cdFx0XCJOR1wiLFxuXHRcdFwiU0hcIixcblx0XHRcIlNMXCIsXG5cdFx0XCJTTlwiLFxuXHRcdFwiVEdcIlxuXHRdLFxuXHRcIjAxM1wiOiBbXG5cdFx0XCIwMTNcIixcblx0XHRcIkJaXCIsXG5cdFx0XCJDUlwiLFxuXHRcdFwiR1RcIixcblx0XHRcIkhOXCIsXG5cdFx0XCJNWFwiLFxuXHRcdFwiTklcIixcblx0XHRcIlBBXCIsXG5cdFx0XCJTVlwiXG5cdF0sXG5cdFwiMDE0XCI6IFtcblx0XHRcIjAxNFwiLFxuXHRcdFwiQklcIixcblx0XHRcIkRKXCIsXG5cdFx0XCJFUlwiLFxuXHRcdFwiRVRcIixcblx0XHRcIklPXCIsXG5cdFx0XCJLRVwiLFxuXHRcdFwiS01cIixcblx0XHRcIk1HXCIsXG5cdFx0XCJNVVwiLFxuXHRcdFwiTVdcIixcblx0XHRcIk1aXCIsXG5cdFx0XCJSRVwiLFxuXHRcdFwiUldcIixcblx0XHRcIlNDXCIsXG5cdFx0XCJTT1wiLFxuXHRcdFwiU1NcIixcblx0XHRcIlRGXCIsXG5cdFx0XCJUWlwiLFxuXHRcdFwiVUdcIixcblx0XHRcIllUXCIsXG5cdFx0XCJaTVwiLFxuXHRcdFwiWldcIlxuXHRdLFxuXHRcIjAxNVwiOiBbXG5cdFx0XCIwMTVcIixcblx0XHRcIkRaXCIsXG5cdFx0XCJFQVwiLFxuXHRcdFwiRUdcIixcblx0XHRcIkVIXCIsXG5cdFx0XCJJQ1wiLFxuXHRcdFwiTFlcIixcblx0XHRcIk1BXCIsXG5cdFx0XCJTRFwiLFxuXHRcdFwiVE5cIlxuXHRdLFxuXHRcIjAxN1wiOiBbXG5cdFx0XCIwMTdcIixcblx0XHRcIkFPXCIsXG5cdFx0XCJDRFwiLFxuXHRcdFwiQ0ZcIixcblx0XHRcIkNHXCIsXG5cdFx0XCJDTVwiLFxuXHRcdFwiR0FcIixcblx0XHRcIkdRXCIsXG5cdFx0XCJTVFwiLFxuXHRcdFwiVERcIlxuXHRdLFxuXHRcIjAxOFwiOiBbXG5cdFx0XCIwMThcIixcblx0XHRcIkJXXCIsXG5cdFx0XCJMU1wiLFxuXHRcdFwiTkFcIixcblx0XHRcIlNaXCIsXG5cdFx0XCJaQVwiXG5cdF0sXG5cdFwiMDE5XCI6IFtcblx0XHRcIjAwM1wiLFxuXHRcdFwiMDA1XCIsXG5cdFx0XCIwMTNcIixcblx0XHRcIjAxOVwiLFxuXHRcdFwiMDE5LXN0YXR1cy1ncm91cGluZ1wiLFxuXHRcdFwiMDIxXCIsXG5cdFx0XCIwMjlcIixcblx0XHRcIjQxOVwiLFxuXHRcdFwiQUdcIixcblx0XHRcIkFJXCIsXG5cdFx0XCJBUlwiLFxuXHRcdFwiQVdcIixcblx0XHRcIkJCXCIsXG5cdFx0XCJCTFwiLFxuXHRcdFwiQk1cIixcblx0XHRcIkJPXCIsXG5cdFx0XCJCUVwiLFxuXHRcdFwiQlJcIixcblx0XHRcIkJTXCIsXG5cdFx0XCJCVlwiLFxuXHRcdFwiQlpcIixcblx0XHRcIkNBXCIsXG5cdFx0XCJDTFwiLFxuXHRcdFwiQ09cIixcblx0XHRcIkNSXCIsXG5cdFx0XCJDVVwiLFxuXHRcdFwiQ1dcIixcblx0XHRcIkRNXCIsXG5cdFx0XCJET1wiLFxuXHRcdFwiRUNcIixcblx0XHRcIkZLXCIsXG5cdFx0XCJHRFwiLFxuXHRcdFwiR0ZcIixcblx0XHRcIkdMXCIsXG5cdFx0XCJHUFwiLFxuXHRcdFwiR1NcIixcblx0XHRcIkdUXCIsXG5cdFx0XCJHWVwiLFxuXHRcdFwiSE5cIixcblx0XHRcIkhUXCIsXG5cdFx0XCJKTVwiLFxuXHRcdFwiS05cIixcblx0XHRcIktZXCIsXG5cdFx0XCJMQ1wiLFxuXHRcdFwiTUZcIixcblx0XHRcIk1RXCIsXG5cdFx0XCJNU1wiLFxuXHRcdFwiTVhcIixcblx0XHRcIk5JXCIsXG5cdFx0XCJQQVwiLFxuXHRcdFwiUEVcIixcblx0XHRcIlBNXCIsXG5cdFx0XCJQUlwiLFxuXHRcdFwiUFlcIixcblx0XHRcIlNSXCIsXG5cdFx0XCJTVlwiLFxuXHRcdFwiU1hcIixcblx0XHRcIlRDXCIsXG5cdFx0XCJUVFwiLFxuXHRcdFwiVVNcIixcblx0XHRcIlVZXCIsXG5cdFx0XCJWQ1wiLFxuXHRcdFwiVkVcIixcblx0XHRcIlZHXCIsXG5cdFx0XCJWSVwiXG5cdF0sXG5cdFwiMDIxXCI6IFtcblx0XHRcIjAyMVwiLFxuXHRcdFwiQk1cIixcblx0XHRcIkNBXCIsXG5cdFx0XCJHTFwiLFxuXHRcdFwiUE1cIixcblx0XHRcIlVTXCJcblx0XSxcblx0XCIwMjlcIjogW1xuXHRcdFwiMDI5XCIsXG5cdFx0XCJBR1wiLFxuXHRcdFwiQUlcIixcblx0XHRcIkFXXCIsXG5cdFx0XCJCQlwiLFxuXHRcdFwiQkxcIixcblx0XHRcIkJRXCIsXG5cdFx0XCJCU1wiLFxuXHRcdFwiQ1VcIixcblx0XHRcIkNXXCIsXG5cdFx0XCJETVwiLFxuXHRcdFwiRE9cIixcblx0XHRcIkdEXCIsXG5cdFx0XCJHUFwiLFxuXHRcdFwiSFRcIixcblx0XHRcIkpNXCIsXG5cdFx0XCJLTlwiLFxuXHRcdFwiS1lcIixcblx0XHRcIkxDXCIsXG5cdFx0XCJNRlwiLFxuXHRcdFwiTVFcIixcblx0XHRcIk1TXCIsXG5cdFx0XCJQUlwiLFxuXHRcdFwiU1hcIixcblx0XHRcIlRDXCIsXG5cdFx0XCJUVFwiLFxuXHRcdFwiVkNcIixcblx0XHRcIlZHXCIsXG5cdFx0XCJWSVwiXG5cdF0sXG5cdFwiMDMwXCI6IFtcblx0XHRcIjAzMFwiLFxuXHRcdFwiQ05cIixcblx0XHRcIkhLXCIsXG5cdFx0XCJKUFwiLFxuXHRcdFwiS1BcIixcblx0XHRcIktSXCIsXG5cdFx0XCJNTlwiLFxuXHRcdFwiTU9cIixcblx0XHRcIlRXXCJcblx0XSxcblx0XCIwMzRcIjogW1xuXHRcdFwiMDM0XCIsXG5cdFx0XCJBRlwiLFxuXHRcdFwiQkRcIixcblx0XHRcIkJUXCIsXG5cdFx0XCJJTlwiLFxuXHRcdFwiSVJcIixcblx0XHRcIkxLXCIsXG5cdFx0XCJNVlwiLFxuXHRcdFwiTlBcIixcblx0XHRcIlBLXCJcblx0XSxcblx0XCIwMzVcIjogW1xuXHRcdFwiMDM1XCIsXG5cdFx0XCJCTlwiLFxuXHRcdFwiSURcIixcblx0XHRcIktIXCIsXG5cdFx0XCJMQVwiLFxuXHRcdFwiTU1cIixcblx0XHRcIk1ZXCIsXG5cdFx0XCJQSFwiLFxuXHRcdFwiU0dcIixcblx0XHRcIlRIXCIsXG5cdFx0XCJUTFwiLFxuXHRcdFwiVk5cIlxuXHRdLFxuXHRcIjAzOVwiOiBbXG5cdFx0XCIwMzlcIixcblx0XHRcIkFEXCIsXG5cdFx0XCJBTFwiLFxuXHRcdFwiQkFcIixcblx0XHRcIkVTXCIsXG5cdFx0XCJHSVwiLFxuXHRcdFwiR1JcIixcblx0XHRcIkhSXCIsXG5cdFx0XCJJVFwiLFxuXHRcdFwiTUVcIixcblx0XHRcIk1LXCIsXG5cdFx0XCJNVFwiLFxuXHRcdFwiUFRcIixcblx0XHRcIlJTXCIsXG5cdFx0XCJTSVwiLFxuXHRcdFwiU01cIixcblx0XHRcIlZBXCIsXG5cdFx0XCJYS1wiXG5cdF0sXG5cdFwiMDUzXCI6IFtcblx0XHRcIjA1M1wiLFxuXHRcdFwiQVVcIixcblx0XHRcIkNDXCIsXG5cdFx0XCJDWFwiLFxuXHRcdFwiSE1cIixcblx0XHRcIk5GXCIsXG5cdFx0XCJOWlwiXG5cdF0sXG5cdFwiMDU0XCI6IFtcblx0XHRcIjA1NFwiLFxuXHRcdFwiRkpcIixcblx0XHRcIk5DXCIsXG5cdFx0XCJQR1wiLFxuXHRcdFwiU0JcIixcblx0XHRcIlZVXCJcblx0XSxcblx0XCIwNTdcIjogW1xuXHRcdFwiMDU3XCIsXG5cdFx0XCJGTVwiLFxuXHRcdFwiR1VcIixcblx0XHRcIktJXCIsXG5cdFx0XCJNSFwiLFxuXHRcdFwiTVBcIixcblx0XHRcIk5SXCIsXG5cdFx0XCJQV1wiLFxuXHRcdFwiVU1cIlxuXHRdLFxuXHRcIjA2MVwiOiBbXG5cdFx0XCIwNjFcIixcblx0XHRcIkFTXCIsXG5cdFx0XCJDS1wiLFxuXHRcdFwiTlVcIixcblx0XHRcIlBGXCIsXG5cdFx0XCJQTlwiLFxuXHRcdFwiVEtcIixcblx0XHRcIlRPXCIsXG5cdFx0XCJUVlwiLFxuXHRcdFwiV0ZcIixcblx0XHRcIldTXCJcblx0XSxcblx0XCIxNDJcIjogW1xuXHRcdFwiMDMwXCIsXG5cdFx0XCIwMzRcIixcblx0XHRcIjAzNVwiLFxuXHRcdFwiMTQyXCIsXG5cdFx0XCIxNDNcIixcblx0XHRcIjE0NVwiLFxuXHRcdFwiQUVcIixcblx0XHRcIkFGXCIsXG5cdFx0XCJBTVwiLFxuXHRcdFwiQVpcIixcblx0XHRcIkJEXCIsXG5cdFx0XCJCSFwiLFxuXHRcdFwiQk5cIixcblx0XHRcIkJUXCIsXG5cdFx0XCJDTlwiLFxuXHRcdFwiQ1lcIixcblx0XHRcIkdFXCIsXG5cdFx0XCJIS1wiLFxuXHRcdFwiSURcIixcblx0XHRcIklMXCIsXG5cdFx0XCJJTlwiLFxuXHRcdFwiSVFcIixcblx0XHRcIklSXCIsXG5cdFx0XCJKT1wiLFxuXHRcdFwiSlBcIixcblx0XHRcIktHXCIsXG5cdFx0XCJLSFwiLFxuXHRcdFwiS1BcIixcblx0XHRcIktSXCIsXG5cdFx0XCJLV1wiLFxuXHRcdFwiS1pcIixcblx0XHRcIkxBXCIsXG5cdFx0XCJMQlwiLFxuXHRcdFwiTEtcIixcblx0XHRcIk1NXCIsXG5cdFx0XCJNTlwiLFxuXHRcdFwiTU9cIixcblx0XHRcIk1WXCIsXG5cdFx0XCJNWVwiLFxuXHRcdFwiTlBcIixcblx0XHRcIk9NXCIsXG5cdFx0XCJQSFwiLFxuXHRcdFwiUEtcIixcblx0XHRcIlBTXCIsXG5cdFx0XCJRQVwiLFxuXHRcdFwiU0FcIixcblx0XHRcIlNHXCIsXG5cdFx0XCJTWVwiLFxuXHRcdFwiVEhcIixcblx0XHRcIlRKXCIsXG5cdFx0XCJUTFwiLFxuXHRcdFwiVE1cIixcblx0XHRcIlRSXCIsXG5cdFx0XCJUV1wiLFxuXHRcdFwiVVpcIixcblx0XHRcIlZOXCIsXG5cdFx0XCJZRVwiXG5cdF0sXG5cdFwiMTQzXCI6IFtcblx0XHRcIjE0M1wiLFxuXHRcdFwiS0dcIixcblx0XHRcIktaXCIsXG5cdFx0XCJUSlwiLFxuXHRcdFwiVE1cIixcblx0XHRcIlVaXCJcblx0XSxcblx0XCIxNDVcIjogW1xuXHRcdFwiMTQ1XCIsXG5cdFx0XCJBRVwiLFxuXHRcdFwiQU1cIixcblx0XHRcIkFaXCIsXG5cdFx0XCJCSFwiLFxuXHRcdFwiQ1lcIixcblx0XHRcIkdFXCIsXG5cdFx0XCJJTFwiLFxuXHRcdFwiSVFcIixcblx0XHRcIkpPXCIsXG5cdFx0XCJLV1wiLFxuXHRcdFwiTEJcIixcblx0XHRcIk9NXCIsXG5cdFx0XCJQU1wiLFxuXHRcdFwiUUFcIixcblx0XHRcIlNBXCIsXG5cdFx0XCJTWVwiLFxuXHRcdFwiVFJcIixcblx0XHRcIllFXCJcblx0XSxcblx0XCIxNTBcIjogW1xuXHRcdFwiMDM5XCIsXG5cdFx0XCIxNTBcIixcblx0XHRcIjE1MVwiLFxuXHRcdFwiMTU0XCIsXG5cdFx0XCIxNTVcIixcblx0XHRcIkFEXCIsXG5cdFx0XCJBTFwiLFxuXHRcdFwiQVRcIixcblx0XHRcIkFYXCIsXG5cdFx0XCJCQVwiLFxuXHRcdFwiQkVcIixcblx0XHRcIkJHXCIsXG5cdFx0XCJCWVwiLFxuXHRcdFwiQ0hcIixcblx0XHRcIkNRXCIsXG5cdFx0XCJDWlwiLFxuXHRcdFwiREVcIixcblx0XHRcIkRLXCIsXG5cdFx0XCJFRVwiLFxuXHRcdFwiRVNcIixcblx0XHRcIkZJXCIsXG5cdFx0XCJGT1wiLFxuXHRcdFwiRlJcIixcblx0XHRcIkdCXCIsXG5cdFx0XCJHR1wiLFxuXHRcdFwiR0lcIixcblx0XHRcIkdSXCIsXG5cdFx0XCJIUlwiLFxuXHRcdFwiSFVcIixcblx0XHRcIklFXCIsXG5cdFx0XCJJTVwiLFxuXHRcdFwiSVNcIixcblx0XHRcIklUXCIsXG5cdFx0XCJKRVwiLFxuXHRcdFwiTElcIixcblx0XHRcIkxUXCIsXG5cdFx0XCJMVVwiLFxuXHRcdFwiTFZcIixcblx0XHRcIk1DXCIsXG5cdFx0XCJNRFwiLFxuXHRcdFwiTUVcIixcblx0XHRcIk1LXCIsXG5cdFx0XCJNVFwiLFxuXHRcdFwiTkxcIixcblx0XHRcIk5PXCIsXG5cdFx0XCJQTFwiLFxuXHRcdFwiUFRcIixcblx0XHRcIlJPXCIsXG5cdFx0XCJSU1wiLFxuXHRcdFwiUlVcIixcblx0XHRcIlNFXCIsXG5cdFx0XCJTSVwiLFxuXHRcdFwiU0pcIixcblx0XHRcIlNLXCIsXG5cdFx0XCJTTVwiLFxuXHRcdFwiVUFcIixcblx0XHRcIlZBXCIsXG5cdFx0XCJYS1wiXG5cdF0sXG5cdFwiMTUxXCI6IFtcblx0XHRcIjE1MVwiLFxuXHRcdFwiQkdcIixcblx0XHRcIkJZXCIsXG5cdFx0XCJDWlwiLFxuXHRcdFwiSFVcIixcblx0XHRcIk1EXCIsXG5cdFx0XCJQTFwiLFxuXHRcdFwiUk9cIixcblx0XHRcIlJVXCIsXG5cdFx0XCJTS1wiLFxuXHRcdFwiVUFcIlxuXHRdLFxuXHRcIjE1NFwiOiBbXG5cdFx0XCIxNTRcIixcblx0XHRcIkFYXCIsXG5cdFx0XCJDUVwiLFxuXHRcdFwiREtcIixcblx0XHRcIkVFXCIsXG5cdFx0XCJGSVwiLFxuXHRcdFwiRk9cIixcblx0XHRcIkdCXCIsXG5cdFx0XCJHR1wiLFxuXHRcdFwiSUVcIixcblx0XHRcIklNXCIsXG5cdFx0XCJJU1wiLFxuXHRcdFwiSkVcIixcblx0XHRcIkxUXCIsXG5cdFx0XCJMVlwiLFxuXHRcdFwiTk9cIixcblx0XHRcIlNFXCIsXG5cdFx0XCJTSlwiXG5cdF0sXG5cdFwiMTU1XCI6IFtcblx0XHRcIjE1NVwiLFxuXHRcdFwiQVRcIixcblx0XHRcIkJFXCIsXG5cdFx0XCJDSFwiLFxuXHRcdFwiREVcIixcblx0XHRcIkZSXCIsXG5cdFx0XCJMSVwiLFxuXHRcdFwiTFVcIixcblx0XHRcIk1DXCIsXG5cdFx0XCJOTFwiXG5cdF0sXG5cdFwiMjAyXCI6IFtcblx0XHRcIjAxMVwiLFxuXHRcdFwiMDE0XCIsXG5cdFx0XCIwMTdcIixcblx0XHRcIjAxOFwiLFxuXHRcdFwiMjAyXCIsXG5cdFx0XCJBT1wiLFxuXHRcdFwiQkZcIixcblx0XHRcIkJJXCIsXG5cdFx0XCJCSlwiLFxuXHRcdFwiQldcIixcblx0XHRcIkNEXCIsXG5cdFx0XCJDRlwiLFxuXHRcdFwiQ0dcIixcblx0XHRcIkNJXCIsXG5cdFx0XCJDTVwiLFxuXHRcdFwiQ1ZcIixcblx0XHRcIkRKXCIsXG5cdFx0XCJFUlwiLFxuXHRcdFwiRVRcIixcblx0XHRcIkdBXCIsXG5cdFx0XCJHSFwiLFxuXHRcdFwiR01cIixcblx0XHRcIkdOXCIsXG5cdFx0XCJHUVwiLFxuXHRcdFwiR1dcIixcblx0XHRcIklPXCIsXG5cdFx0XCJLRVwiLFxuXHRcdFwiS01cIixcblx0XHRcIkxSXCIsXG5cdFx0XCJMU1wiLFxuXHRcdFwiTUdcIixcblx0XHRcIk1MXCIsXG5cdFx0XCJNUlwiLFxuXHRcdFwiTVVcIixcblx0XHRcIk1XXCIsXG5cdFx0XCJNWlwiLFxuXHRcdFwiTkFcIixcblx0XHRcIk5FXCIsXG5cdFx0XCJOR1wiLFxuXHRcdFwiUkVcIixcblx0XHRcIlJXXCIsXG5cdFx0XCJTQ1wiLFxuXHRcdFwiU0hcIixcblx0XHRcIlNMXCIsXG5cdFx0XCJTTlwiLFxuXHRcdFwiU09cIixcblx0XHRcIlNTXCIsXG5cdFx0XCJTVFwiLFxuXHRcdFwiU1pcIixcblx0XHRcIlREXCIsXG5cdFx0XCJURlwiLFxuXHRcdFwiVEdcIixcblx0XHRcIlRaXCIsXG5cdFx0XCJVR1wiLFxuXHRcdFwiWVRcIixcblx0XHRcIlpBXCIsXG5cdFx0XCJaTVwiLFxuXHRcdFwiWldcIlxuXHRdLFxuXHRcIjQxOVwiOiBbXG5cdFx0XCIwMDVcIixcblx0XHRcIjAxM1wiLFxuXHRcdFwiMDI5XCIsXG5cdFx0XCI0MTlcIixcblx0XHRcIkFHXCIsXG5cdFx0XCJBSVwiLFxuXHRcdFwiQVJcIixcblx0XHRcIkFXXCIsXG5cdFx0XCJCQlwiLFxuXHRcdFwiQkxcIixcblx0XHRcIkJPXCIsXG5cdFx0XCJCUVwiLFxuXHRcdFwiQlJcIixcblx0XHRcIkJTXCIsXG5cdFx0XCJCVlwiLFxuXHRcdFwiQlpcIixcblx0XHRcIkNMXCIsXG5cdFx0XCJDT1wiLFxuXHRcdFwiQ1JcIixcblx0XHRcIkNVXCIsXG5cdFx0XCJDV1wiLFxuXHRcdFwiRE1cIixcblx0XHRcIkRPXCIsXG5cdFx0XCJFQ1wiLFxuXHRcdFwiRktcIixcblx0XHRcIkdEXCIsXG5cdFx0XCJHRlwiLFxuXHRcdFwiR1BcIixcblx0XHRcIkdTXCIsXG5cdFx0XCJHVFwiLFxuXHRcdFwiR1lcIixcblx0XHRcIkhOXCIsXG5cdFx0XCJIVFwiLFxuXHRcdFwiSk1cIixcblx0XHRcIktOXCIsXG5cdFx0XCJLWVwiLFxuXHRcdFwiTENcIixcblx0XHRcIk1GXCIsXG5cdFx0XCJNUVwiLFxuXHRcdFwiTVNcIixcblx0XHRcIk1YXCIsXG5cdFx0XCJOSVwiLFxuXHRcdFwiUEFcIixcblx0XHRcIlBFXCIsXG5cdFx0XCJQUlwiLFxuXHRcdFwiUFlcIixcblx0XHRcIlNSXCIsXG5cdFx0XCJTVlwiLFxuXHRcdFwiU1hcIixcblx0XHRcIlRDXCIsXG5cdFx0XCJUVFwiLFxuXHRcdFwiVVlcIixcblx0XHRcIlZDXCIsXG5cdFx0XCJWRVwiLFxuXHRcdFwiVkdcIixcblx0XHRcIlZJXCJcblx0XSxcblx0RVU6IFtcblx0XHRcIkFUXCIsXG5cdFx0XCJCRVwiLFxuXHRcdFwiQkdcIixcblx0XHRcIkNZXCIsXG5cdFx0XCJDWlwiLFxuXHRcdFwiREVcIixcblx0XHRcIkRLXCIsXG5cdFx0XCJFRVwiLFxuXHRcdFwiRVNcIixcblx0XHRcIkVVXCIsXG5cdFx0XCJGSVwiLFxuXHRcdFwiRlJcIixcblx0XHRcIkdSXCIsXG5cdFx0XCJIUlwiLFxuXHRcdFwiSFVcIixcblx0XHRcIklFXCIsXG5cdFx0XCJJVFwiLFxuXHRcdFwiTFRcIixcblx0XHRcIkxVXCIsXG5cdFx0XCJMVlwiLFxuXHRcdFwiTVRcIixcblx0XHRcIk5MXCIsXG5cdFx0XCJQTFwiLFxuXHRcdFwiUFRcIixcblx0XHRcIlJPXCIsXG5cdFx0XCJTRVwiLFxuXHRcdFwiU0lcIixcblx0XHRcIlNLXCJcblx0XSxcblx0RVo6IFtcblx0XHRcIkFUXCIsXG5cdFx0XCJCRVwiLFxuXHRcdFwiQ1lcIixcblx0XHRcIkRFXCIsXG5cdFx0XCJFRVwiLFxuXHRcdFwiRVNcIixcblx0XHRcIkVaXCIsXG5cdFx0XCJGSVwiLFxuXHRcdFwiRlJcIixcblx0XHRcIkdSXCIsXG5cdFx0XCJJRVwiLFxuXHRcdFwiSVRcIixcblx0XHRcIkxUXCIsXG5cdFx0XCJMVVwiLFxuXHRcdFwiTFZcIixcblx0XHRcIk1UXCIsXG5cdFx0XCJOTFwiLFxuXHRcdFwiUFRcIixcblx0XHRcIlNJXCIsXG5cdFx0XCJTS1wiXG5cdF0sXG5cdFFPOiBbXG5cdFx0XCJBQ1wiLFxuXHRcdFwiQVFcIixcblx0XHRcIkNQXCIsXG5cdFx0XCJER1wiLFxuXHRcdFwiUU9cIixcblx0XHRcIlRBXCJcblx0XSxcblx0VU46IFtcblx0XHRcIkFEXCIsXG5cdFx0XCJBRVwiLFxuXHRcdFwiQUZcIixcblx0XHRcIkFHXCIsXG5cdFx0XCJBTFwiLFxuXHRcdFwiQU1cIixcblx0XHRcIkFPXCIsXG5cdFx0XCJBUlwiLFxuXHRcdFwiQVRcIixcblx0XHRcIkFVXCIsXG5cdFx0XCJBWlwiLFxuXHRcdFwiQkFcIixcblx0XHRcIkJCXCIsXG5cdFx0XCJCRFwiLFxuXHRcdFwiQkVcIixcblx0XHRcIkJGXCIsXG5cdFx0XCJCR1wiLFxuXHRcdFwiQkhcIixcblx0XHRcIkJJXCIsXG5cdFx0XCJCSlwiLFxuXHRcdFwiQk5cIixcblx0XHRcIkJPXCIsXG5cdFx0XCJCUlwiLFxuXHRcdFwiQlNcIixcblx0XHRcIkJUXCIsXG5cdFx0XCJCV1wiLFxuXHRcdFwiQllcIixcblx0XHRcIkJaXCIsXG5cdFx0XCJDQVwiLFxuXHRcdFwiQ0RcIixcblx0XHRcIkNGXCIsXG5cdFx0XCJDR1wiLFxuXHRcdFwiQ0hcIixcblx0XHRcIkNJXCIsXG5cdFx0XCJDTFwiLFxuXHRcdFwiQ01cIixcblx0XHRcIkNOXCIsXG5cdFx0XCJDT1wiLFxuXHRcdFwiQ1JcIixcblx0XHRcIkNVXCIsXG5cdFx0XCJDVlwiLFxuXHRcdFwiQ1lcIixcblx0XHRcIkNaXCIsXG5cdFx0XCJERVwiLFxuXHRcdFwiREpcIixcblx0XHRcIkRLXCIsXG5cdFx0XCJETVwiLFxuXHRcdFwiRE9cIixcblx0XHRcIkRaXCIsXG5cdFx0XCJFQ1wiLFxuXHRcdFwiRUVcIixcblx0XHRcIkVHXCIsXG5cdFx0XCJFUlwiLFxuXHRcdFwiRVNcIixcblx0XHRcIkVUXCIsXG5cdFx0XCJGSVwiLFxuXHRcdFwiRkpcIixcblx0XHRcIkZNXCIsXG5cdFx0XCJGUlwiLFxuXHRcdFwiR0FcIixcblx0XHRcIkdCXCIsXG5cdFx0XCJHRFwiLFxuXHRcdFwiR0VcIixcblx0XHRcIkdIXCIsXG5cdFx0XCJHTVwiLFxuXHRcdFwiR05cIixcblx0XHRcIkdRXCIsXG5cdFx0XCJHUlwiLFxuXHRcdFwiR1RcIixcblx0XHRcIkdXXCIsXG5cdFx0XCJHWVwiLFxuXHRcdFwiSE5cIixcblx0XHRcIkhSXCIsXG5cdFx0XCJIVFwiLFxuXHRcdFwiSFVcIixcblx0XHRcIklEXCIsXG5cdFx0XCJJRVwiLFxuXHRcdFwiSUxcIixcblx0XHRcIklOXCIsXG5cdFx0XCJJUVwiLFxuXHRcdFwiSVJcIixcblx0XHRcIklTXCIsXG5cdFx0XCJJVFwiLFxuXHRcdFwiSk1cIixcblx0XHRcIkpPXCIsXG5cdFx0XCJKUFwiLFxuXHRcdFwiS0VcIixcblx0XHRcIktHXCIsXG5cdFx0XCJLSFwiLFxuXHRcdFwiS0lcIixcblx0XHRcIktNXCIsXG5cdFx0XCJLTlwiLFxuXHRcdFwiS1BcIixcblx0XHRcIktSXCIsXG5cdFx0XCJLV1wiLFxuXHRcdFwiS1pcIixcblx0XHRcIkxBXCIsXG5cdFx0XCJMQlwiLFxuXHRcdFwiTENcIixcblx0XHRcIkxJXCIsXG5cdFx0XCJMS1wiLFxuXHRcdFwiTFJcIixcblx0XHRcIkxTXCIsXG5cdFx0XCJMVFwiLFxuXHRcdFwiTFVcIixcblx0XHRcIkxWXCIsXG5cdFx0XCJMWVwiLFxuXHRcdFwiTUFcIixcblx0XHRcIk1DXCIsXG5cdFx0XCJNRFwiLFxuXHRcdFwiTUVcIixcblx0XHRcIk1HXCIsXG5cdFx0XCJNSFwiLFxuXHRcdFwiTUtcIixcblx0XHRcIk1MXCIsXG5cdFx0XCJNTVwiLFxuXHRcdFwiTU5cIixcblx0XHRcIk1SXCIsXG5cdFx0XCJNVFwiLFxuXHRcdFwiTVVcIixcblx0XHRcIk1WXCIsXG5cdFx0XCJNV1wiLFxuXHRcdFwiTVhcIixcblx0XHRcIk1ZXCIsXG5cdFx0XCJNWlwiLFxuXHRcdFwiTkFcIixcblx0XHRcIk5FXCIsXG5cdFx0XCJOR1wiLFxuXHRcdFwiTklcIixcblx0XHRcIk5MXCIsXG5cdFx0XCJOT1wiLFxuXHRcdFwiTlBcIixcblx0XHRcIk5SXCIsXG5cdFx0XCJOWlwiLFxuXHRcdFwiT01cIixcblx0XHRcIlBBXCIsXG5cdFx0XCJQRVwiLFxuXHRcdFwiUEdcIixcblx0XHRcIlBIXCIsXG5cdFx0XCJQS1wiLFxuXHRcdFwiUExcIixcblx0XHRcIlBUXCIsXG5cdFx0XCJQV1wiLFxuXHRcdFwiUFlcIixcblx0XHRcIlFBXCIsXG5cdFx0XCJST1wiLFxuXHRcdFwiUlNcIixcblx0XHRcIlJVXCIsXG5cdFx0XCJSV1wiLFxuXHRcdFwiU0FcIixcblx0XHRcIlNCXCIsXG5cdFx0XCJTQ1wiLFxuXHRcdFwiU0RcIixcblx0XHRcIlNFXCIsXG5cdFx0XCJTR1wiLFxuXHRcdFwiU0lcIixcblx0XHRcIlNLXCIsXG5cdFx0XCJTTFwiLFxuXHRcdFwiU01cIixcblx0XHRcIlNOXCIsXG5cdFx0XCJTT1wiLFxuXHRcdFwiU1JcIixcblx0XHRcIlNTXCIsXG5cdFx0XCJTVFwiLFxuXHRcdFwiU1ZcIixcblx0XHRcIlNZXCIsXG5cdFx0XCJTWlwiLFxuXHRcdFwiVERcIixcblx0XHRcIlRHXCIsXG5cdFx0XCJUSFwiLFxuXHRcdFwiVEpcIixcblx0XHRcIlRMXCIsXG5cdFx0XCJUTVwiLFxuXHRcdFwiVE5cIixcblx0XHRcIlRPXCIsXG5cdFx0XCJUUlwiLFxuXHRcdFwiVFRcIixcblx0XHRcIlRWXCIsXG5cdFx0XCJUWlwiLFxuXHRcdFwiVUFcIixcblx0XHRcIlVHXCIsXG5cdFx0XCJVTlwiLFxuXHRcdFwiVVNcIixcblx0XHRcIlVZXCIsXG5cdFx0XCJVWlwiLFxuXHRcdFwiVkNcIixcblx0XHRcIlZFXCIsXG5cdFx0XCJWTlwiLFxuXHRcdFwiVlVcIixcblx0XHRcIldTXCIsXG5cdFx0XCJZRVwiLFxuXHRcdFwiWkFcIixcblx0XHRcIlpNXCIsXG5cdFx0XCJaV1wiXG5cdF1cbn07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/regions.generated.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/utils.js":
|
||
/*!***************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/utils.js ***!
|
||
\***************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ UNICODE_EXTENSION_SEQUENCE_REGEX: () => (/* binding */ UNICODE_EXTENSION_SEQUENCE_REGEX),\n/* harmony export */ findBestMatch: () => (/* binding */ findBestMatch),\n/* harmony export */ findMatchingDistance: () => (/* binding */ findMatchingDistance),\n/* harmony export */ invariant: () => (/* binding */ invariant)\n/* harmony export */ });\n/* harmony import */ var _formatjs_fast_memoize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @formatjs/fast-memoize */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+fast-memoize@3.1.1/node_modules/@formatjs/fast-memoize/index.js\");\n/* harmony import */ var _languageMatching_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./languageMatching.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/languageMatching.js\");\n/* harmony import */ var _regions_generated_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./regions.generated.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/regions.generated.js\");\n\n\n\nconst UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\n/**\n* Asserts that a condition is true, throwing an error if it is not.\n* Used for runtime validation and type narrowing.\n*\n* @param condition - The condition to check\n* @param message - Error message if condition is false\n* @param Err - Error constructor to use (defaults to Error)\n* @throws {Error} When condition is false\n*\n* @example\n* ```ts\n* invariant(locale !== undefined, 'Locale must be defined')\n* // locale is now narrowed to non-undefined type\n* ```\n*/\nfunction invariant(condition, message, Err = Error) {\n\tif (!condition) {\n\t\tthrow new Err(message);\n\t}\n}\n// This is effectively 2 languages in 2 different regions in the same cluster\nconst DEFAULT_MATCHING_THRESHOLD = 838;\nlet PROCESSED_DATA;\nfunction processData() {\n\tif (!PROCESSED_DATA) {\n\t\tconst paradigmLocales = _languageMatching_js__WEBPACK_IMPORTED_MODULE_0__.data.supplemental.languageMatching[\"written-new\"][0]?.paradigmLocales?._locales.split(\" \");\n\t\tconst matchVariables = _languageMatching_js__WEBPACK_IMPORTED_MODULE_0__.data.supplemental.languageMatching[\"written-new\"].slice(1, 5);\n\t\tconst data = _languageMatching_js__WEBPACK_IMPORTED_MODULE_0__.data.supplemental.languageMatching[\"written-new\"].slice(5);\n\t\tconst matches = data.map((d) => {\n\t\t\tconst key = Object.keys(d)[0];\n\t\t\tconst value = d[key];\n\t\t\treturn {\n\t\t\t\tsupported: key,\n\t\t\t\tdesired: value._desired,\n\t\t\t\tdistance: +value._distance,\n\t\t\t\toneway: value.oneway === \"true\" ? true : false\n\t\t\t};\n\t\t}, {});\n\t\tPROCESSED_DATA = {\n\t\t\tmatches,\n\t\t\tmatchVariables: matchVariables.reduce((all, d) => {\n\t\t\t\tconst key = Object.keys(d)[0];\n\t\t\t\tconst value = d[key];\n\t\t\t\tall[key.slice(1)] = value._value.split(\"+\");\n\t\t\t\treturn all;\n\t\t\t}, {}),\n\t\t\tparadigmLocales: [...paradigmLocales, ...paradigmLocales.map((l) => new Intl.Locale(l.replace(/_/g, \"-\")).maximize().toString())]\n\t\t};\n\t}\n\treturn PROCESSED_DATA;\n}\nfunction isMatched(locale, languageMatchInfoLocale, matchVariables) {\n\tconst [language, script, region] = languageMatchInfoLocale.split(\"-\");\n\tlet matches = true;\n\tif (region && region[0] === \"$\") {\n\t\tconst shouldInclude = region[1] !== \"!\";\n\t\tconst matchRegions = shouldInclude ? matchVariables[region.slice(1)] : matchVariables[region.slice(2)];\n\t\tconst expandedMatchedRegions = matchRegions.map((r) => _regions_generated_js__WEBPACK_IMPORTED_MODULE_1__.regions[r] || [r]).reduce((all, list) => [...all, ...list], []);\n\t\tmatches &&= !(expandedMatchedRegions.indexOf(locale.region || \"\") > -1 != shouldInclude);\n\t} else {\n\t\tmatches &&= locale.region ? region === \"*\" || region === locale.region : true;\n\t}\n\tmatches &&= locale.script ? script === \"*\" || script === locale.script : true;\n\tmatches &&= locale.language ? language === \"*\" || language === locale.language : true;\n\treturn matches;\n}\nfunction serializeLSR(lsr) {\n\treturn [\n\t\tlsr.language,\n\t\tlsr.script,\n\t\tlsr.region\n\t].filter(Boolean).join(\"-\");\n}\nfunction findMatchingDistanceForLSR(desired, supported, data) {\n\tfor (const d of data.matches) {\n\t\tlet matches = isMatched(desired, d.desired, data.matchVariables) && isMatched(supported, d.supported, data.matchVariables);\n\t\tif (!d.oneway && !matches) {\n\t\t\tmatches = isMatched(desired, d.supported, data.matchVariables) && isMatched(supported, d.desired, data.matchVariables);\n\t\t}\n\t\tif (matches) {\n\t\t\tconst distance = d.distance * 10;\n\t\t\tif (data.paradigmLocales.indexOf(serializeLSR(desired)) > -1 != data.paradigmLocales.indexOf(serializeLSR(supported)) > -1) {\n\t\t\t\treturn distance - 1;\n\t\t\t}\n\t\t\treturn distance;\n\t\t}\n\t}\n\tthrow new Error(\"No matching distance found\");\n}\nfunction findMatchingDistanceImpl(desired, supported) {\n\tconst desiredLocale = new Intl.Locale(desired).maximize();\n\tconst supportedLocale = new Intl.Locale(supported).maximize();\n\tconst desiredLSR = {\n\t\tlanguage: desiredLocale.language,\n\t\tscript: desiredLocale.script || \"\",\n\t\tregion: desiredLocale.region || \"\"\n\t};\n\tconst supportedLSR = {\n\t\tlanguage: supportedLocale.language,\n\t\tscript: supportedLocale.script || \"\",\n\t\tregion: supportedLocale.region || \"\"\n\t};\n\tlet matchingDistance = 0;\n\tconst data = processData();\n\tif (desiredLSR.language !== supportedLSR.language) {\n\t\tmatchingDistance += findMatchingDistanceForLSR({\n\t\t\tlanguage: desiredLocale.language,\n\t\t\tscript: \"\",\n\t\t\tregion: \"\"\n\t\t}, {\n\t\t\tlanguage: supportedLocale.language,\n\t\t\tscript: \"\",\n\t\t\tregion: \"\"\n\t\t}, data);\n\t}\n\tif (desiredLSR.script !== supportedLSR.script) {\n\t\tmatchingDistance += findMatchingDistanceForLSR({\n\t\t\tlanguage: desiredLocale.language,\n\t\t\tscript: desiredLSR.script,\n\t\t\tregion: \"\"\n\t\t}, {\n\t\t\tlanguage: supportedLocale.language,\n\t\t\tscript: supportedLSR.script,\n\t\t\tregion: \"\"\n\t\t}, data);\n\t}\n\tif (desiredLSR.region !== supportedLSR.region) {\n\t\tmatchingDistance += findMatchingDistanceForLSR(desiredLSR, supportedLSR, data);\n\t}\n\treturn matchingDistance;\n}\n/**\n* Calculates the matching distance between two locales using the CLDR Enhanced Language Matching algorithm.\n* This function is memoized for performance, as distance calculations are expensive.\n*\n* The distance represents how \"far apart\" two locales are, with 0 being identical (after maximization).\n* Distances are calculated based on Language-Script-Region (LSR) differences using CLDR data.\n*\n* @param desired - The desired locale (e.g., \"en-US\")\n* @param supported - The supported locale to compare against (e.g., \"en-GB\")\n* @returns The calculated distance between the locales\n*\n* @example\n* ```ts\n* findMatchingDistance('en-US', 'en-US') // 0 - identical\n* findMatchingDistance('en-US', 'en-GB') // 40 - same language/script, different region\n* findMatchingDistance('es-CO', 'es-419') // 39 - regional variant\n* findMatchingDistance('en', 'fr') // 840 - completely different languages\n* ```\n*\n* @see https://unicode.org/reports/tr35/#EnhancedLanguageMatching\n*/\nconst findMatchingDistance = (0,_formatjs_fast_memoize__WEBPACK_IMPORTED_MODULE_2__.memoize)(findMatchingDistanceImpl, { serializer: (args) => `${args[0]}|${args[1]}` });\n/**\n* Generates fallback candidates by progressively removing subtags\n* e.g., \"en-US\" -> [\"en-US\", \"en\"]\n* \"zh-Hans-CN\" -> [\"zh-Hans-CN\", \"zh-Hans\", \"zh\"]\n*/\nfunction getFallbackCandidates(locale) {\n\tconst candidates = [];\n\tlet current = locale;\n\twhile (current) {\n\t\tcandidates.push(current);\n\t\tconst lastDash = current.lastIndexOf(\"-\");\n\t\tif (lastDash === -1) break;\n\t\tcurrent = current.substring(0, lastDash);\n\t}\n\treturn candidates;\n}\n/**\n* Finds the best locale match using a three-tier optimization hierarchy.\n*\n* ## Three-Tier Matching Algorithm:\n*\n* **Tier 1 - Fast Path** (O(n)): Exact string matching via Set lookup\n* - Example: 'en' matches 'en' exactly → distance 0\n* - Solves #4936: 48x faster than baseline (12ms vs 610ms with 700+ locales)\n*\n* **Tier 2 - Fallback Path** (O(k×n)): Maximization + progressive subtag removal\n* - Maximizes requested locale, then removes subtags right-to-left\n* - Example: \"zh-TW\" → \"zh-Hant-TW\" → [\"zh-Hant-TW\", \"zh-Hant\", \"zh\"]\n* - Distance: 0 for maximized match, 10 per removed subtag + position penalty\n* - 40-50x faster than full UTS #35, handles 99% of real-world cases correctly\n*\n* **Tier 3 - Slow Path** (O(n×m), memoized): Full UTS #35 CLDR matching\n* - Calculates Language-Script-Region distances using CLDR data\n* - Handles complex cases like cross-script matching (sr-Cyrl ↔ sr-Latn)\n* - Only used when Tiers 1 & 2 find no match\n* - Still 6x faster than baseline due to memoization\n*\n* ## Performance Impact of Maximization:\n*\n* While Tier 2 now calls `Intl.Locale().maximize()` once per requested locale,\n* this is still much faster than Tier 3's full distance calculation:\n* - Tier 1: ~12ms (exact match, no maximization)\n* - Tier 2: ~13-15ms (maximization + fallback)\n* - Tier 3: ~100ms+ (full UTS #35 with all supported locales)\n*\n* @param requestedLocales - Locale identifiers in preference order\n* @param supportedLocales - Available locale identifiers\n* @param threshold - Maximum distance (default: 838, from CLDR)\n* @returns Matching result with distances\n*\n* @example\n* ```ts\n* // Tier 1: Exact match\n* findBestMatch(['en'], ['en', 'fr'])\n* // → { matchedSupportedLocale: 'en', distances: { en: { en: 0 } } }\n*\n* // Tier 2: Fallback with maximization\n* findBestMatch(['zh-TW'], ['zh-Hant'])\n* // → zh-TW maximizes to zh-Hant-TW, falls back to zh-Hant (distance 0)\n*\n* findBestMatch(['en-US'], ['en'])\n* // → en-US maximizes to en-Latn-US, falls back to en (distance 10)\n*\n* // Tier 3: Full calculation\n* findBestMatch(['en-XZ'], ['ja', 'ko'])\n* // → No fallback match, uses UTS #35 to find closest match\n* ```\n*\n* @see https://unicode.org/reports/tr35/#EnhancedLanguageMatching\n* @see https://github.com/formatjs/formatjs/issues/4936\n*/\n// WeakMap to cache canonicalized supported locales arrays\nconst canonicalizedSupportedCache = new WeakMap();\nfunction findBestMatch(requestedLocales, supportedLocales, threshold = DEFAULT_MATCHING_THRESHOLD) {\n\tlet lowestDistance = Infinity;\n\tlet result = {\n\t\tmatchedDesiredLocale: \"\",\n\t\tdistances: {}\n\t};\n\t// Get or compute canonicalized supported locales (one by one to preserve indices)\n\tlet canonicalizedSupportedLocales = canonicalizedSupportedCache.get(supportedLocales);\n\tif (!canonicalizedSupportedLocales) {\n\t\tcanonicalizedSupportedLocales = supportedLocales.map((locale) => {\n\t\t\ttry {\n\t\t\t\tconst canonical = Intl.getCanonicalLocales([locale]);\n\t\t\t\treturn canonical[0] || locale;\n\t\t\t} catch {\n\t\t\t\treturn locale;\n\t\t\t}\n\t\t});\n\t\tcanonicalizedSupportedCache.set(supportedLocales, canonicalizedSupportedLocales);\n\t}\n\tconst supportedSet = new Set(canonicalizedSupportedLocales);\n\t// === TIER 1: FAST PATH - Exact Match ===\n\t// Check for exact matches in ALL requested locales\n\t// This is the fastest path and handles the majority of real-world cases\n\tfor (let i = 0; i < requestedLocales.length; i++) {\n\t\tconst desired = requestedLocales[i];\n\t\tif (supportedSet.has(desired)) {\n\t\t\tconst distance = 0 + i * 40;\n\t\t\tresult.distances[desired] = { [desired]: distance };\n\t\t\tif (distance < lowestDistance) {\n\t\t\t\tlowestDistance = distance;\n\t\t\t\tresult.matchedDesiredLocale = desired;\n\t\t\t\tresult.matchedSupportedLocale = desired;\n\t\t\t}\n\t\t\t// Only return immediately if this is the first requested locale (distance=0)\n\t\t\t// Otherwise, continue checking for potentially better matches\n\t\t\tif (i === 0) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t}\n\t// If we found an exact match in Tier 1 (but not for first locale), check Tier 2\n\t// to see if there's a better fallback match with lower distance\n\t// If no exact match found, Tier 2 will find fallback matches\n\t// === TIER 2: FALLBACK PATH - Maximization + Progressive Subtag Removal ===\n\t// Try maximization-based matching before resorting to expensive Tier 3\n\t// This handles cases like zh-TW → zh-Hant efficiently\n\tfor (let i = 0; i < requestedLocales.length; i++) {\n\t\tconst desired = requestedLocales[i];\n\t\t// Maximize then fallback (for linguistic accuracy like zh-TW → zh-Hant)\n\t\ttry {\n\t\t\tconst maximized = new Intl.Locale(desired).maximize().toString();\n\t\t\tif (maximized !== desired) {\n\t\t\t\tconst maximizedCandidates = getFallbackCandidates(maximized);\n\t\t\t\tfor (let j = 0; j < maximizedCandidates.length; j++) {\n\t\t\t\t\tconst candidate = maximizedCandidates[j];\n\t\t\t\t\tif (candidate === desired) continue;\n\t\t\t\t\tif (supportedSet.has(candidate)) {\n\t\t\t\t\t\t// Check if candidate also maximizes to the same form\n\t\t\t\t\t\t// e.g., zh-TW → zh-Hant-TW and zh-Hant → zh-Hant-TW (distance 0)\n\t\t\t\t\t\t// but es-co → es-Latn-CO and es → es-Latn-ES (distance 10)\n\t\t\t\t\t\tlet distance;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst candidateMaximized = new Intl.Locale(candidate).maximize().toString();\n\t\t\t\t\t\t\tdistance = candidateMaximized === maximized ? 0 + i * 40 : j * 10 + i * 40;\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\tdistance = j * 10 + i * 40;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!result.distances[desired]) {\n\t\t\t\t\t\t\tresult.distances[desired] = {};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresult.distances[desired][candidate] = distance;\n\t\t\t\t\t\tif (distance < lowestDistance) {\n\t\t\t\t\t\t\tlowestDistance = distance;\n\t\t\t\t\t\t\tresult.matchedDesiredLocale = desired;\n\t\t\t\t\t\t\tresult.matchedSupportedLocale = candidate;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} catch {}\n\t}\n\t// If Tier 2 found a perfect maximized match (distance 0), return immediately (fast path)\n\tif (result.matchedSupportedLocale && lowestDistance === 0) {\n\t\treturn result;\n\t}\n\t// === TIER 3: SLOW PATH - Full UTS #35 Distance Calculation ===\n\t// Always run Tier 3 for full CLDR accuracy\n\t// Tier 3 may find better matches than Tier 2's fallback approach\n\t// findMatchingDistance is memoized, so repeated calculations are cached\n\trequestedLocales.forEach((desired, i) => {\n\t\tif (!result.distances[desired]) {\n\t\t\tresult.distances[desired] = {};\n\t\t}\n\t\tcanonicalizedSupportedLocales.forEach((canonicalLocale, supportedIndex) => {\n\t\t\tconst originalSupported = supportedLocales[supportedIndex];\n\t\t\t// findMatchingDistance is memoized via fast-memoize\n\t\t\t// Use the canonical locale for distance calculation\n\t\t\tconst distance = findMatchingDistance(desired, canonicalLocale);\n\t\t\t// Add some weight to the distance based on the order of the supported locales\n\t\t\t// Add penalty for the order of the requested locales, which currently is 0 since ECMA-402\n\t\t\t// doesn't really have room for weighted locales like `en; q=0.1`\n\t\t\tconst finalDistance = distance + 0 + i * 40;\n\t\t\t// Store and return the original locale, not the canonical one\n\t\t\t// Tier 3 overwrites Tier 2 distances (Tier 3 is more accurate)\n\t\t\tresult.distances[desired][originalSupported] = finalDistance;\n\t\t\tif (finalDistance < lowestDistance) {\n\t\t\t\tlowestDistance = finalDistance;\n\t\t\t\tresult.matchedDesiredLocale = desired;\n\t\t\t\tresult.matchedSupportedLocale = originalSupported;\n\t\t\t}\n\t\t});\n\t});\n\tif (lowestDistance >= threshold) {\n\t\tresult.matchedDesiredLocale = undefined;\n\t\tresult.matchedSupportedLocale = undefined;\n\t}\n\treturn result;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2Fic3RyYWN0L3V0aWxzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBaUQ7QUFDUTtBQUNSO0FBQzFDLHlEQUF5RCxJQUFJO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsc0RBQVE7QUFDbEMseUJBQXlCLHNEQUFRO0FBQ2pDLGVBQWUsc0RBQVE7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRyxJQUFJO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUk7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseURBQXlELDBEQUFPO0FBQ2hFO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLDZCQUE2QiwrREFBTyw2QkFBNkIseUJBQXlCLFFBQVEsR0FBRyxRQUFRLEdBQUc7QUFDdkg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUywyQ0FBMkMsTUFBTTtBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQiw2QkFBNkI7QUFDOUM7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQiw2QkFBNkI7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGdDQUFnQztBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhEQUE4RDtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2Fic3RyYWN0L3V0aWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1lbW9pemUgfSBmcm9tIFwiQGZvcm1hdGpzL2Zhc3QtbWVtb2l6ZVwiO1xuaW1wb3J0IHsgZGF0YSBhcyBqc29uRGF0YSB9IGZyb20gXCIuL2xhbmd1YWdlTWF0Y2hpbmcuanNcIjtcbmltcG9ydCB7IHJlZ2lvbnMgfSBmcm9tIFwiLi9yZWdpb25zLmdlbmVyYXRlZC5qc1wiO1xuZXhwb3J0IGNvbnN0IFVOSUNPREVfRVhURU5TSU9OX1NFUVVFTkNFX1JFR0VYID0gLy11KD86LVswLTlhLXpdezIsOH0pKy9naTtcbi8qKlxuKiBBc3NlcnRzIHRoYXQgYSBjb25kaXRpb24gaXMgdHJ1ZSwgdGhyb3dpbmcgYW4gZXJyb3IgaWYgaXQgaXMgbm90LlxuKiBVc2VkIGZvciBydW50aW1lIHZhbGlkYXRpb24gYW5kIHR5cGUgbmFycm93aW5nLlxuKlxuKiBAcGFyYW0gY29uZGl0aW9uIC0gVGhlIGNvbmRpdGlvbiB0byBjaGVja1xuKiBAcGFyYW0gbWVzc2FnZSAtIEVycm9yIG1lc3NhZ2UgaWYgY29uZGl0aW9uIGlzIGZhbHNlXG4qIEBwYXJhbSBFcnIgLSBFcnJvciBjb25zdHJ1Y3RvciB0byB1c2UgKGRlZmF1bHRzIHRvIEVycm9yKVxuKiBAdGhyb3dzIHtFcnJvcn0gV2hlbiBjb25kaXRpb24gaXMgZmFsc2VcbipcbiogQGV4YW1wbGVcbiogYGBgdHNcbiogaW52YXJpYW50KGxvY2FsZSAhPT0gdW5kZWZpbmVkLCAnTG9jYWxlIG11c3QgYmUgZGVmaW5lZCcpXG4qIC8vIGxvY2FsZSBpcyBub3cgbmFycm93ZWQgdG8gbm9uLXVuZGVmaW5lZCB0eXBlXG4qIGBgYFxuKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnZhcmlhbnQoY29uZGl0aW9uLCBtZXNzYWdlLCBFcnIgPSBFcnJvcikge1xuXHRpZiAoIWNvbmRpdGlvbikge1xuXHRcdHRocm93IG5ldyBFcnIobWVzc2FnZSk7XG5cdH1cbn1cbi8vIFRoaXMgaXMgZWZmZWN0aXZlbHkgMiBsYW5ndWFnZXMgaW4gMiBkaWZmZXJlbnQgcmVnaW9ucyBpbiB0aGUgc2FtZSBjbHVzdGVyXG5jb25zdCBERUZBVUxUX01BVENISU5HX1RIUkVTSE9MRCA9IDgzODtcbmxldCBQUk9DRVNTRURfREFUQTtcbmZ1bmN0aW9uIHByb2Nlc3NEYXRhKCkge1xuXHRpZiAoIVBST0NFU1NFRF9EQVRBKSB7XG5cdFx0Y29uc3QgcGFyYWRpZ21Mb2NhbGVzID0ganNvbkRhdGEuc3VwcGxlbWVudGFsLmxhbmd1YWdlTWF0Y2hpbmdbXCJ3cml0dGVuLW5ld1wiXVswXT8ucGFyYWRpZ21Mb2NhbGVzPy5fbG9jYWxlcy5zcGxpdChcIiBcIik7XG5cdFx0Y29uc3QgbWF0Y2hWYXJpYWJsZXMgPSBqc29uRGF0YS5zdXBwbGVtZW50YWwubGFuZ3VhZ2VNYXRjaGluZ1tcIndyaXR0ZW4tbmV3XCJdLnNsaWNlKDEsIDUpO1xuXHRcdGNvbnN0IGRhdGEgPSBqc29uRGF0YS5zdXBwbGVtZW50YWwubGFuZ3VhZ2VNYXRjaGluZ1tcIndyaXR0ZW4tbmV3XCJdLnNsaWNlKDUpO1xuXHRcdGNvbnN0IG1hdGNoZXMgPSBkYXRhLm1hcCgoZCkgPT4ge1xuXHRcdFx0Y29uc3Qga2V5ID0gT2JqZWN0LmtleXMoZClbMF07XG5cdFx0XHRjb25zdCB2YWx1ZSA9IGRba2V5XTtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdHN1cHBvcnRlZDoga2V5LFxuXHRcdFx0XHRkZXNpcmVkOiB2YWx1ZS5fZGVzaXJlZCxcblx0XHRcdFx0ZGlzdGFuY2U6ICt2YWx1ZS5fZGlzdGFuY2UsXG5cdFx0XHRcdG9uZXdheTogdmFsdWUub25ld2F5ID09PSBcInRydWVcIiA/IHRydWUgOiBmYWxzZVxuXHRcdFx0fTtcblx0XHR9LCB7fSk7XG5cdFx0UFJPQ0VTU0VEX0RBVEEgPSB7XG5cdFx0XHRtYXRjaGVzLFxuXHRcdFx0bWF0Y2hWYXJpYWJsZXM6IG1hdGNoVmFyaWFibGVzLnJlZHVjZSgoYWxsLCBkKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGtleSA9IE9iamVjdC5rZXlzKGQpWzBdO1xuXHRcdFx0XHRjb25zdCB2YWx1ZSA9IGRba2V5XTtcblx0XHRcdFx0YWxsW2tleS5zbGljZSgxKV0gPSB2YWx1ZS5fdmFsdWUuc3BsaXQoXCIrXCIpO1xuXHRcdFx0XHRyZXR1cm4gYWxsO1xuXHRcdFx0fSwge30pLFxuXHRcdFx0cGFyYWRpZ21Mb2NhbGVzOiBbLi4ucGFyYWRpZ21Mb2NhbGVzLCAuLi5wYXJhZGlnbUxvY2FsZXMubWFwKChsKSA9PiBuZXcgSW50bC5Mb2NhbGUobC5yZXBsYWNlKC9fL2csIFwiLVwiKSkubWF4aW1pemUoKS50b1N0cmluZygpKV1cblx0XHR9O1xuXHR9XG5cdHJldHVybiBQUk9DRVNTRURfREFUQTtcbn1cbmZ1bmN0aW9uIGlzTWF0Y2hlZChsb2NhbGUsIGxhbmd1YWdlTWF0Y2hJbmZvTG9jYWxlLCBtYXRjaFZhcmlhYmxlcykge1xuXHRjb25zdCBbbGFuZ3VhZ2UsIHNjcmlwdCwgcmVnaW9uXSA9IGxhbmd1YWdlTWF0Y2hJbmZvTG9jYWxlLnNwbGl0KFwiLVwiKTtcblx0bGV0IG1hdGNoZXMgPSB0cnVlO1xuXHRpZiAocmVnaW9uICYmIHJlZ2lvblswXSA9PT0gXCIkXCIpIHtcblx0XHRjb25zdCBzaG91bGRJbmNsdWRlID0gcmVnaW9uWzFdICE9PSBcIiFcIjtcblx0XHRjb25zdCBtYXRjaFJlZ2lvbnMgPSBzaG91bGRJbmNsdWRlID8gbWF0Y2hWYXJpYWJsZXNbcmVnaW9uLnNsaWNlKDEpXSA6IG1hdGNoVmFyaWFibGVzW3JlZ2lvbi5zbGljZSgyKV07XG5cdFx0Y29uc3QgZXhwYW5kZWRNYXRjaGVkUmVnaW9ucyA9IG1hdGNoUmVnaW9ucy5tYXAoKHIpID0+IHJlZ2lvbnNbcl0gfHwgW3JdKS5yZWR1Y2UoKGFsbCwgbGlzdCkgPT4gWy4uLmFsbCwgLi4ubGlzdF0sIFtdKTtcblx0XHRtYXRjaGVzICYmPSAhKGV4cGFuZGVkTWF0Y2hlZFJlZ2lvbnMuaW5kZXhPZihsb2NhbGUucmVnaW9uIHx8IFwiXCIpID4gLTEgIT0gc2hvdWxkSW5jbHVkZSk7XG5cdH0gZWxzZSB7XG5cdFx0bWF0Y2hlcyAmJj0gbG9jYWxlLnJlZ2lvbiA/IHJlZ2lvbiA9PT0gXCIqXCIgfHwgcmVnaW9uID09PSBsb2NhbGUucmVnaW9uIDogdHJ1ZTtcblx0fVxuXHRtYXRjaGVzICYmPSBsb2NhbGUuc2NyaXB0ID8gc2NyaXB0ID09PSBcIipcIiB8fCBzY3JpcHQgPT09IGxvY2FsZS5zY3JpcHQgOiB0cnVlO1xuXHRtYXRjaGVzICYmPSBsb2NhbGUubGFuZ3VhZ2UgPyBsYW5ndWFnZSA9PT0gXCIqXCIgfHwgbGFuZ3VhZ2UgPT09IGxvY2FsZS5sYW5ndWFnZSA6IHRydWU7XG5cdHJldHVybiBtYXRjaGVzO1xufVxuZnVuY3Rpb24gc2VyaWFsaXplTFNSKGxzcikge1xuXHRyZXR1cm4gW1xuXHRcdGxzci5sYW5ndWFnZSxcblx0XHRsc3Iuc2NyaXB0LFxuXHRcdGxzci5yZWdpb25cblx0XS5maWx0ZXIoQm9vbGVhbikuam9pbihcIi1cIik7XG59XG5mdW5jdGlvbiBmaW5kTWF0Y2hpbmdEaXN0YW5jZUZvckxTUihkZXNpcmVkLCBzdXBwb3J0ZWQsIGRhdGEpIHtcblx0Zm9yIChjb25zdCBkIG9mIGRhdGEubWF0Y2hlcykge1xuXHRcdGxldCBtYXRjaGVzID0gaXNNYXRjaGVkKGRlc2lyZWQsIGQuZGVzaXJlZCwgZGF0YS5tYXRjaFZhcmlhYmxlcykgJiYgaXNNYXRjaGVkKHN1cHBvcnRlZCwgZC5zdXBwb3J0ZWQsIGRhdGEubWF0Y2hWYXJpYWJsZXMpO1xuXHRcdGlmICghZC5vbmV3YXkgJiYgIW1hdGNoZXMpIHtcblx0XHRcdG1hdGNoZXMgPSBpc01hdGNoZWQoZGVzaXJlZCwgZC5zdXBwb3J0ZWQsIGRhdGEubWF0Y2hWYXJpYWJsZXMpICYmIGlzTWF0Y2hlZChzdXBwb3J0ZWQsIGQuZGVzaXJlZCwgZGF0YS5tYXRjaFZhcmlhYmxlcyk7XG5cdFx0fVxuXHRcdGlmIChtYXRjaGVzKSB7XG5cdFx0XHRjb25zdCBkaXN0YW5jZSA9IGQuZGlzdGFuY2UgKiAxMDtcblx0XHRcdGlmIChkYXRhLnBhcmFkaWdtTG9jYWxlcy5pbmRleE9mKHNlcmlhbGl6ZUxTUihkZXNpcmVkKSkgPiAtMSAhPSBkYXRhLnBhcmFkaWdtTG9jYWxlcy5pbmRleE9mKHNlcmlhbGl6ZUxTUihzdXBwb3J0ZWQpKSA+IC0xKSB7XG5cdFx0XHRcdHJldHVybiBkaXN0YW5jZSAtIDE7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gZGlzdGFuY2U7XG5cdFx0fVxuXHR9XG5cdHRocm93IG5ldyBFcnJvcihcIk5vIG1hdGNoaW5nIGRpc3RhbmNlIGZvdW5kXCIpO1xufVxuZnVuY3Rpb24gZmluZE1hdGNoaW5nRGlzdGFuY2VJbXBsKGRlc2lyZWQsIHN1cHBvcnRlZCkge1xuXHRjb25zdCBkZXNpcmVkTG9jYWxlID0gbmV3IEludGwuTG9jYWxlKGRlc2lyZWQpLm1heGltaXplKCk7XG5cdGNvbnN0IHN1cHBvcnRlZExvY2FsZSA9IG5ldyBJbnRsLkxvY2FsZShzdXBwb3J0ZWQpLm1heGltaXplKCk7XG5cdGNvbnN0IGRlc2lyZWRMU1IgPSB7XG5cdFx0bGFuZ3VhZ2U6IGRlc2lyZWRMb2NhbGUubGFuZ3VhZ2UsXG5cdFx0c2NyaXB0OiBkZXNpcmVkTG9jYWxlLnNjcmlwdCB8fCBcIlwiLFxuXHRcdHJlZ2lvbjogZGVzaXJlZExvY2FsZS5yZWdpb24gfHwgXCJcIlxuXHR9O1xuXHRjb25zdCBzdXBwb3J0ZWRMU1IgPSB7XG5cdFx0bGFuZ3VhZ2U6IHN1cHBvcnRlZExvY2FsZS5sYW5ndWFnZSxcblx0XHRzY3JpcHQ6IHN1cHBvcnRlZExvY2FsZS5zY3JpcHQgfHwgXCJcIixcblx0XHRyZWdpb246IHN1cHBvcnRlZExvY2FsZS5yZWdpb24gfHwgXCJcIlxuXHR9O1xuXHRsZXQgbWF0Y2hpbmdEaXN0YW5jZSA9IDA7XG5cdGNvbnN0IGRhdGEgPSBwcm9jZXNzRGF0YSgpO1xuXHRpZiAoZGVzaXJlZExTUi5sYW5ndWFnZSAhPT0gc3VwcG9ydGVkTFNSLmxhbmd1YWdlKSB7XG5cdFx0bWF0Y2hpbmdEaXN0YW5jZSArPSBmaW5kTWF0Y2hpbmdEaXN0YW5jZUZvckxTUih7XG5cdFx0XHRsYW5ndWFnZTogZGVzaXJlZExvY2FsZS5sYW5ndWFnZSxcblx0XHRcdHNjcmlwdDogXCJcIixcblx0XHRcdHJlZ2lvbjogXCJcIlxuXHRcdH0sIHtcblx0XHRcdGxhbmd1YWdlOiBzdXBwb3J0ZWRMb2NhbGUubGFuZ3VhZ2UsXG5cdFx0XHRzY3JpcHQ6IFwiXCIsXG5cdFx0XHRyZWdpb246IFwiXCJcblx0XHR9LCBkYXRhKTtcblx0fVxuXHRpZiAoZGVzaXJlZExTUi5zY3JpcHQgIT09IHN1cHBvcnRlZExTUi5zY3JpcHQpIHtcblx0XHRtYXRjaGluZ0Rpc3RhbmNlICs9IGZpbmRNYXRjaGluZ0Rpc3RhbmNlRm9yTFNSKHtcblx0XHRcdGxhbmd1YWdlOiBkZXNpcmVkTG9jYWxlLmxhbmd1YWdlLFxuXHRcdFx0c2NyaXB0OiBkZXNpcmVkTFNSLnNjcmlwdCxcblx0XHRcdHJlZ2lvbjogXCJcIlxuXHRcdH0sIHtcblx0XHRcdGxhbmd1YWdlOiBzdXBwb3J0ZWRMb2NhbGUubGFuZ3VhZ2UsXG5cdFx0XHRzY3JpcHQ6IHN1cHBvcnRlZExTUi5zY3JpcHQsXG5cdFx0XHRyZWdpb246IFwiXCJcblx0XHR9LCBkYXRhKTtcblx0fVxuXHRpZiAoZGVzaXJlZExTUi5yZWdpb24gIT09IHN1cHBvcnRlZExTUi5yZWdpb24pIHtcblx0XHRtYXRjaGluZ0Rpc3RhbmNlICs9IGZpbmRNYXRjaGluZ0Rpc3RhbmNlRm9yTFNSKGRlc2lyZWRMU1IsIHN1cHBvcnRlZExTUiwgZGF0YSk7XG5cdH1cblx0cmV0dXJuIG1hdGNoaW5nRGlzdGFuY2U7XG59XG4vKipcbiogQ2FsY3VsYXRlcyB0aGUgbWF0Y2hpbmcgZGlzdGFuY2UgYmV0d2VlbiB0d28gbG9jYWxlcyB1c2luZyB0aGUgQ0xEUiBFbmhhbmNlZCBMYW5ndWFnZSBNYXRjaGluZyBhbGdvcml0aG0uXG4qIFRoaXMgZnVuY3Rpb24gaXMgbWVtb2l6ZWQgZm9yIHBlcmZvcm1hbmNlLCBhcyBkaXN0YW5jZSBjYWxjdWxhdGlvbnMgYXJlIGV4cGVuc2l2ZS5cbipcbiogVGhlIGRpc3RhbmNlIHJlcHJlc2VudHMgaG93IFwiZmFyIGFwYXJ0XCIgdHdvIGxvY2FsZXMgYXJlLCB3aXRoIDAgYmVpbmcgaWRlbnRpY2FsIChhZnRlciBtYXhpbWl6YXRpb24pLlxuKiBEaXN0YW5jZXMgYXJlIGNhbGN1bGF0ZWQgYmFzZWQgb24gTGFuZ3VhZ2UtU2NyaXB0LVJlZ2lvbiAoTFNSKSBkaWZmZXJlbmNlcyB1c2luZyBDTERSIGRhdGEuXG4qXG4qIEBwYXJhbSBkZXNpcmVkIC0gVGhlIGRlc2lyZWQgbG9jYWxlIChlLmcuLCBcImVuLVVTXCIpXG4qIEBwYXJhbSBzdXBwb3J0ZWQgLSBUaGUgc3VwcG9ydGVkIGxvY2FsZSB0byBjb21wYXJlIGFnYWluc3QgKGUuZy4sIFwiZW4tR0JcIilcbiogQHJldHVybnMgVGhlIGNhbGN1bGF0ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgbG9jYWxlc1xuKlxuKiBAZXhhbXBsZVxuKiBgYGB0c1xuKiBmaW5kTWF0Y2hpbmdEaXN0YW5jZSgnZW4tVVMnLCAnZW4tVVMnKSAvLyAwIC0gaWRlbnRpY2FsXG4qIGZpbmRNYXRjaGluZ0Rpc3RhbmNlKCdlbi1VUycsICdlbi1HQicpIC8vIDQwIC0gc2FtZSBsYW5ndWFnZS9zY3JpcHQsIGRpZmZlcmVudCByZWdpb25cbiogZmluZE1hdGNoaW5nRGlzdGFuY2UoJ2VzLUNPJywgJ2VzLTQxOScpIC8vIDM5IC0gcmVnaW9uYWwgdmFyaWFudFxuKiBmaW5kTWF0Y2hpbmdEaXN0YW5jZSgnZW4nLCAnZnInKSAvLyA4NDAgLSBjb21wbGV0ZWx5IGRpZmZlcmVudCBsYW5ndWFnZXNcbiogYGBgXG4qXG4qIEBzZWUgaHR0cHM6Ly91bmljb2RlLm9yZy9yZXBvcnRzL3RyMzUvI0VuaGFuY2VkTGFuZ3VhZ2VNYXRjaGluZ1xuKi9cbmV4cG9ydCBjb25zdCBmaW5kTWF0Y2hpbmdEaXN0YW5jZSA9IG1lbW9pemUoZmluZE1hdGNoaW5nRGlzdGFuY2VJbXBsLCB7IHNlcmlhbGl6ZXI6IChhcmdzKSA9PiBgJHthcmdzWzBdfXwke2FyZ3NbMV19YCB9KTtcbi8qKlxuKiBHZW5lcmF0ZXMgZmFsbGJhY2sgY2FuZGlkYXRlcyBieSBwcm9ncmVzc2l2ZWx5IHJlbW92aW5nIHN1YnRhZ3NcbiogZS5nLiwgXCJlbi1VU1wiIC0+IFtcImVuLVVTXCIsIFwiZW5cIl1cbiogICAgICBcInpoLUhhbnMtQ05cIiAtPiBbXCJ6aC1IYW5zLUNOXCIsIFwiemgtSGFuc1wiLCBcInpoXCJdXG4qL1xuZnVuY3Rpb24gZ2V0RmFsbGJhY2tDYW5kaWRhdGVzKGxvY2FsZSkge1xuXHRjb25zdCBjYW5kaWRhdGVzID0gW107XG5cdGxldCBjdXJyZW50ID0gbG9jYWxlO1xuXHR3aGlsZSAoY3VycmVudCkge1xuXHRcdGNhbmRpZGF0ZXMucHVzaChjdXJyZW50KTtcblx0XHRjb25zdCBsYXN0RGFzaCA9IGN1cnJlbnQubGFzdEluZGV4T2YoXCItXCIpO1xuXHRcdGlmIChsYXN0RGFzaCA9PT0gLTEpIGJyZWFrO1xuXHRcdGN1cnJlbnQgPSBjdXJyZW50LnN1YnN0cmluZygwLCBsYXN0RGFzaCk7XG5cdH1cblx0cmV0dXJuIGNhbmRpZGF0ZXM7XG59XG4vKipcbiogRmluZHMgdGhlIGJlc3QgbG9jYWxlIG1hdGNoIHVzaW5nIGEgdGhyZWUtdGllciBvcHRpbWl6YXRpb24gaGllcmFyY2h5LlxuKlxuKiAjIyBUaHJlZS1UaWVyIE1hdGNoaW5nIEFsZ29yaXRobTpcbipcbiogKipUaWVyIDEgLSBGYXN0IFBhdGgqKiAoTyhuKSk6IEV4YWN0IHN0cmluZyBtYXRjaGluZyB2aWEgU2V0IGxvb2t1cFxuKiAtIEV4YW1wbGU6ICdlbicgbWF0Y2hlcyAnZW4nIGV4YWN0bHkg4oaSIGRpc3RhbmNlIDBcbiogLSBTb2x2ZXMgIzQ5MzY6IDQ4eCBmYXN0ZXIgdGhhbiBiYXNlbGluZSAoMTJtcyB2cyA2MTBtcyB3aXRoIDcwMCsgbG9jYWxlcylcbipcbiogKipUaWVyIDIgLSBGYWxsYmFjayBQYXRoKiogKE8oa8OXbikpOiBNYXhpbWl6YXRpb24gKyBwcm9ncmVzc2l2ZSBzdWJ0YWcgcmVtb3ZhbFxuKiAtIE1heGltaXplcyByZXF1ZXN0ZWQgbG9jYWxlLCB0aGVuIHJlbW92ZXMgc3VidGFncyByaWdodC10by1sZWZ0XG4qIC0gRXhhbXBsZTogXCJ6aC1UV1wiIOKGkiBcInpoLUhhbnQtVFdcIiDihpIgW1wiemgtSGFudC1UV1wiLCBcInpoLUhhbnRcIiwgXCJ6aFwiXVxuKiAtIERpc3RhbmNlOiAwIGZvciBtYXhpbWl6ZWQgbWF0Y2gsIDEwIHBlciByZW1vdmVkIHN1YnRhZyArIHBvc2l0aW9uIHBlbmFsdHlcbiogLSA0MC01MHggZmFzdGVyIHRoYW4gZnVsbCBVVFMgIzM1LCBoYW5kbGVzIDk5JSBvZiByZWFsLXdvcmxkIGNhc2VzIGNvcnJlY3RseVxuKlxuKiAqKlRpZXIgMyAtIFNsb3cgUGF0aCoqIChPKG7Dl20pLCBtZW1vaXplZCk6IEZ1bGwgVVRTICMzNSBDTERSIG1hdGNoaW5nXG4qIC0gQ2FsY3VsYXRlcyBMYW5ndWFnZS1TY3JpcHQtUmVnaW9uIGRpc3RhbmNlcyB1c2luZyBDTERSIGRhdGFcbiogLSBIYW5kbGVzIGNvbXBsZXggY2FzZXMgbGlrZSBjcm9zcy1zY3JpcHQgbWF0Y2hpbmcgKHNyLUN5cmwg4oaUIHNyLUxhdG4pXG4qIC0gT25seSB1c2VkIHdoZW4gVGllcnMgMSAmIDIgZmluZCBubyBtYXRjaFxuKiAtIFN0aWxsIDZ4IGZhc3RlciB0aGFuIGJhc2VsaW5lIGR1ZSB0byBtZW1vaXphdGlvblxuKlxuKiAjIyBQZXJmb3JtYW5jZSBJbXBhY3Qgb2YgTWF4aW1pemF0aW9uOlxuKlxuKiBXaGlsZSBUaWVyIDIgbm93IGNhbGxzIGBJbnRsLkxvY2FsZSgpLm1heGltaXplKClgIG9uY2UgcGVyIHJlcXVlc3RlZCBsb2NhbGUsXG4qIHRoaXMgaXMgc3RpbGwgbXVjaCBmYXN0ZXIgdGhhbiBUaWVyIDMncyBmdWxsIGRpc3RhbmNlIGNhbGN1bGF0aW9uOlxuKiAtIFRpZXIgMTogfjEybXMgKGV4YWN0IG1hdGNoLCBubyBtYXhpbWl6YXRpb24pXG4qIC0gVGllciAyOiB+MTMtMTVtcyAobWF4aW1pemF0aW9uICsgZmFsbGJhY2spXG4qIC0gVGllciAzOiB+MTAwbXMrIChmdWxsIFVUUyAjMzUgd2l0aCBhbGwgc3VwcG9ydGVkIGxvY2FsZXMpXG4qXG4qIEBwYXJhbSByZXF1ZXN0ZWRMb2NhbGVzIC0gTG9jYWxlIGlkZW50aWZpZXJzIGluIHByZWZlcmVuY2Ugb3JkZXJcbiogQHBhcmFtIHN1cHBvcnRlZExvY2FsZXMgLSBBdmFpbGFibGUgbG9jYWxlIGlkZW50aWZpZXJzXG4qIEBwYXJhbSB0aHJlc2hvbGQgLSBNYXhpbXVtIGRpc3RhbmNlIChkZWZhdWx0OiA4MzgsIGZyb20gQ0xEUilcbiogQHJldHVybnMgTWF0Y2hpbmcgcmVzdWx0IHdpdGggZGlzdGFuY2VzXG4qXG4qIEBleGFtcGxlXG4qIGBgYHRzXG4qIC8vIFRpZXIgMTogRXhhY3QgbWF0Y2hcbiogZmluZEJlc3RNYXRjaChbJ2VuJ10sIFsnZW4nLCAnZnInXSlcbiogLy8g4oaSIHsgbWF0Y2hlZFN1cHBvcnRlZExvY2FsZTogJ2VuJywgZGlzdGFuY2VzOiB7IGVuOiB7IGVuOiAwIH0gfSB9XG4qXG4qIC8vIFRpZXIgMjogRmFsbGJhY2sgd2l0aCBtYXhpbWl6YXRpb25cbiogZmluZEJlc3RNYXRjaChbJ3poLVRXJ10sIFsnemgtSGFudCddKVxuKiAvLyDihpIgemgtVFcgbWF4aW1pemVzIHRvIHpoLUhhbnQtVFcsIGZhbGxzIGJhY2sgdG8gemgtSGFudCAoZGlzdGFuY2UgMClcbipcbiogZmluZEJlc3RNYXRjaChbJ2VuLVVTJ10sIFsnZW4nXSlcbiogLy8g4oaSIGVuLVVTIG1heGltaXplcyB0byBlbi1MYXRuLVVTLCBmYWxscyBiYWNrIHRvIGVuIChkaXN0YW5jZSAxMClcbipcbiogLy8gVGllciAzOiBGdWxsIGNhbGN1bGF0aW9uXG4qIGZpbmRCZXN0TWF0Y2goWydlbi1YWiddLCBbJ2phJywgJ2tvJ10pXG4qIC8vIOKGkiBObyBmYWxsYmFjayBtYXRjaCwgdXNlcyBVVFMgIzM1IHRvIGZpbmQgY2xvc2VzdCBtYXRjaFxuKiBgYGBcbipcbiogQHNlZSBodHRwczovL3VuaWNvZGUub3JnL3JlcG9ydHMvdHIzNS8jRW5oYW5jZWRMYW5ndWFnZU1hdGNoaW5nXG4qIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2Zvcm1hdGpzL2Zvcm1hdGpzL2lzc3Vlcy80OTM2XG4qL1xuLy8gV2Vha01hcCB0byBjYWNoZSBjYW5vbmljYWxpemVkIHN1cHBvcnRlZCBsb2NhbGVzIGFycmF5c1xuY29uc3QgY2Fub25pY2FsaXplZFN1cHBvcnRlZENhY2hlID0gbmV3IFdlYWtNYXAoKTtcbmV4cG9ydCBmdW5jdGlvbiBmaW5kQmVzdE1hdGNoKHJlcXVlc3RlZExvY2FsZXMsIHN1cHBvcnRlZExvY2FsZXMsIHRocmVzaG9sZCA9IERFRkFVTFRfTUFUQ0hJTkdfVEhSRVNIT0xEKSB7XG5cdGxldCBsb3dlc3REaXN0YW5jZSA9IEluZmluaXR5O1xuXHRsZXQgcmVzdWx0ID0ge1xuXHRcdG1hdGNoZWREZXNpcmVkTG9jYWxlOiBcIlwiLFxuXHRcdGRpc3RhbmNlczoge31cblx0fTtcblx0Ly8gR2V0IG9yIGNvbXB1dGUgY2Fub25pY2FsaXplZCBzdXBwb3J0ZWQgbG9jYWxlcyAob25lIGJ5IG9uZSB0byBwcmVzZXJ2ZSBpbmRpY2VzKVxuXHRsZXQgY2Fub25pY2FsaXplZFN1cHBvcnRlZExvY2FsZXMgPSBjYW5vbmljYWxpemVkU3VwcG9ydGVkQ2FjaGUuZ2V0KHN1cHBvcnRlZExvY2FsZXMpO1xuXHRpZiAoIWNhbm9uaWNhbGl6ZWRTdXBwb3J0ZWRMb2NhbGVzKSB7XG5cdFx0Y2Fub25pY2FsaXplZFN1cHBvcnRlZExvY2FsZXMgPSBzdXBwb3J0ZWRMb2NhbGVzLm1hcCgobG9jYWxlKSA9PiB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRjb25zdCBjYW5vbmljYWwgPSBJbnRsLmdldENhbm9uaWNhbExvY2FsZXMoW2xvY2FsZV0pO1xuXHRcdFx0XHRyZXR1cm4gY2Fub25pY2FsWzBdIHx8IGxvY2FsZTtcblx0XHRcdH0gY2F0Y2gge1xuXHRcdFx0XHRyZXR1cm4gbG9jYWxlO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdGNhbm9uaWNhbGl6ZWRTdXBwb3J0ZWRDYWNoZS5zZXQoc3VwcG9ydGVkTG9jYWxlcywgY2Fub25pY2FsaXplZFN1cHBvcnRlZExvY2FsZXMpO1xuXHR9XG5cdGNvbnN0IHN1cHBvcnRlZFNldCA9IG5ldyBTZXQoY2Fub25pY2FsaXplZFN1cHBvcnRlZExvY2FsZXMpO1xuXHQvLyA9PT0gVElFUiAxOiBGQVNUIFBBVEggLSBFeGFjdCBNYXRjaCA9PT1cblx0Ly8gQ2hlY2sgZm9yIGV4YWN0IG1hdGNoZXMgaW4gQUxMIHJlcXVlc3RlZCBsb2NhbGVzXG5cdC8vIFRoaXMgaXMgdGhlIGZhc3Rlc3QgcGF0aCBhbmQgaGFuZGxlcyB0aGUgbWFqb3JpdHkgb2YgcmVhbC13b3JsZCBjYXNlc1xuXHRmb3IgKGxldCBpID0gMDsgaSA8IHJlcXVlc3RlZExvY2FsZXMubGVuZ3RoOyBpKyspIHtcblx0XHRjb25zdCBkZXNpcmVkID0gcmVxdWVzdGVkTG9jYWxlc1tpXTtcblx0XHRpZiAoc3VwcG9ydGVkU2V0LmhhcyhkZXNpcmVkKSkge1xuXHRcdFx0Y29uc3QgZGlzdGFuY2UgPSAwICsgaSAqIDQwO1xuXHRcdFx0cmVzdWx0LmRpc3RhbmNlc1tkZXNpcmVkXSA9IHsgW2Rlc2lyZWRdOiBkaXN0YW5jZSB9O1xuXHRcdFx0aWYgKGRpc3RhbmNlIDwgbG93ZXN0RGlzdGFuY2UpIHtcblx0XHRcdFx0bG93ZXN0RGlzdGFuY2UgPSBkaXN0YW5jZTtcblx0XHRcdFx0cmVzdWx0Lm1hdGNoZWREZXNpcmVkTG9jYWxlID0gZGVzaXJlZDtcblx0XHRcdFx0cmVzdWx0Lm1hdGNoZWRTdXBwb3J0ZWRMb2NhbGUgPSBkZXNpcmVkO1xuXHRcdFx0fVxuXHRcdFx0Ly8gT25seSByZXR1cm4gaW1tZWRpYXRlbHkgaWYgdGhpcyBpcyB0aGUgZmlyc3QgcmVxdWVzdGVkIGxvY2FsZSAoZGlzdGFuY2U9MClcblx0XHRcdC8vIE90aGVyd2lzZSwgY29udGludWUgY2hlY2tpbmcgZm9yIHBvdGVudGlhbGx5IGJldHRlciBtYXRjaGVzXG5cdFx0XHRpZiAoaSA9PT0gMCkge1xuXHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQvLyBJZiB3ZSBmb3VuZCBhbiBleGFjdCBtYXRjaCBpbiBUaWVyIDEgKGJ1dCBub3QgZm9yIGZpcnN0IGxvY2FsZSksIGNoZWNrIFRpZXIgMlxuXHQvLyB0byBzZWUgaWYgdGhlcmUncyBhIGJldHRlciBmYWxsYmFjayBtYXRjaCB3aXRoIGxvd2VyIGRpc3RhbmNlXG5cdC8vIElmIG5vIGV4YWN0IG1hdGNoIGZvdW5kLCBUaWVyIDIgd2lsbCBmaW5kIGZhbGxiYWNrIG1hdGNoZXNcblx0Ly8gPT09IFRJRVIgMjogRkFMTEJBQ0sgUEFUSCAtIE1heGltaXphdGlvbiArIFByb2dyZXNzaXZlIFN1YnRhZyBSZW1vdmFsID09PVxuXHQvLyBUcnkgbWF4aW1pemF0aW9uLWJhc2VkIG1hdGNoaW5nIGJlZm9yZSByZXNvcnRpbmcgdG8gZXhwZW5zaXZlIFRpZXIgM1xuXHQvLyBUaGlzIGhhbmRsZXMgY2FzZXMgbGlrZSB6aC1UVyDihpIgemgtSGFudCBlZmZpY2llbnRseVxuXHRmb3IgKGxldCBpID0gMDsgaSA8IHJlcXVlc3RlZExvY2FsZXMubGVuZ3RoOyBpKyspIHtcblx0XHRjb25zdCBkZXNpcmVkID0gcmVxdWVzdGVkTG9jYWxlc1tpXTtcblx0XHQvLyBNYXhpbWl6ZSB0aGVuIGZhbGxiYWNrIChmb3IgbGluZ3Vpc3RpYyBhY2N1cmFjeSBsaWtlIHpoLVRXIOKGkiB6aC1IYW50KVxuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBtYXhpbWl6ZWQgPSBuZXcgSW50bC5Mb2NhbGUoZGVzaXJlZCkubWF4aW1pemUoKS50b1N0cmluZygpO1xuXHRcdFx0aWYgKG1heGltaXplZCAhPT0gZGVzaXJlZCkge1xuXHRcdFx0XHRjb25zdCBtYXhpbWl6ZWRDYW5kaWRhdGVzID0gZ2V0RmFsbGJhY2tDYW5kaWRhdGVzKG1heGltaXplZCk7XG5cdFx0XHRcdGZvciAobGV0IGogPSAwOyBqIDwgbWF4aW1pemVkQ2FuZGlkYXRlcy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRcdGNvbnN0IGNhbmRpZGF0ZSA9IG1heGltaXplZENhbmRpZGF0ZXNbal07XG5cdFx0XHRcdFx0aWYgKGNhbmRpZGF0ZSA9PT0gZGVzaXJlZCkgY29udGludWU7XG5cdFx0XHRcdFx0aWYgKHN1cHBvcnRlZFNldC5oYXMoY2FuZGlkYXRlKSkge1xuXHRcdFx0XHRcdFx0Ly8gQ2hlY2sgaWYgY2FuZGlkYXRlIGFsc28gbWF4aW1pemVzIHRvIHRoZSBzYW1lIGZvcm1cblx0XHRcdFx0XHRcdC8vIGUuZy4sIHpoLVRXIOKGkiB6aC1IYW50LVRXIGFuZCB6aC1IYW50IOKGkiB6aC1IYW50LVRXIChkaXN0YW5jZSAwKVxuXHRcdFx0XHRcdFx0Ly8gYnV0IGVzLWNvIOKGkiBlcy1MYXRuLUNPIGFuZCBlcyDihpIgZXMtTGF0bi1FUyAoZGlzdGFuY2UgMTApXG5cdFx0XHRcdFx0XHRsZXQgZGlzdGFuY2U7XG5cdFx0XHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdFx0XHRjb25zdCBjYW5kaWRhdGVNYXhpbWl6ZWQgPSBuZXcgSW50bC5Mb2NhbGUoY2FuZGlkYXRlKS5tYXhpbWl6ZSgpLnRvU3RyaW5nKCk7XG5cdFx0XHRcdFx0XHRcdGRpc3RhbmNlID0gY2FuZGlkYXRlTWF4aW1pemVkID09PSBtYXhpbWl6ZWQgPyAwICsgaSAqIDQwIDogaiAqIDEwICsgaSAqIDQwO1xuXHRcdFx0XHRcdFx0fSBjYXRjaCB7XG5cdFx0XHRcdFx0XHRcdGRpc3RhbmNlID0gaiAqIDEwICsgaSAqIDQwO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0aWYgKCFyZXN1bHQuZGlzdGFuY2VzW2Rlc2lyZWRdKSB7XG5cdFx0XHRcdFx0XHRcdHJlc3VsdC5kaXN0YW5jZXNbZGVzaXJlZF0gPSB7fTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHJlc3VsdC5kaXN0YW5jZXNbZGVzaXJlZF1bY2FuZGlkYXRlXSA9IGRpc3RhbmNlO1xuXHRcdFx0XHRcdFx0aWYgKGRpc3RhbmNlIDwgbG93ZXN0RGlzdGFuY2UpIHtcblx0XHRcdFx0XHRcdFx0bG93ZXN0RGlzdGFuY2UgPSBkaXN0YW5jZTtcblx0XHRcdFx0XHRcdFx0cmVzdWx0Lm1hdGNoZWREZXNpcmVkTG9jYWxlID0gZGVzaXJlZDtcblx0XHRcdFx0XHRcdFx0cmVzdWx0Lm1hdGNoZWRTdXBwb3J0ZWRMb2NhbGUgPSBjYW5kaWRhdGU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9IGNhdGNoIHt9XG5cdH1cblx0Ly8gSWYgVGllciAyIGZvdW5kIGEgcGVyZmVjdCBtYXhpbWl6ZWQgbWF0Y2ggKGRpc3RhbmNlIDApLCByZXR1cm4gaW1tZWRpYXRlbHkgKGZhc3QgcGF0aClcblx0aWYgKHJlc3VsdC5tYXRjaGVkU3VwcG9ydGVkTG9jYWxlICYmIGxvd2VzdERpc3RhbmNlID09PSAwKSB7XG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fVxuXHQvLyA9PT0gVElFUiAzOiBTTE9XIFBBVEggLSBGdWxsIFVUUyAjMzUgRGlzdGFuY2UgQ2FsY3VsYXRpb24gPT09XG5cdC8vIEFsd2F5cyBydW4gVGllciAzIGZvciBmdWxsIENMRFIgYWNjdXJhY3lcblx0Ly8gVGllciAzIG1heSBmaW5kIGJldHRlciBtYXRjaGVzIHRoYW4gVGllciAyJ3MgZmFsbGJhY2sgYXBwcm9hY2hcblx0Ly8gZmluZE1hdGNoaW5nRGlzdGFuY2UgaXMgbWVtb2l6ZWQsIHNvIHJlcGVhdGVkIGNhbGN1bGF0aW9ucyBhcmUgY2FjaGVkXG5cdHJlcXVlc3RlZExvY2FsZXMuZm9yRWFjaCgoZGVzaXJlZCwgaSkgPT4ge1xuXHRcdGlmICghcmVzdWx0LmRpc3RhbmNlc1tkZXNpcmVkXSkge1xuXHRcdFx0cmVzdWx0LmRpc3RhbmNlc1tkZXNpcmVkXSA9IHt9O1xuXHRcdH1cblx0XHRjYW5vbmljYWxpemVkU3VwcG9ydGVkTG9jYWxlcy5mb3JFYWNoKChjYW5vbmljYWxMb2NhbGUsIHN1cHBvcnRlZEluZGV4KSA9PiB7XG5cdFx0XHRjb25zdCBvcmlnaW5hbFN1cHBvcnRlZCA9IHN1cHBvcnRlZExvY2FsZXNbc3VwcG9ydGVkSW5kZXhdO1xuXHRcdFx0Ly8gZmluZE1hdGNoaW5nRGlzdGFuY2UgaXMgbWVtb2l6ZWQgdmlhIGZhc3QtbWVtb2l6ZVxuXHRcdFx0Ly8gVXNlIHRoZSBjYW5vbmljYWwgbG9jYWxlIGZvciBkaXN0YW5jZSBjYWxjdWxhdGlvblxuXHRcdFx0Y29uc3QgZGlzdGFuY2UgPSBmaW5kTWF0Y2hpbmdEaXN0YW5jZShkZXNpcmVkLCBjYW5vbmljYWxMb2NhbGUpO1xuXHRcdFx0Ly8gQWRkIHNvbWUgd2VpZ2h0IHRvIHRoZSBkaXN0YW5jZSBiYXNlZCBvbiB0aGUgb3JkZXIgb2YgdGhlIHN1cHBvcnRlZCBsb2NhbGVzXG5cdFx0XHQvLyBBZGQgcGVuYWx0eSBmb3IgdGhlIG9yZGVyIG9mIHRoZSByZXF1ZXN0ZWQgbG9jYWxlcywgd2hpY2ggY3VycmVudGx5IGlzIDAgc2luY2UgRUNNQS00MDJcblx0XHRcdC8vIGRvZXNuJ3QgcmVhbGx5IGhhdmUgcm9vbSBmb3Igd2VpZ2h0ZWQgbG9jYWxlcyBsaWtlIGBlbjsgcT0wLjFgXG5cdFx0XHRjb25zdCBmaW5hbERpc3RhbmNlID0gZGlzdGFuY2UgKyAwICsgaSAqIDQwO1xuXHRcdFx0Ly8gU3RvcmUgYW5kIHJldHVybiB0aGUgb3JpZ2luYWwgbG9jYWxlLCBub3QgdGhlIGNhbm9uaWNhbCBvbmVcblx0XHRcdC8vIFRpZXIgMyBvdmVyd3JpdGVzIFRpZXIgMiBkaXN0YW5jZXMgKFRpZXIgMyBpcyBtb3JlIGFjY3VyYXRlKVxuXHRcdFx0cmVzdWx0LmRpc3RhbmNlc1tkZXNpcmVkXVtvcmlnaW5hbFN1cHBvcnRlZF0gPSBmaW5hbERpc3RhbmNlO1xuXHRcdFx0aWYgKGZpbmFsRGlzdGFuY2UgPCBsb3dlc3REaXN0YW5jZSkge1xuXHRcdFx0XHRsb3dlc3REaXN0YW5jZSA9IGZpbmFsRGlzdGFuY2U7XG5cdFx0XHRcdHJlc3VsdC5tYXRjaGVkRGVzaXJlZExvY2FsZSA9IGRlc2lyZWQ7XG5cdFx0XHRcdHJlc3VsdC5tYXRjaGVkU3VwcG9ydGVkTG9jYWxlID0gb3JpZ2luYWxTdXBwb3J0ZWQ7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH0pO1xuXHRpZiAobG93ZXN0RGlzdGFuY2UgPj0gdGhyZXNob2xkKSB7XG5cdFx0cmVzdWx0Lm1hdGNoZWREZXNpcmVkTG9jYWxlID0gdW5kZWZpbmVkO1xuXHRcdHJlc3VsdC5tYXRjaGVkU3VwcG9ydGVkTG9jYWxlID0gdW5kZWZpbmVkO1xuXHR9XG5cdHJldHVybiByZXN1bHQ7XG59XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/utils.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/index.js":
|
||
/*!******************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/index.js ***!
|
||
\******************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LookupSupportedLocales: () => (/* reexport safe */ _abstract_LookupSupportedLocales_js__WEBPACK_IMPORTED_MODULE_2__.LookupSupportedLocales),\n/* harmony export */ ResolveLocale: () => (/* reexport safe */ _abstract_ResolveLocale_js__WEBPACK_IMPORTED_MODULE_0__.ResolveLocale),\n/* harmony export */ match: () => (/* binding */ match)\n/* harmony export */ });\n/* harmony import */ var _abstract_CanonicalizeLocaleList_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./abstract/CanonicalizeLocaleList.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/CanonicalizeLocaleList.js\");\n/* harmony import */ var _abstract_ResolveLocale_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./abstract/ResolveLocale.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/ResolveLocale.js\");\n/* harmony import */ var _abstract_LookupSupportedLocales_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./abstract/LookupSupportedLocales.js */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/abstract/LookupSupportedLocales.js\");\n\n\nfunction match(requestedLocales, availableLocales, defaultLocale, opts) {\n\treturn (0,_abstract_ResolveLocale_js__WEBPACK_IMPORTED_MODULE_0__.ResolveLocale)(availableLocales, (0,_abstract_CanonicalizeLocaleList_js__WEBPACK_IMPORTED_MODULE_1__.CanonicalizeLocaleList)(requestedLocales), { localeMatcher: opts?.algorithm || \"best fit\" }, [], {}, () => defaultLocale).locale;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraW50bC1sb2NhbGVtYXRjaGVyQDAuOC4yL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaW50bC1sb2NhbGVtYXRjaGVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUE4RTtBQUNsQjtBQUNyRDtBQUNQLFFBQVEseUVBQWEsbUJBQW1CLDJGQUFzQixzQkFBc0IsOENBQThDLFFBQVE7QUFDMUk7QUFDOEU7QUFDbEIiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ludGwtbG9jYWxlbWF0Y2hlckAwLjguMi9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ludGwtbG9jYWxlbWF0Y2hlci9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYW5vbmljYWxpemVMb2NhbGVMaXN0IH0gZnJvbSBcIi4vYWJzdHJhY3QvQ2Fub25pY2FsaXplTG9jYWxlTGlzdC5qc1wiO1xuaW1wb3J0IHsgUmVzb2x2ZUxvY2FsZSB9IGZyb20gXCIuL2Fic3RyYWN0L1Jlc29sdmVMb2NhbGUuanNcIjtcbmV4cG9ydCBmdW5jdGlvbiBtYXRjaChyZXF1ZXN0ZWRMb2NhbGVzLCBhdmFpbGFibGVMb2NhbGVzLCBkZWZhdWx0TG9jYWxlLCBvcHRzKSB7XG5cdHJldHVybiBSZXNvbHZlTG9jYWxlKGF2YWlsYWJsZUxvY2FsZXMsIENhbm9uaWNhbGl6ZUxvY2FsZUxpc3QocmVxdWVzdGVkTG9jYWxlcyksIHsgbG9jYWxlTWF0Y2hlcjogb3B0cz8uYWxnb3JpdGhtIHx8IFwiYmVzdCBmaXRcIiB9LCBbXSwge30sICgpID0+IGRlZmF1bHRMb2NhbGUpLmxvY2FsZTtcbn1cbmV4cG9ydCB7IExvb2t1cFN1cHBvcnRlZExvY2FsZXMgfSBmcm9tIFwiLi9hYnN0cmFjdC9Mb29rdXBTdXBwb3J0ZWRMb2NhbGVzLmpzXCI7XG5leHBvcnQgeyBSZXNvbHZlTG9jYWxlIH0gZnJvbSBcIi4vYWJzdHJhY3QvUmVzb2x2ZUxvY2FsZS5qc1wiO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/index.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/@mintel+next-utils@1.9.5_@babel+core@7.29.0_@opentelemetry+api@1.9.1_@swc+helpers@0.5.2_9638d51a45a2618218e93a700de128b9/node_modules/@mintel/next-utils/dist/index.js":
|
||
/*!***************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/@mintel+next-utils@1.9.5_@babel+core@7.29.0_@opentelemetry+api@1.9.1_@swc+helpers@0.5.2_9638d51a45a2618218e93a700de128b9/node_modules/@mintel/next-utils/dist/index.js ***!
|
||
\***************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createMintelI18nRequestConfig: () => (/* binding */ createMintelI18nRequestConfig),\n/* harmony export */ createMintelMiddleware: () => (/* binding */ createMintelMiddleware),\n/* harmony export */ isValidLang: () => (/* binding */ isValidLang),\n/* harmony export */ languages: () => (/* binding */ languages),\n/* harmony export */ mintelEnvSchema: () => (/* binding */ mintelEnvSchema),\n/* harmony export */ rateLimit: () => (/* binding */ rateLimit),\n/* harmony export */ validateMintelEnv: () => (/* binding */ validateMintelEnv),\n/* harmony export */ withMintelRefinements: () => (/* binding */ withMintelRefinements)\n/* harmony export */ });\n/* harmony import */ var next_intl_middleware__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next-intl/middleware */ \"(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/middleware.js\");\n/* harmony import */ var next_intl_server__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next-intl/server */ \"(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/server/react-client/index.js\");\n/* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! zod */ \"(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js\");\n/* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! zod */ \"(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js\");\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"(app-pages-browser)/./node_modules/.pnpm/process@0.11.10/node_modules/process/browser.js\");\n// src/lang.ts\nvar languages = [\"en\", \"de\"];\nfunction isValidLang(lang) {\n return languages.includes(lang);\n}\n\n// src/i18n.ts\n\n\nfunction createMintelMiddleware(config) {\n const intlMiddleware = (0,next_intl_middleware__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n locales: config.locales,\n defaultLocale: config.defaultLocale\n });\n return function middleware(request) {\n if (config.logRequests) {\n const { method, url } = request;\n console.log(`Incoming request: method=${method} url=${url}`);\n }\n try {\n return intlMiddleware(request);\n } catch (error) {\n if (config.logRequests) {\n console.error(\n `Request failed: ${request.method} ${request.url}`,\n error\n );\n }\n throw error;\n }\n };\n}\nfunction createMintelI18nRequestConfig(locales, defaultLocale, importMessages) {\n return (0,next_intl_server__WEBPACK_IMPORTED_MODULE_1__.getRequestConfig)(async ({ requestLocale }) => {\n let locale = await requestLocale;\n if (!locale || !locales.includes(locale)) {\n locale = defaultLocale;\n }\n return {\n locale,\n messages: (await importMessages(locale)).default,\n onError(error) {\n if (error.code === \"MISSING_MESSAGE\") {\n console.error(error.message);\n } else {\n console.error(error);\n }\n },\n getMessageFallback({ namespace, key, error }) {\n const path = [namespace, key].filter((part) => part != null).join(\".\");\n if (error.code === \"MISSING_MESSAGE\") {\n return path;\n }\n return \"fallback\";\n }\n };\n });\n}\n\n// src/env.ts\n\nvar mintelEnvSchema = {\n NODE_ENV: zod__WEBPACK_IMPORTED_MODULE_2__[\"enum\"]([\"development\", \"production\", \"test\"]).default(\"development\"),\n NEXT_PUBLIC_BASE_URL: zod__WEBPACK_IMPORTED_MODULE_2__.string().url().optional(),\n NEXT_PUBLIC_TARGET: zod__WEBPACK_IMPORTED_MODULE_2__[\"enum\"]([\"development\", \"testing\", \"staging\", \"production\"]).optional(),\n TARGET: zod__WEBPACK_IMPORTED_MODULE_2__[\"enum\"]([\"development\", \"testing\", \"staging\", \"production\"]).optional(),\n // Analytics (Proxy Pattern)\n UMAMI_WEBSITE_ID: zod__WEBPACK_IMPORTED_MODULE_2__.string().optional(),\n NEXT_PUBLIC_UMAMI_WEBSITE_ID: zod__WEBPACK_IMPORTED_MODULE_2__.string().optional(),\n UMAMI_API_ENDPOINT: zod__WEBPACK_IMPORTED_MODULE_2__.string().url().default(\"https://analytics.infra.mintel.me\"),\n // Error Tracking\n SENTRY_DSN: zod__WEBPACK_IMPORTED_MODULE_2__.string().optional(),\n // Notifications\n GOTIFY_URL: zod__WEBPACK_IMPORTED_MODULE_2__.string().url().optional(),\n GOTIFY_TOKEN: zod__WEBPACK_IMPORTED_MODULE_2__.string().optional(),\n LOG_LEVEL: zod__WEBPACK_IMPORTED_MODULE_2__[\"enum\"]([\"trace\", \"debug\", \"info\", \"warn\", \"error\", \"fatal\"]).default(\"info\"),\n // Mail\n MAIL_HOST: zod__WEBPACK_IMPORTED_MODULE_2__.string().optional(),\n MAIL_PORT: zod__WEBPACK_IMPORTED_MODULE_2__.coerce.number().default(587),\n MAIL_USERNAME: zod__WEBPACK_IMPORTED_MODULE_2__.string().optional(),\n MAIL_PASSWORD: zod__WEBPACK_IMPORTED_MODULE_2__.string().optional(),\n MAIL_FROM: zod__WEBPACK_IMPORTED_MODULE_2__.string().optional(),\n MAIL_RECIPIENTS: zod__WEBPACK_IMPORTED_MODULE_2__.preprocess(\n (val) => typeof val === \"string\" ? val.split(\",\").filter(Boolean) : val,\n zod__WEBPACK_IMPORTED_MODULE_2__.array(zod__WEBPACK_IMPORTED_MODULE_2__.string()).default([])\n ),\n // Directus\n DIRECTUS_URL: zod__WEBPACK_IMPORTED_MODULE_2__.string().url().default(\"http://localhost:8055\"),\n DIRECTUS_ADMIN_EMAIL: zod__WEBPACK_IMPORTED_MODULE_2__.string().optional(),\n DIRECTUS_ADMIN_PASSWORD: zod__WEBPACK_IMPORTED_MODULE_2__.string().optional(),\n DIRECTUS_API_TOKEN: zod__WEBPACK_IMPORTED_MODULE_2__.string().optional(),\n INTERNAL_DIRECTUS_URL: zod__WEBPACK_IMPORTED_MODULE_2__.string().url().optional()\n};\nvar withMintelRefinements = (schema) => {\n return schema.superRefine((data, ctx) => {\n const skipValidation = process.env.SKIP_ENV_VALIDATION === \"true\" || process.env.SKIP_RUNTIME_ENV_VALIDATION === \"true\";\n if (skipValidation) return;\n const target = data.TARGET || data.NEXT_PUBLIC_TARGET || \"development\";\n if (target !== \"development\") {\n if (!data.MAIL_HOST) {\n ctx.addIssue({\n code: zod__WEBPACK_IMPORTED_MODULE_3__.ZodIssueCode.custom,\n message: \"MAIL_HOST is required in non-development environments\",\n path: [\"MAIL_HOST\"]\n });\n }\n }\n });\n};\nfunction validateMintelEnv(schemaExtension = {}) {\n const fullSchema = withMintelRefinements(\n zod__WEBPACK_IMPORTED_MODULE_2__.object(mintelEnvSchema).extend(schemaExtension)\n );\n const isBuildTime = process.env.NEXT_PHASE === \"phase-production-build\" || process.env.SKIP_ENV_VALIDATION === \"true\" || process.env.SKIP_RUNTIME_ENV_VALIDATION === \"true\";\n const result = fullSchema.safeParse(process.env);\n if (!result.success) {\n if (isBuildTime) {\n console.warn(\n \"\\u26A0\\uFE0F Some environment variables are missing during build, but skipping strict validation.\"\n );\n return process.env;\n }\n console.error(\n \"\\u274C Invalid environment variables:\",\n result.error.flatten().fieldErrors\n );\n throw new Error(\"Invalid environment variables\");\n }\n return result.data;\n}\n\n// src/index.ts\nvar submissions = {};\nvar RATE_LIMIT_WINDOW = 60 * 60 * 1e3;\nvar MAX_SUBMISSIONS_PER_WINDOW = 3;\nasync function rateLimit(identifier, windowMs = RATE_LIMIT_WINDOW, maxSubmissions = MAX_SUBMISSIONS_PER_WINDOW) {\n const now = Date.now();\n Object.keys(submissions).forEach((key) => {\n if (now - submissions[key] > windowMs) {\n delete submissions[key];\n }\n });\n const currentSubmissions = Object.values(submissions).filter(\n (timestamp) => now - timestamp <= windowMs\n );\n if (currentSubmissions.length >= maxSubmissions) {\n throw new Error(\"Too many submissions. Please try again later.\");\n }\n submissions[identifier] = now;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9AbWludGVsK25leHQtdXRpbHNAMS45LjVfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9Ac3djK2hlbHBlcnNAMC41LjJfOTYzOGQ1MWE0NWEyNjE4MjE4ZTkzYTcwMGRlMTI4Yjkvbm9kZV9tb2R1bGVzL0BtaW50ZWwvbmV4dC11dGlscy9kaXN0L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ29EO0FBQ0E7QUFDcEQ7QUFDQSx5QkFBeUIsZ0VBQWdCO0FBQ3pDO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLGNBQWMsY0FBYztBQUM1Qiw4Q0FBOEMsUUFBUSxNQUFNLElBQUk7QUFDaEU7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQSw2QkFBNkIsZ0JBQWdCLEVBQUUsWUFBWTtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxrRUFBZ0IsVUFBVSxlQUFlO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsMkJBQTJCLHVCQUF1QjtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUN3QjtBQUN4QjtBQUNBLFlBQVksd0NBQU07QUFDbEIsd0JBQXdCLHVDQUFRO0FBQ2hDLHNCQUFzQix3Q0FBTTtBQUM1QixVQUFVLHdDQUFNO0FBQ2hCO0FBQ0Esb0JBQW9CLHVDQUFRO0FBQzVCLGdDQUFnQyx1Q0FBUTtBQUN4QyxzQkFBc0IsdUNBQVE7QUFDOUI7QUFDQSxjQUFjLHVDQUFRO0FBQ3RCO0FBQ0EsY0FBYyx1Q0FBUTtBQUN0QixnQkFBZ0IsdUNBQVE7QUFDeEIsYUFBYSx3Q0FBTTtBQUNuQjtBQUNBLGFBQWEsdUNBQVE7QUFDckIsYUFBYSx1Q0FBUTtBQUNyQixpQkFBaUIsdUNBQVE7QUFDekIsaUJBQWlCLHVDQUFRO0FBQ3pCLGFBQWEsdUNBQVE7QUFDckIsbUJBQW1CLDJDQUFZO0FBQy9CO0FBQ0EsSUFBSSxzQ0FBTyxDQUFDLHVDQUFRO0FBQ3BCO0FBQ0E7QUFDQSxnQkFBZ0IsdUNBQVE7QUFDeEIsd0JBQXdCLHVDQUFRO0FBQ2hDLDJCQUEyQix1Q0FBUTtBQUNuQyxzQkFBc0IsdUNBQVE7QUFDOUIseUJBQXlCLHVDQUFRO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixPQUFPLHVDQUF1QyxPQUFPO0FBQ2hGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsNkNBQWM7QUFDOUI7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsK0NBQStDO0FBQy9DO0FBQ0EsSUFBSSx1Q0FBUTtBQUNaO0FBQ0Esc0JBQXNCLE9BQU8sZ0RBQWdELE9BQU8sdUNBQXVDLE9BQU87QUFDbEksc0NBQXNDLE9BQU87QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVVFIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0BtaW50ZWwrbmV4dC11dGlsc0AxLjkuNV9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX0Bzd2MraGVscGVyc0AwLjUuMl85NjM4ZDUxYTQ1YTI2MTgyMThlOTNhNzAwZGUxMjhiOS9ub2RlX21vZHVsZXMvQG1pbnRlbC9uZXh0LXV0aWxzL2Rpc3QvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gc3JjL2xhbmcudHNcbnZhciBsYW5ndWFnZXMgPSBbXCJlblwiLCBcImRlXCJdO1xuZnVuY3Rpb24gaXNWYWxpZExhbmcobGFuZykge1xuICByZXR1cm4gbGFuZ3VhZ2VzLmluY2x1ZGVzKGxhbmcpO1xufVxuXG4vLyBzcmMvaTE4bi50c1xuaW1wb3J0IGNyZWF0ZU1pZGRsZXdhcmUgZnJvbSBcIm5leHQtaW50bC9taWRkbGV3YXJlXCI7XG5pbXBvcnQgeyBnZXRSZXF1ZXN0Q29uZmlnIH0gZnJvbSBcIm5leHQtaW50bC9zZXJ2ZXJcIjtcbmZ1bmN0aW9uIGNyZWF0ZU1pbnRlbE1pZGRsZXdhcmUoY29uZmlnKSB7XG4gIGNvbnN0IGludGxNaWRkbGV3YXJlID0gY3JlYXRlTWlkZGxld2FyZSh7XG4gICAgbG9jYWxlczogY29uZmlnLmxvY2FsZXMsXG4gICAgZGVmYXVsdExvY2FsZTogY29uZmlnLmRlZmF1bHRMb2NhbGVcbiAgfSk7XG4gIHJldHVybiBmdW5jdGlvbiBtaWRkbGV3YXJlKHJlcXVlc3QpIHtcbiAgICBpZiAoY29uZmlnLmxvZ1JlcXVlc3RzKSB7XG4gICAgICBjb25zdCB7IG1ldGhvZCwgdXJsIH0gPSByZXF1ZXN0O1xuICAgICAgY29uc29sZS5sb2coYEluY29taW5nIHJlcXVlc3Q6IG1ldGhvZD0ke21ldGhvZH0gdXJsPSR7dXJsfWApO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGludGxNaWRkbGV3YXJlKHJlcXVlc3QpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoY29uZmlnLmxvZ1JlcXVlc3RzKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgYFJlcXVlc3QgZmFpbGVkOiAke3JlcXVlc3QubWV0aG9kfSAke3JlcXVlc3QudXJsfWAsXG4gICAgICAgICAgZXJyb3JcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZU1pbnRlbEkxOG5SZXF1ZXN0Q29uZmlnKGxvY2FsZXMsIGRlZmF1bHRMb2NhbGUsIGltcG9ydE1lc3NhZ2VzKSB7XG4gIHJldHVybiBnZXRSZXF1ZXN0Q29uZmlnKGFzeW5jICh7IHJlcXVlc3RMb2NhbGUgfSkgPT4ge1xuICAgIGxldCBsb2NhbGUgPSBhd2FpdCByZXF1ZXN0TG9jYWxlO1xuICAgIGlmICghbG9jYWxlIHx8ICFsb2NhbGVzLmluY2x1ZGVzKGxvY2FsZSkpIHtcbiAgICAgIGxvY2FsZSA9IGRlZmF1bHRMb2NhbGU7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBsb2NhbGUsXG4gICAgICBtZXNzYWdlczogKGF3YWl0IGltcG9ydE1lc3NhZ2VzKGxvY2FsZSkpLmRlZmF1bHQsXG4gICAgICBvbkVycm9yKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvci5jb2RlID09PSBcIk1JU1NJTkdfTUVTU0FHRVwiKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGdldE1lc3NhZ2VGYWxsYmFjayh7IG5hbWVzcGFjZSwga2V5LCBlcnJvciB9KSB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBbbmFtZXNwYWNlLCBrZXldLmZpbHRlcigocGFydCkgPT4gcGFydCAhPSBudWxsKS5qb2luKFwiLlwiKTtcbiAgICAgICAgaWYgKGVycm9yLmNvZGUgPT09IFwiTUlTU0lOR19NRVNTQUdFXCIpIHtcbiAgICAgICAgICByZXR1cm4gcGF0aDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gXCJmYWxsYmFja1wiO1xuICAgICAgfVxuICAgIH07XG4gIH0pO1xufVxuXG4vLyBzcmMvZW52LnRzXG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xudmFyIG1pbnRlbEVudlNjaGVtYSA9IHtcbiAgTk9ERV9FTlY6IHouZW51bShbXCJkZXZlbG9wbWVudFwiLCBcInByb2R1Y3Rpb25cIiwgXCJ0ZXN0XCJdKS5kZWZhdWx0KFwiZGV2ZWxvcG1lbnRcIiksXG4gIE5FWFRfUFVCTElDX0JBU0VfVVJMOiB6LnN0cmluZygpLnVybCgpLm9wdGlvbmFsKCksXG4gIE5FWFRfUFVCTElDX1RBUkdFVDogei5lbnVtKFtcImRldmVsb3BtZW50XCIsIFwidGVzdGluZ1wiLCBcInN0YWdpbmdcIiwgXCJwcm9kdWN0aW9uXCJdKS5vcHRpb25hbCgpLFxuICBUQVJHRVQ6IHouZW51bShbXCJkZXZlbG9wbWVudFwiLCBcInRlc3RpbmdcIiwgXCJzdGFnaW5nXCIsIFwicHJvZHVjdGlvblwiXSkub3B0aW9uYWwoKSxcbiAgLy8gQW5hbHl0aWNzIChQcm94eSBQYXR0ZXJuKVxuICBVTUFNSV9XRUJTSVRFX0lEOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIE5FWFRfUFVCTElDX1VNQU1JX1dFQlNJVEVfSUQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgVU1BTUlfQVBJX0VORFBPSU5UOiB6LnN0cmluZygpLnVybCgpLmRlZmF1bHQoXCJodHRwczovL2FuYWx5dGljcy5pbmZyYS5taW50ZWwubWVcIiksXG4gIC8vIEVycm9yIFRyYWNraW5nXG4gIFNFTlRSWV9EU046IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgLy8gTm90aWZpY2F0aW9uc1xuICBHT1RJRllfVVJMOiB6LnN0cmluZygpLnVybCgpLm9wdGlvbmFsKCksXG4gIEdPVElGWV9UT0tFTjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBMT0dfTEVWRUw6IHouZW51bShbXCJ0cmFjZVwiLCBcImRlYnVnXCIsIFwiaW5mb1wiLCBcIndhcm5cIiwgXCJlcnJvclwiLCBcImZhdGFsXCJdKS5kZWZhdWx0KFwiaW5mb1wiKSxcbiAgLy8gTWFpbFxuICBNQUlMX0hPU1Q6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgTUFJTF9QT1JUOiB6LmNvZXJjZS5udW1iZXIoKS5kZWZhdWx0KDU4NyksXG4gIE1BSUxfVVNFUk5BTUU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgTUFJTF9QQVNTV09SRDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBNQUlMX0ZST006IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgTUFJTF9SRUNJUElFTlRTOiB6LnByZXByb2Nlc3MoXG4gICAgKHZhbCkgPT4gdHlwZW9mIHZhbCA9PT0gXCJzdHJpbmdcIiA/IHZhbC5zcGxpdChcIixcIikuZmlsdGVyKEJvb2xlYW4pIDogdmFsLFxuICAgIHouYXJyYXkoei5zdHJpbmcoKSkuZGVmYXVsdChbXSlcbiAgKSxcbiAgLy8gRGlyZWN0dXNcbiAgRElSRUNUVVNfVVJMOiB6LnN0cmluZygpLnVybCgpLmRlZmF1bHQoXCJodHRwOi8vbG9jYWxob3N0OjgwNTVcIiksXG4gIERJUkVDVFVTX0FETUlOX0VNQUlMOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIERJUkVDVFVTX0FETUlOX1BBU1NXT1JEOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIERJUkVDVFVTX0FQSV9UT0tFTjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBJTlRFUk5BTF9ESVJFQ1RVU19VUkw6IHouc3RyaW5nKCkudXJsKCkub3B0aW9uYWwoKVxufTtcbnZhciB3aXRoTWludGVsUmVmaW5lbWVudHMgPSAoc2NoZW1hKSA9PiB7XG4gIHJldHVybiBzY2hlbWEuc3VwZXJSZWZpbmUoKGRhdGEsIGN0eCkgPT4ge1xuICAgIGNvbnN0IHNraXBWYWxpZGF0aW9uID0gcHJvY2Vzcy5lbnYuU0tJUF9FTlZfVkFMSURBVElPTiA9PT0gXCJ0cnVlXCIgfHwgcHJvY2Vzcy5lbnYuU0tJUF9SVU5USU1FX0VOVl9WQUxJREFUSU9OID09PSBcInRydWVcIjtcbiAgICBpZiAoc2tpcFZhbGlkYXRpb24pIHJldHVybjtcbiAgICBjb25zdCB0YXJnZXQgPSBkYXRhLlRBUkdFVCB8fCBkYXRhLk5FWFRfUFVCTElDX1RBUkdFVCB8fCBcImRldmVsb3BtZW50XCI7XG4gICAgaWYgKHRhcmdldCAhPT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICBpZiAoIWRhdGEuTUFJTF9IT1NUKSB7XG4gICAgICAgIGN0eC5hZGRJc3N1ZSh7XG4gICAgICAgICAgY29kZTogei5ab2RJc3N1ZUNvZGUuY3VzdG9tLFxuICAgICAgICAgIG1lc3NhZ2U6IFwiTUFJTF9IT1NUIGlzIHJlcXVpcmVkIGluIG5vbi1kZXZlbG9wbWVudCBlbnZpcm9ubWVudHNcIixcbiAgICAgICAgICBwYXRoOiBbXCJNQUlMX0hPU1RcIl1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn07XG5mdW5jdGlvbiB2YWxpZGF0ZU1pbnRlbEVudihzY2hlbWFFeHRlbnNpb24gPSB7fSkge1xuICBjb25zdCBmdWxsU2NoZW1hID0gd2l0aE1pbnRlbFJlZmluZW1lbnRzKFxuICAgIHoub2JqZWN0KG1pbnRlbEVudlNjaGVtYSkuZXh0ZW5kKHNjaGVtYUV4dGVuc2lvbilcbiAgKTtcbiAgY29uc3QgaXNCdWlsZFRpbWUgPSBwcm9jZXNzLmVudi5ORVhUX1BIQVNFID09PSBcInBoYXNlLXByb2R1Y3Rpb24tYnVpbGRcIiB8fCBwcm9jZXNzLmVudi5TS0lQX0VOVl9WQUxJREFUSU9OID09PSBcInRydWVcIiB8fCBwcm9jZXNzLmVudi5TS0lQX1JVTlRJTUVfRU5WX1ZBTElEQVRJT04gPT09IFwidHJ1ZVwiO1xuICBjb25zdCByZXN1bHQgPSBmdWxsU2NoZW1hLnNhZmVQYXJzZShwcm9jZXNzLmVudik7XG4gIGlmICghcmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICBpZiAoaXNCdWlsZFRpbWUpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgXCJcXHUyNkEwXFx1RkUwRiBTb21lIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgbWlzc2luZyBkdXJpbmcgYnVpbGQsIGJ1dCBza2lwcGluZyBzdHJpY3QgdmFsaWRhdGlvbi5cIlxuICAgICAgKTtcbiAgICAgIHJldHVybiBwcm9jZXNzLmVudjtcbiAgICB9XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgIFwiXFx1Mjc0QyBJbnZhbGlkIGVudmlyb25tZW50IHZhcmlhYmxlczpcIixcbiAgICAgIHJlc3VsdC5lcnJvci5mbGF0dGVuKCkuZmllbGRFcnJvcnNcbiAgICApO1xuICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgZW52aXJvbm1lbnQgdmFyaWFibGVzXCIpO1xuICB9XG4gIHJldHVybiByZXN1bHQuZGF0YTtcbn1cblxuLy8gc3JjL2luZGV4LnRzXG52YXIgc3VibWlzc2lvbnMgPSB7fTtcbnZhciBSQVRFX0xJTUlUX1dJTkRPVyA9IDYwICogNjAgKiAxZTM7XG52YXIgTUFYX1NVQk1JU1NJT05TX1BFUl9XSU5ET1cgPSAzO1xuYXN5bmMgZnVuY3Rpb24gcmF0ZUxpbWl0KGlkZW50aWZpZXIsIHdpbmRvd01zID0gUkFURV9MSU1JVF9XSU5ET1csIG1heFN1Ym1pc3Npb25zID0gTUFYX1NVQk1JU1NJT05TX1BFUl9XSU5ET1cpIHtcbiAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgT2JqZWN0LmtleXMoc3VibWlzc2lvbnMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGlmIChub3cgLSBzdWJtaXNzaW9uc1trZXldID4gd2luZG93TXMpIHtcbiAgICAgIGRlbGV0ZSBzdWJtaXNzaW9uc1trZXldO1xuICAgIH1cbiAgfSk7XG4gIGNvbnN0IGN1cnJlbnRTdWJtaXNzaW9ucyA9IE9iamVjdC52YWx1ZXMoc3VibWlzc2lvbnMpLmZpbHRlcihcbiAgICAodGltZXN0YW1wKSA9PiBub3cgLSB0aW1lc3RhbXAgPD0gd2luZG93TXNcbiAgKTtcbiAgaWYgKGN1cnJlbnRTdWJtaXNzaW9ucy5sZW5ndGggPj0gbWF4U3VibWlzc2lvbnMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJUb28gbWFueSBzdWJtaXNzaW9ucy4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci5cIik7XG4gIH1cbiAgc3VibWlzc2lvbnNbaWRlbnRpZmllcl0gPSBub3c7XG59XG5leHBvcnQge1xuICBjcmVhdGVNaW50ZWxJMThuUmVxdWVzdENvbmZpZyxcbiAgY3JlYXRlTWludGVsTWlkZGxld2FyZSxcbiAgaXNWYWxpZExhbmcsXG4gIGxhbmd1YWdlcyxcbiAgbWludGVsRW52U2NoZW1hLFxuICByYXRlTGltaXQsXG4gIHZhbGlkYXRlTWludGVsRW52LFxuICB3aXRoTWludGVsUmVmaW5lbWVudHNcbn07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/@mintel+next-utils@1.9.5_@babel+core@7.29.0_@opentelemetry+api@1.9.1_@swc+helpers@0.5.2_9638d51a45a2618218e93a700de128b9/node_modules/@mintel/next-utils/dist/index.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs":
|
||
/*!***********************************************************************!*\
|
||
!*** ./node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs ***!
|
||
\***********************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clsx: () => (/* binding */ clsx),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nfunction r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (clsx);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9jbHN4QDIuMS4xL25vZGVfbW9kdWxlcy9jbHN4L2Rpc3QvY2xzeC5tanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxjQUFjLGFBQWEsK0NBQStDLGdEQUFnRCxlQUFlLFFBQVEsSUFBSSwwQ0FBMEMseUNBQXlDLFNBQWdCLGdCQUFnQix3Q0FBd0MsSUFBSSxtREFBbUQsU0FBUyxpRUFBZSxJQUFJIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL2Nsc3hAMi4xLjEvbm9kZV9tb2R1bGVzL2Nsc3gvZGlzdC9jbHN4Lm1qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiByKGUpe3ZhciB0LGYsbj1cIlwiO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlfHxcIm51bWJlclwiPT10eXBlb2YgZSluKz1lO2Vsc2UgaWYoXCJvYmplY3RcIj09dHlwZW9mIGUpaWYoQXJyYXkuaXNBcnJheShlKSl7dmFyIG89ZS5sZW5ndGg7Zm9yKHQ9MDt0PG87dCsrKWVbdF0mJihmPXIoZVt0XSkpJiYobiYmKG4rPVwiIFwiKSxuKz1mKX1lbHNlIGZvcihmIGluIGUpZVtmXSYmKG4mJihuKz1cIiBcIiksbis9Zik7cmV0dXJuIG59ZXhwb3J0IGZ1bmN0aW9uIGNsc3goKXtmb3IodmFyIGUsdCxmPTAsbj1cIlwiLG89YXJndW1lbnRzLmxlbmd0aDtmPG87ZisrKShlPWFyZ3VtZW50c1tmXSkmJih0PXIoZSkpJiYobiYmKG4rPVwiIFwiKSxuKz10KTtyZXR1cm4gbn1leHBvcnQgZGVmYXVsdCBjbHN4OyJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/intl-messageformat@11.2.0/node_modules/intl-messageformat/src/core.js":
|
||
/*!**************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/intl-messageformat@11.2.0/node_modules/intl-messageformat/src/core.js ***!
|
||
\**************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IntlMessageFormat: () => (/* binding */ IntlMessageFormat)\n/* harmony export */ });\n/* harmony import */ var _formatjs_fast_memoize__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @formatjs/fast-memoize */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+fast-memoize@3.1.1/node_modules/@formatjs/fast-memoize/index.js\");\n/* harmony import */ var _formatjs_icu_messageformat_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @formatjs/icu-messageformat-parser */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/index.js\");\n/* harmony import */ var _formatters_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./formatters.js */ \"(app-pages-browser)/./node_modules/.pnpm/intl-messageformat@11.2.0/node_modules/intl-messageformat/src/formatters.js\");\n/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n\n\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n\tif (!c2) {\n\t\treturn c1;\n\t}\n\treturn {\n\t\t...c1,\n\t\t...c2,\n\t\t...Object.keys(c1).reduce((all, k) => {\n\t\t\tall[k] = {\n\t\t\t\t...c1[k],\n\t\t\t\t...c2[k]\n\t\t\t};\n\t\t\treturn all;\n\t\t}, {})\n\t};\n}\nfunction mergeConfigs(defaultConfig, configs) {\n\tif (!configs) {\n\t\treturn defaultConfig;\n\t}\n\treturn Object.keys(defaultConfig).reduce((all, k) => {\n\t\tall[k] = mergeConfig(defaultConfig[k], configs[k]);\n\t\treturn all;\n\t}, { ...defaultConfig });\n}\nfunction createFastMemoizeCache(store) {\n\treturn { create() {\n\t\treturn {\n\t\t\tget(key) {\n\t\t\t\treturn store[key];\n\t\t\t},\n\t\t\tset(key, value) {\n\t\t\t\tstore[key] = value;\n\t\t\t}\n\t\t};\n\t} };\n}\nfunction createDefaultFormatters(cache = {\n\tnumber: {},\n\tdateTime: {},\n\tpluralRules: {}\n}) {\n\treturn {\n\t\tgetNumberFormat: (0,_formatjs_fast_memoize__WEBPACK_IMPORTED_MODULE_1__.memoize)((...args) => new Intl.NumberFormat(...args), {\n\t\t\tcache: createFastMemoizeCache(cache.number),\n\t\t\tstrategy: _formatjs_fast_memoize__WEBPACK_IMPORTED_MODULE_1__.strategies.variadic\n\t\t}),\n\t\tgetDateTimeFormat: (0,_formatjs_fast_memoize__WEBPACK_IMPORTED_MODULE_1__.memoize)((...args) => new Intl.DateTimeFormat(...args), {\n\t\t\tcache: createFastMemoizeCache(cache.dateTime),\n\t\t\tstrategy: _formatjs_fast_memoize__WEBPACK_IMPORTED_MODULE_1__.strategies.variadic\n\t\t}),\n\t\tgetPluralRules: (0,_formatjs_fast_memoize__WEBPACK_IMPORTED_MODULE_1__.memoize)((...args) => new Intl.PluralRules(...args), {\n\t\t\tcache: createFastMemoizeCache(cache.pluralRules),\n\t\t\tstrategy: _formatjs_fast_memoize__WEBPACK_IMPORTED_MODULE_1__.strategies.variadic\n\t\t})\n\t};\n}\nclass IntlMessageFormat {\n\tast;\n\tlocales;\n\tresolvedLocale;\n\tformatters;\n\tformats;\n\tmessage;\n\tformatterCache = {\n\t\tnumber: {},\n\t\tdateTime: {},\n\t\tpluralRules: {}\n\t};\n\tconstructor(message, locales = IntlMessageFormat.defaultLocale, overrideFormats, opts) {\n\t\t// Defined first because it's used to build the format pattern.\n\t\tthis.locales = locales;\n\t\tthis.resolvedLocale = IntlMessageFormat.resolveLocale(locales);\n\t\tif (typeof message === \"string\") {\n\t\t\tthis.message = message;\n\t\t\tif (!IntlMessageFormat.__parse) {\n\t\t\t\tthrow new TypeError(\"IntlMessageFormat.__parse must be set to process `message` of type `string`\");\n\t\t\t}\n\t\t\tconst { ...parseOpts } = opts || {};\n\t\t\t// Parse string messages into an AST.\n\t\t\tthis.ast = IntlMessageFormat.__parse(message, {\n\t\t\t\t...parseOpts,\n\t\t\t\tlocale: this.resolvedLocale\n\t\t\t});\n\t\t} else {\n\t\t\tthis.ast = message;\n\t\t}\n\t\tif (!Array.isArray(this.ast)) {\n\t\t\tthrow new TypeError(\"A message must be provided as a String or AST.\");\n\t\t}\n\t\t// Creates a new object with the specified `formats` merged with the default\n\t\t// formats.\n\t\tthis.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n\t\tthis.formatters = opts && opts.formatters || createDefaultFormatters(this.formatterCache);\n\t}\n\tformat = (values) => {\n\t\tconst parts = this.formatToParts(values);\n\t\t// Hot path for straight simple msg translations\n\t\tif (parts.length === 1) {\n\t\t\treturn parts[0].value;\n\t\t}\n\t\tconst result = parts.reduce((all, part) => {\n\t\t\tif (!all.length || part.type !== _formatters_js__WEBPACK_IMPORTED_MODULE_2__.PART_TYPE.literal || typeof all[all.length - 1] !== \"string\") {\n\t\t\t\tall.push(part.value);\n\t\t\t} else {\n\t\t\t\tall[all.length - 1] += part.value;\n\t\t\t}\n\t\t\treturn all;\n\t\t}, []);\n\t\tif (result.length <= 1) {\n\t\t\treturn result[0] || \"\";\n\t\t}\n\t\treturn result;\n\t};\n\tformatToParts = (values) => (0,_formatters_js__WEBPACK_IMPORTED_MODULE_2__.formatToParts)(this.ast, this.locales, this.formatters, this.formats, values, undefined, this.message);\n\tresolvedOptions = () => ({ locale: this.resolvedLocale?.toString() || Intl.NumberFormat.supportedLocalesOf(this.locales)[0] });\n\tgetAst = () => this.ast;\n\tstatic memoizedDefaultLocale = null;\n\tstatic get defaultLocale() {\n\t\tif (!IntlMessageFormat.memoizedDefaultLocale) {\n\t\t\tIntlMessageFormat.memoizedDefaultLocale = new Intl.NumberFormat().resolvedOptions().locale;\n\t\t}\n\t\treturn IntlMessageFormat.memoizedDefaultLocale;\n\t}\n\tstatic resolveLocale = (locales) => {\n\t\tif (typeof Intl.Locale === \"undefined\") {\n\t\t\treturn;\n\t\t}\n\t\tconst supportedLocales = Intl.NumberFormat.supportedLocalesOf(locales);\n\t\tif (supportedLocales.length > 0) {\n\t\t\treturn new Intl.Locale(supportedLocales[0]);\n\t\t}\n\t\treturn new Intl.Locale(typeof locales === \"string\" ? locales : locales[0]);\n\t};\n\tstatic __parse = _formatjs_icu_messageformat_parser__WEBPACK_IMPORTED_MODULE_0__.parse;\n\t// Default format options used as the prototype of the `formats` provided to the\n\t// constructor. These are used when constructing the internal Intl.NumberFormat\n\t// and Intl.DateTimeFormat instances.\n\tstatic formats = {\n\t\tnumber: {\n\t\t\tinteger: { maximumFractionDigits: 0 },\n\t\t\tcurrency: { style: \"currency\" },\n\t\t\tpercent: { style: \"percent\" }\n\t\t},\n\t\tdate: {\n\t\t\tshort: {\n\t\t\t\tmonth: \"numeric\",\n\t\t\t\tday: \"numeric\",\n\t\t\t\tyear: \"2-digit\"\n\t\t\t},\n\t\t\tmedium: {\n\t\t\t\tmonth: \"short\",\n\t\t\t\tday: \"numeric\",\n\t\t\t\tyear: \"numeric\"\n\t\t\t},\n\t\t\tlong: {\n\t\t\t\tmonth: \"long\",\n\t\t\t\tday: \"numeric\",\n\t\t\t\tyear: \"numeric\"\n\t\t\t},\n\t\t\tfull: {\n\t\t\t\tweekday: \"long\",\n\t\t\t\tmonth: \"long\",\n\t\t\t\tday: \"numeric\",\n\t\t\t\tyear: \"numeric\"\n\t\t\t}\n\t\t},\n\t\ttime: {\n\t\t\tshort: {\n\t\t\t\thour: \"numeric\",\n\t\t\t\tminute: \"numeric\"\n\t\t\t},\n\t\t\tmedium: {\n\t\t\t\thour: \"numeric\",\n\t\t\t\tminute: \"numeric\",\n\t\t\t\tsecond: \"numeric\"\n\t\t\t},\n\t\t\tlong: {\n\t\t\t\thour: \"numeric\",\n\t\t\t\tminute: \"numeric\",\n\t\t\t\tsecond: \"numeric\",\n\t\t\t\ttimeZoneName: \"short\"\n\t\t\t},\n\t\t\tfull: {\n\t\t\t\thour: \"numeric\",\n\t\t\t\tminute: \"numeric\",\n\t\t\t\tsecond: \"numeric\",\n\t\t\t\ttimeZoneName: \"short\"\n\t\t\t}\n\t\t}\n\t};\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9pbnRsLW1lc3NhZ2Vmb3JtYXRAMTEuMi4wL25vZGVfbW9kdWxlcy9pbnRsLW1lc3NhZ2Vmb3JtYXQvc3JjL2NvcmUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDNkQ7QUFDRjtBQUNBO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHLElBQUk7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLElBQUksa0JBQWtCO0FBQ3hCO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLGFBQWE7QUFDYjtBQUNBLENBQUM7QUFDRDtBQUNBLG1CQUFtQiwrREFBTztBQUMxQjtBQUNBLGFBQWEsOERBQVU7QUFDdkIsR0FBRztBQUNILHFCQUFxQiwrREFBTztBQUM1QjtBQUNBLGFBQWEsOERBQVU7QUFDdkIsR0FBRztBQUNILGtCQUFrQiwrREFBTztBQUN6QjtBQUNBLGFBQWEsOERBQVU7QUFDdkIsR0FBRztBQUNIO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxlQUFlO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLHFEQUFTO0FBQzdDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLDZEQUFhO0FBQzFDLDRCQUE0QixrR0FBa0c7QUFDOUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLHFFQUFLO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLDBCQUEwQjtBQUN4QyxlQUFlLG1CQUFtQjtBQUNsQyxjQUFjO0FBQ2QsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL2ludGwtbWVzc2FnZWZvcm1hdEAxMS4yLjAvbm9kZV9tb2R1bGVzL2ludGwtbWVzc2FnZWZvcm1hdC9zcmMvY29yZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IChjKSAyMDE0LCBZYWhvbyEgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBMaWNlbnNlLlxuU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiovXG5pbXBvcnQgeyBtZW1vaXplLCBzdHJhdGVnaWVzIH0gZnJvbSBcIkBmb3JtYXRqcy9mYXN0LW1lbW9pemVcIjtcbmltcG9ydCB7IHBhcnNlIH0gZnJvbSBcIkBmb3JtYXRqcy9pY3UtbWVzc2FnZWZvcm1hdC1wYXJzZXJcIjtcbmltcG9ydCB7IGZvcm1hdFRvUGFydHMsIFBBUlRfVFlQRSB9IGZyb20gXCIuL2Zvcm1hdHRlcnMuanNcIjtcbi8vIC0tIE1lc3NhZ2VGb3JtYXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZ1bmN0aW9uIG1lcmdlQ29uZmlnKGMxLCBjMikge1xuXHRpZiAoIWMyKSB7XG5cdFx0cmV0dXJuIGMxO1xuXHR9XG5cdHJldHVybiB7XG5cdFx0Li4uYzEsXG5cdFx0Li4uYzIsXG5cdFx0Li4uT2JqZWN0LmtleXMoYzEpLnJlZHVjZSgoYWxsLCBrKSA9PiB7XG5cdFx0XHRhbGxba10gPSB7XG5cdFx0XHRcdC4uLmMxW2tdLFxuXHRcdFx0XHQuLi5jMltrXVxuXHRcdFx0fTtcblx0XHRcdHJldHVybiBhbGw7XG5cdFx0fSwge30pXG5cdH07XG59XG5mdW5jdGlvbiBtZXJnZUNvbmZpZ3MoZGVmYXVsdENvbmZpZywgY29uZmlncykge1xuXHRpZiAoIWNvbmZpZ3MpIHtcblx0XHRyZXR1cm4gZGVmYXVsdENvbmZpZztcblx0fVxuXHRyZXR1cm4gT2JqZWN0LmtleXMoZGVmYXVsdENvbmZpZykucmVkdWNlKChhbGwsIGspID0+IHtcblx0XHRhbGxba10gPSBtZXJnZUNvbmZpZyhkZWZhdWx0Q29uZmlnW2tdLCBjb25maWdzW2tdKTtcblx0XHRyZXR1cm4gYWxsO1xuXHR9LCB7IC4uLmRlZmF1bHRDb25maWcgfSk7XG59XG5mdW5jdGlvbiBjcmVhdGVGYXN0TWVtb2l6ZUNhY2hlKHN0b3JlKSB7XG5cdHJldHVybiB7IGNyZWF0ZSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0Z2V0KGtleSkge1xuXHRcdFx0XHRyZXR1cm4gc3RvcmVba2V5XTtcblx0XHRcdH0sXG5cdFx0XHRzZXQoa2V5LCB2YWx1ZSkge1xuXHRcdFx0XHRzdG9yZVtrZXldID0gdmFsdWU7XG5cdFx0XHR9XG5cdFx0fTtcblx0fSB9O1xufVxuZnVuY3Rpb24gY3JlYXRlRGVmYXVsdEZvcm1hdHRlcnMoY2FjaGUgPSB7XG5cdG51bWJlcjoge30sXG5cdGRhdGVUaW1lOiB7fSxcblx0cGx1cmFsUnVsZXM6IHt9XG59KSB7XG5cdHJldHVybiB7XG5cdFx0Z2V0TnVtYmVyRm9ybWF0OiBtZW1vaXplKCguLi5hcmdzKSA9PiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoLi4uYXJncyksIHtcblx0XHRcdGNhY2hlOiBjcmVhdGVGYXN0TWVtb2l6ZUNhY2hlKGNhY2hlLm51bWJlciksXG5cdFx0XHRzdHJhdGVneTogc3RyYXRlZ2llcy52YXJpYWRpY1xuXHRcdH0pLFxuXHRcdGdldERhdGVUaW1lRm9ybWF0OiBtZW1vaXplKCguLi5hcmdzKSA9PiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCguLi5hcmdzKSwge1xuXHRcdFx0Y2FjaGU6IGNyZWF0ZUZhc3RNZW1vaXplQ2FjaGUoY2FjaGUuZGF0ZVRpbWUpLFxuXHRcdFx0c3RyYXRlZ3k6IHN0cmF0ZWdpZXMudmFyaWFkaWNcblx0XHR9KSxcblx0XHRnZXRQbHVyYWxSdWxlczogbWVtb2l6ZSgoLi4uYXJncykgPT4gbmV3IEludGwuUGx1cmFsUnVsZXMoLi4uYXJncyksIHtcblx0XHRcdGNhY2hlOiBjcmVhdGVGYXN0TWVtb2l6ZUNhY2hlKGNhY2hlLnBsdXJhbFJ1bGVzKSxcblx0XHRcdHN0cmF0ZWd5OiBzdHJhdGVnaWVzLnZhcmlhZGljXG5cdFx0fSlcblx0fTtcbn1cbmV4cG9ydCBjbGFzcyBJbnRsTWVzc2FnZUZvcm1hdCB7XG5cdGFzdDtcblx0bG9jYWxlcztcblx0cmVzb2x2ZWRMb2NhbGU7XG5cdGZvcm1hdHRlcnM7XG5cdGZvcm1hdHM7XG5cdG1lc3NhZ2U7XG5cdGZvcm1hdHRlckNhY2hlID0ge1xuXHRcdG51bWJlcjoge30sXG5cdFx0ZGF0ZVRpbWU6IHt9LFxuXHRcdHBsdXJhbFJ1bGVzOiB7fVxuXHR9O1xuXHRjb25zdHJ1Y3RvcihtZXNzYWdlLCBsb2NhbGVzID0gSW50bE1lc3NhZ2VGb3JtYXQuZGVmYXVsdExvY2FsZSwgb3ZlcnJpZGVGb3JtYXRzLCBvcHRzKSB7XG5cdFx0Ly8gRGVmaW5lZCBmaXJzdCBiZWNhdXNlIGl0J3MgdXNlZCB0byBidWlsZCB0aGUgZm9ybWF0IHBhdHRlcm4uXG5cdFx0dGhpcy5sb2NhbGVzID0gbG9jYWxlcztcblx0XHR0aGlzLnJlc29sdmVkTG9jYWxlID0gSW50bE1lc3NhZ2VGb3JtYXQucmVzb2x2ZUxvY2FsZShsb2NhbGVzKTtcblx0XHRpZiAodHlwZW9mIG1lc3NhZ2UgPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG5cdFx0XHRpZiAoIUludGxNZXNzYWdlRm9ybWF0Ll9fcGFyc2UpIHtcblx0XHRcdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihcIkludGxNZXNzYWdlRm9ybWF0Ll9fcGFyc2UgbXVzdCBiZSBzZXQgdG8gcHJvY2VzcyBgbWVzc2FnZWAgb2YgdHlwZSBgc3RyaW5nYFwiKTtcblx0XHRcdH1cblx0XHRcdGNvbnN0IHsgLi4ucGFyc2VPcHRzIH0gPSBvcHRzIHx8IHt9O1xuXHRcdFx0Ly8gUGFyc2Ugc3RyaW5nIG1lc3NhZ2VzIGludG8gYW4gQVNULlxuXHRcdFx0dGhpcy5hc3QgPSBJbnRsTWVzc2FnZUZvcm1hdC5fX3BhcnNlKG1lc3NhZ2UsIHtcblx0XHRcdFx0Li4ucGFyc2VPcHRzLFxuXHRcdFx0XHRsb2NhbGU6IHRoaXMucmVzb2x2ZWRMb2NhbGVcblx0XHRcdH0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmFzdCA9IG1lc3NhZ2U7XG5cdFx0fVxuXHRcdGlmICghQXJyYXkuaXNBcnJheSh0aGlzLmFzdCkpIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJBIG1lc3NhZ2UgbXVzdCBiZSBwcm92aWRlZCBhcyBhIFN0cmluZyBvciBBU1QuXCIpO1xuXHRcdH1cblx0XHQvLyBDcmVhdGVzIGEgbmV3IG9iamVjdCB3aXRoIHRoZSBzcGVjaWZpZWQgYGZvcm1hdHNgIG1lcmdlZCB3aXRoIHRoZSBkZWZhdWx0XG5cdFx0Ly8gZm9ybWF0cy5cblx0XHR0aGlzLmZvcm1hdHMgPSBtZXJnZUNvbmZpZ3MoSW50bE1lc3NhZ2VGb3JtYXQuZm9ybWF0cywgb3ZlcnJpZGVGb3JtYXRzKTtcblx0XHR0aGlzLmZvcm1hdHRlcnMgPSBvcHRzICYmIG9wdHMuZm9ybWF0dGVycyB8fCBjcmVhdGVEZWZhdWx0Rm9ybWF0dGVycyh0aGlzLmZvcm1hdHRlckNhY2hlKTtcblx0fVxuXHRmb3JtYXQgPSAodmFsdWVzKSA9PiB7XG5cdFx0Y29uc3QgcGFydHMgPSB0aGlzLmZvcm1hdFRvUGFydHModmFsdWVzKTtcblx0XHQvLyBIb3QgcGF0aCBmb3Igc3RyYWlnaHQgc2ltcGxlIG1zZyB0cmFuc2xhdGlvbnNcblx0XHRpZiAocGFydHMubGVuZ3RoID09PSAxKSB7XG5cdFx0XHRyZXR1cm4gcGFydHNbMF0udmFsdWU7XG5cdFx0fVxuXHRcdGNvbnN0IHJlc3VsdCA9IHBhcnRzLnJlZHVjZSgoYWxsLCBwYXJ0KSA9PiB7XG5cdFx0XHRpZiAoIWFsbC5sZW5ndGggfHwgcGFydC50eXBlICE9PSBQQVJUX1RZUEUubGl0ZXJhbCB8fCB0eXBlb2YgYWxsW2FsbC5sZW5ndGggLSAxXSAhPT0gXCJzdHJpbmdcIikge1xuXHRcdFx0XHRhbGwucHVzaChwYXJ0LnZhbHVlKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGFsbFthbGwubGVuZ3RoIC0gMV0gKz0gcGFydC52YWx1ZTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBhbGw7XG5cdFx0fSwgW10pO1xuXHRcdGlmIChyZXN1bHQubGVuZ3RoIDw9IDEpIHtcblx0XHRcdHJldHVybiByZXN1bHRbMF0gfHwgXCJcIjtcblx0XHR9XG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fTtcblx0Zm9ybWF0VG9QYXJ0cyA9ICh2YWx1ZXMpID0+IGZvcm1hdFRvUGFydHModGhpcy5hc3QsIHRoaXMubG9jYWxlcywgdGhpcy5mb3JtYXR0ZXJzLCB0aGlzLmZvcm1hdHMsIHZhbHVlcywgdW5kZWZpbmVkLCB0aGlzLm1lc3NhZ2UpO1xuXHRyZXNvbHZlZE9wdGlvbnMgPSAoKSA9PiAoeyBsb2NhbGU6IHRoaXMucmVzb2x2ZWRMb2NhbGU/LnRvU3RyaW5nKCkgfHwgSW50bC5OdW1iZXJGb3JtYXQuc3VwcG9ydGVkTG9jYWxlc09mKHRoaXMubG9jYWxlcylbMF0gfSk7XG5cdGdldEFzdCA9ICgpID0+IHRoaXMuYXN0O1xuXHRzdGF0aWMgbWVtb2l6ZWREZWZhdWx0TG9jYWxlID0gbnVsbDtcblx0c3RhdGljIGdldCBkZWZhdWx0TG9jYWxlKCkge1xuXHRcdGlmICghSW50bE1lc3NhZ2VGb3JtYXQubWVtb2l6ZWREZWZhdWx0TG9jYWxlKSB7XG5cdFx0XHRJbnRsTWVzc2FnZUZvcm1hdC5tZW1vaXplZERlZmF1bHRMb2NhbGUgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7XG5cdFx0fVxuXHRcdHJldHVybiBJbnRsTWVzc2FnZUZvcm1hdC5tZW1vaXplZERlZmF1bHRMb2NhbGU7XG5cdH1cblx0c3RhdGljIHJlc29sdmVMb2NhbGUgPSAobG9jYWxlcykgPT4ge1xuXHRcdGlmICh0eXBlb2YgSW50bC5Mb2NhbGUgPT09IFwidW5kZWZpbmVkXCIpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0Y29uc3Qgc3VwcG9ydGVkTG9jYWxlcyA9IEludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihsb2NhbGVzKTtcblx0XHRpZiAoc3VwcG9ydGVkTG9jYWxlcy5sZW5ndGggPiAwKSB7XG5cdFx0XHRyZXR1cm4gbmV3IEludGwuTG9jYWxlKHN1cHBvcnRlZExvY2FsZXNbMF0pO1xuXHRcdH1cblx0XHRyZXR1cm4gbmV3IEludGwuTG9jYWxlKHR5cGVvZiBsb2NhbGVzID09PSBcInN0cmluZ1wiID8gbG9jYWxlcyA6IGxvY2FsZXNbMF0pO1xuXHR9O1xuXHRzdGF0aWMgX19wYXJzZSA9IHBhcnNlO1xuXHQvLyBEZWZhdWx0IGZvcm1hdCBvcHRpb25zIHVzZWQgYXMgdGhlIHByb3RvdHlwZSBvZiB0aGUgYGZvcm1hdHNgIHByb3ZpZGVkIHRvIHRoZVxuXHQvLyBjb25zdHJ1Y3Rvci4gVGhlc2UgYXJlIHVzZWQgd2hlbiBjb25zdHJ1Y3RpbmcgdGhlIGludGVybmFsIEludGwuTnVtYmVyRm9ybWF0XG5cdC8vIGFuZCBJbnRsLkRhdGVUaW1lRm9ybWF0IGluc3RhbmNlcy5cblx0c3RhdGljIGZvcm1hdHMgPSB7XG5cdFx0bnVtYmVyOiB7XG5cdFx0XHRpbnRlZ2VyOiB7IG1heGltdW1GcmFjdGlvbkRpZ2l0czogMCB9LFxuXHRcdFx0Y3VycmVuY3k6IHsgc3R5bGU6IFwiY3VycmVuY3lcIiB9LFxuXHRcdFx0cGVyY2VudDogeyBzdHlsZTogXCJwZXJjZW50XCIgfVxuXHRcdH0sXG5cdFx0ZGF0ZToge1xuXHRcdFx0c2hvcnQ6IHtcblx0XHRcdFx0bW9udGg6IFwibnVtZXJpY1wiLFxuXHRcdFx0XHRkYXk6IFwibnVtZXJpY1wiLFxuXHRcdFx0XHR5ZWFyOiBcIjItZGlnaXRcIlxuXHRcdFx0fSxcblx0XHRcdG1lZGl1bToge1xuXHRcdFx0XHRtb250aDogXCJzaG9ydFwiLFxuXHRcdFx0XHRkYXk6IFwibnVtZXJpY1wiLFxuXHRcdFx0XHR5ZWFyOiBcIm51bWVyaWNcIlxuXHRcdFx0fSxcblx0XHRcdGxvbmc6IHtcblx0XHRcdFx0bW9udGg6IFwibG9uZ1wiLFxuXHRcdFx0XHRkYXk6IFwibnVtZXJpY1wiLFxuXHRcdFx0XHR5ZWFyOiBcIm51bWVyaWNcIlxuXHRcdFx0fSxcblx0XHRcdGZ1bGw6IHtcblx0XHRcdFx0d2Vla2RheTogXCJsb25nXCIsXG5cdFx0XHRcdG1vbnRoOiBcImxvbmdcIixcblx0XHRcdFx0ZGF5OiBcIm51bWVyaWNcIixcblx0XHRcdFx0eWVhcjogXCJudW1lcmljXCJcblx0XHRcdH1cblx0XHR9LFxuXHRcdHRpbWU6IHtcblx0XHRcdHNob3J0OiB7XG5cdFx0XHRcdGhvdXI6IFwibnVtZXJpY1wiLFxuXHRcdFx0XHRtaW51dGU6IFwibnVtZXJpY1wiXG5cdFx0XHR9LFxuXHRcdFx0bWVkaXVtOiB7XG5cdFx0XHRcdGhvdXI6IFwibnVtZXJpY1wiLFxuXHRcdFx0XHRtaW51dGU6IFwibnVtZXJpY1wiLFxuXHRcdFx0XHRzZWNvbmQ6IFwibnVtZXJpY1wiXG5cdFx0XHR9LFxuXHRcdFx0bG9uZzoge1xuXHRcdFx0XHRob3VyOiBcIm51bWVyaWNcIixcblx0XHRcdFx0bWludXRlOiBcIm51bWVyaWNcIixcblx0XHRcdFx0c2Vjb25kOiBcIm51bWVyaWNcIixcblx0XHRcdFx0dGltZVpvbmVOYW1lOiBcInNob3J0XCJcblx0XHRcdH0sXG5cdFx0XHRmdWxsOiB7XG5cdFx0XHRcdGhvdXI6IFwibnVtZXJpY1wiLFxuXHRcdFx0XHRtaW51dGU6IFwibnVtZXJpY1wiLFxuXHRcdFx0XHRzZWNvbmQ6IFwibnVtZXJpY1wiLFxuXHRcdFx0XHR0aW1lWm9uZU5hbWU6IFwic2hvcnRcIlxuXHRcdFx0fVxuXHRcdH1cblx0fTtcbn1cbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/intl-messageformat@11.2.0/node_modules/intl-messageformat/src/core.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/intl-messageformat@11.2.0/node_modules/intl-messageformat/src/error.js":
|
||
/*!***************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/intl-messageformat@11.2.0/node_modules/intl-messageformat/src/error.js ***!
|
||
\***************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ErrorCode: () => (/* binding */ ErrorCode),\n/* harmony export */ FormatError: () => (/* binding */ FormatError),\n/* harmony export */ InvalidValueError: () => (/* binding */ InvalidValueError),\n/* harmony export */ InvalidValueTypeError: () => (/* binding */ InvalidValueTypeError),\n/* harmony export */ MissingValueError: () => (/* binding */ MissingValueError)\n/* harmony export */ });\nlet ErrorCode = /* @__PURE__ */ function(ErrorCode) {\n\t// When we have a placeholder but no value to format\n\tErrorCode[\"MISSING_VALUE\"] = \"MISSING_VALUE\";\n\t// When value supplied is invalid\n\tErrorCode[\"INVALID_VALUE\"] = \"INVALID_VALUE\";\n\t// When we need specific Intl API but it's not available\n\tErrorCode[\"MISSING_INTL_API\"] = \"MISSING_INTL_API\";\n\treturn ErrorCode;\n}({});\nclass FormatError extends Error {\n\tcode;\n\t/**\n\t* Original message we're trying to format\n\t* `undefined` if we're only dealing w/ AST\n\t*\n\t* @type {(string | undefined)}\n\t* @memberof FormatError\n\t*/\n\toriginalMessage;\n\tconstructor(msg, code, originalMessage) {\n\t\tsuper(msg);\n\t\tthis.code = code;\n\t\tthis.originalMessage = originalMessage;\n\t}\n\ttoString() {\n\t\treturn `[formatjs Error: ${this.code}] ${this.message}`;\n\t}\n}\nclass InvalidValueError extends FormatError {\n\tconstructor(variableId, value, options, originalMessage) {\n\t\tsuper(`Invalid values for \"${variableId}\": \"${value}\". Options are \"${Object.keys(options).join(\"\\\", \\\"\")}\"`, ErrorCode.INVALID_VALUE, originalMessage);\n\t}\n}\nclass InvalidValueTypeError extends FormatError {\n\tconstructor(value, type, originalMessage) {\n\t\tsuper(`Value for \"${value}\" must be of type ${type}`, ErrorCode.INVALID_VALUE, originalMessage);\n\t}\n}\nclass MissingValueError extends FormatError {\n\tconstructor(variableId, originalMessage) {\n\t\tsuper(`The intl string context variable \"${variableId}\" was not provided to the string \"${originalMessage}\"`, ErrorCode.MISSING_VALUE, originalMessage);\n\t}\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9pbnRsLW1lc3NhZ2Vmb3JtYXRAMTEuMi4wL25vZGVfbW9kdWxlcy9pbnRsLW1lc3NhZ2Vmb3JtYXQvc3JjL2Vycm9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsR0FBRztBQUNHO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsVUFBVSxJQUFJLGFBQWE7QUFDeEQ7QUFDQTtBQUNPO0FBQ1A7QUFDQSwrQkFBK0IsV0FBVyxNQUFNLE1BQU0sa0JBQWtCLG9DQUFvQztBQUM1RztBQUNBO0FBQ087QUFDUDtBQUNBLHNCQUFzQixNQUFNLG9CQUFvQixLQUFLO0FBQ3JEO0FBQ0E7QUFDTztBQUNQO0FBQ0EsNkNBQTZDLFdBQVcsb0NBQW9DLGdCQUFnQjtBQUM1RztBQUNBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL2ludGwtbWVzc2FnZWZvcm1hdEAxMS4yLjAvbm9kZV9tb2R1bGVzL2ludGwtbWVzc2FnZWZvcm1hdC9zcmMvZXJyb3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGxldCBFcnJvckNvZGUgPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oRXJyb3JDb2RlKSB7XG5cdC8vIFdoZW4gd2UgaGF2ZSBhIHBsYWNlaG9sZGVyIGJ1dCBubyB2YWx1ZSB0byBmb3JtYXRcblx0RXJyb3JDb2RlW1wiTUlTU0lOR19WQUxVRVwiXSA9IFwiTUlTU0lOR19WQUxVRVwiO1xuXHQvLyBXaGVuIHZhbHVlIHN1cHBsaWVkIGlzIGludmFsaWRcblx0RXJyb3JDb2RlW1wiSU5WQUxJRF9WQUxVRVwiXSA9IFwiSU5WQUxJRF9WQUxVRVwiO1xuXHQvLyBXaGVuIHdlIG5lZWQgc3BlY2lmaWMgSW50bCBBUEkgYnV0IGl0J3Mgbm90IGF2YWlsYWJsZVxuXHRFcnJvckNvZGVbXCJNSVNTSU5HX0lOVExfQVBJXCJdID0gXCJNSVNTSU5HX0lOVExfQVBJXCI7XG5cdHJldHVybiBFcnJvckNvZGU7XG59KHt9KTtcbmV4cG9ydCBjbGFzcyBGb3JtYXRFcnJvciBleHRlbmRzIEVycm9yIHtcblx0Y29kZTtcblx0LyoqXG5cdCogT3JpZ2luYWwgbWVzc2FnZSB3ZSdyZSB0cnlpbmcgdG8gZm9ybWF0XG5cdCogYHVuZGVmaW5lZGAgaWYgd2UncmUgb25seSBkZWFsaW5nIHcvIEFTVFxuXHQqXG5cdCogQHR5cGUgeyhzdHJpbmcgfCB1bmRlZmluZWQpfVxuXHQqIEBtZW1iZXJvZiBGb3JtYXRFcnJvclxuXHQqL1xuXHRvcmlnaW5hbE1lc3NhZ2U7XG5cdGNvbnN0cnVjdG9yKG1zZywgY29kZSwgb3JpZ2luYWxNZXNzYWdlKSB7XG5cdFx0c3VwZXIobXNnKTtcblx0XHR0aGlzLmNvZGUgPSBjb2RlO1xuXHRcdHRoaXMub3JpZ2luYWxNZXNzYWdlID0gb3JpZ2luYWxNZXNzYWdlO1xuXHR9XG5cdHRvU3RyaW5nKCkge1xuXHRcdHJldHVybiBgW2Zvcm1hdGpzIEVycm9yOiAke3RoaXMuY29kZX1dICR7dGhpcy5tZXNzYWdlfWA7XG5cdH1cbn1cbmV4cG9ydCBjbGFzcyBJbnZhbGlkVmFsdWVFcnJvciBleHRlbmRzIEZvcm1hdEVycm9yIHtcblx0Y29uc3RydWN0b3IodmFyaWFibGVJZCwgdmFsdWUsIG9wdGlvbnMsIG9yaWdpbmFsTWVzc2FnZSkge1xuXHRcdHN1cGVyKGBJbnZhbGlkIHZhbHVlcyBmb3IgXCIke3ZhcmlhYmxlSWR9XCI6IFwiJHt2YWx1ZX1cIi4gT3B0aW9ucyBhcmUgXCIke09iamVjdC5rZXlzKG9wdGlvbnMpLmpvaW4oXCJcXFwiLCBcXFwiXCIpfVwiYCwgRXJyb3JDb2RlLklOVkFMSURfVkFMVUUsIG9yaWdpbmFsTWVzc2FnZSk7XG5cdH1cbn1cbmV4cG9ydCBjbGFzcyBJbnZhbGlkVmFsdWVUeXBlRXJyb3IgZXh0ZW5kcyBGb3JtYXRFcnJvciB7XG5cdGNvbnN0cnVjdG9yKHZhbHVlLCB0eXBlLCBvcmlnaW5hbE1lc3NhZ2UpIHtcblx0XHRzdXBlcihgVmFsdWUgZm9yIFwiJHt2YWx1ZX1cIiBtdXN0IGJlIG9mIHR5cGUgJHt0eXBlfWAsIEVycm9yQ29kZS5JTlZBTElEX1ZBTFVFLCBvcmlnaW5hbE1lc3NhZ2UpO1xuXHR9XG59XG5leHBvcnQgY2xhc3MgTWlzc2luZ1ZhbHVlRXJyb3IgZXh0ZW5kcyBGb3JtYXRFcnJvciB7XG5cdGNvbnN0cnVjdG9yKHZhcmlhYmxlSWQsIG9yaWdpbmFsTWVzc2FnZSkge1xuXHRcdHN1cGVyKGBUaGUgaW50bCBzdHJpbmcgY29udGV4dCB2YXJpYWJsZSBcIiR7dmFyaWFibGVJZH1cIiB3YXMgbm90IHByb3ZpZGVkIHRvIHRoZSBzdHJpbmcgXCIke29yaWdpbmFsTWVzc2FnZX1cImAsIEVycm9yQ29kZS5NSVNTSU5HX1ZBTFVFLCBvcmlnaW5hbE1lc3NhZ2UpO1xuXHR9XG59XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/intl-messageformat@11.2.0/node_modules/intl-messageformat/src/error.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/intl-messageformat@11.2.0/node_modules/intl-messageformat/src/formatters.js":
|
||
/*!********************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/intl-messageformat@11.2.0/node_modules/intl-messageformat/src/formatters.js ***!
|
||
\********************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PART_TYPE: () => (/* binding */ PART_TYPE),\n/* harmony export */ formatToParts: () => (/* binding */ formatToParts),\n/* harmony export */ isFormatXMLElementFn: () => (/* binding */ isFormatXMLElementFn)\n/* harmony export */ });\n/* harmony import */ var _formatjs_icu_messageformat_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @formatjs/icu-messageformat-parser */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/index.js\");\n/* harmony import */ var _error_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./error.js */ \"(app-pages-browser)/./node_modules/.pnpm/intl-messageformat@11.2.0/node_modules/intl-messageformat/src/error.js\");\n\n\n\nlet PART_TYPE = /* @__PURE__ */ function(PART_TYPE) {\n\tPART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n\tPART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n\treturn PART_TYPE;\n}({});\nfunction mergeLiteral(parts) {\n\tif (parts.length < 2) {\n\t\treturn parts;\n\t}\n\treturn parts.reduce((all, part) => {\n\t\tconst lastPart = all[all.length - 1];\n\t\tif (!lastPart || lastPart.type !== PART_TYPE.literal || part.type !== PART_TYPE.literal) {\n\t\t\tall.push(part);\n\t\t} else {\n\t\t\tlastPart.value += part.value;\n\t\t}\n\t\treturn all;\n\t}, []);\n}\nfunction isFormatXMLElementFn(el) {\n\treturn typeof el === \"function\";\n}\n// TODO(skeleton): add skeleton support\nfunction formatToParts(els, locales, formatters, formats, values, currentPluralValue, originalMessage) {\n\t// Hot path for straight simple msg translations\n\tif (els.length === 1 && (0,_formatjs_icu_messageformat_parser__WEBPACK_IMPORTED_MODULE_0__.isLiteralElement)(els[0])) {\n\t\treturn [{\n\t\t\ttype: PART_TYPE.literal,\n\t\t\tvalue: els[0].value\n\t\t}];\n\t}\n\tconst result = [];\n\tfor (const el of els) {\n\t\t// Exit early for string parts.\n\t\tif ((0,_formatjs_icu_messageformat_parser__WEBPACK_IMPORTED_MODULE_0__.isLiteralElement)(el)) {\n\t\t\tresult.push({\n\t\t\t\ttype: PART_TYPE.literal,\n\t\t\t\tvalue: el.value\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\t// TODO: should this part be literal type?\n\t\t// Replace `#` in plural rules with the actual numeric value.\n\t\tif ((0,_formatjs_icu_messageformat_parser__WEBPACK_IMPORTED_MODULE_0__.isPoundElement)(el)) {\n\t\t\tif (typeof currentPluralValue === \"number\") {\n\t\t\t\tresult.push({\n\t\t\t\t\ttype: PART_TYPE.literal,\n\t\t\t\t\tvalue: formatters.getNumberFormat(locales).format(currentPluralValue)\n\t\t\t\t});\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tconst { value: varName } = el;\n\t\t// Enforce that all required values are provided by the caller.\n\t\tif (!(values && varName in values)) {\n\t\t\tthrow new _error_js__WEBPACK_IMPORTED_MODULE_1__.MissingValueError(varName, originalMessage);\n\t\t}\n\t\tlet value = values[varName];\n\t\tif ((0,_formatjs_icu_messageformat_parser__WEBPACK_IMPORTED_MODULE_0__.isArgumentElement)(el)) {\n\t\t\tif (!value || typeof value === \"string\" || typeof value === \"number\" || typeof value === \"bigint\") {\n\t\t\t\tvalue = typeof value === \"string\" || typeof value === \"number\" || typeof value === \"bigint\" ? String(value) : \"\";\n\t\t\t}\n\t\t\tresult.push({\n\t\t\t\ttype: typeof value === \"string\" ? PART_TYPE.literal : PART_TYPE.object,\n\t\t\t\tvalue\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\t// Recursively format plural and select parts' option — which can be a\n\t\t// nested pattern structure. The choosing of the option to use is\n\t\t// abstracted-by and delegated-to the part helper object.\n\t\tif ((0,_formatjs_icu_messageformat_parser__WEBPACK_IMPORTED_MODULE_0__.isDateElement)(el)) {\n\t\t\tconst style = typeof el.style === \"string\" ? formats.date[el.style] : (0,_formatjs_icu_messageformat_parser__WEBPACK_IMPORTED_MODULE_0__.isDateTimeSkeleton)(el.style) ? el.style.parsedOptions : undefined;\n\t\t\tresult.push({\n\t\t\t\ttype: PART_TYPE.literal,\n\t\t\t\tvalue: formatters.getDateTimeFormat(locales, style).format(value)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif ((0,_formatjs_icu_messageformat_parser__WEBPACK_IMPORTED_MODULE_0__.isTimeElement)(el)) {\n\t\t\tconst style = typeof el.style === \"string\" ? formats.time[el.style] : (0,_formatjs_icu_messageformat_parser__WEBPACK_IMPORTED_MODULE_0__.isDateTimeSkeleton)(el.style) ? el.style.parsedOptions : formats.time.medium;\n\t\t\tresult.push({\n\t\t\t\ttype: PART_TYPE.literal,\n\t\t\t\tvalue: formatters.getDateTimeFormat(locales, style).format(value)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif ((0,_formatjs_icu_messageformat_parser__WEBPACK_IMPORTED_MODULE_0__.isNumberElement)(el)) {\n\t\t\tconst style = typeof el.style === \"string\" ? formats.number[el.style] : (0,_formatjs_icu_messageformat_parser__WEBPACK_IMPORTED_MODULE_0__.isNumberSkeleton)(el.style) ? el.style.parsedOptions : undefined;\n\t\t\tif (style && style.scale) {\n\t\t\t\tconst scale = style.scale || 1;\n\t\t\t\t// Handle bigint scale multiplication\n\t\t\t\t// BigInt can only be multiplied by BigInt\n\t\t\t\tif (typeof value === \"bigint\") {\n\t\t\t\t\t// Check if scale is a safe integer that can be converted to BigInt\n\t\t\t\t\tif (!Number.isInteger(scale)) {\n\t\t\t\t\t\tthrow new TypeError(`Cannot apply fractional scale ${scale} to bigint value. Scale must be an integer when formatting bigint.`);\n\t\t\t\t\t}\n\t\t\t\t\tvalue = value * BigInt(scale);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value * scale;\n\t\t\t\t}\n\t\t\t}\n\t\t\tresult.push({\n\t\t\t\ttype: PART_TYPE.literal,\n\t\t\t\tvalue: formatters.getNumberFormat(locales, style).format(value)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif ((0,_formatjs_icu_messageformat_parser__WEBPACK_IMPORTED_MODULE_0__.isTagElement)(el)) {\n\t\t\tconst { children, value } = el;\n\t\t\tconst formatFn = values[value];\n\t\t\tif (!isFormatXMLElementFn(formatFn)) {\n\t\t\t\tthrow new _error_js__WEBPACK_IMPORTED_MODULE_1__.InvalidValueTypeError(value, \"function\", originalMessage);\n\t\t\t}\n\t\t\tconst parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);\n\t\t\tlet chunks = formatFn(parts.map((p) => p.value));\n\t\t\tif (!Array.isArray(chunks)) {\n\t\t\t\tchunks = [chunks];\n\t\t\t}\n\t\t\tresult.push(...chunks.map((c) => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: typeof c === \"string\" ? PART_TYPE.literal : PART_TYPE.object,\n\t\t\t\t\tvalue: c\n\t\t\t\t};\n\t\t\t}));\n\t\t}\n\t\tif ((0,_formatjs_icu_messageformat_parser__WEBPACK_IMPORTED_MODULE_0__.isSelectElement)(el)) {\n\t\t\t// GH #4490: Use hasOwnProperty to avoid prototype chain issues with keys like \"constructor\"\n\t\t\tconst key = value;\n\t\t\tconst opt = (Object.prototype.hasOwnProperty.call(el.options, key) ? el.options[key] : undefined) || el.options.other;\n\t\t\tif (!opt) {\n\t\t\t\tthrow new _error_js__WEBPACK_IMPORTED_MODULE_1__.InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n\t\t\t}\n\t\t\tresult.push(...formatToParts(opt.value, locales, formatters, formats, values));\n\t\t\tcontinue;\n\t\t}\n\t\tif ((0,_formatjs_icu_messageformat_parser__WEBPACK_IMPORTED_MODULE_0__.isPluralElement)(el)) {\n\t\t\t// GH #4490: Use hasOwnProperty to avoid prototype chain issues\n\t\t\tconst exactKey = `=${value}`;\n\t\t\tlet opt = Object.prototype.hasOwnProperty.call(el.options, exactKey) ? el.options[exactKey] : undefined;\n\t\t\tif (!opt) {\n\t\t\t\tif (!Intl.PluralRules) {\n\t\t\t\t\tthrow new _error_js__WEBPACK_IMPORTED_MODULE_1__.FormatError(`Intl.PluralRules is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-pluralrules\"\n`, _error_js__WEBPACK_IMPORTED_MODULE_1__.ErrorCode.MISSING_INTL_API, originalMessage);\n\t\t\t\t}\n\t\t\t\t// Convert bigint to number for PluralRules (which only accepts number)\n\t\t\t\tconst numericValue = typeof value === \"bigint\" ? Number(value) : value;\n\t\t\t\tconst rule = formatters.getPluralRules(locales, { type: el.pluralType }).select(numericValue - (el.offset || 0));\n\t\t\t\topt = (Object.prototype.hasOwnProperty.call(el.options, rule) ? el.options[rule] : undefined) || el.options.other;\n\t\t\t}\n\t\t\tif (!opt) {\n\t\t\t\tthrow new _error_js__WEBPACK_IMPORTED_MODULE_1__.InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n\t\t\t}\n\t\t\t// Convert bigint to number for currentPluralValue\n\t\t\tconst numericValue = typeof value === \"bigint\" ? Number(value) : value;\n\t\t\tresult.push(...formatToParts(opt.value, locales, formatters, formats, values, numericValue - (el.offset || 0)));\n\t\t\tcontinue;\n\t\t}\n\t}\n\treturn mergeLiteral(result);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9pbnRsLW1lc3NhZ2Vmb3JtYXRAMTEuMi4wL25vZGVfbW9kdWxlcy9pbnRsLW1lc3NhZ2Vmb3JtYXQvc3JjL2Zvcm1hdHRlcnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBb0M7QUFDME07QUFDN0g7QUFDMUc7QUFDUDtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBLHlCQUF5QixvRkFBZ0I7QUFDekM7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxvRkFBZ0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxrRkFBYztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxVQUFVLGlCQUFpQjtBQUMzQjtBQUNBO0FBQ0EsYUFBYSx3REFBaUI7QUFDOUI7QUFDQTtBQUNBLE1BQU0scUZBQWlCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxpRkFBYTtBQUNuQix5RUFBeUUsc0ZBQWtCO0FBQzNGO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsTUFBTSxpRkFBYTtBQUNuQix5RUFBeUUsc0ZBQWtCO0FBQzNGO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsTUFBTSxtRkFBZTtBQUNyQiwyRUFBMkUsb0ZBQWdCO0FBQzNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkRBQTJELE9BQU87QUFDbEU7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLE1BQU0sZ0ZBQVk7QUFDbEIsV0FBVyxrQkFBa0I7QUFDN0I7QUFDQTtBQUNBLGNBQWMsNERBQXFCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxNQUFNLG1GQUFlO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyx3REFBaUI7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLG1GQUFlO0FBQ3JCO0FBQ0Esd0JBQXdCLE1BQU07QUFDOUI7QUFDQTtBQUNBO0FBQ0EsZUFBZSxrREFBVztBQUMxQjtBQUNBLEdBQUcsZ0RBQVM7QUFDWjtBQUNBO0FBQ0E7QUFDQSxzREFBc0QscUJBQXFCO0FBQzNFO0FBQ0E7QUFDQTtBQUNBLGNBQWMsd0RBQWlCO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9pbnRsLW1lc3NhZ2Vmb3JtYXRAMTEuMi4wL25vZGVfbW9kdWxlcy9pbnRsLW1lc3NhZ2Vmb3JtYXQvc3JjL2Zvcm1hdHRlcnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwiQGZvcm1hdGpzL2VjbWE0MDItYWJzdHJhY3RcIjtcbmltcG9ydCB7IGlzQXJndW1lbnRFbGVtZW50LCBpc0RhdGVFbGVtZW50LCBpc0RhdGVUaW1lU2tlbGV0b24sIGlzTGl0ZXJhbEVsZW1lbnQsIGlzTnVtYmVyRWxlbWVudCwgaXNOdW1iZXJTa2VsZXRvbiwgaXNQbHVyYWxFbGVtZW50LCBpc1BvdW5kRWxlbWVudCwgaXNTZWxlY3RFbGVtZW50LCBpc1RhZ0VsZW1lbnQsIGlzVGltZUVsZW1lbnQgfSBmcm9tIFwiQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlclwiO1xuaW1wb3J0IHsgRXJyb3JDb2RlLCBGb3JtYXRFcnJvciwgSW52YWxpZFZhbHVlRXJyb3IsIEludmFsaWRWYWx1ZVR5cGVFcnJvciwgTWlzc2luZ1ZhbHVlRXJyb3IgfSBmcm9tIFwiLi9lcnJvci5qc1wiO1xuZXhwb3J0IGxldCBQQVJUX1RZUEUgPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oUEFSVF9UWVBFKSB7XG5cdFBBUlRfVFlQRVtQQVJUX1RZUEVbXCJsaXRlcmFsXCJdID0gMF0gPSBcImxpdGVyYWxcIjtcblx0UEFSVF9UWVBFW1BBUlRfVFlQRVtcIm9iamVjdFwiXSA9IDFdID0gXCJvYmplY3RcIjtcblx0cmV0dXJuIFBBUlRfVFlQRTtcbn0oe30pO1xuZnVuY3Rpb24gbWVyZ2VMaXRlcmFsKHBhcnRzKSB7XG5cdGlmIChwYXJ0cy5sZW5ndGggPCAyKSB7XG5cdFx0cmV0dXJuIHBhcnRzO1xuXHR9XG5cdHJldHVybiBwYXJ0cy5yZWR1Y2UoKGFsbCwgcGFydCkgPT4ge1xuXHRcdGNvbnN0IGxhc3RQYXJ0ID0gYWxsW2FsbC5sZW5ndGggLSAxXTtcblx0XHRpZiAoIWxhc3RQYXJ0IHx8IGxhc3RQYXJ0LnR5cGUgIT09IFBBUlRfVFlQRS5saXRlcmFsIHx8IHBhcnQudHlwZSAhPT0gUEFSVF9UWVBFLmxpdGVyYWwpIHtcblx0XHRcdGFsbC5wdXNoKHBhcnQpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRsYXN0UGFydC52YWx1ZSArPSBwYXJ0LnZhbHVlO1xuXHRcdH1cblx0XHRyZXR1cm4gYWxsO1xuXHR9LCBbXSk7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNGb3JtYXRYTUxFbGVtZW50Rm4oZWwpIHtcblx0cmV0dXJuIHR5cGVvZiBlbCA9PT0gXCJmdW5jdGlvblwiO1xufVxuLy8gVE9ETyhza2VsZXRvbik6IGFkZCBza2VsZXRvbiBzdXBwb3J0XG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VG9QYXJ0cyhlbHMsIGxvY2FsZXMsIGZvcm1hdHRlcnMsIGZvcm1hdHMsIHZhbHVlcywgY3VycmVudFBsdXJhbFZhbHVlLCBvcmlnaW5hbE1lc3NhZ2UpIHtcblx0Ly8gSG90IHBhdGggZm9yIHN0cmFpZ2h0IHNpbXBsZSBtc2cgdHJhbnNsYXRpb25zXG5cdGlmIChlbHMubGVuZ3RoID09PSAxICYmIGlzTGl0ZXJhbEVsZW1lbnQoZWxzWzBdKSkge1xuXHRcdHJldHVybiBbe1xuXHRcdFx0dHlwZTogUEFSVF9UWVBFLmxpdGVyYWwsXG5cdFx0XHR2YWx1ZTogZWxzWzBdLnZhbHVlXG5cdFx0fV07XG5cdH1cblx0Y29uc3QgcmVzdWx0ID0gW107XG5cdGZvciAoY29uc3QgZWwgb2YgZWxzKSB7XG5cdFx0Ly8gRXhpdCBlYXJseSBmb3Igc3RyaW5nIHBhcnRzLlxuXHRcdGlmIChpc0xpdGVyYWxFbGVtZW50KGVsKSkge1xuXHRcdFx0cmVzdWx0LnB1c2goe1xuXHRcdFx0XHR0eXBlOiBQQVJUX1RZUEUubGl0ZXJhbCxcblx0XHRcdFx0dmFsdWU6IGVsLnZhbHVlXG5cdFx0XHR9KTtcblx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblx0XHQvLyBUT0RPOiBzaG91bGQgdGhpcyBwYXJ0IGJlIGxpdGVyYWwgdHlwZT9cblx0XHQvLyBSZXBsYWNlIGAjYCBpbiBwbHVyYWwgcnVsZXMgd2l0aCB0aGUgYWN0dWFsIG51bWVyaWMgdmFsdWUuXG5cdFx0aWYgKGlzUG91bmRFbGVtZW50KGVsKSkge1xuXHRcdFx0aWYgKHR5cGVvZiBjdXJyZW50UGx1cmFsVmFsdWUgPT09IFwibnVtYmVyXCIpIHtcblx0XHRcdFx0cmVzdWx0LnB1c2goe1xuXHRcdFx0XHRcdHR5cGU6IFBBUlRfVFlQRS5saXRlcmFsLFxuXHRcdFx0XHRcdHZhbHVlOiBmb3JtYXR0ZXJzLmdldE51bWJlckZvcm1hdChsb2NhbGVzKS5mb3JtYXQoY3VycmVudFBsdXJhbFZhbHVlKVxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblx0XHRjb25zdCB7IHZhbHVlOiB2YXJOYW1lIH0gPSBlbDtcblx0XHQvLyBFbmZvcmNlIHRoYXQgYWxsIHJlcXVpcmVkIHZhbHVlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGNhbGxlci5cblx0XHRpZiAoISh2YWx1ZXMgJiYgdmFyTmFtZSBpbiB2YWx1ZXMpKSB7XG5cdFx0XHR0aHJvdyBuZXcgTWlzc2luZ1ZhbHVlRXJyb3IodmFyTmFtZSwgb3JpZ2luYWxNZXNzYWdlKTtcblx0XHR9XG5cdFx0bGV0IHZhbHVlID0gdmFsdWVzW3Zhck5hbWVdO1xuXHRcdGlmIChpc0FyZ3VtZW50RWxlbWVudChlbCkpIHtcblx0XHRcdGlmICghdmFsdWUgfHwgdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiIHx8IHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIiB8fCB0eXBlb2YgdmFsdWUgPT09IFwiYmlnaW50XCIpIHtcblx0XHRcdFx0dmFsdWUgPSB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiIHx8IHR5cGVvZiB2YWx1ZSA9PT0gXCJiaWdpbnRcIiA/IFN0cmluZyh2YWx1ZSkgOiBcIlwiO1xuXHRcdFx0fVxuXHRcdFx0cmVzdWx0LnB1c2goe1xuXHRcdFx0XHR0eXBlOiB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgPyBQQVJUX1RZUEUubGl0ZXJhbCA6IFBBUlRfVFlQRS5vYmplY3QsXG5cdFx0XHRcdHZhbHVlXG5cdFx0XHR9KTtcblx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblx0XHQvLyBSZWN1cnNpdmVseSBmb3JtYXQgcGx1cmFsIGFuZCBzZWxlY3QgcGFydHMnIG9wdGlvbiDigJQgd2hpY2ggY2FuIGJlIGFcblx0XHQvLyBuZXN0ZWQgcGF0dGVybiBzdHJ1Y3R1cmUuIFRoZSBjaG9vc2luZyBvZiB0aGUgb3B0aW9uIHRvIHVzZSBpc1xuXHRcdC8vIGFic3RyYWN0ZWQtYnkgYW5kIGRlbGVnYXRlZC10byB0aGUgcGFydCBoZWxwZXIgb2JqZWN0LlxuXHRcdGlmIChpc0RhdGVFbGVtZW50KGVsKSkge1xuXHRcdFx0Y29uc3Qgc3R5bGUgPSB0eXBlb2YgZWwuc3R5bGUgPT09IFwic3RyaW5nXCIgPyBmb3JtYXRzLmRhdGVbZWwuc3R5bGVdIDogaXNEYXRlVGltZVNrZWxldG9uKGVsLnN0eWxlKSA/IGVsLnN0eWxlLnBhcnNlZE9wdGlvbnMgOiB1bmRlZmluZWQ7XG5cdFx0XHRyZXN1bHQucHVzaCh7XG5cdFx0XHRcdHR5cGU6IFBBUlRfVFlQRS5saXRlcmFsLFxuXHRcdFx0XHR2YWx1ZTogZm9ybWF0dGVycy5nZXREYXRlVGltZUZvcm1hdChsb2NhbGVzLCBzdHlsZSkuZm9ybWF0KHZhbHVlKVxuXHRcdFx0fSk7XG5cdFx0XHRjb250aW51ZTtcblx0XHR9XG5cdFx0aWYgKGlzVGltZUVsZW1lbnQoZWwpKSB7XG5cdFx0XHRjb25zdCBzdHlsZSA9IHR5cGVvZiBlbC5zdHlsZSA9PT0gXCJzdHJpbmdcIiA/IGZvcm1hdHMudGltZVtlbC5zdHlsZV0gOiBpc0RhdGVUaW1lU2tlbGV0b24oZWwuc3R5bGUpID8gZWwuc3R5bGUucGFyc2VkT3B0aW9ucyA6IGZvcm1hdHMudGltZS5tZWRpdW07XG5cdFx0XHRyZXN1bHQucHVzaCh7XG5cdFx0XHRcdHR5cGU6IFBBUlRfVFlQRS5saXRlcmFsLFxuXHRcdFx0XHR2YWx1ZTogZm9ybWF0dGVycy5nZXREYXRlVGltZUZvcm1hdChsb2NhbGVzLCBzdHlsZSkuZm9ybWF0KHZhbHVlKVxuXHRcdFx0fSk7XG5cdFx0XHRjb250aW51ZTtcblx0XHR9XG5cdFx0aWYgKGlzTnVtYmVyRWxlbWVudChlbCkpIHtcblx0XHRcdGNvbnN0IHN0eWxlID0gdHlwZW9mIGVsLnN0eWxlID09PSBcInN0cmluZ1wiID8gZm9ybWF0cy5udW1iZXJbZWwuc3R5bGVdIDogaXNOdW1iZXJTa2VsZXRvbihlbC5zdHlsZSkgPyBlbC5zdHlsZS5wYXJzZWRPcHRpb25zIDogdW5kZWZpbmVkO1xuXHRcdFx0aWYgKHN0eWxlICYmIHN0eWxlLnNjYWxlKSB7XG5cdFx0XHRcdGNvbnN0IHNjYWxlID0gc3R5bGUuc2NhbGUgfHwgMTtcblx0XHRcdFx0Ly8gSGFuZGxlIGJpZ2ludCBzY2FsZSBtdWx0aXBsaWNhdGlvblxuXHRcdFx0XHQvLyBCaWdJbnQgY2FuIG9ubHkgYmUgbXVsdGlwbGllZCBieSBCaWdJbnRcblx0XHRcdFx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJiaWdpbnRcIikge1xuXHRcdFx0XHRcdC8vIENoZWNrIGlmIHNjYWxlIGlzIGEgc2FmZSBpbnRlZ2VyIHRoYXQgY2FuIGJlIGNvbnZlcnRlZCB0byBCaWdJbnRcblx0XHRcdFx0XHRpZiAoIU51bWJlci5pc0ludGVnZXIoc2NhbGUpKSB7XG5cdFx0XHRcdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKGBDYW5ub3QgYXBwbHkgZnJhY3Rpb25hbCBzY2FsZSAke3NjYWxlfSB0byBiaWdpbnQgdmFsdWUuIFNjYWxlIG11c3QgYmUgYW4gaW50ZWdlciB3aGVuIGZvcm1hdHRpbmcgYmlnaW50LmApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHR2YWx1ZSA9IHZhbHVlICogQmlnSW50KHNjYWxlKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR2YWx1ZSA9IHZhbHVlICogc2NhbGU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHJlc3VsdC5wdXNoKHtcblx0XHRcdFx0dHlwZTogUEFSVF9UWVBFLmxpdGVyYWwsXG5cdFx0XHRcdHZhbHVlOiBmb3JtYXR0ZXJzLmdldE51bWJlckZvcm1hdChsb2NhbGVzLCBzdHlsZSkuZm9ybWF0KHZhbHVlKVxuXHRcdFx0fSk7XG5cdFx0XHRjb250aW51ZTtcblx0XHR9XG5cdFx0aWYgKGlzVGFnRWxlbWVudChlbCkpIHtcblx0XHRcdGNvbnN0IHsgY2hpbGRyZW4sIHZhbHVlIH0gPSBlbDtcblx0XHRcdGNvbnN0IGZvcm1hdEZuID0gdmFsdWVzW3ZhbHVlXTtcblx0XHRcdGlmICghaXNGb3JtYXRYTUxFbGVtZW50Rm4oZm9ybWF0Rm4pKSB7XG5cdFx0XHRcdHRocm93IG5ldyBJbnZhbGlkVmFsdWVUeXBlRXJyb3IodmFsdWUsIFwiZnVuY3Rpb25cIiwgb3JpZ2luYWxNZXNzYWdlKTtcblx0XHRcdH1cblx0XHRcdGNvbnN0IHBhcnRzID0gZm9ybWF0VG9QYXJ0cyhjaGlsZHJlbiwgbG9jYWxlcywgZm9ybWF0dGVycywgZm9ybWF0cywgdmFsdWVzLCBjdXJyZW50UGx1cmFsVmFsdWUpO1xuXHRcdFx0bGV0IGNodW5rcyA9IGZvcm1hdEZuKHBhcnRzLm1hcCgocCkgPT4gcC52YWx1ZSkpO1xuXHRcdFx0aWYgKCFBcnJheS5pc0FycmF5KGNodW5rcykpIHtcblx0XHRcdFx0Y2h1bmtzID0gW2NodW5rc107XG5cdFx0XHR9XG5cdFx0XHRyZXN1bHQucHVzaCguLi5jaHVua3MubWFwKChjKSA9PiB7XG5cdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0dHlwZTogdHlwZW9mIGMgPT09IFwic3RyaW5nXCIgPyBQQVJUX1RZUEUubGl0ZXJhbCA6IFBBUlRfVFlQRS5vYmplY3QsXG5cdFx0XHRcdFx0dmFsdWU6IGNcblx0XHRcdFx0fTtcblx0XHRcdH0pKTtcblx0XHR9XG5cdFx0aWYgKGlzU2VsZWN0RWxlbWVudChlbCkpIHtcblx0XHRcdC8vIEdIICM0NDkwOiBVc2UgaGFzT3duUHJvcGVydHkgdG8gYXZvaWQgcHJvdG90eXBlIGNoYWluIGlzc3VlcyB3aXRoIGtleXMgbGlrZSBcImNvbnN0cnVjdG9yXCJcblx0XHRcdGNvbnN0IGtleSA9IHZhbHVlO1xuXHRcdFx0Y29uc3Qgb3B0ID0gKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlbC5vcHRpb25zLCBrZXkpID8gZWwub3B0aW9uc1trZXldIDogdW5kZWZpbmVkKSB8fCBlbC5vcHRpb25zLm90aGVyO1xuXHRcdFx0aWYgKCFvcHQpIHtcblx0XHRcdFx0dGhyb3cgbmV3IEludmFsaWRWYWx1ZUVycm9yKGVsLnZhbHVlLCB2YWx1ZSwgT2JqZWN0LmtleXMoZWwub3B0aW9ucyksIG9yaWdpbmFsTWVzc2FnZSk7XG5cdFx0XHR9XG5cdFx0XHRyZXN1bHQucHVzaCguLi5mb3JtYXRUb1BhcnRzKG9wdC52YWx1ZSwgbG9jYWxlcywgZm9ybWF0dGVycywgZm9ybWF0cywgdmFsdWVzKSk7XG5cdFx0XHRjb250aW51ZTtcblx0XHR9XG5cdFx0aWYgKGlzUGx1cmFsRWxlbWVudChlbCkpIHtcblx0XHRcdC8vIEdIICM0NDkwOiBVc2UgaGFzT3duUHJvcGVydHkgdG8gYXZvaWQgcHJvdG90eXBlIGNoYWluIGlzc3Vlc1xuXHRcdFx0Y29uc3QgZXhhY3RLZXkgPSBgPSR7dmFsdWV9YDtcblx0XHRcdGxldCBvcHQgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZWwub3B0aW9ucywgZXhhY3RLZXkpID8gZWwub3B0aW9uc1tleGFjdEtleV0gOiB1bmRlZmluZWQ7XG5cdFx0XHRpZiAoIW9wdCkge1xuXHRcdFx0XHRpZiAoIUludGwuUGx1cmFsUnVsZXMpIHtcblx0XHRcdFx0XHR0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludGwuUGx1cmFsUnVsZXMgaXMgbm90IGF2YWlsYWJsZSBpbiB0aGlzIGVudmlyb25tZW50LlxuVHJ5IHBvbHlmaWxsaW5nIGl0IHVzaW5nIFwiQGZvcm1hdGpzL2ludGwtcGx1cmFscnVsZXNcIlxuYCwgRXJyb3JDb2RlLk1JU1NJTkdfSU5UTF9BUEksIG9yaWdpbmFsTWVzc2FnZSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ly8gQ29udmVydCBiaWdpbnQgdG8gbnVtYmVyIGZvciBQbHVyYWxSdWxlcyAod2hpY2ggb25seSBhY2NlcHRzIG51bWJlcilcblx0XHRcdFx0Y29uc3QgbnVtZXJpY1ZhbHVlID0gdHlwZW9mIHZhbHVlID09PSBcImJpZ2ludFwiID8gTnVtYmVyKHZhbHVlKSA6IHZhbHVlO1xuXHRcdFx0XHRjb25zdCBydWxlID0gZm9ybWF0dGVycy5nZXRQbHVyYWxSdWxlcyhsb2NhbGVzLCB7IHR5cGU6IGVsLnBsdXJhbFR5cGUgfSkuc2VsZWN0KG51bWVyaWNWYWx1ZSAtIChlbC5vZmZzZXQgfHwgMCkpO1xuXHRcdFx0XHRvcHQgPSAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGVsLm9wdGlvbnMsIHJ1bGUpID8gZWwub3B0aW9uc1tydWxlXSA6IHVuZGVmaW5lZCkgfHwgZWwub3B0aW9ucy5vdGhlcjtcblx0XHRcdH1cblx0XHRcdGlmICghb3B0KSB7XG5cdFx0XHRcdHRocm93IG5ldyBJbnZhbGlkVmFsdWVFcnJvcihlbC52YWx1ZSwgdmFsdWUsIE9iamVjdC5rZXlzKGVsLm9wdGlvbnMpLCBvcmlnaW5hbE1lc3NhZ2UpO1xuXHRcdFx0fVxuXHRcdFx0Ly8gQ29udmVydCBiaWdpbnQgdG8gbnVtYmVyIGZvciBjdXJyZW50UGx1cmFsVmFsdWVcblx0XHRcdGNvbnN0IG51bWVyaWNWYWx1ZSA9IHR5cGVvZiB2YWx1ZSA9PT0gXCJiaWdpbnRcIiA/IE51bWJlcih2YWx1ZSkgOiB2YWx1ZTtcblx0XHRcdHJlc3VsdC5wdXNoKC4uLmZvcm1hdFRvUGFydHMob3B0LnZhbHVlLCBsb2NhbGVzLCBmb3JtYXR0ZXJzLCBmb3JtYXRzLCB2YWx1ZXMsIG51bWVyaWNWYWx1ZSAtIChlbC5vZmZzZXQgfHwgMCkpKTtcblx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gbWVyZ2VMaXRlcmFsKHJlc3VsdCk7XG59XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/intl-messageformat@11.2.0/node_modules/intl-messageformat/src/formatters.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/index.js":
|
||
/*!******************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/index.js ***!
|
||
\******************************************************************************/
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("/*!\n * negotiator\n * Copyright(c) 2012 Federico Romero\n * Copyright(c) 2012-2014 Isaac Z. Schlueter\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n\n\nvar preferredCharsets = __webpack_require__(/*! ./lib/charset */ \"(app-pages-browser)/./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/charset.js\")\nvar preferredEncodings = __webpack_require__(/*! ./lib/encoding */ \"(app-pages-browser)/./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/encoding.js\")\nvar preferredLanguages = __webpack_require__(/*! ./lib/language */ \"(app-pages-browser)/./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/language.js\")\nvar preferredMediaTypes = __webpack_require__(/*! ./lib/mediaType */ \"(app-pages-browser)/./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/mediaType.js\")\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = Negotiator;\nmodule.exports.Negotiator = Negotiator;\n\n/**\n * Create a Negotiator instance from a request.\n * @param {object} request\n * @public\n */\n\nfunction Negotiator(request) {\n if (!(this instanceof Negotiator)) {\n return new Negotiator(request);\n }\n\n this.request = request;\n}\n\nNegotiator.prototype.charset = function charset(available) {\n var set = this.charsets(available);\n return set && set[0];\n};\n\nNegotiator.prototype.charsets = function charsets(available) {\n return preferredCharsets(this.request.headers['accept-charset'], available);\n};\n\nNegotiator.prototype.encoding = function encoding(available, opts) {\n var set = this.encodings(available, opts);\n return set && set[0];\n};\n\nNegotiator.prototype.encodings = function encodings(available, options) {\n var opts = options || {};\n return preferredEncodings(this.request.headers['accept-encoding'], available, opts.preferred);\n};\n\nNegotiator.prototype.language = function language(available) {\n var set = this.languages(available);\n return set && set[0];\n};\n\nNegotiator.prototype.languages = function languages(available) {\n return preferredLanguages(this.request.headers['accept-language'], available);\n};\n\nNegotiator.prototype.mediaType = function mediaType(available) {\n var set = this.mediaTypes(available);\n return set && set[0];\n};\n\nNegotiator.prototype.mediaTypes = function mediaTypes(available) {\n return preferredMediaTypes(this.request.headers.accept, available);\n};\n\n// Backwards compatibility\nNegotiator.prototype.preferredCharset = Negotiator.prototype.charset;\nNegotiator.prototype.preferredCharsets = Negotiator.prototype.charsets;\nNegotiator.prototype.preferredEncoding = Negotiator.prototype.encoding;\nNegotiator.prototype.preferredEncodings = Negotiator.prototype.encodings;\nNegotiator.prototype.preferredLanguage = Negotiator.prototype.language;\nNegotiator.prototype.preferredLanguages = Negotiator.prototype.languages;\nNegotiator.prototype.preferredMediaType = Negotiator.prototype.mediaType;\nNegotiator.prototype.preferredMediaTypes = Negotiator.prototype.mediaTypes;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZWdvdGlhdG9yQDEuMC4wL25vZGVfbW9kdWxlcy9uZWdvdGlhdG9yL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViLHdCQUF3QixtQkFBTyxDQUFDLHVIQUFlO0FBQy9DLHlCQUF5QixtQkFBTyxDQUFDLHlIQUFnQjtBQUNqRCx5QkFBeUIsbUJBQU8sQ0FBQyx5SEFBZ0I7QUFDakQsMEJBQTBCLG1CQUFPLENBQUMsMkhBQWlCOztBQUVuRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHlCQUF5Qjs7QUFFekI7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL25lZ290aWF0b3JAMS4wLjAvbm9kZV9tb2R1bGVzL25lZ290aWF0b3IvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBuZWdvdGlhdG9yXG4gKiBDb3B5cmlnaHQoYykgMjAxMiBGZWRlcmljbyBSb21lcm9cbiAqIENvcHlyaWdodChjKSAyMDEyLTIwMTQgSXNhYWMgWi4gU2NobHVldGVyXG4gKiBDb3B5cmlnaHQoYykgMjAxNSBEb3VnbGFzIENocmlzdG9waGVyIFdpbHNvblxuICogTUlUIExpY2Vuc2VkXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgcHJlZmVycmVkQ2hhcnNldHMgPSByZXF1aXJlKCcuL2xpYi9jaGFyc2V0JylcbnZhciBwcmVmZXJyZWRFbmNvZGluZ3MgPSByZXF1aXJlKCcuL2xpYi9lbmNvZGluZycpXG52YXIgcHJlZmVycmVkTGFuZ3VhZ2VzID0gcmVxdWlyZSgnLi9saWIvbGFuZ3VhZ2UnKVxudmFyIHByZWZlcnJlZE1lZGlhVHlwZXMgPSByZXF1aXJlKCcuL2xpYi9tZWRpYVR5cGUnKVxuXG4vKipcbiAqIE1vZHVsZSBleHBvcnRzLlxuICogQHB1YmxpY1xuICovXG5cbm1vZHVsZS5leHBvcnRzID0gTmVnb3RpYXRvcjtcbm1vZHVsZS5leHBvcnRzLk5lZ290aWF0b3IgPSBOZWdvdGlhdG9yO1xuXG4vKipcbiAqIENyZWF0ZSBhIE5lZ290aWF0b3IgaW5zdGFuY2UgZnJvbSBhIHJlcXVlc3QuXG4gKiBAcGFyYW0ge29iamVjdH0gcmVxdWVzdFxuICogQHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIE5lZ290aWF0b3IocmVxdWVzdCkge1xuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgTmVnb3RpYXRvcikpIHtcbiAgICByZXR1cm4gbmV3IE5lZ290aWF0b3IocmVxdWVzdCk7XG4gIH1cblxuICB0aGlzLnJlcXVlc3QgPSByZXF1ZXN0O1xufVxuXG5OZWdvdGlhdG9yLnByb3RvdHlwZS5jaGFyc2V0ID0gZnVuY3Rpb24gY2hhcnNldChhdmFpbGFibGUpIHtcbiAgdmFyIHNldCA9IHRoaXMuY2hhcnNldHMoYXZhaWxhYmxlKTtcbiAgcmV0dXJuIHNldCAmJiBzZXRbMF07XG59O1xuXG5OZWdvdGlhdG9yLnByb3RvdHlwZS5jaGFyc2V0cyA9IGZ1bmN0aW9uIGNoYXJzZXRzKGF2YWlsYWJsZSkge1xuICByZXR1cm4gcHJlZmVycmVkQ2hhcnNldHModGhpcy5yZXF1ZXN0LmhlYWRlcnNbJ2FjY2VwdC1jaGFyc2V0J10sIGF2YWlsYWJsZSk7XG59O1xuXG5OZWdvdGlhdG9yLnByb3RvdHlwZS5lbmNvZGluZyA9IGZ1bmN0aW9uIGVuY29kaW5nKGF2YWlsYWJsZSwgb3B0cykge1xuICB2YXIgc2V0ID0gdGhpcy5lbmNvZGluZ3MoYXZhaWxhYmxlLCBvcHRzKTtcbiAgcmV0dXJuIHNldCAmJiBzZXRbMF07XG59O1xuXG5OZWdvdGlhdG9yLnByb3RvdHlwZS5lbmNvZGluZ3MgPSBmdW5jdGlvbiBlbmNvZGluZ3MoYXZhaWxhYmxlLCBvcHRpb25zKSB7XG4gIHZhciBvcHRzID0gb3B0aW9ucyB8fCB7fTtcbiAgcmV0dXJuIHByZWZlcnJlZEVuY29kaW5ncyh0aGlzLnJlcXVlc3QuaGVhZGVyc1snYWNjZXB0LWVuY29kaW5nJ10sIGF2YWlsYWJsZSwgb3B0cy5wcmVmZXJyZWQpO1xufTtcblxuTmVnb3RpYXRvci5wcm90b3R5cGUubGFuZ3VhZ2UgPSBmdW5jdGlvbiBsYW5ndWFnZShhdmFpbGFibGUpIHtcbiAgdmFyIHNldCA9IHRoaXMubGFuZ3VhZ2VzKGF2YWlsYWJsZSk7XG4gIHJldHVybiBzZXQgJiYgc2V0WzBdO1xufTtcblxuTmVnb3RpYXRvci5wcm90b3R5cGUubGFuZ3VhZ2VzID0gZnVuY3Rpb24gbGFuZ3VhZ2VzKGF2YWlsYWJsZSkge1xuICByZXR1cm4gcHJlZmVycmVkTGFuZ3VhZ2VzKHRoaXMucmVxdWVzdC5oZWFkZXJzWydhY2NlcHQtbGFuZ3VhZ2UnXSwgYXZhaWxhYmxlKTtcbn07XG5cbk5lZ290aWF0b3IucHJvdG90eXBlLm1lZGlhVHlwZSA9IGZ1bmN0aW9uIG1lZGlhVHlwZShhdmFpbGFibGUpIHtcbiAgdmFyIHNldCA9IHRoaXMubWVkaWFUeXBlcyhhdmFpbGFibGUpO1xuICByZXR1cm4gc2V0ICYmIHNldFswXTtcbn07XG5cbk5lZ290aWF0b3IucHJvdG90eXBlLm1lZGlhVHlwZXMgPSBmdW5jdGlvbiBtZWRpYVR5cGVzKGF2YWlsYWJsZSkge1xuICByZXR1cm4gcHJlZmVycmVkTWVkaWFUeXBlcyh0aGlzLnJlcXVlc3QuaGVhZGVycy5hY2NlcHQsIGF2YWlsYWJsZSk7XG59O1xuXG4vLyBCYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuTmVnb3RpYXRvci5wcm90b3R5cGUucHJlZmVycmVkQ2hhcnNldCA9IE5lZ290aWF0b3IucHJvdG90eXBlLmNoYXJzZXQ7XG5OZWdvdGlhdG9yLnByb3RvdHlwZS5wcmVmZXJyZWRDaGFyc2V0cyA9IE5lZ290aWF0b3IucHJvdG90eXBlLmNoYXJzZXRzO1xuTmVnb3RpYXRvci5wcm90b3R5cGUucHJlZmVycmVkRW5jb2RpbmcgPSBOZWdvdGlhdG9yLnByb3RvdHlwZS5lbmNvZGluZztcbk5lZ290aWF0b3IucHJvdG90eXBlLnByZWZlcnJlZEVuY29kaW5ncyA9IE5lZ290aWF0b3IucHJvdG90eXBlLmVuY29kaW5ncztcbk5lZ290aWF0b3IucHJvdG90eXBlLnByZWZlcnJlZExhbmd1YWdlID0gTmVnb3RpYXRvci5wcm90b3R5cGUubGFuZ3VhZ2U7XG5OZWdvdGlhdG9yLnByb3RvdHlwZS5wcmVmZXJyZWRMYW5ndWFnZXMgPSBOZWdvdGlhdG9yLnByb3RvdHlwZS5sYW5ndWFnZXM7XG5OZWdvdGlhdG9yLnByb3RvdHlwZS5wcmVmZXJyZWRNZWRpYVR5cGUgPSBOZWdvdGlhdG9yLnByb3RvdHlwZS5tZWRpYVR5cGU7XG5OZWdvdGlhdG9yLnByb3RvdHlwZS5wcmVmZXJyZWRNZWRpYVR5cGVzID0gTmVnb3RpYXRvci5wcm90b3R5cGUubWVkaWFUeXBlcztcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/index.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/charset.js":
|
||
/*!************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/charset.js ***!
|
||
\************************************************************************************/
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("/**\n * negotiator\n * Copyright(c) 2012 Isaac Z. Schlueter\n * Copyright(c) 2014 Federico Romero\n * Copyright(c) 2014-2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = preferredCharsets;\nmodule.exports.preferredCharsets = preferredCharsets;\n\n/**\n * Module variables.\n * @private\n */\n\nvar simpleCharsetRegExp = /^\\s*([^\\s;]+)\\s*(?:;(.*))?$/;\n\n/**\n * Parse the Accept-Charset header.\n * @private\n */\n\nfunction parseAcceptCharset(accept) {\n var accepts = accept.split(',');\n\n for (var i = 0, j = 0; i < accepts.length; i++) {\n var charset = parseCharset(accepts[i].trim(), i);\n\n if (charset) {\n accepts[j++] = charset;\n }\n }\n\n // trim accepts\n accepts.length = j;\n\n return accepts;\n}\n\n/**\n * Parse a charset from the Accept-Charset header.\n * @private\n */\n\nfunction parseCharset(str, i) {\n var match = simpleCharsetRegExp.exec(str);\n if (!match) return null;\n\n var charset = match[1];\n var q = 1;\n if (match[2]) {\n var params = match[2].split(';')\n for (var j = 0; j < params.length; j++) {\n var p = params[j].trim().split('=');\n if (p[0] === 'q') {\n q = parseFloat(p[1]);\n break;\n }\n }\n }\n\n return {\n charset: charset,\n q: q,\n i: i\n };\n}\n\n/**\n * Get the priority of a charset.\n * @private\n */\n\nfunction getCharsetPriority(charset, accepted, index) {\n var priority = {o: -1, q: 0, s: 0};\n\n for (var i = 0; i < accepted.length; i++) {\n var spec = specify(charset, accepted[i], index);\n\n if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) {\n priority = spec;\n }\n }\n\n return priority;\n}\n\n/**\n * Get the specificity of the charset.\n * @private\n */\n\nfunction specify(charset, spec, index) {\n var s = 0;\n if(spec.charset.toLowerCase() === charset.toLowerCase()){\n s |= 1;\n } else if (spec.charset !== '*' ) {\n return null\n }\n\n return {\n i: index,\n o: spec.i,\n q: spec.q,\n s: s\n }\n}\n\n/**\n * Get the preferred charsets from an Accept-Charset header.\n * @public\n */\n\nfunction preferredCharsets(accept, provided) {\n // RFC 2616 sec 14.2: no header = *\n var accepts = parseAcceptCharset(accept === undefined ? '*' : accept || '');\n\n if (!provided) {\n // sorted list of all charsets\n return accepts\n .filter(isQuality)\n .sort(compareSpecs)\n .map(getFullCharset);\n }\n\n var priorities = provided.map(function getPriority(type, index) {\n return getCharsetPriority(type, accepts, index);\n });\n\n // sorted list of accepted charsets\n return priorities.filter(isQuality).sort(compareSpecs).map(function getCharset(priority) {\n return provided[priorities.indexOf(priority)];\n });\n}\n\n/**\n * Compare two specs.\n * @private\n */\n\nfunction compareSpecs(a, b) {\n return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0;\n}\n\n/**\n * Get full charset string.\n * @private\n */\n\nfunction getFullCharset(spec) {\n return spec.charset;\n}\n\n/**\n * Check if a spec has any quality.\n * @private\n */\n\nfunction isQuality(spec) {\n return spec.q > 0;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZWdvdGlhdG9yQDEuMC4wL25vZGVfbW9kdWxlcy9uZWdvdGlhdG9yL2xpYi9jaGFyc2V0LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZ0NBQWdDOztBQUVoQztBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxQ0FBcUMsVUFBVTs7QUFFL0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSx5QkFBeUIsb0JBQW9CO0FBQzdDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDLG9CQUFvQixtQkFBbUI7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0JBQWtCOztBQUVsQixrQkFBa0IscUJBQXFCO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL25lZ290aWF0b3JAMS4wLjAvbm9kZV9tb2R1bGVzL25lZ290aWF0b3IvbGliL2NoYXJzZXQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBuZWdvdGlhdG9yXG4gKiBDb3B5cmlnaHQoYykgMjAxMiBJc2FhYyBaLiBTY2hsdWV0ZXJcbiAqIENvcHlyaWdodChjKSAyMDE0IEZlZGVyaWNvIFJvbWVyb1xuICogQ29weXJpZ2h0KGMpIDIwMTQtMjAxNSBEb3VnbGFzIENocmlzdG9waGVyIFdpbHNvblxuICogTUlUIExpY2Vuc2VkXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIE1vZHVsZSBleHBvcnRzLlxuICogQHB1YmxpY1xuICovXG5cbm1vZHVsZS5leHBvcnRzID0gcHJlZmVycmVkQ2hhcnNldHM7XG5tb2R1bGUuZXhwb3J0cy5wcmVmZXJyZWRDaGFyc2V0cyA9IHByZWZlcnJlZENoYXJzZXRzO1xuXG4vKipcbiAqIE1vZHVsZSB2YXJpYWJsZXMuXG4gKiBAcHJpdmF0ZVxuICovXG5cbnZhciBzaW1wbGVDaGFyc2V0UmVnRXhwID0gL15cXHMqKFteXFxzO10rKVxccyooPzo7KC4qKSk/JC87XG5cbi8qKlxuICogUGFyc2UgdGhlIEFjY2VwdC1DaGFyc2V0IGhlYWRlci5cbiAqIEBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gcGFyc2VBY2NlcHRDaGFyc2V0KGFjY2VwdCkge1xuICB2YXIgYWNjZXB0cyA9IGFjY2VwdC5zcGxpdCgnLCcpO1xuXG4gIGZvciAodmFyIGkgPSAwLCBqID0gMDsgaSA8IGFjY2VwdHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgY2hhcnNldCA9IHBhcnNlQ2hhcnNldChhY2NlcHRzW2ldLnRyaW0oKSwgaSk7XG5cbiAgICBpZiAoY2hhcnNldCkge1xuICAgICAgYWNjZXB0c1tqKytdID0gY2hhcnNldDtcbiAgICB9XG4gIH1cblxuICAvLyB0cmltIGFjY2VwdHNcbiAgYWNjZXB0cy5sZW5ndGggPSBqO1xuXG4gIHJldHVybiBhY2NlcHRzO1xufVxuXG4vKipcbiAqIFBhcnNlIGEgY2hhcnNldCBmcm9tIHRoZSBBY2NlcHQtQ2hhcnNldCBoZWFkZXIuXG4gKiBAcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIHBhcnNlQ2hhcnNldChzdHIsIGkpIHtcbiAgdmFyIG1hdGNoID0gc2ltcGxlQ2hhcnNldFJlZ0V4cC5leGVjKHN0cik7XG4gIGlmICghbWF0Y2gpIHJldHVybiBudWxsO1xuXG4gIHZhciBjaGFyc2V0ID0gbWF0Y2hbMV07XG4gIHZhciBxID0gMTtcbiAgaWYgKG1hdGNoWzJdKSB7XG4gICAgdmFyIHBhcmFtcyA9IG1hdGNoWzJdLnNwbGl0KCc7JylcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8IHBhcmFtcy5sZW5ndGg7IGorKykge1xuICAgICAgdmFyIHAgPSBwYXJhbXNbal0udHJpbSgpLnNwbGl0KCc9Jyk7XG4gICAgICBpZiAocFswXSA9PT0gJ3EnKSB7XG4gICAgICAgIHEgPSBwYXJzZUZsb2F0KHBbMV0pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGNoYXJzZXQ6IGNoYXJzZXQsXG4gICAgcTogcSxcbiAgICBpOiBpXG4gIH07XG59XG5cbi8qKlxuICogR2V0IHRoZSBwcmlvcml0eSBvZiBhIGNoYXJzZXQuXG4gKiBAcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGdldENoYXJzZXRQcmlvcml0eShjaGFyc2V0LCBhY2NlcHRlZCwgaW5kZXgpIHtcbiAgdmFyIHByaW9yaXR5ID0ge286IC0xLCBxOiAwLCBzOiAwfTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGFjY2VwdGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHNwZWMgPSBzcGVjaWZ5KGNoYXJzZXQsIGFjY2VwdGVkW2ldLCBpbmRleCk7XG5cbiAgICBpZiAoc3BlYyAmJiAocHJpb3JpdHkucyAtIHNwZWMucyB8fCBwcmlvcml0eS5xIC0gc3BlYy5xIHx8IHByaW9yaXR5Lm8gLSBzcGVjLm8pIDwgMCkge1xuICAgICAgcHJpb3JpdHkgPSBzcGVjO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwcmlvcml0eTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIHNwZWNpZmljaXR5IG9mIHRoZSBjaGFyc2V0LlxuICogQHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBzcGVjaWZ5KGNoYXJzZXQsIHNwZWMsIGluZGV4KSB7XG4gIHZhciBzID0gMDtcbiAgaWYoc3BlYy5jaGFyc2V0LnRvTG93ZXJDYXNlKCkgPT09IGNoYXJzZXQudG9Mb3dlckNhc2UoKSl7XG4gICAgcyB8PSAxO1xuICB9IGVsc2UgaWYgKHNwZWMuY2hhcnNldCAhPT0gJyonICkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGk6IGluZGV4LFxuICAgIG86IHNwZWMuaSxcbiAgICBxOiBzcGVjLnEsXG4gICAgczogc1xuICB9XG59XG5cbi8qKlxuICogR2V0IHRoZSBwcmVmZXJyZWQgY2hhcnNldHMgZnJvbSBhbiBBY2NlcHQtQ2hhcnNldCBoZWFkZXIuXG4gKiBAcHVibGljXG4gKi9cblxuZnVuY3Rpb24gcHJlZmVycmVkQ2hhcnNldHMoYWNjZXB0LCBwcm92aWRlZCkge1xuICAvLyBSRkMgMjYxNiBzZWMgMTQuMjogbm8gaGVhZGVyID0gKlxuICB2YXIgYWNjZXB0cyA9IHBhcnNlQWNjZXB0Q2hhcnNldChhY2NlcHQgPT09IHVuZGVmaW5lZCA/ICcqJyA6IGFjY2VwdCB8fCAnJyk7XG5cbiAgaWYgKCFwcm92aWRlZCkge1xuICAgIC8vIHNvcnRlZCBsaXN0IG9mIGFsbCBjaGFyc2V0c1xuICAgIHJldHVybiBhY2NlcHRzXG4gICAgICAuZmlsdGVyKGlzUXVhbGl0eSlcbiAgICAgIC5zb3J0KGNvbXBhcmVTcGVjcylcbiAgICAgIC5tYXAoZ2V0RnVsbENoYXJzZXQpO1xuICB9XG5cbiAgdmFyIHByaW9yaXRpZXMgPSBwcm92aWRlZC5tYXAoZnVuY3Rpb24gZ2V0UHJpb3JpdHkodHlwZSwgaW5kZXgpIHtcbiAgICByZXR1cm4gZ2V0Q2hhcnNldFByaW9yaXR5KHR5cGUsIGFjY2VwdHMsIGluZGV4KTtcbiAgfSk7XG5cbiAgLy8gc29ydGVkIGxpc3Qgb2YgYWNjZXB0ZWQgY2hhcnNldHNcbiAgcmV0dXJuIHByaW9yaXRpZXMuZmlsdGVyKGlzUXVhbGl0eSkuc29ydChjb21wYXJlU3BlY3MpLm1hcChmdW5jdGlvbiBnZXRDaGFyc2V0KHByaW9yaXR5KSB7XG4gICAgcmV0dXJuIHByb3ZpZGVkW3ByaW9yaXRpZXMuaW5kZXhPZihwcmlvcml0eSldO1xuICB9KTtcbn1cblxuLyoqXG4gKiBDb21wYXJlIHR3byBzcGVjcy5cbiAqIEBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gY29tcGFyZVNwZWNzKGEsIGIpIHtcbiAgcmV0dXJuIChiLnEgLSBhLnEpIHx8IChiLnMgLSBhLnMpIHx8IChhLm8gLSBiLm8pIHx8IChhLmkgLSBiLmkpIHx8IDA7XG59XG5cbi8qKlxuICogR2V0IGZ1bGwgY2hhcnNldCBzdHJpbmcuXG4gKiBAcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGdldEZ1bGxDaGFyc2V0KHNwZWMpIHtcbiAgcmV0dXJuIHNwZWMuY2hhcnNldDtcbn1cblxuLyoqXG4gKiBDaGVjayBpZiBhIHNwZWMgaGFzIGFueSBxdWFsaXR5LlxuICogQHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBpc1F1YWxpdHkoc3BlYykge1xuICByZXR1cm4gc3BlYy5xID4gMDtcbn1cbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/charset.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/encoding.js":
|
||
/*!*************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/encoding.js ***!
|
||
\*************************************************************************************/
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("/**\n * negotiator\n * Copyright(c) 2012 Isaac Z. Schlueter\n * Copyright(c) 2014 Federico Romero\n * Copyright(c) 2014-2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = preferredEncodings;\nmodule.exports.preferredEncodings = preferredEncodings;\n\n/**\n * Module variables.\n * @private\n */\n\nvar simpleEncodingRegExp = /^\\s*([^\\s;]+)\\s*(?:;(.*))?$/;\n\n/**\n * Parse the Accept-Encoding header.\n * @private\n */\n\nfunction parseAcceptEncoding(accept) {\n var accepts = accept.split(',');\n var hasIdentity = false;\n var minQuality = 1;\n\n for (var i = 0, j = 0; i < accepts.length; i++) {\n var encoding = parseEncoding(accepts[i].trim(), i);\n\n if (encoding) {\n accepts[j++] = encoding;\n hasIdentity = hasIdentity || specify('identity', encoding);\n minQuality = Math.min(minQuality, encoding.q || 1);\n }\n }\n\n if (!hasIdentity) {\n /*\n * If identity doesn't explicitly appear in the accept-encoding header,\n * it's added to the list of acceptable encoding with the lowest q\n */\n accepts[j++] = {\n encoding: 'identity',\n q: minQuality,\n i: i\n };\n }\n\n // trim accepts\n accepts.length = j;\n\n return accepts;\n}\n\n/**\n * Parse an encoding from the Accept-Encoding header.\n * @private\n */\n\nfunction parseEncoding(str, i) {\n var match = simpleEncodingRegExp.exec(str);\n if (!match) return null;\n\n var encoding = match[1];\n var q = 1;\n if (match[2]) {\n var params = match[2].split(';');\n for (var j = 0; j < params.length; j++) {\n var p = params[j].trim().split('=');\n if (p[0] === 'q') {\n q = parseFloat(p[1]);\n break;\n }\n }\n }\n\n return {\n encoding: encoding,\n q: q,\n i: i\n };\n}\n\n/**\n * Get the priority of an encoding.\n * @private\n */\n\nfunction getEncodingPriority(encoding, accepted, index) {\n var priority = {encoding: encoding, o: -1, q: 0, s: 0};\n\n for (var i = 0; i < accepted.length; i++) {\n var spec = specify(encoding, accepted[i], index);\n\n if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) {\n priority = spec;\n }\n }\n\n return priority;\n}\n\n/**\n * Get the specificity of the encoding.\n * @private\n */\n\nfunction specify(encoding, spec, index) {\n var s = 0;\n if(spec.encoding.toLowerCase() === encoding.toLowerCase()){\n s |= 1;\n } else if (spec.encoding !== '*' ) {\n return null\n }\n\n return {\n encoding: encoding,\n i: index,\n o: spec.i,\n q: spec.q,\n s: s\n }\n};\n\n/**\n * Get the preferred encodings from an Accept-Encoding header.\n * @public\n */\n\nfunction preferredEncodings(accept, provided, preferred) {\n var accepts = parseAcceptEncoding(accept || '');\n\n var comparator = preferred ? function comparator (a, b) {\n if (a.q !== b.q) {\n return b.q - a.q // higher quality first\n }\n\n var aPreferred = preferred.indexOf(a.encoding)\n var bPreferred = preferred.indexOf(b.encoding)\n\n if (aPreferred === -1 && bPreferred === -1) {\n // consider the original specifity/order\n return (b.s - a.s) || (a.o - b.o) || (a.i - b.i)\n }\n\n if (aPreferred !== -1 && bPreferred !== -1) {\n return aPreferred - bPreferred // consider the preferred order\n }\n\n return aPreferred === -1 ? 1 : -1 // preferred first\n } : compareSpecs;\n\n if (!provided) {\n // sorted list of all encodings\n return accepts\n .filter(isQuality)\n .sort(comparator)\n .map(getFullEncoding);\n }\n\n var priorities = provided.map(function getPriority(type, index) {\n return getEncodingPriority(type, accepts, index);\n });\n\n // sorted list of accepted encodings\n return priorities.filter(isQuality).sort(comparator).map(function getEncoding(priority) {\n return provided[priorities.indexOf(priority)];\n });\n}\n\n/**\n * Compare two specs.\n * @private\n */\n\nfunction compareSpecs(a, b) {\n return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i);\n}\n\n/**\n * Get full encoding string.\n * @private\n */\n\nfunction getFullEncoding(spec) {\n return spec.encoding;\n}\n\n/**\n * Check if a spec has any quality.\n * @private\n */\n\nfunction isQuality(spec) {\n return spec.q > 0;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZWdvdGlhdG9yQDEuMC4wL25vZGVfbW9kdWxlcy9uZWdvdGlhdG9yL2xpYi9lbmNvZGluZy5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlDQUFpQzs7QUFFakM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsc0NBQXNDLFVBQVU7O0FBRWhEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHlCQUF5QixvQkFBb0I7QUFDN0M7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0M7QUFDbEMsb0JBQW9CLG1CQUFtQjtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBa0I7O0FBRWxCLGtCQUFrQixxQkFBcUI7QUFDdkM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL25lZ290aWF0b3JAMS4wLjAvbm9kZV9tb2R1bGVzL25lZ290aWF0b3IvbGliL2VuY29kaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogbmVnb3RpYXRvclxuICogQ29weXJpZ2h0KGMpIDIwMTIgSXNhYWMgWi4gU2NobHVldGVyXG4gKiBDb3B5cmlnaHQoYykgMjAxNCBGZWRlcmljbyBSb21lcm9cbiAqIENvcHlyaWdodChjKSAyMDE0LTIwMTUgRG91Z2xhcyBDaHJpc3RvcGhlciBXaWxzb25cbiAqIE1JVCBMaWNlbnNlZFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBNb2R1bGUgZXhwb3J0cy5cbiAqIEBwdWJsaWNcbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IHByZWZlcnJlZEVuY29kaW5ncztcbm1vZHVsZS5leHBvcnRzLnByZWZlcnJlZEVuY29kaW5ncyA9IHByZWZlcnJlZEVuY29kaW5ncztcblxuLyoqXG4gKiBNb2R1bGUgdmFyaWFibGVzLlxuICogQHByaXZhdGVcbiAqL1xuXG52YXIgc2ltcGxlRW5jb2RpbmdSZWdFeHAgPSAvXlxccyooW15cXHM7XSspXFxzKig/OjsoLiopKT8kLztcblxuLyoqXG4gKiBQYXJzZSB0aGUgQWNjZXB0LUVuY29kaW5nIGhlYWRlci5cbiAqIEBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gcGFyc2VBY2NlcHRFbmNvZGluZyhhY2NlcHQpIHtcbiAgdmFyIGFjY2VwdHMgPSBhY2NlcHQuc3BsaXQoJywnKTtcbiAgdmFyIGhhc0lkZW50aXR5ID0gZmFsc2U7XG4gIHZhciBtaW5RdWFsaXR5ID0gMTtcblxuICBmb3IgKHZhciBpID0gMCwgaiA9IDA7IGkgPCBhY2NlcHRzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGVuY29kaW5nID0gcGFyc2VFbmNvZGluZyhhY2NlcHRzW2ldLnRyaW0oKSwgaSk7XG5cbiAgICBpZiAoZW5jb2RpbmcpIHtcbiAgICAgIGFjY2VwdHNbaisrXSA9IGVuY29kaW5nO1xuICAgICAgaGFzSWRlbnRpdHkgPSBoYXNJZGVudGl0eSB8fCBzcGVjaWZ5KCdpZGVudGl0eScsIGVuY29kaW5nKTtcbiAgICAgIG1pblF1YWxpdHkgPSBNYXRoLm1pbihtaW5RdWFsaXR5LCBlbmNvZGluZy5xIHx8IDEpO1xuICAgIH1cbiAgfVxuXG4gIGlmICghaGFzSWRlbnRpdHkpIHtcbiAgICAvKlxuICAgICAqIElmIGlkZW50aXR5IGRvZXNuJ3QgZXhwbGljaXRseSBhcHBlYXIgaW4gdGhlIGFjY2VwdC1lbmNvZGluZyBoZWFkZXIsXG4gICAgICogaXQncyBhZGRlZCB0byB0aGUgbGlzdCBvZiBhY2NlcHRhYmxlIGVuY29kaW5nIHdpdGggdGhlIGxvd2VzdCBxXG4gICAgICovXG4gICAgYWNjZXB0c1tqKytdID0ge1xuICAgICAgZW5jb2Rpbmc6ICdpZGVudGl0eScsXG4gICAgICBxOiBtaW5RdWFsaXR5LFxuICAgICAgaTogaVxuICAgIH07XG4gIH1cblxuICAvLyB0cmltIGFjY2VwdHNcbiAgYWNjZXB0cy5sZW5ndGggPSBqO1xuXG4gIHJldHVybiBhY2NlcHRzO1xufVxuXG4vKipcbiAqIFBhcnNlIGFuIGVuY29kaW5nIGZyb20gdGhlIEFjY2VwdC1FbmNvZGluZyBoZWFkZXIuXG4gKiBAcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIHBhcnNlRW5jb2Rpbmcoc3RyLCBpKSB7XG4gIHZhciBtYXRjaCA9IHNpbXBsZUVuY29kaW5nUmVnRXhwLmV4ZWMoc3RyKTtcbiAgaWYgKCFtYXRjaCkgcmV0dXJuIG51bGw7XG5cbiAgdmFyIGVuY29kaW5nID0gbWF0Y2hbMV07XG4gIHZhciBxID0gMTtcbiAgaWYgKG1hdGNoWzJdKSB7XG4gICAgdmFyIHBhcmFtcyA9IG1hdGNoWzJdLnNwbGl0KCc7Jyk7XG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCBwYXJhbXMubGVuZ3RoOyBqKyspIHtcbiAgICAgIHZhciBwID0gcGFyYW1zW2pdLnRyaW0oKS5zcGxpdCgnPScpO1xuICAgICAgaWYgKHBbMF0gPT09ICdxJykge1xuICAgICAgICBxID0gcGFyc2VGbG9hdChwWzFdKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBlbmNvZGluZzogZW5jb2RpbmcsXG4gICAgcTogcSxcbiAgICBpOiBpXG4gIH07XG59XG5cbi8qKlxuICogR2V0IHRoZSBwcmlvcml0eSBvZiBhbiBlbmNvZGluZy5cbiAqIEBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gZ2V0RW5jb2RpbmdQcmlvcml0eShlbmNvZGluZywgYWNjZXB0ZWQsIGluZGV4KSB7XG4gIHZhciBwcmlvcml0eSA9IHtlbmNvZGluZzogZW5jb2RpbmcsIG86IC0xLCBxOiAwLCBzOiAwfTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGFjY2VwdGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHNwZWMgPSBzcGVjaWZ5KGVuY29kaW5nLCBhY2NlcHRlZFtpXSwgaW5kZXgpO1xuXG4gICAgaWYgKHNwZWMgJiYgKHByaW9yaXR5LnMgLSBzcGVjLnMgfHwgcHJpb3JpdHkucSAtIHNwZWMucSB8fCBwcmlvcml0eS5vIC0gc3BlYy5vKSA8IDApIHtcbiAgICAgIHByaW9yaXR5ID0gc3BlYztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcHJpb3JpdHk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBzcGVjaWZpY2l0eSBvZiB0aGUgZW5jb2RpbmcuXG4gKiBAcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIHNwZWNpZnkoZW5jb2RpbmcsIHNwZWMsIGluZGV4KSB7XG4gIHZhciBzID0gMDtcbiAgaWYoc3BlYy5lbmNvZGluZy50b0xvd2VyQ2FzZSgpID09PSBlbmNvZGluZy50b0xvd2VyQ2FzZSgpKXtcbiAgICBzIHw9IDE7XG4gIH0gZWxzZSBpZiAoc3BlYy5lbmNvZGluZyAhPT0gJyonICkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGVuY29kaW5nOiBlbmNvZGluZyxcbiAgICBpOiBpbmRleCxcbiAgICBvOiBzcGVjLmksXG4gICAgcTogc3BlYy5xLFxuICAgIHM6IHNcbiAgfVxufTtcblxuLyoqXG4gKiBHZXQgdGhlIHByZWZlcnJlZCBlbmNvZGluZ3MgZnJvbSBhbiBBY2NlcHQtRW5jb2RpbmcgaGVhZGVyLlxuICogQHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIHByZWZlcnJlZEVuY29kaW5ncyhhY2NlcHQsIHByb3ZpZGVkLCBwcmVmZXJyZWQpIHtcbiAgdmFyIGFjY2VwdHMgPSBwYXJzZUFjY2VwdEVuY29kaW5nKGFjY2VwdCB8fCAnJyk7XG5cbiAgdmFyIGNvbXBhcmF0b3IgPSBwcmVmZXJyZWQgPyBmdW5jdGlvbiBjb21wYXJhdG9yIChhLCBiKSB7XG4gICAgaWYgKGEucSAhPT0gYi5xKSB7XG4gICAgICByZXR1cm4gYi5xIC0gYS5xIC8vIGhpZ2hlciBxdWFsaXR5IGZpcnN0XG4gICAgfVxuXG4gICAgdmFyIGFQcmVmZXJyZWQgPSBwcmVmZXJyZWQuaW5kZXhPZihhLmVuY29kaW5nKVxuICAgIHZhciBiUHJlZmVycmVkID0gcHJlZmVycmVkLmluZGV4T2YoYi5lbmNvZGluZylcblxuICAgIGlmIChhUHJlZmVycmVkID09PSAtMSAmJiBiUHJlZmVycmVkID09PSAtMSkge1xuICAgICAgLy8gY29uc2lkZXIgdGhlIG9yaWdpbmFsIHNwZWNpZml0eS9vcmRlclxuICAgICAgcmV0dXJuIChiLnMgLSBhLnMpIHx8IChhLm8gLSBiLm8pIHx8IChhLmkgLSBiLmkpXG4gICAgfVxuXG4gICAgaWYgKGFQcmVmZXJyZWQgIT09IC0xICYmIGJQcmVmZXJyZWQgIT09IC0xKSB7XG4gICAgICByZXR1cm4gYVByZWZlcnJlZCAtIGJQcmVmZXJyZWQgLy8gY29uc2lkZXIgdGhlIHByZWZlcnJlZCBvcmRlclxuICAgIH1cblxuICAgIHJldHVybiBhUHJlZmVycmVkID09PSAtMSA/IDEgOiAtMSAvLyBwcmVmZXJyZWQgZmlyc3RcbiAgfSA6IGNvbXBhcmVTcGVjcztcblxuICBpZiAoIXByb3ZpZGVkKSB7XG4gICAgLy8gc29ydGVkIGxpc3Qgb2YgYWxsIGVuY29kaW5nc1xuICAgIHJldHVybiBhY2NlcHRzXG4gICAgICAuZmlsdGVyKGlzUXVhbGl0eSlcbiAgICAgIC5zb3J0KGNvbXBhcmF0b3IpXG4gICAgICAubWFwKGdldEZ1bGxFbmNvZGluZyk7XG4gIH1cblxuICB2YXIgcHJpb3JpdGllcyA9IHByb3ZpZGVkLm1hcChmdW5jdGlvbiBnZXRQcmlvcml0eSh0eXBlLCBpbmRleCkge1xuICAgIHJldHVybiBnZXRFbmNvZGluZ1ByaW9yaXR5KHR5cGUsIGFjY2VwdHMsIGluZGV4KTtcbiAgfSk7XG5cbiAgLy8gc29ydGVkIGxpc3Qgb2YgYWNjZXB0ZWQgZW5jb2RpbmdzXG4gIHJldHVybiBwcmlvcml0aWVzLmZpbHRlcihpc1F1YWxpdHkpLnNvcnQoY29tcGFyYXRvcikubWFwKGZ1bmN0aW9uIGdldEVuY29kaW5nKHByaW9yaXR5KSB7XG4gICAgcmV0dXJuIHByb3ZpZGVkW3ByaW9yaXRpZXMuaW5kZXhPZihwcmlvcml0eSldO1xuICB9KTtcbn1cblxuLyoqXG4gKiBDb21wYXJlIHR3byBzcGVjcy5cbiAqIEBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gY29tcGFyZVNwZWNzKGEsIGIpIHtcbiAgcmV0dXJuIChiLnEgLSBhLnEpIHx8IChiLnMgLSBhLnMpIHx8IChhLm8gLSBiLm8pIHx8IChhLmkgLSBiLmkpO1xufVxuXG4vKipcbiAqIEdldCBmdWxsIGVuY29kaW5nIHN0cmluZy5cbiAqIEBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gZ2V0RnVsbEVuY29kaW5nKHNwZWMpIHtcbiAgcmV0dXJuIHNwZWMuZW5jb2Rpbmc7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBzcGVjIGhhcyBhbnkgcXVhbGl0eS5cbiAqIEBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gaXNRdWFsaXR5KHNwZWMpIHtcbiAgcmV0dXJuIHNwZWMucSA+IDA7XG59XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/encoding.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/language.js":
|
||
/*!*************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/language.js ***!
|
||
\*************************************************************************************/
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("/**\n * negotiator\n * Copyright(c) 2012 Isaac Z. Schlueter\n * Copyright(c) 2014 Federico Romero\n * Copyright(c) 2014-2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = preferredLanguages;\nmodule.exports.preferredLanguages = preferredLanguages;\n\n/**\n * Module variables.\n * @private\n */\n\nvar simpleLanguageRegExp = /^\\s*([^\\s\\-;]+)(?:-([^\\s;]+))?\\s*(?:;(.*))?$/;\n\n/**\n * Parse the Accept-Language header.\n * @private\n */\n\nfunction parseAcceptLanguage(accept) {\n var accepts = accept.split(',');\n\n for (var i = 0, j = 0; i < accepts.length; i++) {\n var language = parseLanguage(accepts[i].trim(), i);\n\n if (language) {\n accepts[j++] = language;\n }\n }\n\n // trim accepts\n accepts.length = j;\n\n return accepts;\n}\n\n/**\n * Parse a language from the Accept-Language header.\n * @private\n */\n\nfunction parseLanguage(str, i) {\n var match = simpleLanguageRegExp.exec(str);\n if (!match) return null;\n\n var prefix = match[1]\n var suffix = match[2]\n var full = prefix\n\n if (suffix) full += \"-\" + suffix;\n\n var q = 1;\n if (match[3]) {\n var params = match[3].split(';')\n for (var j = 0; j < params.length; j++) {\n var p = params[j].split('=');\n if (p[0] === 'q') q = parseFloat(p[1]);\n }\n }\n\n return {\n prefix: prefix,\n suffix: suffix,\n q: q,\n i: i,\n full: full\n };\n}\n\n/**\n * Get the priority of a language.\n * @private\n */\n\nfunction getLanguagePriority(language, accepted, index) {\n var priority = {o: -1, q: 0, s: 0};\n\n for (var i = 0; i < accepted.length; i++) {\n var spec = specify(language, accepted[i], index);\n\n if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) {\n priority = spec;\n }\n }\n\n return priority;\n}\n\n/**\n * Get the specificity of the language.\n * @private\n */\n\nfunction specify(language, spec, index) {\n var p = parseLanguage(language)\n if (!p) return null;\n var s = 0;\n if(spec.full.toLowerCase() === p.full.toLowerCase()){\n s |= 4;\n } else if (spec.prefix.toLowerCase() === p.full.toLowerCase()) {\n s |= 2;\n } else if (spec.full.toLowerCase() === p.prefix.toLowerCase()) {\n s |= 1;\n } else if (spec.full !== '*' ) {\n return null\n }\n\n return {\n i: index,\n o: spec.i,\n q: spec.q,\n s: s\n }\n};\n\n/**\n * Get the preferred languages from an Accept-Language header.\n * @public\n */\n\nfunction preferredLanguages(accept, provided) {\n // RFC 2616 sec 14.4: no header = *\n var accepts = parseAcceptLanguage(accept === undefined ? '*' : accept || '');\n\n if (!provided) {\n // sorted list of all languages\n return accepts\n .filter(isQuality)\n .sort(compareSpecs)\n .map(getFullLanguage);\n }\n\n var priorities = provided.map(function getPriority(type, index) {\n return getLanguagePriority(type, accepts, index);\n });\n\n // sorted list of accepted languages\n return priorities.filter(isQuality).sort(compareSpecs).map(function getLanguage(priority) {\n return provided[priorities.indexOf(priority)];\n });\n}\n\n/**\n * Compare two specs.\n * @private\n */\n\nfunction compareSpecs(a, b) {\n return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0;\n}\n\n/**\n * Get full language string.\n * @private\n */\n\nfunction getFullLanguage(spec) {\n return spec.full;\n}\n\n/**\n * Check if a spec has any quality.\n * @private\n */\n\nfunction isQuality(spec) {\n return spec.q > 0;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZWdvdGlhdG9yQDEuMC4wL25vZGVfbW9kdWxlcy9uZWdvdGlhdG9yL2xpYi9sYW5ndWFnZS5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlDQUFpQzs7QUFFakM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0NBQXdDLGFBQWEsWUFBWTs7QUFFakU7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSx5QkFBeUIsb0JBQW9CO0FBQzdDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxrQ0FBa0M7QUFDbEMsb0JBQW9CLG1CQUFtQjtBQUN2QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0JBQWtCOztBQUVsQixrQkFBa0IscUJBQXFCO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9uZWdvdGlhdG9yQDEuMC4wL25vZGVfbW9kdWxlcy9uZWdvdGlhdG9yL2xpYi9sYW5ndWFnZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIG5lZ290aWF0b3JcbiAqIENvcHlyaWdodChjKSAyMDEyIElzYWFjIFouIFNjaGx1ZXRlclxuICogQ29weXJpZ2h0KGMpIDIwMTQgRmVkZXJpY28gUm9tZXJvXG4gKiBDb3B5cmlnaHQoYykgMjAxNC0yMDE1IERvdWdsYXMgQ2hyaXN0b3BoZXIgV2lsc29uXG4gKiBNSVQgTGljZW5zZWRcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogTW9kdWxlIGV4cG9ydHMuXG4gKiBAcHVibGljXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBwcmVmZXJyZWRMYW5ndWFnZXM7XG5tb2R1bGUuZXhwb3J0cy5wcmVmZXJyZWRMYW5ndWFnZXMgPSBwcmVmZXJyZWRMYW5ndWFnZXM7XG5cbi8qKlxuICogTW9kdWxlIHZhcmlhYmxlcy5cbiAqIEBwcml2YXRlXG4gKi9cblxudmFyIHNpbXBsZUxhbmd1YWdlUmVnRXhwID0gL15cXHMqKFteXFxzXFwtO10rKSg/Oi0oW15cXHM7XSspKT9cXHMqKD86OyguKikpPyQvO1xuXG4vKipcbiAqIFBhcnNlIHRoZSBBY2NlcHQtTGFuZ3VhZ2UgaGVhZGVyLlxuICogQHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBwYXJzZUFjY2VwdExhbmd1YWdlKGFjY2VwdCkge1xuICB2YXIgYWNjZXB0cyA9IGFjY2VwdC5zcGxpdCgnLCcpO1xuXG4gIGZvciAodmFyIGkgPSAwLCBqID0gMDsgaSA8IGFjY2VwdHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgbGFuZ3VhZ2UgPSBwYXJzZUxhbmd1YWdlKGFjY2VwdHNbaV0udHJpbSgpLCBpKTtcblxuICAgIGlmIChsYW5ndWFnZSkge1xuICAgICAgYWNjZXB0c1tqKytdID0gbGFuZ3VhZ2U7XG4gICAgfVxuICB9XG5cbiAgLy8gdHJpbSBhY2NlcHRzXG4gIGFjY2VwdHMubGVuZ3RoID0gajtcblxuICByZXR1cm4gYWNjZXB0cztcbn1cblxuLyoqXG4gKiBQYXJzZSBhIGxhbmd1YWdlIGZyb20gdGhlIEFjY2VwdC1MYW5ndWFnZSBoZWFkZXIuXG4gKiBAcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIHBhcnNlTGFuZ3VhZ2Uoc3RyLCBpKSB7XG4gIHZhciBtYXRjaCA9IHNpbXBsZUxhbmd1YWdlUmVnRXhwLmV4ZWMoc3RyKTtcbiAgaWYgKCFtYXRjaCkgcmV0dXJuIG51bGw7XG5cbiAgdmFyIHByZWZpeCA9IG1hdGNoWzFdXG4gIHZhciBzdWZmaXggPSBtYXRjaFsyXVxuICB2YXIgZnVsbCA9IHByZWZpeFxuXG4gIGlmIChzdWZmaXgpIGZ1bGwgKz0gXCItXCIgKyBzdWZmaXg7XG5cbiAgdmFyIHEgPSAxO1xuICBpZiAobWF0Y2hbM10pIHtcbiAgICB2YXIgcGFyYW1zID0gbWF0Y2hbM10uc3BsaXQoJzsnKVxuICAgIGZvciAodmFyIGogPSAwOyBqIDwgcGFyYW1zLmxlbmd0aDsgaisrKSB7XG4gICAgICB2YXIgcCA9IHBhcmFtc1tqXS5zcGxpdCgnPScpO1xuICAgICAgaWYgKHBbMF0gPT09ICdxJykgcSA9IHBhcnNlRmxvYXQocFsxXSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBwcmVmaXg6IHByZWZpeCxcbiAgICBzdWZmaXg6IHN1ZmZpeCxcbiAgICBxOiBxLFxuICAgIGk6IGksXG4gICAgZnVsbDogZnVsbFxuICB9O1xufVxuXG4vKipcbiAqIEdldCB0aGUgcHJpb3JpdHkgb2YgYSBsYW5ndWFnZS5cbiAqIEBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gZ2V0TGFuZ3VhZ2VQcmlvcml0eShsYW5ndWFnZSwgYWNjZXB0ZWQsIGluZGV4KSB7XG4gIHZhciBwcmlvcml0eSA9IHtvOiAtMSwgcTogMCwgczogMH07XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBhY2NlcHRlZC5sZW5ndGg7IGkrKykge1xuICAgIHZhciBzcGVjID0gc3BlY2lmeShsYW5ndWFnZSwgYWNjZXB0ZWRbaV0sIGluZGV4KTtcblxuICAgIGlmIChzcGVjICYmIChwcmlvcml0eS5zIC0gc3BlYy5zIHx8IHByaW9yaXR5LnEgLSBzcGVjLnEgfHwgcHJpb3JpdHkubyAtIHNwZWMubykgPCAwKSB7XG4gICAgICBwcmlvcml0eSA9IHNwZWM7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHByaW9yaXR5O1xufVxuXG4vKipcbiAqIEdldCB0aGUgc3BlY2lmaWNpdHkgb2YgdGhlIGxhbmd1YWdlLlxuICogQHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBzcGVjaWZ5KGxhbmd1YWdlLCBzcGVjLCBpbmRleCkge1xuICB2YXIgcCA9IHBhcnNlTGFuZ3VhZ2UobGFuZ3VhZ2UpXG4gIGlmICghcCkgcmV0dXJuIG51bGw7XG4gIHZhciBzID0gMDtcbiAgaWYoc3BlYy5mdWxsLnRvTG93ZXJDYXNlKCkgPT09IHAuZnVsbC50b0xvd2VyQ2FzZSgpKXtcbiAgICBzIHw9IDQ7XG4gIH0gZWxzZSBpZiAoc3BlYy5wcmVmaXgudG9Mb3dlckNhc2UoKSA9PT0gcC5mdWxsLnRvTG93ZXJDYXNlKCkpIHtcbiAgICBzIHw9IDI7XG4gIH0gZWxzZSBpZiAoc3BlYy5mdWxsLnRvTG93ZXJDYXNlKCkgPT09IHAucHJlZml4LnRvTG93ZXJDYXNlKCkpIHtcbiAgICBzIHw9IDE7XG4gIH0gZWxzZSBpZiAoc3BlYy5mdWxsICE9PSAnKicgKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaTogaW5kZXgsXG4gICAgbzogc3BlYy5pLFxuICAgIHE6IHNwZWMucSxcbiAgICBzOiBzXG4gIH1cbn07XG5cbi8qKlxuICogR2V0IHRoZSBwcmVmZXJyZWQgbGFuZ3VhZ2VzIGZyb20gYW4gQWNjZXB0LUxhbmd1YWdlIGhlYWRlci5cbiAqIEBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBwcmVmZXJyZWRMYW5ndWFnZXMoYWNjZXB0LCBwcm92aWRlZCkge1xuICAvLyBSRkMgMjYxNiBzZWMgMTQuNDogbm8gaGVhZGVyID0gKlxuICB2YXIgYWNjZXB0cyA9IHBhcnNlQWNjZXB0TGFuZ3VhZ2UoYWNjZXB0ID09PSB1bmRlZmluZWQgPyAnKicgOiBhY2NlcHQgfHwgJycpO1xuXG4gIGlmICghcHJvdmlkZWQpIHtcbiAgICAvLyBzb3J0ZWQgbGlzdCBvZiBhbGwgbGFuZ3VhZ2VzXG4gICAgcmV0dXJuIGFjY2VwdHNcbiAgICAgIC5maWx0ZXIoaXNRdWFsaXR5KVxuICAgICAgLnNvcnQoY29tcGFyZVNwZWNzKVxuICAgICAgLm1hcChnZXRGdWxsTGFuZ3VhZ2UpO1xuICB9XG5cbiAgdmFyIHByaW9yaXRpZXMgPSBwcm92aWRlZC5tYXAoZnVuY3Rpb24gZ2V0UHJpb3JpdHkodHlwZSwgaW5kZXgpIHtcbiAgICByZXR1cm4gZ2V0TGFuZ3VhZ2VQcmlvcml0eSh0eXBlLCBhY2NlcHRzLCBpbmRleCk7XG4gIH0pO1xuXG4gIC8vIHNvcnRlZCBsaXN0IG9mIGFjY2VwdGVkIGxhbmd1YWdlc1xuICByZXR1cm4gcHJpb3JpdGllcy5maWx0ZXIoaXNRdWFsaXR5KS5zb3J0KGNvbXBhcmVTcGVjcykubWFwKGZ1bmN0aW9uIGdldExhbmd1YWdlKHByaW9yaXR5KSB7XG4gICAgcmV0dXJuIHByb3ZpZGVkW3ByaW9yaXRpZXMuaW5kZXhPZihwcmlvcml0eSldO1xuICB9KTtcbn1cblxuLyoqXG4gKiBDb21wYXJlIHR3byBzcGVjcy5cbiAqIEBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gY29tcGFyZVNwZWNzKGEsIGIpIHtcbiAgcmV0dXJuIChiLnEgLSBhLnEpIHx8IChiLnMgLSBhLnMpIHx8IChhLm8gLSBiLm8pIHx8IChhLmkgLSBiLmkpIHx8IDA7XG59XG5cbi8qKlxuICogR2V0IGZ1bGwgbGFuZ3VhZ2Ugc3RyaW5nLlxuICogQHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBnZXRGdWxsTGFuZ3VhZ2Uoc3BlYykge1xuICByZXR1cm4gc3BlYy5mdWxsO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIGEgc3BlYyBoYXMgYW55IHF1YWxpdHkuXG4gKiBAcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGlzUXVhbGl0eShzcGVjKSB7XG4gIHJldHVybiBzcGVjLnEgPiAwO1xufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/language.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/mediaType.js":
|
||
/*!**************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/mediaType.js ***!
|
||
\**************************************************************************************/
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("/**\n * negotiator\n * Copyright(c) 2012 Isaac Z. Schlueter\n * Copyright(c) 2014 Federico Romero\n * Copyright(c) 2014-2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = preferredMediaTypes;\nmodule.exports.preferredMediaTypes = preferredMediaTypes;\n\n/**\n * Module variables.\n * @private\n */\n\nvar simpleMediaTypeRegExp = /^\\s*([^\\s\\/;]+)\\/([^;\\s]+)\\s*(?:;(.*))?$/;\n\n/**\n * Parse the Accept header.\n * @private\n */\n\nfunction parseAccept(accept) {\n var accepts = splitMediaTypes(accept);\n\n for (var i = 0, j = 0; i < accepts.length; i++) {\n var mediaType = parseMediaType(accepts[i].trim(), i);\n\n if (mediaType) {\n accepts[j++] = mediaType;\n }\n }\n\n // trim accepts\n accepts.length = j;\n\n return accepts;\n}\n\n/**\n * Parse a media type from the Accept header.\n * @private\n */\n\nfunction parseMediaType(str, i) {\n var match = simpleMediaTypeRegExp.exec(str);\n if (!match) return null;\n\n var params = Object.create(null);\n var q = 1;\n var subtype = match[2];\n var type = match[1];\n\n if (match[3]) {\n var kvps = splitParameters(match[3]).map(splitKeyValuePair);\n\n for (var j = 0; j < kvps.length; j++) {\n var pair = kvps[j];\n var key = pair[0].toLowerCase();\n var val = pair[1];\n\n // get the value, unwrapping quotes\n var value = val && val[0] === '\"' && val[val.length - 1] === '\"'\n ? val.slice(1, -1)\n : val;\n\n if (key === 'q') {\n q = parseFloat(value);\n break;\n }\n\n // store parameter\n params[key] = value;\n }\n }\n\n return {\n type: type,\n subtype: subtype,\n params: params,\n q: q,\n i: i\n };\n}\n\n/**\n * Get the priority of a media type.\n * @private\n */\n\nfunction getMediaTypePriority(type, accepted, index) {\n var priority = {o: -1, q: 0, s: 0};\n\n for (var i = 0; i < accepted.length; i++) {\n var spec = specify(type, accepted[i], index);\n\n if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) {\n priority = spec;\n }\n }\n\n return priority;\n}\n\n/**\n * Get the specificity of the media type.\n * @private\n */\n\nfunction specify(type, spec, index) {\n var p = parseMediaType(type);\n var s = 0;\n\n if (!p) {\n return null;\n }\n\n if(spec.type.toLowerCase() == p.type.toLowerCase()) {\n s |= 4\n } else if(spec.type != '*') {\n return null;\n }\n\n if(spec.subtype.toLowerCase() == p.subtype.toLowerCase()) {\n s |= 2\n } else if(spec.subtype != '*') {\n return null;\n }\n\n var keys = Object.keys(spec.params);\n if (keys.length > 0) {\n if (keys.every(function (k) {\n return spec.params[k] == '*' || (spec.params[k] || '').toLowerCase() == (p.params[k] || '').toLowerCase();\n })) {\n s |= 1\n } else {\n return null\n }\n }\n\n return {\n i: index,\n o: spec.i,\n q: spec.q,\n s: s,\n }\n}\n\n/**\n * Get the preferred media types from an Accept header.\n * @public\n */\n\nfunction preferredMediaTypes(accept, provided) {\n // RFC 2616 sec 14.2: no header = */*\n var accepts = parseAccept(accept === undefined ? '*/*' : accept || '');\n\n if (!provided) {\n // sorted list of all types\n return accepts\n .filter(isQuality)\n .sort(compareSpecs)\n .map(getFullType);\n }\n\n var priorities = provided.map(function getPriority(type, index) {\n return getMediaTypePriority(type, accepts, index);\n });\n\n // sorted list of accepted types\n return priorities.filter(isQuality).sort(compareSpecs).map(function getType(priority) {\n return provided[priorities.indexOf(priority)];\n });\n}\n\n/**\n * Compare two specs.\n * @private\n */\n\nfunction compareSpecs(a, b) {\n return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0;\n}\n\n/**\n * Get full type string.\n * @private\n */\n\nfunction getFullType(spec) {\n return spec.type + '/' + spec.subtype;\n}\n\n/**\n * Check if a spec has any quality.\n * @private\n */\n\nfunction isQuality(spec) {\n return spec.q > 0;\n}\n\n/**\n * Count the number of quotes in a string.\n * @private\n */\n\nfunction quoteCount(string) {\n var count = 0;\n var index = 0;\n\n while ((index = string.indexOf('\"', index)) !== -1) {\n count++;\n index++;\n }\n\n return count;\n}\n\n/**\n * Split a key value pair.\n * @private\n */\n\nfunction splitKeyValuePair(str) {\n var index = str.indexOf('=');\n var key;\n var val;\n\n if (index === -1) {\n key = str;\n } else {\n key = str.slice(0, index);\n val = str.slice(index + 1);\n }\n\n return [key, val];\n}\n\n/**\n * Split an Accept header into media types.\n * @private\n */\n\nfunction splitMediaTypes(accept) {\n var accepts = accept.split(',');\n\n for (var i = 1, j = 0; i < accepts.length; i++) {\n if (quoteCount(accepts[j]) % 2 == 0) {\n accepts[++j] = accepts[i];\n } else {\n accepts[j] += ',' + accepts[i];\n }\n }\n\n // trim accepts\n accepts.length = j + 1;\n\n return accepts;\n}\n\n/**\n * Split a string of parameters.\n * @private\n */\n\nfunction splitParameters(str) {\n var parameters = str.split(';');\n\n for (var i = 1, j = 0; i < parameters.length; i++) {\n if (quoteCount(parameters[j]) % 2 == 0) {\n parameters[++j] = parameters[i];\n } else {\n parameters[j] += ';' + parameters[i];\n }\n }\n\n // trim parameters\n parameters.length = j + 1;\n\n for (var i = 0; i < parameters.length; i++) {\n parameters[i] = parameters[i].trim();\n }\n\n return parameters;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZWdvdGlhdG9yQDEuMC4wL25vZGVfbW9kdWxlcy9uZWdvdGlhdG9yL2xpYi9tZWRpYVR5cGUuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQ0FBa0M7O0FBRWxDO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHlDQUF5QyxTQUFTLFlBQVk7O0FBRTlEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEseUJBQXlCLG9CQUFvQjtBQUM3Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsb0JBQW9CLGlCQUFpQjtBQUNyQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtCQUFrQjs7QUFFbEIsa0JBQWtCLHFCQUFxQjtBQUN2Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEseUJBQXlCLG9CQUFvQjtBQUM3QztBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwrQkFBK0I7O0FBRS9CLHlCQUF5Qix1QkFBdUI7QUFDaEQ7QUFDQTtBQUNBLE1BQU07QUFDTix5QkFBeUI7QUFDekI7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGtCQUFrQix1QkFBdUI7QUFDekM7QUFDQTs7QUFFQTtBQUNBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL25lZ290aWF0b3JAMS4wLjAvbm9kZV9tb2R1bGVzL25lZ290aWF0b3IvbGliL21lZGlhVHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIG5lZ290aWF0b3JcbiAqIENvcHlyaWdodChjKSAyMDEyIElzYWFjIFouIFNjaGx1ZXRlclxuICogQ29weXJpZ2h0KGMpIDIwMTQgRmVkZXJpY28gUm9tZXJvXG4gKiBDb3B5cmlnaHQoYykgMjAxNC0yMDE1IERvdWdsYXMgQ2hyaXN0b3BoZXIgV2lsc29uXG4gKiBNSVQgTGljZW5zZWRcbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogTW9kdWxlIGV4cG9ydHMuXG4gKiBAcHVibGljXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBwcmVmZXJyZWRNZWRpYVR5cGVzO1xubW9kdWxlLmV4cG9ydHMucHJlZmVycmVkTWVkaWFUeXBlcyA9IHByZWZlcnJlZE1lZGlhVHlwZXM7XG5cbi8qKlxuICogTW9kdWxlIHZhcmlhYmxlcy5cbiAqIEBwcml2YXRlXG4gKi9cblxudmFyIHNpbXBsZU1lZGlhVHlwZVJlZ0V4cCA9IC9eXFxzKihbXlxcc1xcLztdKylcXC8oW147XFxzXSspXFxzKig/OjsoLiopKT8kLztcblxuLyoqXG4gKiBQYXJzZSB0aGUgQWNjZXB0IGhlYWRlci5cbiAqIEBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gcGFyc2VBY2NlcHQoYWNjZXB0KSB7XG4gIHZhciBhY2NlcHRzID0gc3BsaXRNZWRpYVR5cGVzKGFjY2VwdCk7XG5cbiAgZm9yICh2YXIgaSA9IDAsIGogPSAwOyBpIDwgYWNjZXB0cy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBtZWRpYVR5cGUgPSBwYXJzZU1lZGlhVHlwZShhY2NlcHRzW2ldLnRyaW0oKSwgaSk7XG5cbiAgICBpZiAobWVkaWFUeXBlKSB7XG4gICAgICBhY2NlcHRzW2orK10gPSBtZWRpYVR5cGU7XG4gICAgfVxuICB9XG5cbiAgLy8gdHJpbSBhY2NlcHRzXG4gIGFjY2VwdHMubGVuZ3RoID0gajtcblxuICByZXR1cm4gYWNjZXB0cztcbn1cblxuLyoqXG4gKiBQYXJzZSBhIG1lZGlhIHR5cGUgZnJvbSB0aGUgQWNjZXB0IGhlYWRlci5cbiAqIEBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gcGFyc2VNZWRpYVR5cGUoc3RyLCBpKSB7XG4gIHZhciBtYXRjaCA9IHNpbXBsZU1lZGlhVHlwZVJlZ0V4cC5leGVjKHN0cik7XG4gIGlmICghbWF0Y2gpIHJldHVybiBudWxsO1xuXG4gIHZhciBwYXJhbXMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICB2YXIgcSA9IDE7XG4gIHZhciBzdWJ0eXBlID0gbWF0Y2hbMl07XG4gIHZhciB0eXBlID0gbWF0Y2hbMV07XG5cbiAgaWYgKG1hdGNoWzNdKSB7XG4gICAgdmFyIGt2cHMgPSBzcGxpdFBhcmFtZXRlcnMobWF0Y2hbM10pLm1hcChzcGxpdEtleVZhbHVlUGFpcik7XG5cbiAgICBmb3IgKHZhciBqID0gMDsgaiA8IGt2cHMubGVuZ3RoOyBqKyspIHtcbiAgICAgIHZhciBwYWlyID0ga3Zwc1tqXTtcbiAgICAgIHZhciBrZXkgPSBwYWlyWzBdLnRvTG93ZXJDYXNlKCk7XG4gICAgICB2YXIgdmFsID0gcGFpclsxXTtcblxuICAgICAgLy8gZ2V0IHRoZSB2YWx1ZSwgdW53cmFwcGluZyBxdW90ZXNcbiAgICAgIHZhciB2YWx1ZSA9IHZhbCAmJiB2YWxbMF0gPT09ICdcIicgJiYgdmFsW3ZhbC5sZW5ndGggLSAxXSA9PT0gJ1wiJ1xuICAgICAgICA/IHZhbC5zbGljZSgxLCAtMSlcbiAgICAgICAgOiB2YWw7XG5cbiAgICAgIGlmIChrZXkgPT09ICdxJykge1xuICAgICAgICBxID0gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICAvLyBzdG9yZSBwYXJhbWV0ZXJcbiAgICAgIHBhcmFtc1trZXldID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiB0eXBlLFxuICAgIHN1YnR5cGU6IHN1YnR5cGUsXG4gICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgcTogcSxcbiAgICBpOiBpXG4gIH07XG59XG5cbi8qKlxuICogR2V0IHRoZSBwcmlvcml0eSBvZiBhIG1lZGlhIHR5cGUuXG4gKiBAcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGdldE1lZGlhVHlwZVByaW9yaXR5KHR5cGUsIGFjY2VwdGVkLCBpbmRleCkge1xuICB2YXIgcHJpb3JpdHkgPSB7bzogLTEsIHE6IDAsIHM6IDB9O1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYWNjZXB0ZWQubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc3BlYyA9IHNwZWNpZnkodHlwZSwgYWNjZXB0ZWRbaV0sIGluZGV4KTtcblxuICAgIGlmIChzcGVjICYmIChwcmlvcml0eS5zIC0gc3BlYy5zIHx8IHByaW9yaXR5LnEgLSBzcGVjLnEgfHwgcHJpb3JpdHkubyAtIHNwZWMubykgPCAwKSB7XG4gICAgICBwcmlvcml0eSA9IHNwZWM7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHByaW9yaXR5O1xufVxuXG4vKipcbiAqIEdldCB0aGUgc3BlY2lmaWNpdHkgb2YgdGhlIG1lZGlhIHR5cGUuXG4gKiBAcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIHNwZWNpZnkodHlwZSwgc3BlYywgaW5kZXgpIHtcbiAgdmFyIHAgPSBwYXJzZU1lZGlhVHlwZSh0eXBlKTtcbiAgdmFyIHMgPSAwO1xuXG4gIGlmICghcCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYoc3BlYy50eXBlLnRvTG93ZXJDYXNlKCkgPT0gcC50eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICBzIHw9IDRcbiAgfSBlbHNlIGlmKHNwZWMudHlwZSAhPSAnKicpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmKHNwZWMuc3VidHlwZS50b0xvd2VyQ2FzZSgpID09IHAuc3VidHlwZS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgcyB8PSAyXG4gIH0gZWxzZSBpZihzcGVjLnN1YnR5cGUgIT0gJyonKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKHNwZWMucGFyYW1zKTtcbiAgaWYgKGtleXMubGVuZ3RoID4gMCkge1xuICAgIGlmIChrZXlzLmV2ZXJ5KGZ1bmN0aW9uIChrKSB7XG4gICAgICByZXR1cm4gc3BlYy5wYXJhbXNba10gPT0gJyonIHx8IChzcGVjLnBhcmFtc1trXSB8fCAnJykudG9Mb3dlckNhc2UoKSA9PSAocC5wYXJhbXNba10gfHwgJycpLnRvTG93ZXJDYXNlKCk7XG4gICAgfSkpIHtcbiAgICAgIHMgfD0gMVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaTogaW5kZXgsXG4gICAgbzogc3BlYy5pLFxuICAgIHE6IHNwZWMucSxcbiAgICBzOiBzLFxuICB9XG59XG5cbi8qKlxuICogR2V0IHRoZSBwcmVmZXJyZWQgbWVkaWEgdHlwZXMgZnJvbSBhbiBBY2NlcHQgaGVhZGVyLlxuICogQHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIHByZWZlcnJlZE1lZGlhVHlwZXMoYWNjZXB0LCBwcm92aWRlZCkge1xuICAvLyBSRkMgMjYxNiBzZWMgMTQuMjogbm8gaGVhZGVyID0gKi8qXG4gIHZhciBhY2NlcHRzID0gcGFyc2VBY2NlcHQoYWNjZXB0ID09PSB1bmRlZmluZWQgPyAnKi8qJyA6IGFjY2VwdCB8fCAnJyk7XG5cbiAgaWYgKCFwcm92aWRlZCkge1xuICAgIC8vIHNvcnRlZCBsaXN0IG9mIGFsbCB0eXBlc1xuICAgIHJldHVybiBhY2NlcHRzXG4gICAgICAuZmlsdGVyKGlzUXVhbGl0eSlcbiAgICAgIC5zb3J0KGNvbXBhcmVTcGVjcylcbiAgICAgIC5tYXAoZ2V0RnVsbFR5cGUpO1xuICB9XG5cbiAgdmFyIHByaW9yaXRpZXMgPSBwcm92aWRlZC5tYXAoZnVuY3Rpb24gZ2V0UHJpb3JpdHkodHlwZSwgaW5kZXgpIHtcbiAgICByZXR1cm4gZ2V0TWVkaWFUeXBlUHJpb3JpdHkodHlwZSwgYWNjZXB0cywgaW5kZXgpO1xuICB9KTtcblxuICAvLyBzb3J0ZWQgbGlzdCBvZiBhY2NlcHRlZCB0eXBlc1xuICByZXR1cm4gcHJpb3JpdGllcy5maWx0ZXIoaXNRdWFsaXR5KS5zb3J0KGNvbXBhcmVTcGVjcykubWFwKGZ1bmN0aW9uIGdldFR5cGUocHJpb3JpdHkpIHtcbiAgICByZXR1cm4gcHJvdmlkZWRbcHJpb3JpdGllcy5pbmRleE9mKHByaW9yaXR5KV07XG4gIH0pO1xufVxuXG4vKipcbiAqIENvbXBhcmUgdHdvIHNwZWNzLlxuICogQHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBjb21wYXJlU3BlY3MoYSwgYikge1xuICByZXR1cm4gKGIucSAtIGEucSkgfHwgKGIucyAtIGEucykgfHwgKGEubyAtIGIubykgfHwgKGEuaSAtIGIuaSkgfHwgMDtcbn1cblxuLyoqXG4gKiBHZXQgZnVsbCB0eXBlIHN0cmluZy5cbiAqIEBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gZ2V0RnVsbFR5cGUoc3BlYykge1xuICByZXR1cm4gc3BlYy50eXBlICsgJy8nICsgc3BlYy5zdWJ0eXBlO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIGEgc3BlYyBoYXMgYW55IHF1YWxpdHkuXG4gKiBAcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGlzUXVhbGl0eShzcGVjKSB7XG4gIHJldHVybiBzcGVjLnEgPiAwO1xufVxuXG4vKipcbiAqIENvdW50IHRoZSBudW1iZXIgb2YgcXVvdGVzIGluIGEgc3RyaW5nLlxuICogQHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBxdW90ZUNvdW50KHN0cmluZykge1xuICB2YXIgY291bnQgPSAwO1xuICB2YXIgaW5kZXggPSAwO1xuXG4gIHdoaWxlICgoaW5kZXggPSBzdHJpbmcuaW5kZXhPZignXCInLCBpbmRleCkpICE9PSAtMSkge1xuICAgIGNvdW50Kys7XG4gICAgaW5kZXgrKztcbiAgfVxuXG4gIHJldHVybiBjb3VudDtcbn1cblxuLyoqXG4gKiBTcGxpdCBhIGtleSB2YWx1ZSBwYWlyLlxuICogQHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBzcGxpdEtleVZhbHVlUGFpcihzdHIpIHtcbiAgdmFyIGluZGV4ID0gc3RyLmluZGV4T2YoJz0nKTtcbiAgdmFyIGtleTtcbiAgdmFyIHZhbDtcblxuICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAga2V5ID0gc3RyO1xuICB9IGVsc2Uge1xuICAgIGtleSA9IHN0ci5zbGljZSgwLCBpbmRleCk7XG4gICAgdmFsID0gc3RyLnNsaWNlKGluZGV4ICsgMSk7XG4gIH1cblxuICByZXR1cm4gW2tleSwgdmFsXTtcbn1cblxuLyoqXG4gKiBTcGxpdCBhbiBBY2NlcHQgaGVhZGVyIGludG8gbWVkaWEgdHlwZXMuXG4gKiBAcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIHNwbGl0TWVkaWFUeXBlcyhhY2NlcHQpIHtcbiAgdmFyIGFjY2VwdHMgPSBhY2NlcHQuc3BsaXQoJywnKTtcblxuICBmb3IgKHZhciBpID0gMSwgaiA9IDA7IGkgPCBhY2NlcHRzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHF1b3RlQ291bnQoYWNjZXB0c1tqXSkgJSAyID09IDApIHtcbiAgICAgIGFjY2VwdHNbKytqXSA9IGFjY2VwdHNbaV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGFjY2VwdHNbal0gKz0gJywnICsgYWNjZXB0c1tpXTtcbiAgICB9XG4gIH1cblxuICAvLyB0cmltIGFjY2VwdHNcbiAgYWNjZXB0cy5sZW5ndGggPSBqICsgMTtcblxuICByZXR1cm4gYWNjZXB0cztcbn1cblxuLyoqXG4gKiBTcGxpdCBhIHN0cmluZyBvZiBwYXJhbWV0ZXJzLlxuICogQHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBzcGxpdFBhcmFtZXRlcnMoc3RyKSB7XG4gIHZhciBwYXJhbWV0ZXJzID0gc3RyLnNwbGl0KCc7Jyk7XG5cbiAgZm9yICh2YXIgaSA9IDEsIGogPSAwOyBpIDwgcGFyYW1ldGVycy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChxdW90ZUNvdW50KHBhcmFtZXRlcnNbal0pICUgMiA9PSAwKSB7XG4gICAgICBwYXJhbWV0ZXJzWysral0gPSBwYXJhbWV0ZXJzW2ldO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJhbWV0ZXJzW2pdICs9ICc7JyArIHBhcmFtZXRlcnNbaV07XG4gICAgfVxuICB9XG5cbiAgLy8gdHJpbSBwYXJhbWV0ZXJzXG4gIHBhcmFtZXRlcnMubGVuZ3RoID0gaiArIDE7XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgcGFyYW1ldGVyc1tpXSA9IHBhcmFtZXRlcnNbaV0udHJpbSgpO1xuICB9XG5cbiAgcmV0dXJuIHBhcmFtZXRlcnM7XG59XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/lib/mediaType.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/getAlternateLinksHeaderValue.js":
|
||
/*!********************************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/getAlternateLinksHeaderValue.js ***!
|
||
\********************************************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getAlternateLinksHeaderValue)\n/* harmony export */ });\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shared/utils.js */ \"(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/shared/utils.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/utils.js\");\n\n\n\n/**\n * See https://developers.google.com/search/docs/specialty/international/localized-versions\n */\nfunction getAlternateLinksHeaderValue({\n internalTemplateName,\n localizedPathnames,\n request,\n resolvedLocale,\n routing\n}) {\n const normalizedUrl = request.nextUrl.clone();\n const host = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getHost)(request.headers);\n if (host) {\n normalizedUrl.port = '';\n normalizedUrl.host = host;\n }\n normalizedUrl.protocol = request.headers.get('x-forwarded-proto') ?? normalizedUrl.protocol;\n normalizedUrl.pathname = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getNormalizedPathname)(normalizedUrl.pathname, routing.locales, routing.localePrefix);\n function getAlternateEntry(url, locale) {\n url.pathname = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.normalizeTrailingSlash)(url.pathname);\n if (request.nextUrl.basePath) {\n url = new URL(url);\n url.pathname = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.applyBasePath)(url.pathname, request.nextUrl.basePath);\n }\n return `<${url.toString()}>; rel=\"alternate\"; hreflang=\"${locale}\"`;\n }\n function getLocalizedPathname(pathname, locale) {\n if (localizedPathnames && typeof localizedPathnames === 'object') {\n const sourceTemplate = localizedPathnames[resolvedLocale];\n return (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.formatTemplatePathname)(pathname, sourceTemplate ?? internalTemplateName, localizedPathnames[locale] ?? internalTemplateName);\n } else {\n return pathname;\n }\n }\n const links = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getLocalePrefixes)(routing.locales, routing.localePrefix, false).flatMap(([locale, prefix]) => {\n function prefixPathname(pathname) {\n if (pathname === '/') {\n return prefix;\n } else {\n return prefix + pathname;\n }\n }\n let url;\n if (routing.domains) {\n const domainConfigs = routing.domains.filter(cur => (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isLocaleSupportedOnDomain)(locale, cur));\n return domainConfigs.map(domainConfig => {\n url = new URL(normalizedUrl);\n url.port = '';\n url.host = domainConfig.domain;\n\n // Important: Use `normalizedUrl` here, as `url` potentially uses\n // a `basePath` that automatically gets applied to the pathname\n url.pathname = getLocalizedPathname(normalizedUrl.pathname, locale);\n if (locale !== domainConfig.defaultLocale || routing.localePrefix.mode === 'always') {\n url.pathname = prefixPathname(url.pathname);\n }\n return getAlternateEntry(url, locale);\n });\n } else {\n let pathname;\n if (localizedPathnames && typeof localizedPathnames === 'object') {\n pathname = getLocalizedPathname(normalizedUrl.pathname, locale);\n } else {\n pathname = normalizedUrl.pathname;\n }\n if (locale !== routing.defaultLocale || routing.localePrefix.mode === 'always') {\n pathname = prefixPathname(pathname);\n }\n url = new URL(pathname, normalizedUrl);\n }\n return getAlternateEntry(url, locale);\n });\n\n // Add x-default entry\n const shouldAddXDefault =\n // For domain-based routing there is no reasonable x-default\n !routing.domains || routing.domains.length === 0;\n if (shouldAddXDefault) {\n const localizedPathname = getLocalizedPathname(normalizedUrl.pathname, routing.defaultLocale);\n if (localizedPathname) {\n const url = new URL(localizedPathname, normalizedUrl);\n links.push(getAlternateEntry(url, 'x-default'));\n }\n }\n return links.join(', ');\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0LWludGxANC45LjBfQHN3YytoZWxwZXJzQDAuNS4yMF9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDFfNWNiMjVkYmQwMzg0YWZkNmU4NjVhOTBhNjZiOGIzMjkvbm9kZV9tb2R1bGVzL25leHQtaW50bC9kaXN0L2VzbS9kZXZlbG9wbWVudC9taWRkbGV3YXJlL2dldEFsdGVybmF0ZUxpbmtzSGVhZGVyVmFsdWUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQTREO0FBQ3FGOztBQUVqSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxlQUFlLGtEQUFPO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsZ0VBQXFCO0FBQ2hEO0FBQ0EsbUJBQW1CLHdFQUFzQjtBQUN6QztBQUNBO0FBQ0EscUJBQXFCLHdEQUFhO0FBQ2xDO0FBQ0EsZUFBZSxlQUFlLEdBQUcsaUJBQWlCLFlBQVksT0FBTztBQUNyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsaUVBQXNCO0FBQ25DLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsNERBQWlCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMERBQTBELG9FQUF5QjtBQUNuRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVtRCIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0LWludGxANC45LjBfQHN3YytoZWxwZXJzQDAuNS4yMF9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDFfNWNiMjVkYmQwMzg0YWZkNmU4NjVhOTBhNjZiOGIzMjkvbm9kZV9tb2R1bGVzL25leHQtaW50bC9kaXN0L2VzbS9kZXZlbG9wbWVudC9taWRkbGV3YXJlL2dldEFsdGVybmF0ZUxpbmtzSGVhZGVyVmFsdWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9ybWFsaXplVHJhaWxpbmdTbGFzaCB9IGZyb20gJy4uL3NoYXJlZC91dGlscy5qcyc7XG5pbXBvcnQgeyBnZXRIb3N0LCBnZXROb3JtYWxpemVkUGF0aG5hbWUsIGdldExvY2FsZVByZWZpeGVzLCBpc0xvY2FsZVN1cHBvcnRlZE9uRG9tYWluLCBhcHBseUJhc2VQYXRoLCBmb3JtYXRUZW1wbGF0ZVBhdGhuYW1lIH0gZnJvbSAnLi91dGlscy5qcyc7XG5cbi8qKlxuICogU2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3NlYXJjaC9kb2NzL3NwZWNpYWx0eS9pbnRlcm5hdGlvbmFsL2xvY2FsaXplZC12ZXJzaW9uc1xuICovXG5mdW5jdGlvbiBnZXRBbHRlcm5hdGVMaW5rc0hlYWRlclZhbHVlKHtcbiAgaW50ZXJuYWxUZW1wbGF0ZU5hbWUsXG4gIGxvY2FsaXplZFBhdGhuYW1lcyxcbiAgcmVxdWVzdCxcbiAgcmVzb2x2ZWRMb2NhbGUsXG4gIHJvdXRpbmdcbn0pIHtcbiAgY29uc3Qgbm9ybWFsaXplZFVybCA9IHJlcXVlc3QubmV4dFVybC5jbG9uZSgpO1xuICBjb25zdCBob3N0ID0gZ2V0SG9zdChyZXF1ZXN0LmhlYWRlcnMpO1xuICBpZiAoaG9zdCkge1xuICAgIG5vcm1hbGl6ZWRVcmwucG9ydCA9ICcnO1xuICAgIG5vcm1hbGl6ZWRVcmwuaG9zdCA9IGhvc3Q7XG4gIH1cbiAgbm9ybWFsaXplZFVybC5wcm90b2NvbCA9IHJlcXVlc3QuaGVhZGVycy5nZXQoJ3gtZm9yd2FyZGVkLXByb3RvJykgPz8gbm9ybWFsaXplZFVybC5wcm90b2NvbDtcbiAgbm9ybWFsaXplZFVybC5wYXRobmFtZSA9IGdldE5vcm1hbGl6ZWRQYXRobmFtZShub3JtYWxpemVkVXJsLnBhdGhuYW1lLCByb3V0aW5nLmxvY2FsZXMsIHJvdXRpbmcubG9jYWxlUHJlZml4KTtcbiAgZnVuY3Rpb24gZ2V0QWx0ZXJuYXRlRW50cnkodXJsLCBsb2NhbGUpIHtcbiAgICB1cmwucGF0aG5hbWUgPSBub3JtYWxpemVUcmFpbGluZ1NsYXNoKHVybC5wYXRobmFtZSk7XG4gICAgaWYgKHJlcXVlc3QubmV4dFVybC5iYXNlUGF0aCkge1xuICAgICAgdXJsID0gbmV3IFVSTCh1cmwpO1xuICAgICAgdXJsLnBhdGhuYW1lID0gYXBwbHlCYXNlUGF0aCh1cmwucGF0aG5hbWUsIHJlcXVlc3QubmV4dFVybC5iYXNlUGF0aCk7XG4gICAgfVxuICAgIHJldHVybiBgPCR7dXJsLnRvU3RyaW5nKCl9PjsgcmVsPVwiYWx0ZXJuYXRlXCI7IGhyZWZsYW5nPVwiJHtsb2NhbGV9XCJgO1xuICB9XG4gIGZ1bmN0aW9uIGdldExvY2FsaXplZFBhdGhuYW1lKHBhdGhuYW1lLCBsb2NhbGUpIHtcbiAgICBpZiAobG9jYWxpemVkUGF0aG5hbWVzICYmIHR5cGVvZiBsb2NhbGl6ZWRQYXRobmFtZXMgPT09ICdvYmplY3QnKSB7XG4gICAgICBjb25zdCBzb3VyY2VUZW1wbGF0ZSA9IGxvY2FsaXplZFBhdGhuYW1lc1tyZXNvbHZlZExvY2FsZV07XG4gICAgICByZXR1cm4gZm9ybWF0VGVtcGxhdGVQYXRobmFtZShwYXRobmFtZSwgc291cmNlVGVtcGxhdGUgPz8gaW50ZXJuYWxUZW1wbGF0ZU5hbWUsIGxvY2FsaXplZFBhdGhuYW1lc1tsb2NhbGVdID8/IGludGVybmFsVGVtcGxhdGVOYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHBhdGhuYW1lO1xuICAgIH1cbiAgfVxuICBjb25zdCBsaW5rcyA9IGdldExvY2FsZVByZWZpeGVzKHJvdXRpbmcubG9jYWxlcywgcm91dGluZy5sb2NhbGVQcmVmaXgsIGZhbHNlKS5mbGF0TWFwKChbbG9jYWxlLCBwcmVmaXhdKSA9PiB7XG4gICAgZnVuY3Rpb24gcHJlZml4UGF0aG5hbWUocGF0aG5hbWUpIHtcbiAgICAgIGlmIChwYXRobmFtZSA9PT0gJy8nKSB7XG4gICAgICAgIHJldHVybiBwcmVmaXg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcHJlZml4ICsgcGF0aG5hbWU7XG4gICAgICB9XG4gICAgfVxuICAgIGxldCB1cmw7XG4gICAgaWYgKHJvdXRpbmcuZG9tYWlucykge1xuICAgICAgY29uc3QgZG9tYWluQ29uZmlncyA9IHJvdXRpbmcuZG9tYWlucy5maWx0ZXIoY3VyID0+IGlzTG9jYWxlU3VwcG9ydGVkT25Eb21haW4obG9jYWxlLCBjdXIpKTtcbiAgICAgIHJldHVybiBkb21haW5Db25maWdzLm1hcChkb21haW5Db25maWcgPT4ge1xuICAgICAgICB1cmwgPSBuZXcgVVJMKG5vcm1hbGl6ZWRVcmwpO1xuICAgICAgICB1cmwucG9ydCA9ICcnO1xuICAgICAgICB1cmwuaG9zdCA9IGRvbWFpbkNvbmZpZy5kb21haW47XG5cbiAgICAgICAgLy8gSW1wb3J0YW50OiBVc2UgYG5vcm1hbGl6ZWRVcmxgIGhlcmUsIGFzIGB1cmxgIHBvdGVudGlhbGx5IHVzZXNcbiAgICAgICAgLy8gYSBgYmFzZVBhdGhgIHRoYXQgYXV0b21hdGljYWxseSBnZXRzIGFwcGxpZWQgdG8gdGhlIHBhdGhuYW1lXG4gICAgICAgIHVybC5wYXRobmFtZSA9IGdldExvY2FsaXplZFBhdGhuYW1lKG5vcm1hbGl6ZWRVcmwucGF0aG5hbWUsIGxvY2FsZSk7XG4gICAgICAgIGlmIChsb2NhbGUgIT09IGRvbWFpbkNvbmZpZy5kZWZhdWx0TG9jYWxlIHx8IHJvdXRpbmcubG9jYWxlUHJlZml4Lm1vZGUgPT09ICdhbHdheXMnKSB7XG4gICAgICAgICAgdXJsLnBhdGhuYW1lID0gcHJlZml4UGF0aG5hbWUodXJsLnBhdGhuYW1lKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2V0QWx0ZXJuYXRlRW50cnkodXJsLCBsb2NhbGUpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBwYXRobmFtZTtcbiAgICAgIGlmIChsb2NhbGl6ZWRQYXRobmFtZXMgJiYgdHlwZW9mIGxvY2FsaXplZFBhdGhuYW1lcyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcGF0aG5hbWUgPSBnZXRMb2NhbGl6ZWRQYXRobmFtZShub3JtYWxpemVkVXJsLnBhdGhuYW1lLCBsb2NhbGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGF0aG5hbWUgPSBub3JtYWxpemVkVXJsLnBhdGhuYW1lO1xuICAgICAgfVxuICAgICAgaWYgKGxvY2FsZSAhPT0gcm91dGluZy5kZWZhdWx0TG9jYWxlIHx8IHJvdXRpbmcubG9jYWxlUHJlZml4Lm1vZGUgPT09ICdhbHdheXMnKSB7XG4gICAgICAgIHBhdGhuYW1lID0gcHJlZml4UGF0aG5hbWUocGF0aG5hbWUpO1xuICAgICAgfVxuICAgICAgdXJsID0gbmV3IFVSTChwYXRobmFtZSwgbm9ybWFsaXplZFVybCk7XG4gICAgfVxuICAgIHJldHVybiBnZXRBbHRlcm5hdGVFbnRyeSh1cmwsIGxvY2FsZSk7XG4gIH0pO1xuXG4gIC8vIEFkZCB4LWRlZmF1bHQgZW50cnlcbiAgY29uc3Qgc2hvdWxkQWRkWERlZmF1bHQgPVxuICAvLyBGb3IgZG9tYWluLWJhc2VkIHJvdXRpbmcgdGhlcmUgaXMgbm8gcmVhc29uYWJsZSB4LWRlZmF1bHRcbiAgIXJvdXRpbmcuZG9tYWlucyB8fCByb3V0aW5nLmRvbWFpbnMubGVuZ3RoID09PSAwO1xuICBpZiAoc2hvdWxkQWRkWERlZmF1bHQpIHtcbiAgICBjb25zdCBsb2NhbGl6ZWRQYXRobmFtZSA9IGdldExvY2FsaXplZFBhdGhuYW1lKG5vcm1hbGl6ZWRVcmwucGF0aG5hbWUsIHJvdXRpbmcuZGVmYXVsdExvY2FsZSk7XG4gICAgaWYgKGxvY2FsaXplZFBhdGhuYW1lKSB7XG4gICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKGxvY2FsaXplZFBhdGhuYW1lLCBub3JtYWxpemVkVXJsKTtcbiAgICAgIGxpbmtzLnB1c2goZ2V0QWx0ZXJuYXRlRW50cnkodXJsLCAneC1kZWZhdWx0JykpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbGlua3Muam9pbignLCAnKTtcbn1cblxuZXhwb3J0IHsgZ2V0QWx0ZXJuYXRlTGlua3NIZWFkZXJWYWx1ZSBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/getAlternateLinksHeaderValue.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/middleware.js":
|
||
/*!**************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/middleware.js ***!
|
||
\**************************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ createMiddleware)\n/* harmony export */ });\n/* harmony import */ var next_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/server */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/api/server.js\");\n/* harmony import */ var _routing_config_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../routing/config.js */ \"(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/routing/config.js\");\n/* harmony import */ var _shared_constants_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../shared/constants.js */ \"(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/shared/constants.js\");\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../shared/utils.js */ \"(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/shared/utils.js\");\n/* harmony import */ var _getAlternateLinksHeaderValue_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./getAlternateLinksHeaderValue.js */ \"(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/getAlternateLinksHeaderValue.js\");\n/* harmony import */ var _resolveLocale_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./resolveLocale.js */ \"(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/resolveLocale.js\");\n/* harmony import */ var _syncCookie_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./syncCookie.js */ \"(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/syncCookie.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ \"(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/utils.js\");\n\n\n\n\n\n\n\n\n\nfunction createMiddleware(routing) {\n const resolvedRouting = (0,_routing_config_js__WEBPACK_IMPORTED_MODULE_1__.receiveRoutingConfig)(routing);\n return function middleware(request) {\n let unsafeExternalPathname;\n try {\n // Resolve potential foreign symbols (e.g. /ja/%E7%B4%84 → /ja/約))\n unsafeExternalPathname = decodeURI(request.nextUrl.pathname);\n } catch {\n // In case an invalid pathname is encountered, forward\n // it to Next.js which in turn responds with a 400\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.next();\n }\n\n // Sanitize malicious URIs to prevent open redirect attacks due to\n // decodeURI doesn't escape encoded backslashes ('%5C' & '%5c')\n const externalPathname = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.sanitizePathname)(unsafeExternalPathname);\n const {\n domain,\n locale\n } = (0,_resolveLocale_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(resolvedRouting, request.headers, request.cookies, externalPathname);\n const hasMatchedDefaultLocale = domain ? domain.defaultLocale === locale : locale === resolvedRouting.defaultLocale;\n const domainsConfig = resolvedRouting.domains?.filter(curDomain => (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.isLocaleSupportedOnDomain)(locale, curDomain)) || [];\n const hasUnknownHost = resolvedRouting.domains != null && !domain;\n function next(url) {\n const urlObj = new URL(url, request.url);\n if (request.nextUrl.basePath) {\n urlObj.pathname = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.applyBasePath)(urlObj.pathname, request.nextUrl.basePath);\n }\n const headers = new Headers(request.headers);\n headers.set(_shared_constants_js__WEBPACK_IMPORTED_MODULE_4__.HEADER_LOCALE_NAME, locale);\n const isRewriteNecessary = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_5__.normalizeTrailingSlash)(request.nextUrl.pathname) !== (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_5__.normalizeTrailingSlash)(urlObj.pathname);\n if (isRewriteNecessary) {\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.rewrite(urlObj, {\n request: {\n headers\n }\n });\n } else {\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.next({\n request: {\n headers\n }\n });\n }\n }\n function redirect(url, redirectDomain) {\n const urlObj = new URL(url, request.url);\n urlObj.pathname = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_5__.normalizeTrailingSlash)(urlObj.pathname);\n if (domainsConfig.length > 0 && !redirectDomain && domain) {\n const bestMatchingDomain = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getBestMatchingDomain)(domain, locale, domainsConfig);\n if (bestMatchingDomain) {\n redirectDomain = bestMatchingDomain.domain;\n if (bestMatchingDomain.defaultLocale === locale && resolvedRouting.localePrefix.mode === 'as-needed') {\n urlObj.pathname = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getNormalizedPathname)(urlObj.pathname, resolvedRouting.locales, resolvedRouting.localePrefix);\n }\n }\n }\n if (redirectDomain) {\n urlObj.host = redirectDomain;\n if (request.headers.get('x-forwarded-host')) {\n urlObj.protocol = request.headers.get('x-forwarded-proto') ?? request.nextUrl.protocol;\n const redirectDomainPort = redirectDomain.split(':')[1];\n urlObj.port = redirectDomainPort ?? request.headers.get('x-forwarded-port') ?? '';\n }\n }\n if (request.nextUrl.basePath) {\n urlObj.pathname = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.applyBasePath)(urlObj.pathname, request.nextUrl.basePath);\n }\n hasRedirected = true;\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.redirect(urlObj.toString());\n }\n const unprefixedExternalPathname = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getNormalizedPathname)(externalPathname, resolvedRouting.locales, resolvedRouting.localePrefix);\n const pathnameMatch = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getPathnameMatch)(externalPathname, resolvedRouting.locales, resolvedRouting.localePrefix, domain);\n const hasLocalePrefix = pathnameMatch != null;\n const isUnprefixedRouting = resolvedRouting.localePrefix.mode === 'never' || hasMatchedDefaultLocale && resolvedRouting.localePrefix.mode === 'as-needed';\n let response;\n let internalTemplateName;\n let hasRedirected;\n let unprefixedInternalPathname = unprefixedExternalPathname;\n const pathnames = resolvedRouting.pathnames;\n if (pathnames) {\n let resolvedTemplateLocale;\n [resolvedTemplateLocale, internalTemplateName] = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getInternalTemplate)(pathnames, unprefixedExternalPathname, locale);\n if (internalTemplateName) {\n const pathnameConfig = pathnames[internalTemplateName];\n const localeTemplate = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_5__.getLocalizedTemplate)(pathnameConfig, locale, internalTemplateName);\n if ((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_5__.matchesPathname)(localeTemplate, unprefixedExternalPathname)) {\n unprefixedInternalPathname = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.formatTemplatePathname)(unprefixedExternalPathname, localeTemplate, internalTemplateName);\n } else {\n let sourceTemplate;\n if (resolvedTemplateLocale) {\n // A localized pathname from another locale has matched\n sourceTemplate = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_5__.getLocalizedTemplate)(pathnameConfig, resolvedTemplateLocale, internalTemplateName);\n } else {\n // An internal pathname has matched that\n // doesn't have a localized pathname\n sourceTemplate = internalTemplateName;\n }\n const localePrefix = isUnprefixedRouting ? undefined : (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_5__.getLocalePrefix)(locale, resolvedRouting.localePrefix);\n const template = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.formatTemplatePathname)(unprefixedExternalPathname, sourceTemplate, localeTemplate);\n response = redirect((0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.formatPathname)(template, localePrefix, request.nextUrl.search));\n }\n }\n }\n if (!response) {\n if (unprefixedInternalPathname === '/' && !hasLocalePrefix) {\n if (isUnprefixedRouting) {\n response = next((0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.formatPathname)(unprefixedInternalPathname, (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getLocaleAsPrefix)(locale), request.nextUrl.search));\n } else {\n response = redirect((0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.formatPathname)(unprefixedExternalPathname, (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_5__.getLocalePrefix)(locale, resolvedRouting.localePrefix), request.nextUrl.search));\n }\n } else {\n const internalHref = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.formatPathname)(unprefixedInternalPathname, (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getLocaleAsPrefix)(locale), request.nextUrl.search);\n if (hasLocalePrefix) {\n const externalHref = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.formatPathname)(unprefixedExternalPathname, pathnameMatch.prefix, request.nextUrl.search);\n if (resolvedRouting.localePrefix.mode === 'never') {\n response = redirect((0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.formatPathname)(unprefixedExternalPathname, undefined, request.nextUrl.search));\n } else if (pathnameMatch.exact) {\n if (hasMatchedDefaultLocale && isUnprefixedRouting) {\n response = redirect((0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.formatPathname)(unprefixedExternalPathname, undefined, request.nextUrl.search));\n } else {\n if (resolvedRouting.domains) {\n const pathDomain = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getBestMatchingDomain)(domain, pathnameMatch.locale, domainsConfig);\n if (domain?.domain !== pathDomain?.domain && !hasUnknownHost) {\n response = redirect(externalHref, pathDomain?.domain);\n } else {\n response = next(internalHref);\n }\n } else {\n response = next(internalHref);\n }\n }\n } else {\n response = redirect(externalHref);\n }\n } else {\n if (isUnprefixedRouting) {\n response = next(internalHref);\n } else {\n response = redirect((0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.formatPathname)(unprefixedExternalPathname, (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_5__.getLocalePrefix)(locale, resolvedRouting.localePrefix), request.nextUrl.search));\n }\n }\n }\n }\n (0,_syncCookie_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(request, response, locale, resolvedRouting, domain);\n if (!hasRedirected && resolvedRouting.localePrefix.mode !== 'never' && resolvedRouting.alternateLinks && resolvedRouting.locales.length > 1) {\n response.headers.set('Link', (0,_getAlternateLinksHeaderValue_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"])({\n routing: resolvedRouting,\n internalTemplateName,\n localizedPathnames: internalTemplateName != null && pathnames ? pathnames[internalTemplateName] : undefined,\n request,\n resolvedLocale: locale\n }));\n }\n return response;\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0LWludGxANC45LjBfQHN3YytoZWxwZXJzQDAuNS4yMF9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDFfNWNiMjVkYmQwMzg0YWZkNmU4NjVhOTBhNjZiOGIzMjkvbm9kZV9tb2R1bGVzL25leHQtaW50bC9kaXN0L2VzbS9kZXZlbG9wbWVudC9taWRkbGV3YXJlL21pZGRsZXdhcmUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQTJDO0FBQ2lCO0FBQ0E7QUFDd0Q7QUFDdkM7QUFDOUI7QUFDTjtBQUMrTDs7QUFFeE87QUFDQSwwQkFBMEIsd0VBQW9CO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLGFBQWEscURBQVk7QUFDekI7O0FBRUE7QUFDQTtBQUNBLDZCQUE2QiwyREFBZ0I7QUFDN0M7QUFDQTtBQUNBO0FBQ0EsTUFBTSxFQUFFLDZEQUFhO0FBQ3JCO0FBQ0EsdUVBQXVFLG9FQUF5QjtBQUNoRztBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQix3REFBYTtBQUN2QztBQUNBO0FBQ0Esa0JBQWtCLG9FQUFrQjtBQUNwQyxpQ0FBaUMsd0VBQXNCLCtCQUErQix3RUFBc0I7QUFDNUc7QUFDQSxlQUFlLHFEQUFZO0FBQzNCO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxRQUFRO0FBQ1IsZUFBZSxxREFBWTtBQUMzQjtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0Isd0VBQXNCO0FBQzlDO0FBQ0EsbUNBQW1DLGdFQUFxQjtBQUN4RDtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsZ0VBQXFCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQix3REFBYTtBQUN2QztBQUNBO0FBQ0EsYUFBYSxxREFBWTtBQUN6QjtBQUNBLHVDQUF1QyxnRUFBcUI7QUFDNUQsMEJBQTBCLDJEQUFnQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsOERBQW1CO0FBQzFFO0FBQ0E7QUFDQSwrQkFBK0Isc0VBQW9CO0FBQ25ELFlBQVksaUVBQWU7QUFDM0IsdUNBQXVDLGlFQUFzQjtBQUM3RCxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLHNFQUFvQjtBQUNqRCxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpRUFBaUUsaUVBQWU7QUFDaEYsMkJBQTJCLGlFQUFzQjtBQUNqRCw4QkFBOEIseURBQWM7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLHlEQUFjLDZCQUE2Qiw0REFBaUI7QUFDdEYsVUFBVTtBQUNWLDhCQUE4Qix5REFBYyw2QkFBNkIsaUVBQWU7QUFDeEY7QUFDQSxRQUFRO0FBQ1IsNkJBQTZCLHlEQUFjLDZCQUE2Qiw0REFBaUI7QUFDekY7QUFDQSwrQkFBK0IseURBQWM7QUFDN0M7QUFDQSxnQ0FBZ0MseURBQWM7QUFDOUMsWUFBWTtBQUNaO0FBQ0Esa0NBQWtDLHlEQUFjO0FBQ2hELGNBQWM7QUFDZDtBQUNBLG1DQUFtQyxnRUFBcUI7QUFDeEQ7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxZQUFZO0FBQ1osZ0NBQWdDLHlEQUFjLDZCQUE2QixpRUFBZTtBQUMxRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksMERBQVU7QUFDZDtBQUNBLG1DQUFtQyw0RUFBNEI7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFdUMiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dC1pbnRsQDQuOS4wX0Bzd2MraGVscGVyc0AwLjUuMjBfbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxXzVjYjI1ZGJkMDM4NGFmZDZlODY1YTkwYTY2YjhiMzI5L25vZGVfbW9kdWxlcy9uZXh0LWludGwvZGlzdC9lc20vZGV2ZWxvcG1lbnQvbWlkZGxld2FyZS9taWRkbGV3YXJlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5leHRSZXNwb25zZSB9IGZyb20gJ25leHQvc2VydmVyJztcbmltcG9ydCB7IHJlY2VpdmVSb3V0aW5nQ29uZmlnIH0gZnJvbSAnLi4vcm91dGluZy9jb25maWcuanMnO1xuaW1wb3J0IHsgSEVBREVSX0xPQ0FMRV9OQU1FIH0gZnJvbSAnLi4vc2hhcmVkL2NvbnN0YW50cy5qcyc7XG5pbXBvcnQgeyBtYXRjaGVzUGF0aG5hbWUsIG5vcm1hbGl6ZVRyYWlsaW5nU2xhc2gsIGdldExvY2FsZVByZWZpeCwgZ2V0TG9jYWxpemVkVGVtcGxhdGUgfSBmcm9tICcuLi9zaGFyZWQvdXRpbHMuanMnO1xuaW1wb3J0IGdldEFsdGVybmF0ZUxpbmtzSGVhZGVyVmFsdWUgZnJvbSAnLi9nZXRBbHRlcm5hdGVMaW5rc0hlYWRlclZhbHVlLmpzJztcbmltcG9ydCByZXNvbHZlTG9jYWxlIGZyb20gJy4vcmVzb2x2ZUxvY2FsZS5qcyc7XG5pbXBvcnQgc3luY0Nvb2tpZSBmcm9tICcuL3N5bmNDb29raWUuanMnO1xuaW1wb3J0IHsgc2FuaXRpemVQYXRobmFtZSwgaXNMb2NhbGVTdXBwb3J0ZWRPbkRvbWFpbiwgZ2V0Tm9ybWFsaXplZFBhdGhuYW1lLCBnZXRQYXRobmFtZU1hdGNoLCBnZXRJbnRlcm5hbFRlbXBsYXRlLCBmb3JtYXRUZW1wbGF0ZVBhdGhuYW1lLCBmb3JtYXRQYXRobmFtZSwgZ2V0QmVzdE1hdGNoaW5nRG9tYWluLCBhcHBseUJhc2VQYXRoLCBnZXRMb2NhbGVBc1ByZWZpeCB9IGZyb20gJy4vdXRpbHMuanMnO1xuXG5mdW5jdGlvbiBjcmVhdGVNaWRkbGV3YXJlKHJvdXRpbmcpIHtcbiAgY29uc3QgcmVzb2x2ZWRSb3V0aW5nID0gcmVjZWl2ZVJvdXRpbmdDb25maWcocm91dGluZyk7XG4gIHJldHVybiBmdW5jdGlvbiBtaWRkbGV3YXJlKHJlcXVlc3QpIHtcbiAgICBsZXQgdW5zYWZlRXh0ZXJuYWxQYXRobmFtZTtcbiAgICB0cnkge1xuICAgICAgLy8gUmVzb2x2ZSBwb3RlbnRpYWwgZm9yZWlnbiBzeW1ib2xzIChlLmcuIC9qYS8lRTclQjQlODQg4oaSIC9qYS/ntIQpKVxuICAgICAgdW5zYWZlRXh0ZXJuYWxQYXRobmFtZSA9IGRlY29kZVVSSShyZXF1ZXN0Lm5leHRVcmwucGF0aG5hbWUpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gSW4gY2FzZSBhbiBpbnZhbGlkIHBhdGhuYW1lIGlzIGVuY291bnRlcmVkLCBmb3J3YXJkXG4gICAgICAvLyBpdCB0byBOZXh0LmpzIHdoaWNoIGluIHR1cm4gcmVzcG9uZHMgd2l0aCBhIDQwMFxuICAgICAgcmV0dXJuIE5leHRSZXNwb25zZS5uZXh0KCk7XG4gICAgfVxuXG4gICAgLy8gU2FuaXRpemUgbWFsaWNpb3VzIFVSSXMgdG8gcHJldmVudCBvcGVuIHJlZGlyZWN0IGF0dGFja3MgZHVlIHRvXG4gICAgLy8gZGVjb2RlVVJJIGRvZXNuJ3QgZXNjYXBlIGVuY29kZWQgYmFja3NsYXNoZXMgKCclNUMnICYgJyU1YycpXG4gICAgY29uc3QgZXh0ZXJuYWxQYXRobmFtZSA9IHNhbml0aXplUGF0aG5hbWUodW5zYWZlRXh0ZXJuYWxQYXRobmFtZSk7XG4gICAgY29uc3Qge1xuICAgICAgZG9tYWluLFxuICAgICAgbG9jYWxlXG4gICAgfSA9IHJlc29sdmVMb2NhbGUocmVzb2x2ZWRSb3V0aW5nLCByZXF1ZXN0LmhlYWRlcnMsIHJlcXVlc3QuY29va2llcywgZXh0ZXJuYWxQYXRobmFtZSk7XG4gICAgY29uc3QgaGFzTWF0Y2hlZERlZmF1bHRMb2NhbGUgPSBkb21haW4gPyBkb21haW4uZGVmYXVsdExvY2FsZSA9PT0gbG9jYWxlIDogbG9jYWxlID09PSByZXNvbHZlZFJvdXRpbmcuZGVmYXVsdExvY2FsZTtcbiAgICBjb25zdCBkb21haW5zQ29uZmlnID0gcmVzb2x2ZWRSb3V0aW5nLmRvbWFpbnM/LmZpbHRlcihjdXJEb21haW4gPT4gaXNMb2NhbGVTdXBwb3J0ZWRPbkRvbWFpbihsb2NhbGUsIGN1ckRvbWFpbikpIHx8IFtdO1xuICAgIGNvbnN0IGhhc1Vua25vd25Ib3N0ID0gcmVzb2x2ZWRSb3V0aW5nLmRvbWFpbnMgIT0gbnVsbCAmJiAhZG9tYWluO1xuICAgIGZ1bmN0aW9uIG5leHQodXJsKSB7XG4gICAgICBjb25zdCB1cmxPYmogPSBuZXcgVVJMKHVybCwgcmVxdWVzdC51cmwpO1xuICAgICAgaWYgKHJlcXVlc3QubmV4dFVybC5iYXNlUGF0aCkge1xuICAgICAgICB1cmxPYmoucGF0aG5hbWUgPSBhcHBseUJhc2VQYXRoKHVybE9iai5wYXRobmFtZSwgcmVxdWVzdC5uZXh0VXJsLmJhc2VQYXRoKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSGVhZGVycyhyZXF1ZXN0LmhlYWRlcnMpO1xuICAgICAgaGVhZGVycy5zZXQoSEVBREVSX0xPQ0FMRV9OQU1FLCBsb2NhbGUpO1xuICAgICAgY29uc3QgaXNSZXdyaXRlTmVjZXNzYXJ5ID0gbm9ybWFsaXplVHJhaWxpbmdTbGFzaChyZXF1ZXN0Lm5leHRVcmwucGF0aG5hbWUpICE9PSBub3JtYWxpemVUcmFpbGluZ1NsYXNoKHVybE9iai5wYXRobmFtZSk7XG4gICAgICBpZiAoaXNSZXdyaXRlTmVjZXNzYXJ5KSB7XG4gICAgICAgIHJldHVybiBOZXh0UmVzcG9uc2UucmV3cml0ZSh1cmxPYmosIHtcbiAgICAgICAgICByZXF1ZXN0OiB7XG4gICAgICAgICAgICBoZWFkZXJzXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBOZXh0UmVzcG9uc2UubmV4dCh7XG4gICAgICAgICAgcmVxdWVzdDoge1xuICAgICAgICAgICAgaGVhZGVyc1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlZGlyZWN0KHVybCwgcmVkaXJlY3REb21haW4pIHtcbiAgICAgIGNvbnN0IHVybE9iaiA9IG5ldyBVUkwodXJsLCByZXF1ZXN0LnVybCk7XG4gICAgICB1cmxPYmoucGF0aG5hbWUgPSBub3JtYWxpemVUcmFpbGluZ1NsYXNoKHVybE9iai5wYXRobmFtZSk7XG4gICAgICBpZiAoZG9tYWluc0NvbmZpZy5sZW5ndGggPiAwICYmICFyZWRpcmVjdERvbWFpbiAmJiBkb21haW4pIHtcbiAgICAgICAgY29uc3QgYmVzdE1hdGNoaW5nRG9tYWluID0gZ2V0QmVzdE1hdGNoaW5nRG9tYWluKGRvbWFpbiwgbG9jYWxlLCBkb21haW5zQ29uZmlnKTtcbiAgICAgICAgaWYgKGJlc3RNYXRjaGluZ0RvbWFpbikge1xuICAgICAgICAgIHJlZGlyZWN0RG9tYWluID0gYmVzdE1hdGNoaW5nRG9tYWluLmRvbWFpbjtcbiAgICAgICAgICBpZiAoYmVzdE1hdGNoaW5nRG9tYWluLmRlZmF1bHRMb2NhbGUgPT09IGxvY2FsZSAmJiByZXNvbHZlZFJvdXRpbmcubG9jYWxlUHJlZml4Lm1vZGUgPT09ICdhcy1uZWVkZWQnKSB7XG4gICAgICAgICAgICB1cmxPYmoucGF0aG5hbWUgPSBnZXROb3JtYWxpemVkUGF0aG5hbWUodXJsT2JqLnBhdGhuYW1lLCByZXNvbHZlZFJvdXRpbmcubG9jYWxlcywgcmVzb2x2ZWRSb3V0aW5nLmxvY2FsZVByZWZpeCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAocmVkaXJlY3REb21haW4pIHtcbiAgICAgICAgdXJsT2JqLmhvc3QgPSByZWRpcmVjdERvbWFpbjtcbiAgICAgICAgaWYgKHJlcXVlc3QuaGVhZGVycy5nZXQoJ3gtZm9yd2FyZGVkLWhvc3QnKSkge1xuICAgICAgICAgIHVybE9iai5wcm90b2NvbCA9IHJlcXVlc3QuaGVhZGVycy5nZXQoJ3gtZm9yd2FyZGVkLXByb3RvJykgPz8gcmVxdWVzdC5uZXh0VXJsLnByb3RvY29sO1xuICAgICAgICAgIGNvbnN0IHJlZGlyZWN0RG9tYWluUG9ydCA9IHJlZGlyZWN0RG9tYWluLnNwbGl0KCc6JylbMV07XG4gICAgICAgICAgdXJsT2JqLnBvcnQgPSByZWRpcmVjdERvbWFpblBvcnQgPz8gcmVxdWVzdC5oZWFkZXJzLmdldCgneC1mb3J3YXJkZWQtcG9ydCcpID8/ICcnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAocmVxdWVzdC5uZXh0VXJsLmJhc2VQYXRoKSB7XG4gICAgICAgIHVybE9iai5wYXRobmFtZSA9IGFwcGx5QmFzZVBhdGgodXJsT2JqLnBhdGhuYW1lLCByZXF1ZXN0Lm5leHRVcmwuYmFzZVBhdGgpO1xuICAgICAgfVxuICAgICAgaGFzUmVkaXJlY3RlZCA9IHRydWU7XG4gICAgICByZXR1cm4gTmV4dFJlc3BvbnNlLnJlZGlyZWN0KHVybE9iai50b1N0cmluZygpKTtcbiAgICB9XG4gICAgY29uc3QgdW5wcmVmaXhlZEV4dGVybmFsUGF0aG5hbWUgPSBnZXROb3JtYWxpemVkUGF0aG5hbWUoZXh0ZXJuYWxQYXRobmFtZSwgcmVzb2x2ZWRSb3V0aW5nLmxvY2FsZXMsIHJlc29sdmVkUm91dGluZy5sb2NhbGVQcmVmaXgpO1xuICAgIGNvbnN0IHBhdGhuYW1lTWF0Y2ggPSBnZXRQYXRobmFtZU1hdGNoKGV4dGVybmFsUGF0aG5hbWUsIHJlc29sdmVkUm91dGluZy5sb2NhbGVzLCByZXNvbHZlZFJvdXRpbmcubG9jYWxlUHJlZml4LCBkb21haW4pO1xuICAgIGNvbnN0IGhhc0xvY2FsZVByZWZpeCA9IHBhdGhuYW1lTWF0Y2ggIT0gbnVsbDtcbiAgICBjb25zdCBpc1VucHJlZml4ZWRSb3V0aW5nID0gcmVzb2x2ZWRSb3V0aW5nLmxvY2FsZVByZWZpeC5tb2RlID09PSAnbmV2ZXInIHx8IGhhc01hdGNoZWREZWZhdWx0TG9jYWxlICYmIHJlc29sdmVkUm91dGluZy5sb2NhbGVQcmVmaXgubW9kZSA9PT0gJ2FzLW5lZWRlZCc7XG4gICAgbGV0IHJlc3BvbnNlO1xuICAgIGxldCBpbnRlcm5hbFRlbXBsYXRlTmFtZTtcbiAgICBsZXQgaGFzUmVkaXJlY3RlZDtcbiAgICBsZXQgdW5wcmVmaXhlZEludGVybmFsUGF0aG5hbWUgPSB1bnByZWZpeGVkRXh0ZXJuYWxQYXRobmFtZTtcbiAgICBjb25zdCBwYXRobmFtZXMgPSByZXNvbHZlZFJvdXRpbmcucGF0aG5hbWVzO1xuICAgIGlmIChwYXRobmFtZXMpIHtcbiAgICAgIGxldCByZXNvbHZlZFRlbXBsYXRlTG9jYWxlO1xuICAgICAgW3Jlc29sdmVkVGVtcGxhdGVMb2NhbGUsIGludGVybmFsVGVtcGxhdGVOYW1lXSA9IGdldEludGVybmFsVGVtcGxhdGUocGF0aG5hbWVzLCB1bnByZWZpeGVkRXh0ZXJuYWxQYXRobmFtZSwgbG9jYWxlKTtcbiAgICAgIGlmIChpbnRlcm5hbFRlbXBsYXRlTmFtZSkge1xuICAgICAgICBjb25zdCBwYXRobmFtZUNvbmZpZyA9IHBhdGhuYW1lc1tpbnRlcm5hbFRlbXBsYXRlTmFtZV07XG4gICAgICAgIGNvbnN0IGxvY2FsZVRlbXBsYXRlID0gZ2V0TG9jYWxpemVkVGVtcGxhdGUocGF0aG5hbWVDb25maWcsIGxvY2FsZSwgaW50ZXJuYWxUZW1wbGF0ZU5hbWUpO1xuICAgICAgICBpZiAobWF0Y2hlc1BhdGhuYW1lKGxvY2FsZVRlbXBsYXRlLCB1bnByZWZpeGVkRXh0ZXJuYWxQYXRobmFtZSkpIHtcbiAgICAgICAgICB1bnByZWZpeGVkSW50ZXJuYWxQYXRobmFtZSA9IGZvcm1hdFRlbXBsYXRlUGF0aG5hbWUodW5wcmVmaXhlZEV4dGVybmFsUGF0aG5hbWUsIGxvY2FsZVRlbXBsYXRlLCBpbnRlcm5hbFRlbXBsYXRlTmFtZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGV0IHNvdXJjZVRlbXBsYXRlO1xuICAgICAgICAgIGlmIChyZXNvbHZlZFRlbXBsYXRlTG9jYWxlKSB7XG4gICAgICAgICAgICAvLyBBIGxvY2FsaXplZCBwYXRobmFtZSBmcm9tIGFub3RoZXIgbG9jYWxlIGhhcyBtYXRjaGVkXG4gICAgICAgICAgICBzb3VyY2VUZW1wbGF0ZSA9IGdldExvY2FsaXplZFRlbXBsYXRlKHBhdGhuYW1lQ29uZmlnLCByZXNvbHZlZFRlbXBsYXRlTG9jYWxlLCBpbnRlcm5hbFRlbXBsYXRlTmFtZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEFuIGludGVybmFsIHBhdGhuYW1lIGhhcyBtYXRjaGVkIHRoYXRcbiAgICAgICAgICAgIC8vIGRvZXNuJ3QgaGF2ZSBhIGxvY2FsaXplZCBwYXRobmFtZVxuICAgICAgICAgICAgc291cmNlVGVtcGxhdGUgPSBpbnRlcm5hbFRlbXBsYXRlTmFtZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgbG9jYWxlUHJlZml4ID0gaXNVbnByZWZpeGVkUm91dGluZyA/IHVuZGVmaW5lZCA6IGdldExvY2FsZVByZWZpeChsb2NhbGUsIHJlc29sdmVkUm91dGluZy5sb2NhbGVQcmVmaXgpO1xuICAgICAgICAgIGNvbnN0IHRlbXBsYXRlID0gZm9ybWF0VGVtcGxhdGVQYXRobmFtZSh1bnByZWZpeGVkRXh0ZXJuYWxQYXRobmFtZSwgc291cmNlVGVtcGxhdGUsIGxvY2FsZVRlbXBsYXRlKTtcbiAgICAgICAgICByZXNwb25zZSA9IHJlZGlyZWN0KGZvcm1hdFBhdGhuYW1lKHRlbXBsYXRlLCBsb2NhbGVQcmVmaXgsIHJlcXVlc3QubmV4dFVybC5zZWFyY2gpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIXJlc3BvbnNlKSB7XG4gICAgICBpZiAodW5wcmVmaXhlZEludGVybmFsUGF0aG5hbWUgPT09ICcvJyAmJiAhaGFzTG9jYWxlUHJlZml4KSB7XG4gICAgICAgIGlmIChpc1VucHJlZml4ZWRSb3V0aW5nKSB7XG4gICAgICAgICAgcmVzcG9uc2UgPSBuZXh0KGZvcm1hdFBhdGhuYW1lKHVucHJlZml4ZWRJbnRlcm5hbFBhdGhuYW1lLCBnZXRMb2NhbGVBc1ByZWZpeChsb2NhbGUpLCByZXF1ZXN0Lm5leHRVcmwuc2VhcmNoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzcG9uc2UgPSByZWRpcmVjdChmb3JtYXRQYXRobmFtZSh1bnByZWZpeGVkRXh0ZXJuYWxQYXRobmFtZSwgZ2V0TG9jYWxlUHJlZml4KGxvY2FsZSwgcmVzb2x2ZWRSb3V0aW5nLmxvY2FsZVByZWZpeCksIHJlcXVlc3QubmV4dFVybC5zZWFyY2gpKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgaW50ZXJuYWxIcmVmID0gZm9ybWF0UGF0aG5hbWUodW5wcmVmaXhlZEludGVybmFsUGF0aG5hbWUsIGdldExvY2FsZUFzUHJlZml4KGxvY2FsZSksIHJlcXVlc3QubmV4dFVybC5zZWFyY2gpO1xuICAgICAgICBpZiAoaGFzTG9jYWxlUHJlZml4KSB7XG4gICAgICAgICAgY29uc3QgZXh0ZXJuYWxIcmVmID0gZm9ybWF0UGF0aG5hbWUodW5wcmVmaXhlZEV4dGVybmFsUGF0aG5hbWUsIHBhdGhuYW1lTWF0Y2gucHJlZml4LCByZXF1ZXN0Lm5leHRVcmwuc2VhcmNoKTtcbiAgICAgICAgICBpZiAocmVzb2x2ZWRSb3V0aW5nLmxvY2FsZVByZWZpeC5tb2RlID09PSAnbmV2ZXInKSB7XG4gICAgICAgICAgICByZXNwb25zZSA9IHJlZGlyZWN0KGZvcm1hdFBhdGhuYW1lKHVucHJlZml4ZWRFeHRlcm5hbFBhdGhuYW1lLCB1bmRlZmluZWQsIHJlcXVlc3QubmV4dFVybC5zZWFyY2gpKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKHBhdGhuYW1lTWF0Y2guZXhhY3QpIHtcbiAgICAgICAgICAgIGlmIChoYXNNYXRjaGVkRGVmYXVsdExvY2FsZSAmJiBpc1VucHJlZml4ZWRSb3V0aW5nKSB7XG4gICAgICAgICAgICAgIHJlc3BvbnNlID0gcmVkaXJlY3QoZm9ybWF0UGF0aG5hbWUodW5wcmVmaXhlZEV4dGVybmFsUGF0aG5hbWUsIHVuZGVmaW5lZCwgcmVxdWVzdC5uZXh0VXJsLnNlYXJjaCkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaWYgKHJlc29sdmVkUm91dGluZy5kb21haW5zKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGF0aERvbWFpbiA9IGdldEJlc3RNYXRjaGluZ0RvbWFpbihkb21haW4sIHBhdGhuYW1lTWF0Y2gubG9jYWxlLCBkb21haW5zQ29uZmlnKTtcbiAgICAgICAgICAgICAgICBpZiAoZG9tYWluPy5kb21haW4gIT09IHBhdGhEb21haW4/LmRvbWFpbiAmJiAhaGFzVW5rbm93bkhvc3QpIHtcbiAgICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gcmVkaXJlY3QoZXh0ZXJuYWxIcmVmLCBwYXRoRG9tYWluPy5kb21haW4pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICByZXNwb25zZSA9IG5leHQoaW50ZXJuYWxIcmVmKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2UgPSBuZXh0KGludGVybmFsSHJlZik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzcG9uc2UgPSByZWRpcmVjdChleHRlcm5hbEhyZWYpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoaXNVbnByZWZpeGVkUm91dGluZykge1xuICAgICAgICAgICAgcmVzcG9uc2UgPSBuZXh0KGludGVybmFsSHJlZik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3BvbnNlID0gcmVkaXJlY3QoZm9ybWF0UGF0aG5hbWUodW5wcmVmaXhlZEV4dGVybmFsUGF0aG5hbWUsIGdldExvY2FsZVByZWZpeChsb2NhbGUsIHJlc29sdmVkUm91dGluZy5sb2NhbGVQcmVmaXgpLCByZXF1ZXN0Lm5leHRVcmwuc2VhcmNoKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHN5bmNDb29raWUocmVxdWVzdCwgcmVzcG9uc2UsIGxvY2FsZSwgcmVzb2x2ZWRSb3V0aW5nLCBkb21haW4pO1xuICAgIGlmICghaGFzUmVkaXJlY3RlZCAmJiByZXNvbHZlZFJvdXRpbmcubG9jYWxlUHJlZml4Lm1vZGUgIT09ICduZXZlcicgJiYgcmVzb2x2ZWRSb3V0aW5nLmFsdGVybmF0ZUxpbmtzICYmIHJlc29sdmVkUm91dGluZy5sb2NhbGVzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCdMaW5rJywgZ2V0QWx0ZXJuYXRlTGlua3NIZWFkZXJWYWx1ZSh7XG4gICAgICAgIHJvdXRpbmc6IHJlc29sdmVkUm91dGluZyxcbiAgICAgICAgaW50ZXJuYWxUZW1wbGF0ZU5hbWUsXG4gICAgICAgIGxvY2FsaXplZFBhdGhuYW1lczogaW50ZXJuYWxUZW1wbGF0ZU5hbWUgIT0gbnVsbCAmJiBwYXRobmFtZXMgPyBwYXRobmFtZXNbaW50ZXJuYWxUZW1wbGF0ZU5hbWVdIDogdW5kZWZpbmVkLFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgICByZXNvbHZlZExvY2FsZTogbG9jYWxlXG4gICAgICB9KSk7XG4gICAgfVxuICAgIHJldHVybiByZXNwb25zZTtcbiAgfTtcbn1cblxuZXhwb3J0IHsgY3JlYXRlTWlkZGxld2FyZSBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/middleware.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/resolveLocale.js":
|
||
/*!*****************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/resolveLocale.js ***!
|
||
\*****************************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ resolveLocale),\n/* harmony export */ getAcceptLanguageLocale: () => (/* binding */ getAcceptLanguageLocale)\n/* harmony export */ });\n/* harmony import */ var _formatjs_intl_localematcher__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @formatjs/intl-localematcher */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+intl-localematcher@0.8.2/node_modules/@formatjs/intl-localematcher/index.js\");\n/* harmony import */ var negotiator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! negotiator */ \"(app-pages-browser)/./node_modules/.pnpm/negotiator@1.0.0/node_modules/negotiator/index.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.js */ \"(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/utils.js\");\n\n\n\n\nfunction findDomainFromHost(requestHeaders, domains) {\n const host = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getHost)(requestHeaders);\n if (host) {\n return domains.find(cur => cur.domain === host);\n }\n return undefined;\n}\nfunction orderLocales(locales) {\n // Workaround for https://github.com/formatjs/formatjs/issues/4469\n return locales.slice().sort((a, b) => b.length - a.length);\n}\nfunction mapToProvidedLocale(locales, locale) {\n return locales.find(cur => cur.toLowerCase() === locale.toLowerCase());\n}\nfunction getAcceptLanguageLocale(requestHeaders, locales, defaultLocale) {\n let locale;\n const languages = new negotiator__WEBPACK_IMPORTED_MODULE_0__({\n headers: {\n 'accept-language': requestHeaders.get('accept-language') || undefined\n }\n }).languages();\n try {\n const orderedLocales = orderLocales(locales);\n locale = mapToProvidedLocale(locales, (0,_formatjs_intl_localematcher__WEBPACK_IMPORTED_MODULE_2__.match)(languages, orderedLocales, defaultLocale));\n } catch {\n // Invalid language\n }\n return locale;\n}\nfunction getLocaleFromCookie(routing, requestCookies) {\n if (routing.localeCookie && requestCookies.has(routing.localeCookie.name)) {\n const value = requestCookies.get(routing.localeCookie.name)?.value;\n if (value && routing.locales.includes(value)) {\n return value;\n }\n }\n}\nfunction resolveLocaleFromPrefix(routing, requestHeaders, requestCookies, pathname) {\n let locale;\n\n // Prio 1: Use route prefix\n if (pathname) {\n locale = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getPathnameMatch)(pathname, routing.locales, routing.localePrefix)?.locale;\n }\n\n // Prio 2: Use existing cookie\n if (!locale && routing.localeDetection) {\n locale = getLocaleFromCookie(routing, requestCookies);\n }\n\n // Prio 3: Use the `accept-language` header\n if (!locale && routing.localeDetection) {\n locale = getAcceptLanguageLocale(requestHeaders, routing.locales, routing.defaultLocale);\n }\n\n // Prio 4: Use default locale\n if (!locale) {\n locale = routing.defaultLocale;\n }\n return locale;\n}\nfunction resolveLocaleFromDomain(routing, requestHeaders, requestCookies, pathname) {\n const domains = routing.domains;\n const domain = findDomainFromHost(requestHeaders, domains);\n if (!domain) {\n return {\n locale: resolveLocaleFromPrefix(routing, requestHeaders, requestCookies, pathname)\n };\n }\n let locale;\n\n // Prio 1: Use route prefix\n if (pathname) {\n const prefixLocale = (0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.getPathnameMatch)(pathname, routing.locales, routing.localePrefix, domain)?.locale;\n if (prefixLocale) {\n if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.isLocaleSupportedOnDomain)(prefixLocale, domain)) {\n locale = prefixLocale;\n } else {\n // Causes a redirect to a domain that supports the locale\n return {\n locale: prefixLocale,\n domain\n };\n }\n }\n }\n\n // Prio 2: Use existing cookie\n if (!locale && routing.localeDetection) {\n const cookieLocale = getLocaleFromCookie(routing, requestCookies);\n if (cookieLocale) {\n if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_1__.isLocaleSupportedOnDomain)(cookieLocale, domain)) {\n locale = cookieLocale;\n }\n }\n }\n\n // Prio 3: Use the `accept-language` header\n if (!locale && routing.localeDetection) {\n const headerLocale = getAcceptLanguageLocale(requestHeaders, domain.locales, domain.defaultLocale);\n if (headerLocale) {\n locale = headerLocale;\n }\n }\n\n // Prio 4: Use default locale\n if (!locale) {\n locale = domain.defaultLocale;\n }\n return {\n locale,\n domain\n };\n}\nfunction resolveLocale(routing, requestHeaders, requestCookies, pathname) {\n if (routing.domains) {\n return resolveLocaleFromDomain(routing, requestHeaders, requestCookies, pathname);\n } else {\n return {\n locale: resolveLocaleFromPrefix(routing, requestHeaders, requestCookies, pathname)\n };\n }\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0LWludGxANC45LjBfQHN3YytoZWxwZXJzQDAuNS4yMF9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDFfNWNiMjVkYmQwMzg0YWZkNmU4NjVhOTBhNjZiOGIzMjkvbm9kZV9tb2R1bGVzL25leHQtaW50bC9kaXN0L2VzbS9kZXZlbG9wbWVudC9taWRkbGV3YXJlL3Jlc29sdmVMb2NhbGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBcUQ7QUFDakI7QUFDOEM7O0FBRWxGO0FBQ0EsZUFBZSxrREFBTztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLHVDQUFVO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsMENBQTBDLG1FQUFLO0FBQy9DLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxhQUFhLDJEQUFnQjtBQUM3Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHlCQUF5QiwyREFBZ0I7QUFDekM7QUFDQSxVQUFVLG9FQUF5QjtBQUNuQztBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxvRUFBeUI7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRTZEIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL25leHQtaW50bEA0LjkuMF9Ac3djK2hlbHBlcnNAMC41LjIwX25leHRAMTYuMS42X0BiYWJlbCtjb3JlQDcuMjkuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMV81Y2IyNWRiZDAzODRhZmQ2ZTg2NWE5MGE2NmI4YjMyOS9ub2RlX21vZHVsZXMvbmV4dC1pbnRsL2Rpc3QvZXNtL2RldmVsb3BtZW50L21pZGRsZXdhcmUvcmVzb2x2ZUxvY2FsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXRjaCB9IGZyb20gJ0Bmb3JtYXRqcy9pbnRsLWxvY2FsZW1hdGNoZXInO1xuaW1wb3J0IE5lZ290aWF0b3IgZnJvbSAnbmVnb3RpYXRvcic7XG5pbXBvcnQgeyBnZXRQYXRobmFtZU1hdGNoLCBpc0xvY2FsZVN1cHBvcnRlZE9uRG9tYWluLCBnZXRIb3N0IH0gZnJvbSAnLi91dGlscy5qcyc7XG5cbmZ1bmN0aW9uIGZpbmREb21haW5Gcm9tSG9zdChyZXF1ZXN0SGVhZGVycywgZG9tYWlucykge1xuICBjb25zdCBob3N0ID0gZ2V0SG9zdChyZXF1ZXN0SGVhZGVycyk7XG4gIGlmIChob3N0KSB7XG4gICAgcmV0dXJuIGRvbWFpbnMuZmluZChjdXIgPT4gY3VyLmRvbWFpbiA9PT0gaG9zdCk7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIG9yZGVyTG9jYWxlcyhsb2NhbGVzKSB7XG4gIC8vIFdvcmthcm91bmQgZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3JtYXRqcy9mb3JtYXRqcy9pc3N1ZXMvNDQ2OVxuICByZXR1cm4gbG9jYWxlcy5zbGljZSgpLnNvcnQoKGEsIGIpID0+IGIubGVuZ3RoIC0gYS5sZW5ndGgpO1xufVxuZnVuY3Rpb24gbWFwVG9Qcm92aWRlZExvY2FsZShsb2NhbGVzLCBsb2NhbGUpIHtcbiAgcmV0dXJuIGxvY2FsZXMuZmluZChjdXIgPT4gY3VyLnRvTG93ZXJDYXNlKCkgPT09IGxvY2FsZS50b0xvd2VyQ2FzZSgpKTtcbn1cbmZ1bmN0aW9uIGdldEFjY2VwdExhbmd1YWdlTG9jYWxlKHJlcXVlc3RIZWFkZXJzLCBsb2NhbGVzLCBkZWZhdWx0TG9jYWxlKSB7XG4gIGxldCBsb2NhbGU7XG4gIGNvbnN0IGxhbmd1YWdlcyA9IG5ldyBOZWdvdGlhdG9yKHtcbiAgICBoZWFkZXJzOiB7XG4gICAgICAnYWNjZXB0LWxhbmd1YWdlJzogcmVxdWVzdEhlYWRlcnMuZ2V0KCdhY2NlcHQtbGFuZ3VhZ2UnKSB8fCB1bmRlZmluZWRcbiAgICB9XG4gIH0pLmxhbmd1YWdlcygpO1xuICB0cnkge1xuICAgIGNvbnN0IG9yZGVyZWRMb2NhbGVzID0gb3JkZXJMb2NhbGVzKGxvY2FsZXMpO1xuICAgIGxvY2FsZSA9IG1hcFRvUHJvdmlkZWRMb2NhbGUobG9jYWxlcywgbWF0Y2gobGFuZ3VhZ2VzLCBvcmRlcmVkTG9jYWxlcywgZGVmYXVsdExvY2FsZSkpO1xuICB9IGNhdGNoIHtcbiAgICAvLyBJbnZhbGlkIGxhbmd1YWdlXG4gIH1cbiAgcmV0dXJuIGxvY2FsZTtcbn1cbmZ1bmN0aW9uIGdldExvY2FsZUZyb21Db29raWUocm91dGluZywgcmVxdWVzdENvb2tpZXMpIHtcbiAgaWYgKHJvdXRpbmcubG9jYWxlQ29va2llICYmIHJlcXVlc3RDb29raWVzLmhhcyhyb3V0aW5nLmxvY2FsZUNvb2tpZS5uYW1lKSkge1xuICAgIGNvbnN0IHZhbHVlID0gcmVxdWVzdENvb2tpZXMuZ2V0KHJvdXRpbmcubG9jYWxlQ29va2llLm5hbWUpPy52YWx1ZTtcbiAgICBpZiAodmFsdWUgJiYgcm91dGluZy5sb2NhbGVzLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gcmVzb2x2ZUxvY2FsZUZyb21QcmVmaXgocm91dGluZywgcmVxdWVzdEhlYWRlcnMsIHJlcXVlc3RDb29raWVzLCBwYXRobmFtZSkge1xuICBsZXQgbG9jYWxlO1xuXG4gIC8vIFByaW8gMTogVXNlIHJvdXRlIHByZWZpeFxuICBpZiAocGF0aG5hbWUpIHtcbiAgICBsb2NhbGUgPSBnZXRQYXRobmFtZU1hdGNoKHBhdGhuYW1lLCByb3V0aW5nLmxvY2FsZXMsIHJvdXRpbmcubG9jYWxlUHJlZml4KT8ubG9jYWxlO1xuICB9XG5cbiAgLy8gUHJpbyAyOiBVc2UgZXhpc3RpbmcgY29va2llXG4gIGlmICghbG9jYWxlICYmIHJvdXRpbmcubG9jYWxlRGV0ZWN0aW9uKSB7XG4gICAgbG9jYWxlID0gZ2V0TG9jYWxlRnJvbUNvb2tpZShyb3V0aW5nLCByZXF1ZXN0Q29va2llcyk7XG4gIH1cblxuICAvLyBQcmlvIDM6IFVzZSB0aGUgYGFjY2VwdC1sYW5ndWFnZWAgaGVhZGVyXG4gIGlmICghbG9jYWxlICYmIHJvdXRpbmcubG9jYWxlRGV0ZWN0aW9uKSB7XG4gICAgbG9jYWxlID0gZ2V0QWNjZXB0TGFuZ3VhZ2VMb2NhbGUocmVxdWVzdEhlYWRlcnMsIHJvdXRpbmcubG9jYWxlcywgcm91dGluZy5kZWZhdWx0TG9jYWxlKTtcbiAgfVxuXG4gIC8vIFByaW8gNDogVXNlIGRlZmF1bHQgbG9jYWxlXG4gIGlmICghbG9jYWxlKSB7XG4gICAgbG9jYWxlID0gcm91dGluZy5kZWZhdWx0TG9jYWxlO1xuICB9XG4gIHJldHVybiBsb2NhbGU7XG59XG5mdW5jdGlvbiByZXNvbHZlTG9jYWxlRnJvbURvbWFpbihyb3V0aW5nLCByZXF1ZXN0SGVhZGVycywgcmVxdWVzdENvb2tpZXMsIHBhdGhuYW1lKSB7XG4gIGNvbnN0IGRvbWFpbnMgPSByb3V0aW5nLmRvbWFpbnM7XG4gIGNvbnN0IGRvbWFpbiA9IGZpbmREb21haW5Gcm9tSG9zdChyZXF1ZXN0SGVhZGVycywgZG9tYWlucyk7XG4gIGlmICghZG9tYWluKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvY2FsZTogcmVzb2x2ZUxvY2FsZUZyb21QcmVmaXgocm91dGluZywgcmVxdWVzdEhlYWRlcnMsIHJlcXVlc3RDb29raWVzLCBwYXRobmFtZSlcbiAgICB9O1xuICB9XG4gIGxldCBsb2NhbGU7XG5cbiAgLy8gUHJpbyAxOiBVc2Ugcm91dGUgcHJlZml4XG4gIGlmIChwYXRobmFtZSkge1xuICAgIGNvbnN0IHByZWZpeExvY2FsZSA9IGdldFBhdGhuYW1lTWF0Y2gocGF0aG5hbWUsIHJvdXRpbmcubG9jYWxlcywgcm91dGluZy5sb2NhbGVQcmVmaXgsIGRvbWFpbik/LmxvY2FsZTtcbiAgICBpZiAocHJlZml4TG9jYWxlKSB7XG4gICAgICBpZiAoaXNMb2NhbGVTdXBwb3J0ZWRPbkRvbWFpbihwcmVmaXhMb2NhbGUsIGRvbWFpbikpIHtcbiAgICAgICAgbG9jYWxlID0gcHJlZml4TG9jYWxlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQ2F1c2VzIGEgcmVkaXJlY3QgdG8gYSBkb21haW4gdGhhdCBzdXBwb3J0cyB0aGUgbG9jYWxlXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbG9jYWxlOiBwcmVmaXhMb2NhbGUsXG4gICAgICAgICAgZG9tYWluXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbyAyOiBVc2UgZXhpc3RpbmcgY29va2llXG4gIGlmICghbG9jYWxlICYmIHJvdXRpbmcubG9jYWxlRGV0ZWN0aW9uKSB7XG4gICAgY29uc3QgY29va2llTG9jYWxlID0gZ2V0TG9jYWxlRnJvbUNvb2tpZShyb3V0aW5nLCByZXF1ZXN0Q29va2llcyk7XG4gICAgaWYgKGNvb2tpZUxvY2FsZSkge1xuICAgICAgaWYgKGlzTG9jYWxlU3VwcG9ydGVkT25Eb21haW4oY29va2llTG9jYWxlLCBkb21haW4pKSB7XG4gICAgICAgIGxvY2FsZSA9IGNvb2tpZUxvY2FsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmlvIDM6IFVzZSB0aGUgYGFjY2VwdC1sYW5ndWFnZWAgaGVhZGVyXG4gIGlmICghbG9jYWxlICYmIHJvdXRpbmcubG9jYWxlRGV0ZWN0aW9uKSB7XG4gICAgY29uc3QgaGVhZGVyTG9jYWxlID0gZ2V0QWNjZXB0TGFuZ3VhZ2VMb2NhbGUocmVxdWVzdEhlYWRlcnMsIGRvbWFpbi5sb2NhbGVzLCBkb21haW4uZGVmYXVsdExvY2FsZSk7XG4gICAgaWYgKGhlYWRlckxvY2FsZSkge1xuICAgICAgbG9jYWxlID0gaGVhZGVyTG9jYWxlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByaW8gNDogVXNlIGRlZmF1bHQgbG9jYWxlXG4gIGlmICghbG9jYWxlKSB7XG4gICAgbG9jYWxlID0gZG9tYWluLmRlZmF1bHRMb2NhbGU7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBsb2NhbGUsXG4gICAgZG9tYWluXG4gIH07XG59XG5mdW5jdGlvbiByZXNvbHZlTG9jYWxlKHJvdXRpbmcsIHJlcXVlc3RIZWFkZXJzLCByZXF1ZXN0Q29va2llcywgcGF0aG5hbWUpIHtcbiAgaWYgKHJvdXRpbmcuZG9tYWlucykge1xuICAgIHJldHVybiByZXNvbHZlTG9jYWxlRnJvbURvbWFpbihyb3V0aW5nLCByZXF1ZXN0SGVhZGVycywgcmVxdWVzdENvb2tpZXMsIHBhdGhuYW1lKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9jYWxlOiByZXNvbHZlTG9jYWxlRnJvbVByZWZpeChyb3V0aW5nLCByZXF1ZXN0SGVhZGVycywgcmVxdWVzdENvb2tpZXMsIHBhdGhuYW1lKVxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IHsgcmVzb2x2ZUxvY2FsZSBhcyBkZWZhdWx0LCBnZXRBY2NlcHRMYW5ndWFnZUxvY2FsZSB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/resolveLocale.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/syncCookie.js":
|
||
/*!**************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/syncCookie.js ***!
|
||
\**************************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ syncCookie)\n/* harmony export */ });\n/* harmony import */ var _resolveLocale_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./resolveLocale.js */ \"(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/resolveLocale.js\");\n\n\nfunction syncCookie(request, response, locale, routing, domain) {\n if (!routing.localeCookie) return;\n const {\n name,\n ...rest\n } = routing.localeCookie;\n const hasLocaleCookie = request.cookies.has(name);\n const hasOutdatedCookie = hasLocaleCookie && request.cookies.get(name)?.value !== locale;\n if (hasOutdatedCookie) {\n response.cookies.set(name, locale, {\n path: request.nextUrl.basePath || undefined,\n ...rest\n });\n } else if (!hasLocaleCookie) {\n const acceptLanguageLocale = (0,_resolveLocale_js__WEBPACK_IMPORTED_MODULE_0__.getAcceptLanguageLocale)(request.headers, domain?.locales || routing.locales, routing.defaultLocale);\n if (acceptLanguageLocale !== locale) {\n response.cookies.set(name, locale, {\n path: request.nextUrl.basePath || undefined,\n ...rest\n });\n }\n }\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0LWludGxANC45LjBfQHN3YytoZWxwZXJzQDAuNS4yMF9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDFfNWNiMjVkYmQwMzg0YWZkNmU4NjVhOTBhNjZiOGIzMjkvbm9kZV9tb2R1bGVzL25leHQtaW50bC9kaXN0L2VzbS9kZXZlbG9wbWVudC9taWRkbGV3YXJlL3N5bmNDb29raWUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBNkQ7O0FBRTdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLElBQUk7QUFDSixpQ0FBaUMsMEVBQXVCO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFaUMiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dC1pbnRsQDQuOS4wX0Bzd2MraGVscGVyc0AwLjUuMjBfbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxXzVjYjI1ZGJkMDM4NGFmZDZlODY1YTkwYTY2YjhiMzI5L25vZGVfbW9kdWxlcy9uZXh0LWludGwvZGlzdC9lc20vZGV2ZWxvcG1lbnQvbWlkZGxld2FyZS9zeW5jQ29va2llLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldEFjY2VwdExhbmd1YWdlTG9jYWxlIH0gZnJvbSAnLi9yZXNvbHZlTG9jYWxlLmpzJztcblxuZnVuY3Rpb24gc3luY0Nvb2tpZShyZXF1ZXN0LCByZXNwb25zZSwgbG9jYWxlLCByb3V0aW5nLCBkb21haW4pIHtcbiAgaWYgKCFyb3V0aW5nLmxvY2FsZUNvb2tpZSkgcmV0dXJuO1xuICBjb25zdCB7XG4gICAgbmFtZSxcbiAgICAuLi5yZXN0XG4gIH0gPSByb3V0aW5nLmxvY2FsZUNvb2tpZTtcbiAgY29uc3QgaGFzTG9jYWxlQ29va2llID0gcmVxdWVzdC5jb29raWVzLmhhcyhuYW1lKTtcbiAgY29uc3QgaGFzT3V0ZGF0ZWRDb29raWUgPSBoYXNMb2NhbGVDb29raWUgJiYgcmVxdWVzdC5jb29raWVzLmdldChuYW1lKT8udmFsdWUgIT09IGxvY2FsZTtcbiAgaWYgKGhhc091dGRhdGVkQ29va2llKSB7XG4gICAgcmVzcG9uc2UuY29va2llcy5zZXQobmFtZSwgbG9jYWxlLCB7XG4gICAgICBwYXRoOiByZXF1ZXN0Lm5leHRVcmwuYmFzZVBhdGggfHwgdW5kZWZpbmVkLFxuICAgICAgLi4ucmVzdFxuICAgIH0pO1xuICB9IGVsc2UgaWYgKCFoYXNMb2NhbGVDb29raWUpIHtcbiAgICBjb25zdCBhY2NlcHRMYW5ndWFnZUxvY2FsZSA9IGdldEFjY2VwdExhbmd1YWdlTG9jYWxlKHJlcXVlc3QuaGVhZGVycywgZG9tYWluPy5sb2NhbGVzIHx8IHJvdXRpbmcubG9jYWxlcywgcm91dGluZy5kZWZhdWx0TG9jYWxlKTtcbiAgICBpZiAoYWNjZXB0TGFuZ3VhZ2VMb2NhbGUgIT09IGxvY2FsZSkge1xuICAgICAgcmVzcG9uc2UuY29va2llcy5zZXQobmFtZSwgbG9jYWxlLCB7XG4gICAgICAgIHBhdGg6IHJlcXVlc3QubmV4dFVybC5iYXNlUGF0aCB8fCB1bmRlZmluZWQsXG4gICAgICAgIC4uLnJlc3RcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgeyBzeW5jQ29va2llIGFzIGRlZmF1bHQgfTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/syncCookie.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/utils.js":
|
||
/*!*********************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/utils.js ***!
|
||
\*********************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ applyBasePath: () => (/* binding */ applyBasePath),\n/* harmony export */ formatPathname: () => (/* binding */ formatPathname),\n/* harmony export */ formatPathnameTemplate: () => (/* binding */ formatPathnameTemplate),\n/* harmony export */ formatTemplatePathname: () => (/* binding */ formatTemplatePathname),\n/* harmony export */ getBestMatchingDomain: () => (/* binding */ getBestMatchingDomain),\n/* harmony export */ getHost: () => (/* binding */ getHost),\n/* harmony export */ getInternalTemplate: () => (/* binding */ getInternalTemplate),\n/* harmony export */ getLocaleAsPrefix: () => (/* binding */ getLocaleAsPrefix),\n/* harmony export */ getLocalePrefixes: () => (/* binding */ getLocalePrefixes),\n/* harmony export */ getNormalizedPathname: () => (/* binding */ getNormalizedPathname),\n/* harmony export */ getPathnameMatch: () => (/* binding */ getPathnameMatch),\n/* harmony export */ getRouteParams: () => (/* binding */ getRouteParams),\n/* harmony export */ isLocaleSupportedOnDomain: () => (/* binding */ isLocaleSupportedOnDomain),\n/* harmony export */ sanitizePathname: () => (/* binding */ sanitizePathname)\n/* harmony export */ });\n/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/utils.js */ \"(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/shared/utils.js\");\n\n\nfunction getInternalTemplate(pathnames, pathname, locale) {\n const sortedPathnames = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.getSortedPathnames)(Object.keys(pathnames));\n\n // Try to find a localized pathname that matches\n for (const internalPathname of sortedPathnames) {\n const localizedPathnamesOrPathname = pathnames[internalPathname];\n if (typeof localizedPathnamesOrPathname === 'string') {\n const localizedPathname = localizedPathnamesOrPathname;\n if ((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.matchesPathname)(localizedPathname, pathname)) {\n return [undefined, internalPathname];\n }\n } else {\n // Prefer the entry with the current locale in case multiple\n // localized pathnames match the current pathname\n const sortedEntries = Object.entries(localizedPathnamesOrPathname);\n const curLocaleIndex = sortedEntries.findIndex(([entryLocale]) => entryLocale === locale);\n if (curLocaleIndex > 0) {\n sortedEntries.unshift(sortedEntries.splice(curLocaleIndex, 1)[0]);\n }\n for (const [entryLocale] of sortedEntries) {\n const localizedTemplate = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.getLocalizedTemplate)(pathnames[internalPathname], entryLocale, internalPathname);\n if ((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.matchesPathname)(localizedTemplate, pathname)) {\n return [entryLocale, internalPathname];\n }\n }\n }\n }\n\n // Try to find an internal pathname that matches (this can be the case\n // if all localized pathnames are different from the internal pathnames)\n for (const internalPathname of Object.keys(pathnames)) {\n if ((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.matchesPathname)(internalPathname, pathname)) {\n return [undefined, internalPathname];\n }\n }\n\n // No match\n return [undefined, undefined];\n}\nfunction formatTemplatePathname(sourcePathname, sourceTemplate, targetTemplate, prefix) {\n const params = getRouteParams(sourceTemplate, sourcePathname);\n let targetPathname = '';\n targetPathname += formatPathnameTemplate(targetTemplate, params);\n\n // A pathname with an optional catchall like `/categories/[[...slug]]`\n // should be normalized to `/categories` if the catchall is not present\n // and no trailing slash is configured\n targetPathname = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.normalizeTrailingSlash)(targetPathname);\n return targetPathname;\n}\n\n/**\n * Removes potential prefixes from the pathname.\n */\nfunction getNormalizedPathname(pathname, locales, localePrefix) {\n // Add trailing slash for consistent handling\n // both for the root as well as nested paths\n if (!pathname.endsWith('/')) {\n pathname += '/';\n }\n const localePrefixes = getLocalePrefixes(locales, localePrefix);\n const regex = new RegExp(`^(${localePrefixes.map(([, prefix]) => prefix.replaceAll('/', '\\\\/')).join('|')})/(.*)`, 'i');\n const match = pathname.match(regex);\n let result = match ? '/' + match[2] : pathname;\n if (result !== '/') {\n result = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.normalizeTrailingSlash)(result);\n }\n return result;\n}\nfunction getLocalePrefixes(locales, localePrefix, sort = true) {\n const prefixes = locales.map(locale => [locale, (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.getLocalePrefix)(locale, localePrefix)]);\n if (sort) {\n // More specific ones first\n prefixes.sort((a, b) => b[1].length - a[1].length);\n }\n return prefixes;\n}\nfunction getPathnameMatch(pathname, locales, localePrefix, domain) {\n const localePrefixes = getLocalePrefixes(locales, localePrefix);\n\n // Sort to prioritize domain locales\n if (domain) {\n localePrefixes.sort(([localeA], [localeB]) => {\n if (localeA === domain.defaultLocale) return -1;\n if (localeB === domain.defaultLocale) return 1;\n const isLocaleAInDomain = domain.locales.includes(localeA);\n const isLocaleBInDomain = domain.locales.includes(localeB);\n if (isLocaleAInDomain && !isLocaleBInDomain) return -1;\n if (!isLocaleAInDomain && isLocaleBInDomain) return 1;\n return 0;\n });\n }\n for (const [locale, prefix] of localePrefixes) {\n let exact, matches;\n if (pathname === prefix || pathname.startsWith(prefix + '/')) {\n exact = matches = true;\n } else {\n const normalizedPathname = pathname.toLowerCase();\n const normalizedPrefix = prefix.toLowerCase();\n if (normalizedPathname === normalizedPrefix || normalizedPathname.startsWith(normalizedPrefix + '/')) {\n exact = false;\n matches = true;\n }\n }\n if (matches) {\n return {\n locale,\n prefix,\n matchedPrefix: pathname.slice(0, prefix.length),\n exact\n };\n }\n }\n}\nfunction getRouteParams(template, pathname) {\n const normalizedPathname = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.normalizeTrailingSlash)(pathname);\n const normalizedTemplate = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.normalizeTrailingSlash)(template);\n const regex = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.templateToRegex)(normalizedTemplate);\n const match = regex.exec(normalizedPathname);\n if (!match) return undefined;\n const params = {};\n const keys = normalizedTemplate.match(/\\[([^\\]]+)\\]/g) ?? [];\n for (let i = 1; i < match.length; i++) {\n const rawKey = keys[i - 1];\n if (!rawKey) continue;\n const key = rawKey.replace(/[[\\]]/g, '');\n const value = match[i] ?? '';\n params[key] = value;\n }\n return params;\n}\nfunction formatPathnameTemplate(template, params) {\n if (!params) return template;\n\n // Simplify syntax for optional catchall ('[[...slug]]') so\n // we can replace the value with simple interpolation\n template = template.replace(/\\[\\[/g, '[').replace(/\\]\\]/g, ']');\n let result = template;\n Object.entries(params).forEach(([key, value]) => {\n result = result.replace(`[${key}]`, value);\n });\n return result;\n}\nfunction formatPathname(pathname, prefix, search) {\n let result = pathname;\n if (prefix) {\n result = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.prefixPathname)(prefix, result);\n }\n if (search) {\n result += search;\n }\n return result;\n}\nfunction getHost(requestHeaders) {\n return requestHeaders.get('x-forwarded-host') ?? requestHeaders.get('host') ?? undefined;\n}\nfunction isLocaleSupportedOnDomain(locale, domain) {\n return domain.defaultLocale === locale || domain.locales.includes(locale);\n}\nfunction getBestMatchingDomain(curHostDomain, locale, domainsConfig) {\n let domainConfig;\n\n // Prio 1: Stay on current domain\n if (curHostDomain && isLocaleSupportedOnDomain(locale, curHostDomain)) {\n domainConfig = curHostDomain;\n }\n\n // Prio 2: Use alternative domain with matching default locale\n if (!domainConfig) {\n domainConfig = domainsConfig.find(cur => cur.defaultLocale === locale);\n }\n\n // Prio 3: Use alternative domain that supports the locale\n if (!domainConfig) {\n domainConfig = domainsConfig.find(cur => cur.locales.includes(locale));\n }\n return domainConfig;\n}\nfunction applyBasePath(pathname, basePath) {\n return (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.normalizeTrailingSlash)(basePath + pathname);\n}\nfunction getLocaleAsPrefix(locale) {\n return `/${locale}`;\n}\nfunction sanitizePathname(pathname) {\n // Sanitize malicious URIs, e.g.:\n // '/en/\\\\example.org → /en/%5C%5Cexample.org'\n // '/en////example.org → /en/example.org'\n return pathname.replace(/\\\\/g, '%5C').replace(/\\/+/g, '/');\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0LWludGxANC45LjBfQHN3YytoZWxwZXJzQDAuNS4yMF9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDFfNWNiMjVkYmQwMzg0YWZkNmU4NjVhOTBhNjZiOGIzMjkvbm9kZV9tb2R1bGVzL25leHQtaW50bC9kaXN0L2VzbS9kZXZlbG9wbWVudC9taWRkbGV3YXJlL3V0aWxzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUF5Szs7QUFFeks7QUFDQSwwQkFBMEIsb0VBQWtCOztBQUU1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxpRUFBZTtBQUN6QjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0Msc0VBQW9CO0FBQ3RELFlBQVksaUVBQWU7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLGlFQUFlO0FBQ3ZCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsd0VBQXNCO0FBQ3pDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MsNEVBQTRFO0FBQzVHO0FBQ0E7QUFDQTtBQUNBLGFBQWEsd0VBQXNCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0RBQWtELGlFQUFlO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsd0VBQXNCO0FBQ25ELDZCQUE2Qix3RUFBc0I7QUFDbkQsZ0JBQWdCLGlFQUFlO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLGtCQUFrQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLElBQUk7QUFDcEMsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLGdFQUFjO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLHdFQUFzQjtBQUMvQjtBQUNBO0FBQ0EsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUUwUiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0LWludGxANC45LjBfQHN3YytoZWxwZXJzQDAuNS4yMF9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDFfNWNiMjVkYmQwMzg0YWZkNmU4NjVhOTBhNjZiOGIzMjkvbm9kZV9tb2R1bGVzL25leHQtaW50bC9kaXN0L2VzbS9kZXZlbG9wbWVudC9taWRkbGV3YXJlL3V0aWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG5vcm1hbGl6ZVRyYWlsaW5nU2xhc2gsIGdldFNvcnRlZFBhdGhuYW1lcywgbWF0Y2hlc1BhdGhuYW1lLCBwcmVmaXhQYXRobmFtZSwgZ2V0TG9jYWxlUHJlZml4LCB0ZW1wbGF0ZVRvUmVnZXgsIGdldExvY2FsaXplZFRlbXBsYXRlIH0gZnJvbSAnLi4vc2hhcmVkL3V0aWxzLmpzJztcblxuZnVuY3Rpb24gZ2V0SW50ZXJuYWxUZW1wbGF0ZShwYXRobmFtZXMsIHBhdGhuYW1lLCBsb2NhbGUpIHtcbiAgY29uc3Qgc29ydGVkUGF0aG5hbWVzID0gZ2V0U29ydGVkUGF0aG5hbWVzKE9iamVjdC5rZXlzKHBhdGhuYW1lcykpO1xuXG4gIC8vIFRyeSB0byBmaW5kIGEgbG9jYWxpemVkIHBhdGhuYW1lIHRoYXQgbWF0Y2hlc1xuICBmb3IgKGNvbnN0IGludGVybmFsUGF0aG5hbWUgb2Ygc29ydGVkUGF0aG5hbWVzKSB7XG4gICAgY29uc3QgbG9jYWxpemVkUGF0aG5hbWVzT3JQYXRobmFtZSA9IHBhdGhuYW1lc1tpbnRlcm5hbFBhdGhuYW1lXTtcbiAgICBpZiAodHlwZW9mIGxvY2FsaXplZFBhdGhuYW1lc09yUGF0aG5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBsb2NhbGl6ZWRQYXRobmFtZSA9IGxvY2FsaXplZFBhdGhuYW1lc09yUGF0aG5hbWU7XG4gICAgICBpZiAobWF0Y2hlc1BhdGhuYW1lKGxvY2FsaXplZFBhdGhuYW1lLCBwYXRobmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIFt1bmRlZmluZWQsIGludGVybmFsUGF0aG5hbWVdO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBQcmVmZXIgdGhlIGVudHJ5IHdpdGggdGhlIGN1cnJlbnQgbG9jYWxlIGluIGNhc2UgbXVsdGlwbGVcbiAgICAgIC8vIGxvY2FsaXplZCBwYXRobmFtZXMgbWF0Y2ggdGhlIGN1cnJlbnQgcGF0aG5hbWVcbiAgICAgIGNvbnN0IHNvcnRlZEVudHJpZXMgPSBPYmplY3QuZW50cmllcyhsb2NhbGl6ZWRQYXRobmFtZXNPclBhdGhuYW1lKTtcbiAgICAgIGNvbnN0IGN1ckxvY2FsZUluZGV4ID0gc29ydGVkRW50cmllcy5maW5kSW5kZXgoKFtlbnRyeUxvY2FsZV0pID0+IGVudHJ5TG9jYWxlID09PSBsb2NhbGUpO1xuICAgICAgaWYgKGN1ckxvY2FsZUluZGV4ID4gMCkge1xuICAgICAgICBzb3J0ZWRFbnRyaWVzLnVuc2hpZnQoc29ydGVkRW50cmllcy5zcGxpY2UoY3VyTG9jYWxlSW5kZXgsIDEpWzBdKTtcbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgW2VudHJ5TG9jYWxlXSBvZiBzb3J0ZWRFbnRyaWVzKSB7XG4gICAgICAgIGNvbnN0IGxvY2FsaXplZFRlbXBsYXRlID0gZ2V0TG9jYWxpemVkVGVtcGxhdGUocGF0aG5hbWVzW2ludGVybmFsUGF0aG5hbWVdLCBlbnRyeUxvY2FsZSwgaW50ZXJuYWxQYXRobmFtZSk7XG4gICAgICAgIGlmIChtYXRjaGVzUGF0aG5hbWUobG9jYWxpemVkVGVtcGxhdGUsIHBhdGhuYW1lKSkge1xuICAgICAgICAgIHJldHVybiBbZW50cnlMb2NhbGUsIGludGVybmFsUGF0aG5hbWVdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVHJ5IHRvIGZpbmQgYW4gaW50ZXJuYWwgcGF0aG5hbWUgdGhhdCBtYXRjaGVzICh0aGlzIGNhbiBiZSB0aGUgY2FzZVxuICAvLyBpZiBhbGwgbG9jYWxpemVkIHBhdGhuYW1lcyBhcmUgZGlmZmVyZW50IGZyb20gdGhlIGludGVybmFsIHBhdGhuYW1lcylcbiAgZm9yIChjb25zdCBpbnRlcm5hbFBhdGhuYW1lIG9mIE9iamVjdC5rZXlzKHBhdGhuYW1lcykpIHtcbiAgICBpZiAobWF0Y2hlc1BhdGhuYW1lKGludGVybmFsUGF0aG5hbWUsIHBhdGhuYW1lKSkge1xuICAgICAgcmV0dXJuIFt1bmRlZmluZWQsIGludGVybmFsUGF0aG5hbWVdO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vIG1hdGNoXG4gIHJldHVybiBbdW5kZWZpbmVkLCB1bmRlZmluZWRdO1xufVxuZnVuY3Rpb24gZm9ybWF0VGVtcGxhdGVQYXRobmFtZShzb3VyY2VQYXRobmFtZSwgc291cmNlVGVtcGxhdGUsIHRhcmdldFRlbXBsYXRlLCBwcmVmaXgpIHtcbiAgY29uc3QgcGFyYW1zID0gZ2V0Um91dGVQYXJhbXMoc291cmNlVGVtcGxhdGUsIHNvdXJjZVBhdGhuYW1lKTtcbiAgbGV0IHRhcmdldFBhdGhuYW1lID0gJyc7XG4gIHRhcmdldFBhdGhuYW1lICs9IGZvcm1hdFBhdGhuYW1lVGVtcGxhdGUodGFyZ2V0VGVtcGxhdGUsIHBhcmFtcyk7XG5cbiAgLy8gQSBwYXRobmFtZSB3aXRoIGFuIG9wdGlvbmFsIGNhdGNoYWxsIGxpa2UgYC9jYXRlZ29yaWVzL1tbLi4uc2x1Z11dYFxuICAvLyBzaG91bGQgYmUgbm9ybWFsaXplZCB0byBgL2NhdGVnb3JpZXNgIGlmIHRoZSBjYXRjaGFsbCBpcyBub3QgcHJlc2VudFxuICAvLyBhbmQgbm8gdHJhaWxpbmcgc2xhc2ggaXMgY29uZmlndXJlZFxuICB0YXJnZXRQYXRobmFtZSA9IG5vcm1hbGl6ZVRyYWlsaW5nU2xhc2godGFyZ2V0UGF0aG5hbWUpO1xuICByZXR1cm4gdGFyZ2V0UGF0aG5hbWU7XG59XG5cbi8qKlxuICogUmVtb3ZlcyBwb3RlbnRpYWwgcHJlZml4ZXMgZnJvbSB0aGUgcGF0aG5hbWUuXG4gKi9cbmZ1bmN0aW9uIGdldE5vcm1hbGl6ZWRQYXRobmFtZShwYXRobmFtZSwgbG9jYWxlcywgbG9jYWxlUHJlZml4KSB7XG4gIC8vIEFkZCB0cmFpbGluZyBzbGFzaCBmb3IgY29uc2lzdGVudCBoYW5kbGluZ1xuICAvLyBib3RoIGZvciB0aGUgcm9vdCBhcyB3ZWxsIGFzIG5lc3RlZCBwYXRoc1xuICBpZiAoIXBhdGhuYW1lLmVuZHNXaXRoKCcvJykpIHtcbiAgICBwYXRobmFtZSArPSAnLyc7XG4gIH1cbiAgY29uc3QgbG9jYWxlUHJlZml4ZXMgPSBnZXRMb2NhbGVQcmVmaXhlcyhsb2NhbGVzLCBsb2NhbGVQcmVmaXgpO1xuICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoYF4oJHtsb2NhbGVQcmVmaXhlcy5tYXAoKFssIHByZWZpeF0pID0+IHByZWZpeC5yZXBsYWNlQWxsKCcvJywgJ1xcXFwvJykpLmpvaW4oJ3wnKX0pLyguKilgLCAnaScpO1xuICBjb25zdCBtYXRjaCA9IHBhdGhuYW1lLm1hdGNoKHJlZ2V4KTtcbiAgbGV0IHJlc3VsdCA9IG1hdGNoID8gJy8nICsgbWF0Y2hbMl0gOiBwYXRobmFtZTtcbiAgaWYgKHJlc3VsdCAhPT0gJy8nKSB7XG4gICAgcmVzdWx0ID0gbm9ybWFsaXplVHJhaWxpbmdTbGFzaChyZXN1bHQpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBnZXRMb2NhbGVQcmVmaXhlcyhsb2NhbGVzLCBsb2NhbGVQcmVmaXgsIHNvcnQgPSB0cnVlKSB7XG4gIGNvbnN0IHByZWZpeGVzID0gbG9jYWxlcy5tYXAobG9jYWxlID0+IFtsb2NhbGUsIGdldExvY2FsZVByZWZpeChsb2NhbGUsIGxvY2FsZVByZWZpeCldKTtcbiAgaWYgKHNvcnQpIHtcbiAgICAvLyBNb3JlIHNwZWNpZmljIG9uZXMgZmlyc3RcbiAgICBwcmVmaXhlcy5zb3J0KChhLCBiKSA9PiBiWzFdLmxlbmd0aCAtIGFbMV0ubGVuZ3RoKTtcbiAgfVxuICByZXR1cm4gcHJlZml4ZXM7XG59XG5mdW5jdGlvbiBnZXRQYXRobmFtZU1hdGNoKHBhdGhuYW1lLCBsb2NhbGVzLCBsb2NhbGVQcmVmaXgsIGRvbWFpbikge1xuICBjb25zdCBsb2NhbGVQcmVmaXhlcyA9IGdldExvY2FsZVByZWZpeGVzKGxvY2FsZXMsIGxvY2FsZVByZWZpeCk7XG5cbiAgLy8gU29ydCB0byBwcmlvcml0aXplIGRvbWFpbiBsb2NhbGVzXG4gIGlmIChkb21haW4pIHtcbiAgICBsb2NhbGVQcmVmaXhlcy5zb3J0KChbbG9jYWxlQV0sIFtsb2NhbGVCXSkgPT4ge1xuICAgICAgaWYgKGxvY2FsZUEgPT09IGRvbWFpbi5kZWZhdWx0TG9jYWxlKSByZXR1cm4gLTE7XG4gICAgICBpZiAobG9jYWxlQiA9PT0gZG9tYWluLmRlZmF1bHRMb2NhbGUpIHJldHVybiAxO1xuICAgICAgY29uc3QgaXNMb2NhbGVBSW5Eb21haW4gPSBkb21haW4ubG9jYWxlcy5pbmNsdWRlcyhsb2NhbGVBKTtcbiAgICAgIGNvbnN0IGlzTG9jYWxlQkluRG9tYWluID0gZG9tYWluLmxvY2FsZXMuaW5jbHVkZXMobG9jYWxlQik7XG4gICAgICBpZiAoaXNMb2NhbGVBSW5Eb21haW4gJiYgIWlzTG9jYWxlQkluRG9tYWluKSByZXR1cm4gLTE7XG4gICAgICBpZiAoIWlzTG9jYWxlQUluRG9tYWluICYmIGlzTG9jYWxlQkluRG9tYWluKSByZXR1cm4gMTtcbiAgICAgIHJldHVybiAwO1xuICAgIH0pO1xuICB9XG4gIGZvciAoY29uc3QgW2xvY2FsZSwgcHJlZml4XSBvZiBsb2NhbGVQcmVmaXhlcykge1xuICAgIGxldCBleGFjdCwgbWF0Y2hlcztcbiAgICBpZiAocGF0aG5hbWUgPT09IHByZWZpeCB8fCBwYXRobmFtZS5zdGFydHNXaXRoKHByZWZpeCArICcvJykpIHtcbiAgICAgIGV4YWN0ID0gbWF0Y2hlcyA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRQYXRobmFtZSA9IHBhdGhuYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICBjb25zdCBub3JtYWxpemVkUHJlZml4ID0gcHJlZml4LnRvTG93ZXJDYXNlKCk7XG4gICAgICBpZiAobm9ybWFsaXplZFBhdGhuYW1lID09PSBub3JtYWxpemVkUHJlZml4IHx8IG5vcm1hbGl6ZWRQYXRobmFtZS5zdGFydHNXaXRoKG5vcm1hbGl6ZWRQcmVmaXggKyAnLycpKSB7XG4gICAgICAgIGV4YWN0ID0gZmFsc2U7XG4gICAgICAgIG1hdGNoZXMgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAobWF0Y2hlcykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBwcmVmaXgsXG4gICAgICAgIG1hdGNoZWRQcmVmaXg6IHBhdGhuYW1lLnNsaWNlKDAsIHByZWZpeC5sZW5ndGgpLFxuICAgICAgICBleGFjdFxuICAgICAgfTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGdldFJvdXRlUGFyYW1zKHRlbXBsYXRlLCBwYXRobmFtZSkge1xuICBjb25zdCBub3JtYWxpemVkUGF0aG5hbWUgPSBub3JtYWxpemVUcmFpbGluZ1NsYXNoKHBhdGhuYW1lKTtcbiAgY29uc3Qgbm9ybWFsaXplZFRlbXBsYXRlID0gbm9ybWFsaXplVHJhaWxpbmdTbGFzaCh0ZW1wbGF0ZSk7XG4gIGNvbnN0IHJlZ2V4ID0gdGVtcGxhdGVUb1JlZ2V4KG5vcm1hbGl6ZWRUZW1wbGF0ZSk7XG4gIGNvbnN0IG1hdGNoID0gcmVnZXguZXhlYyhub3JtYWxpemVkUGF0aG5hbWUpO1xuICBpZiAoIW1hdGNoKSByZXR1cm4gdW5kZWZpbmVkO1xuICBjb25zdCBwYXJhbXMgPSB7fTtcbiAgY29uc3Qga2V5cyA9IG5vcm1hbGl6ZWRUZW1wbGF0ZS5tYXRjaCgvXFxbKFteXFxdXSspXFxdL2cpID8/IFtdO1xuICBmb3IgKGxldCBpID0gMTsgaSA8IG1hdGNoLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgcmF3S2V5ID0ga2V5c1tpIC0gMV07XG4gICAgaWYgKCFyYXdLZXkpIGNvbnRpbnVlO1xuICAgIGNvbnN0IGtleSA9IHJhd0tleS5yZXBsYWNlKC9bW1xcXV0vZywgJycpO1xuICAgIGNvbnN0IHZhbHVlID0gbWF0Y2hbaV0gPz8gJyc7XG4gICAgcGFyYW1zW2tleV0gPSB2YWx1ZTtcbiAgfVxuICByZXR1cm4gcGFyYW1zO1xufVxuZnVuY3Rpb24gZm9ybWF0UGF0aG5hbWVUZW1wbGF0ZSh0ZW1wbGF0ZSwgcGFyYW1zKSB7XG4gIGlmICghcGFyYW1zKSByZXR1cm4gdGVtcGxhdGU7XG5cbiAgLy8gU2ltcGxpZnkgc3ludGF4IGZvciBvcHRpb25hbCBjYXRjaGFsbCAoJ1tbLi4uc2x1Z11dJykgc29cbiAgLy8gd2UgY2FuIHJlcGxhY2UgdGhlIHZhbHVlIHdpdGggc2ltcGxlIGludGVycG9sYXRpb25cbiAgdGVtcGxhdGUgPSB0ZW1wbGF0ZS5yZXBsYWNlKC9cXFtcXFsvZywgJ1snKS5yZXBsYWNlKC9cXF1cXF0vZywgJ10nKTtcbiAgbGV0IHJlc3VsdCA9IHRlbXBsYXRlO1xuICBPYmplY3QuZW50cmllcyhwYXJhbXMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKGBbJHtrZXl9XWAsIHZhbHVlKTtcbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBmb3JtYXRQYXRobmFtZShwYXRobmFtZSwgcHJlZml4LCBzZWFyY2gpIHtcbiAgbGV0IHJlc3VsdCA9IHBhdGhuYW1lO1xuICBpZiAocHJlZml4KSB7XG4gICAgcmVzdWx0ID0gcHJlZml4UGF0aG5hbWUocHJlZml4LCByZXN1bHQpO1xuICB9XG4gIGlmIChzZWFyY2gpIHtcbiAgICByZXN1bHQgKz0gc2VhcmNoO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBnZXRIb3N0KHJlcXVlc3RIZWFkZXJzKSB7XG4gIHJldHVybiByZXF1ZXN0SGVhZGVycy5nZXQoJ3gtZm9yd2FyZGVkLWhvc3QnKSA/PyByZXF1ZXN0SGVhZGVycy5nZXQoJ2hvc3QnKSA/PyB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBpc0xvY2FsZVN1cHBvcnRlZE9uRG9tYWluKGxvY2FsZSwgZG9tYWluKSB7XG4gIHJldHVybiBkb21haW4uZGVmYXVsdExvY2FsZSA9PT0gbG9jYWxlIHx8IGRvbWFpbi5sb2NhbGVzLmluY2x1ZGVzKGxvY2FsZSk7XG59XG5mdW5jdGlvbiBnZXRCZXN0TWF0Y2hpbmdEb21haW4oY3VySG9zdERvbWFpbiwgbG9jYWxlLCBkb21haW5zQ29uZmlnKSB7XG4gIGxldCBkb21haW5Db25maWc7XG5cbiAgLy8gUHJpbyAxOiBTdGF5IG9uIGN1cnJlbnQgZG9tYWluXG4gIGlmIChjdXJIb3N0RG9tYWluICYmIGlzTG9jYWxlU3VwcG9ydGVkT25Eb21haW4obG9jYWxlLCBjdXJIb3N0RG9tYWluKSkge1xuICAgIGRvbWFpbkNvbmZpZyA9IGN1ckhvc3REb21haW47XG4gIH1cblxuICAvLyBQcmlvIDI6IFVzZSBhbHRlcm5hdGl2ZSBkb21haW4gd2l0aCBtYXRjaGluZyBkZWZhdWx0IGxvY2FsZVxuICBpZiAoIWRvbWFpbkNvbmZpZykge1xuICAgIGRvbWFpbkNvbmZpZyA9IGRvbWFpbnNDb25maWcuZmluZChjdXIgPT4gY3VyLmRlZmF1bHRMb2NhbGUgPT09IGxvY2FsZSk7XG4gIH1cblxuICAvLyBQcmlvIDM6IFVzZSBhbHRlcm5hdGl2ZSBkb21haW4gdGhhdCBzdXBwb3J0cyB0aGUgbG9jYWxlXG4gIGlmICghZG9tYWluQ29uZmlnKSB7XG4gICAgZG9tYWluQ29uZmlnID0gZG9tYWluc0NvbmZpZy5maW5kKGN1ciA9PiBjdXIubG9jYWxlcy5pbmNsdWRlcyhsb2NhbGUpKTtcbiAgfVxuICByZXR1cm4gZG9tYWluQ29uZmlnO1xufVxuZnVuY3Rpb24gYXBwbHlCYXNlUGF0aChwYXRobmFtZSwgYmFzZVBhdGgpIHtcbiAgcmV0dXJuIG5vcm1hbGl6ZVRyYWlsaW5nU2xhc2goYmFzZVBhdGggKyBwYXRobmFtZSk7XG59XG5mdW5jdGlvbiBnZXRMb2NhbGVBc1ByZWZpeChsb2NhbGUpIHtcbiAgcmV0dXJuIGAvJHtsb2NhbGV9YDtcbn1cbmZ1bmN0aW9uIHNhbml0aXplUGF0aG5hbWUocGF0aG5hbWUpIHtcbiAgLy8gU2FuaXRpemUgbWFsaWNpb3VzIFVSSXMsIGUuZy46XG4gIC8vICcvZW4vXFxcXGV4YW1wbGUub3JnIOKGkiAvZW4vJTVDJTVDZXhhbXBsZS5vcmcnXG4gIC8vICcvZW4vLy8vZXhhbXBsZS5vcmcg4oaSIC9lbi9leGFtcGxlLm9yZydcbiAgcmV0dXJuIHBhdGhuYW1lLnJlcGxhY2UoL1xcXFwvZywgJyU1QycpLnJlcGxhY2UoL1xcLysvZywgJy8nKTtcbn1cblxuZXhwb3J0IHsgYXBwbHlCYXNlUGF0aCwgZm9ybWF0UGF0aG5hbWUsIGZvcm1hdFBhdGhuYW1lVGVtcGxhdGUsIGZvcm1hdFRlbXBsYXRlUGF0aG5hbWUsIGdldEJlc3RNYXRjaGluZ0RvbWFpbiwgZ2V0SG9zdCwgZ2V0SW50ZXJuYWxUZW1wbGF0ZSwgZ2V0TG9jYWxlQXNQcmVmaXgsIGdldExvY2FsZVByZWZpeGVzLCBnZXROb3JtYWxpemVkUGF0aG5hbWUsIGdldFBhdGhuYW1lTWF0Y2gsIGdldFJvdXRlUGFyYW1zLCBpc0xvY2FsZVN1cHBvcnRlZE9uRG9tYWluLCBzYW5pdGl6ZVBhdGhuYW1lIH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/middleware/utils.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/react-client/index.js":
|
||
/*!***********************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/react-client/index.js ***!
|
||
\***********************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useFormatter: () => (/* binding */ useFormatter),\n/* harmony export */ useTranslations: () => (/* binding */ useTranslations)\n/* harmony export */ });\n/* harmony import */ var use_intl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! use-intl */ \"(app-pages-browser)/./node_modules/.pnpm/use-intl@4.9.0_react@19.2.4/node_modules/use-intl/dist/esm/development/react.js\");\n\n\n/**\n * This is the main entry file when non-'react-server'\n * environments import from 'next-intl'.\n *\n * Maintainer notes:\n * - Make sure this mirrors the API from 'react-server'.\n * - Make sure everything exported from this module is\n * supported in all Next.js versions that are supported.\n */\n\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\nfunction callHook(name, hook) {\n return (...args) => {\n try {\n return hook(...args);\n } catch {\n throw new Error(`Failed to call \\`${name}\\` because the context from \\`NextIntlClientProvider\\` was not found.\n\nThis can happen because:\n1) You intended to render this component as a Server Component, the render\n failed, and therefore React attempted to render the component on the client\n instead. If this is the case, check the console for server errors.\n2) You intended to render this component on the client side, but no context was found.\n Learn more about this error here: https://next-intl.dev/docs/environments/server-client-components#missing-context` );\n }\n };\n}\nconst useTranslations = callHook('useTranslations', use_intl__WEBPACK_IMPORTED_MODULE_0__.useTranslations);\nconst useFormatter = callHook('useFormatter', use_intl__WEBPACK_IMPORTED_MODULE_0__.useFormatter);\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0LWludGxANC45LjBfQHN3YytoZWxwZXJzQDAuNS4yMF9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDFfNWNiMjVkYmQwMzg0YWZkNmU4NjVhOTBhNjZiOGIzMjkvbm9kZV9tb2R1bGVzL25leHQtaW50bC9kaXN0L2VzbS9kZXZlbG9wbWVudC9yZWFjdC1jbGllbnQvaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQWdHOztBQUVoRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ04sMENBQTBDLEtBQUs7O0FBRS9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRCxxREFBaUI7QUFDckUsOENBQThDLGtEQUFjOztBQUVuQiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0LWludGxANC45LjBfQHN3YytoZWxwZXJzQDAuNS4yMF9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDFfNWNiMjVkYmQwMzg0YWZkNmU4NjVhOTBhNjZiOGIzMjkvbm9kZV9tb2R1bGVzL25leHQtaW50bC9kaXN0L2VzbS9kZXZlbG9wbWVudC9yZWFjdC1jbGllbnQvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRm9ybWF0dGVyIGFzIHVzZUZvcm1hdHRlciQxLCB1c2VUcmFuc2xhdGlvbnMgYXMgdXNlVHJhbnNsYXRpb25zJDEgfSBmcm9tICd1c2UtaW50bCc7XG5cbi8qKlxuICogVGhpcyBpcyB0aGUgbWFpbiBlbnRyeSBmaWxlIHdoZW4gbm9uLSdyZWFjdC1zZXJ2ZXInXG4gKiBlbnZpcm9ubWVudHMgaW1wb3J0IGZyb20gJ25leHQtaW50bCcuXG4gKlxuICogTWFpbnRhaW5lciBub3RlczpcbiAqIC0gTWFrZSBzdXJlIHRoaXMgbWlycm9ycyB0aGUgQVBJIGZyb20gJ3JlYWN0LXNlcnZlcicuXG4gKiAtIE1ha2Ugc3VyZSBldmVyeXRoaW5nIGV4cG9ydGVkIGZyb20gdGhpcyBtb2R1bGUgaXNcbiAqICAgc3VwcG9ydGVkIGluIGFsbCBOZXh0LmpzIHZlcnNpb25zIHRoYXQgYXJlIHN1cHBvcnRlZC5cbiAqL1xuXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWZ1bmN0aW9uLXR5cGVcbmZ1bmN0aW9uIGNhbGxIb29rKG5hbWUsIGhvb2spIHtcbiAgcmV0dXJuICguLi5hcmdzKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBob29rKC4uLmFyZ3MpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gY2FsbCBcXGAke25hbWV9XFxgIGJlY2F1c2UgdGhlIGNvbnRleHQgZnJvbSBcXGBOZXh0SW50bENsaWVudFByb3ZpZGVyXFxgIHdhcyBub3QgZm91bmQuXG5cblRoaXMgY2FuIGhhcHBlbiBiZWNhdXNlOlxuMSkgWW91IGludGVuZGVkIHRvIHJlbmRlciB0aGlzIGNvbXBvbmVudCBhcyBhIFNlcnZlciBDb21wb25lbnQsIHRoZSByZW5kZXJcbiAgIGZhaWxlZCwgYW5kIHRoZXJlZm9yZSBSZWFjdCBhdHRlbXB0ZWQgdG8gcmVuZGVyIHRoZSBjb21wb25lbnQgb24gdGhlIGNsaWVudFxuICAgaW5zdGVhZC4gSWYgdGhpcyBpcyB0aGUgY2FzZSwgY2hlY2sgdGhlIGNvbnNvbGUgZm9yIHNlcnZlciBlcnJvcnMuXG4yKSBZb3UgaW50ZW5kZWQgdG8gcmVuZGVyIHRoaXMgY29tcG9uZW50IG9uIHRoZSBjbGllbnQgc2lkZSwgYnV0IG5vIGNvbnRleHQgd2FzIGZvdW5kLlxuICAgTGVhcm4gbW9yZSBhYm91dCB0aGlzIGVycm9yIGhlcmU6IGh0dHBzOi8vbmV4dC1pbnRsLmRldi9kb2NzL2Vudmlyb25tZW50cy9zZXJ2ZXItY2xpZW50LWNvbXBvbmVudHMjbWlzc2luZy1jb250ZXh0YCApO1xuICAgIH1cbiAgfTtcbn1cbmNvbnN0IHVzZVRyYW5zbGF0aW9ucyA9IGNhbGxIb29rKCd1c2VUcmFuc2xhdGlvbnMnLCB1c2VUcmFuc2xhdGlvbnMkMSk7XG5jb25zdCB1c2VGb3JtYXR0ZXIgPSBjYWxsSG9vaygndXNlRm9ybWF0dGVyJywgdXNlRm9ybWF0dGVyJDEpO1xuXG5leHBvcnQgeyB1c2VGb3JtYXR0ZXIsIHVzZVRyYW5zbGF0aW9ucyB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/react-client/index.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/routing/config.js":
|
||
/*!*******************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/routing/config.js ***!
|
||
\*******************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ receiveRoutingConfig: () => (/* binding */ receiveRoutingConfig)\n/* harmony export */ });\nfunction receiveRoutingConfig(input) {\n return {\n ...input,\n localePrefix: receiveLocalePrefixConfig(input.localePrefix),\n localeCookie: receiveLocaleCookie(input.localeCookie),\n localeDetection: input.localeDetection ?? true,\n alternateLinks: input.alternateLinks ?? true\n };\n}\nfunction receiveLocaleCookie(localeCookie) {\n return localeCookie ?? true ? {\n name: 'NEXT_LOCALE',\n sameSite: 'lax',\n ...(typeof localeCookie === 'object' && localeCookie)\n\n // `path` needs to be provided based on a detected base path\n // that depends on the environment when setting a cookie\n } : false;\n}\nfunction receiveLocalePrefixConfig(localePrefix) {\n return typeof localePrefix === 'object' ? localePrefix : {\n mode: localePrefix || 'always'\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0LWludGxANC45LjBfQHN3YytoZWxwZXJzQDAuNS4yMF9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDFfNWNiMjVkYmQwMzg0YWZkNmU4NjVhOTBhNjZiOGIzMjkvbm9kZV9tb2R1bGVzL25leHQtaW50bC9kaXN0L2VzbS9kZXZlbG9wbWVudC9yb3V0aW5nL2NvbmZpZy5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFZ0MiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dC1pbnRsQDQuOS4wX0Bzd2MraGVscGVyc0AwLjUuMjBfbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxXzVjYjI1ZGJkMDM4NGFmZDZlODY1YTkwYTY2YjhiMzI5L25vZGVfbW9kdWxlcy9uZXh0LWludGwvZGlzdC9lc20vZGV2ZWxvcG1lbnQvcm91dGluZy9jb25maWcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gcmVjZWl2ZVJvdXRpbmdDb25maWcoaW5wdXQpIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5pbnB1dCxcbiAgICBsb2NhbGVQcmVmaXg6IHJlY2VpdmVMb2NhbGVQcmVmaXhDb25maWcoaW5wdXQubG9jYWxlUHJlZml4KSxcbiAgICBsb2NhbGVDb29raWU6IHJlY2VpdmVMb2NhbGVDb29raWUoaW5wdXQubG9jYWxlQ29va2llKSxcbiAgICBsb2NhbGVEZXRlY3Rpb246IGlucHV0LmxvY2FsZURldGVjdGlvbiA/PyB0cnVlLFxuICAgIGFsdGVybmF0ZUxpbmtzOiBpbnB1dC5hbHRlcm5hdGVMaW5rcyA/PyB0cnVlXG4gIH07XG59XG5mdW5jdGlvbiByZWNlaXZlTG9jYWxlQ29va2llKGxvY2FsZUNvb2tpZSkge1xuICByZXR1cm4gbG9jYWxlQ29va2llID8/IHRydWUgPyB7XG4gICAgbmFtZTogJ05FWFRfTE9DQUxFJyxcbiAgICBzYW1lU2l0ZTogJ2xheCcsXG4gICAgLi4uKHR5cGVvZiBsb2NhbGVDb29raWUgPT09ICdvYmplY3QnICYmIGxvY2FsZUNvb2tpZSlcblxuICAgIC8vIGBwYXRoYCBuZWVkcyB0byBiZSBwcm92aWRlZCBiYXNlZCBvbiBhIGRldGVjdGVkIGJhc2UgcGF0aFxuICAgIC8vIHRoYXQgZGVwZW5kcyBvbiB0aGUgZW52aXJvbm1lbnQgd2hlbiBzZXR0aW5nIGEgY29va2llXG4gIH0gOiBmYWxzZTtcbn1cbmZ1bmN0aW9uIHJlY2VpdmVMb2NhbGVQcmVmaXhDb25maWcobG9jYWxlUHJlZml4KSB7XG4gIHJldHVybiB0eXBlb2YgbG9jYWxlUHJlZml4ID09PSAnb2JqZWN0JyA/IGxvY2FsZVByZWZpeCA6IHtcbiAgICBtb2RlOiBsb2NhbGVQcmVmaXggfHwgJ2Fsd2F5cydcbiAgfTtcbn1cblxuZXhwb3J0IHsgcmVjZWl2ZVJvdXRpbmdDb25maWcgfTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/routing/config.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/server/react-client/index.js":
|
||
/*!******************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/server/react-client/index.js ***!
|
||
\******************************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getExtracted: () => (/* binding */ getExtracted),\n/* harmony export */ getFormatter: () => (/* binding */ getFormatter),\n/* harmony export */ getLocale: () => (/* binding */ getLocale),\n/* harmony export */ getMessages: () => (/* binding */ getMessages),\n/* harmony export */ getNow: () => (/* binding */ getNow),\n/* harmony export */ getRequestConfig: () => (/* binding */ getRequestConfig),\n/* harmony export */ getTimeZone: () => (/* binding */ getTimeZone),\n/* harmony export */ getTranslations: () => (/* binding */ getTranslations),\n/* harmony export */ setRequestLocale: () => (/* binding */ setRequestLocale)\n/* harmony export */ });\n/**\n * Allows to import `next-intl/server` in non-RSC environments.\n *\n * This is mostly relevant for testing, since e.g. a `generateMetadata`\n * export from a page might use `next-intl/server`, but the test\n * only uses the default export for a page.\n */\n\nfunction notSupported(message) {\n return () => {\n throw new Error(`\\`${message}\\` is not supported in Client Components.`);\n };\n}\nfunction getRequestConfig(\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\n...args) {\n return notSupported('getRequestConfig');\n}\nconst getFormatter = notSupported('getFormatter');\nconst getNow = notSupported('getNow');\nconst getTimeZone = notSupported('getTimeZone');\nconst getMessages = notSupported('getMessages');\nconst getLocale = notSupported('getLocale');\nconst getExtracted = notSupported('getExtracted');\n\n// The type of `getTranslations` is not assigned here because it\n// causes a type error. The types use the `react-server` entry\n// anyway, therefore this is irrelevant.\nconst getTranslations = notSupported('getTranslations');\nconst setRequestLocale = notSupported('setRequestLocale');\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0LWludGxANC45LjBfQHN3YytoZWxwZXJzQDAuNS4yMF9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDFfNWNiMjVkYmQwMzg0YWZkNmU4NjVhOTBhNjZiOGIzMjkvbm9kZV9tb2R1bGVzL25leHQtaW50bC9kaXN0L2VzbS9kZXZlbG9wbWVudC9zZXJ2ZXIvcmVhY3QtY2xpZW50L2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5QkFBeUIsUUFBUTtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUV3SSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0LWludGxANC45LjBfQHN3YytoZWxwZXJzQDAuNS4yMF9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDFfNWNiMjVkYmQwMzg0YWZkNmU4NjVhOTBhNjZiOGIzMjkvbm9kZV9tb2R1bGVzL25leHQtaW50bC9kaXN0L2VzbS9kZXZlbG9wbWVudC9zZXJ2ZXIvcmVhY3QtY2xpZW50L2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQWxsb3dzIHRvIGltcG9ydCBgbmV4dC1pbnRsL3NlcnZlcmAgaW4gbm9uLVJTQyBlbnZpcm9ubWVudHMuXG4gKlxuICogVGhpcyBpcyBtb3N0bHkgcmVsZXZhbnQgZm9yIHRlc3RpbmcsIHNpbmNlIGUuZy4gYSBgZ2VuZXJhdGVNZXRhZGF0YWBcbiAqIGV4cG9ydCBmcm9tIGEgcGFnZSBtaWdodCB1c2UgYG5leHQtaW50bC9zZXJ2ZXJgLCBidXQgdGhlIHRlc3RcbiAqIG9ubHkgdXNlcyB0aGUgZGVmYXVsdCBleHBvcnQgZm9yIGEgcGFnZS5cbiAqL1xuXG5mdW5jdGlvbiBub3RTdXBwb3J0ZWQobWVzc2FnZSkge1xuICByZXR1cm4gKCkgPT4ge1xuICAgIHRocm93IG5ldyBFcnJvcihgXFxgJHttZXNzYWdlfVxcYCBpcyBub3Qgc3VwcG9ydGVkIGluIENsaWVudCBDb21wb25lbnRzLmApO1xuICB9O1xufVxuZnVuY3Rpb24gZ2V0UmVxdWVzdENvbmZpZyhcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbi4uLmFyZ3MpIHtcbiAgcmV0dXJuIG5vdFN1cHBvcnRlZCgnZ2V0UmVxdWVzdENvbmZpZycpO1xufVxuY29uc3QgZ2V0Rm9ybWF0dGVyID0gbm90U3VwcG9ydGVkKCdnZXRGb3JtYXR0ZXInKTtcbmNvbnN0IGdldE5vdyA9IG5vdFN1cHBvcnRlZCgnZ2V0Tm93Jyk7XG5jb25zdCBnZXRUaW1lWm9uZSA9IG5vdFN1cHBvcnRlZCgnZ2V0VGltZVpvbmUnKTtcbmNvbnN0IGdldE1lc3NhZ2VzID0gbm90U3VwcG9ydGVkKCdnZXRNZXNzYWdlcycpO1xuY29uc3QgZ2V0TG9jYWxlID0gbm90U3VwcG9ydGVkKCdnZXRMb2NhbGUnKTtcbmNvbnN0IGdldEV4dHJhY3RlZCA9IG5vdFN1cHBvcnRlZCgnZ2V0RXh0cmFjdGVkJyk7XG5cbi8vIFRoZSB0eXBlIG9mIGBnZXRUcmFuc2xhdGlvbnNgIGlzIG5vdCBhc3NpZ25lZCBoZXJlIGJlY2F1c2UgaXRcbi8vIGNhdXNlcyBhIHR5cGUgZXJyb3IuIFRoZSB0eXBlcyB1c2UgdGhlIGByZWFjdC1zZXJ2ZXJgIGVudHJ5XG4vLyBhbnl3YXksIHRoZXJlZm9yZSB0aGlzIGlzIGlycmVsZXZhbnQuXG5jb25zdCBnZXRUcmFuc2xhdGlvbnMgPSBub3RTdXBwb3J0ZWQoJ2dldFRyYW5zbGF0aW9ucycpO1xuY29uc3Qgc2V0UmVxdWVzdExvY2FsZSA9IG5vdFN1cHBvcnRlZCgnc2V0UmVxdWVzdExvY2FsZScpO1xuXG5leHBvcnQgeyBnZXRFeHRyYWN0ZWQsIGdldEZvcm1hdHRlciwgZ2V0TG9jYWxlLCBnZXRNZXNzYWdlcywgZ2V0Tm93LCBnZXRSZXF1ZXN0Q29uZmlnLCBnZXRUaW1lWm9uZSwgZ2V0VHJhbnNsYXRpb25zLCBzZXRSZXF1ZXN0TG9jYWxlIH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/server/react-client/index.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/shared/constants.js":
|
||
/*!*********************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/shared/constants.js ***!
|
||
\*********************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HEADER_LOCALE_NAME: () => (/* binding */ HEADER_LOCALE_NAME)\n/* harmony export */ });\n// Used to read the locale from the middleware\nconst HEADER_LOCALE_NAME = 'X-NEXT-INTL-LOCALE';\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0LWludGxANC45LjBfQHN3YytoZWxwZXJzQDAuNS4yMF9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDFfNWNiMjVkYmQwMzg0YWZkNmU4NjVhOTBhNjZiOGIzMjkvbm9kZV9tb2R1bGVzL25leHQtaW50bC9kaXN0L2VzbS9kZXZlbG9wbWVudC9zaGFyZWQvY29uc3RhbnRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBOztBQUU4QiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0LWludGxANC45LjBfQHN3YytoZWxwZXJzQDAuNS4yMF9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDFfNWNiMjVkYmQwMzg0YWZkNmU4NjVhOTBhNjZiOGIzMjkvbm9kZV9tb2R1bGVzL25leHQtaW50bC9kaXN0L2VzbS9kZXZlbG9wbWVudC9zaGFyZWQvY29uc3RhbnRzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFVzZWQgdG8gcmVhZCB0aGUgbG9jYWxlIGZyb20gdGhlIG1pZGRsZXdhcmVcbmNvbnN0IEhFQURFUl9MT0NBTEVfTkFNRSA9ICdYLU5FWFQtSU5UTC1MT0NBTEUnO1xuXG5leHBvcnQgeyBIRUFERVJfTE9DQUxFX05BTUUgfTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/shared/constants.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/shared/utils.js":
|
||
/*!*****************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/shared/utils.js ***!
|
||
\*****************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getLocaleAsPrefix: () => (/* binding */ getLocaleAsPrefix),\n/* harmony export */ getLocalePrefix: () => (/* binding */ getLocalePrefix),\n/* harmony export */ getLocalizedTemplate: () => (/* binding */ getLocalizedTemplate),\n/* harmony export */ getSortedPathnames: () => (/* binding */ getSortedPathnames),\n/* harmony export */ hasPathnamePrefixed: () => (/* binding */ hasPathnamePrefixed),\n/* harmony export */ isLocalizableHref: () => (/* binding */ isLocalizableHref),\n/* harmony export */ isPromise: () => (/* binding */ isPromise),\n/* harmony export */ matchesPathname: () => (/* binding */ matchesPathname),\n/* harmony export */ normalizeTrailingSlash: () => (/* binding */ normalizeTrailingSlash),\n/* harmony export */ prefixPathname: () => (/* binding */ prefixPathname),\n/* harmony export */ templateToRegex: () => (/* binding */ templateToRegex),\n/* harmony export */ unprefixPathname: () => (/* binding */ unprefixPathname)\n/* harmony export */ });\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"(app-pages-browser)/./node_modules/.pnpm/process@0.11.10/node_modules/process/browser.js\");\nfunction isRelativeHref(href) {\n const pathname = typeof href === 'object' ? href.pathname : href;\n return pathname != null && !pathname.startsWith('/');\n}\nfunction isLocalHref(href) {\n if (typeof href === 'object') {\n return href.host == null && href.hostname == null;\n } else {\n const hasProtocol = /^[a-z]+:/i.test(href);\n return !hasProtocol;\n }\n}\nfunction isLocalizableHref(href) {\n return isLocalHref(href) && !isRelativeHref(href);\n}\nfunction unprefixPathname(pathname, prefix) {\n return pathname.replace(new RegExp(`^${prefix}`), '') || '/';\n}\nfunction prefixPathname(prefix, pathname) {\n let localizedHref = prefix;\n\n // Avoid trailing slashes\n if (/^\\/(\\?.*)?$/.test(pathname)) {\n pathname = pathname.slice(1);\n }\n localizedHref += pathname;\n return localizedHref;\n}\nfunction hasPathnamePrefixed(prefix, pathname) {\n return pathname === prefix || pathname.startsWith(`${prefix}/`);\n}\nfunction hasTrailingSlash() {\n try {\n // Provided via `env` setting in `next.config.js` via the plugin\n return process.env._next_intl_trailing_slash === 'true';\n } catch {\n return false;\n }\n}\nfunction getLocalizedTemplate(pathnameConfig, locale, internalTemplate) {\n return typeof pathnameConfig === 'string' ? pathnameConfig : pathnameConfig[locale] || internalTemplate;\n}\nfunction normalizeTrailingSlash(pathname) {\n const trailingSlash = hasTrailingSlash();\n const [path, ...hashParts] = pathname.split('#');\n const hash = hashParts.join('#');\n let normalizedPath = path;\n if (normalizedPath !== '/') {\n const pathnameEndsWithSlash = normalizedPath.endsWith('/');\n if (trailingSlash && !pathnameEndsWithSlash) {\n normalizedPath += '/';\n } else if (!trailingSlash && pathnameEndsWithSlash) {\n normalizedPath = normalizedPath.slice(0, -1);\n }\n }\n if (hash) {\n normalizedPath += '#' + hash;\n }\n return normalizedPath;\n}\nfunction matchesPathname(/** E.g. `/users/[userId]-[userName]` */\ntemplate, /** E.g. `/users/23-jane` */\npathname) {\n const normalizedTemplate = normalizeTrailingSlash(template);\n const normalizedPathname = normalizeTrailingSlash(pathname);\n const regex = templateToRegex(normalizedTemplate);\n return regex.test(normalizedPathname);\n}\nfunction getLocalePrefix(locale, localePrefix) {\n return localePrefix.mode !== 'never' && localePrefix.prefixes?.[locale] ||\n // We return a prefix even if `mode: 'never'`. It's up to the consumer\n // to decide to use it or not.\n getLocaleAsPrefix(locale);\n}\nfunction getLocaleAsPrefix(locale) {\n return '/' + locale;\n}\nfunction templateToRegex(template) {\n const regexPattern = template\n // Replace optional catchall ('[[...slug]]')\n .replace(/\\/\\[\\[(\\.\\.\\.[^\\]]+)\\]\\]/g, '(?:/(.*))?') // With leading slash\n .replace(/\\[\\[(\\.\\.\\.[^\\]]+)\\]\\]/g, '(?:/(.*))?') // Without leading slash\n // Replace catchall ('[...slug]')\n .replace(/\\[(\\.\\.\\.[^\\]]+)\\]/g, '(.+)')\n // Replace regular parameter ('[slug]')\n .replace(/\\[([^\\]]+)\\]/g, '([^/]+)');\n return new RegExp(`^${regexPattern}$`);\n}\nfunction isOptionalCatchAllSegment(pathname) {\n return pathname.includes('[[...');\n}\nfunction isCatchAllSegment(pathname) {\n return pathname.includes('[...');\n}\nfunction isDynamicSegment(pathname) {\n return pathname.includes('[');\n}\nfunction comparePathnamePairs(a, b) {\n const pathA = a.split('/');\n const pathB = b.split('/');\n const maxLength = Math.max(pathA.length, pathB.length);\n for (let i = 0; i < maxLength; i++) {\n const segmentA = pathA[i];\n const segmentB = pathB[i];\n\n // If one of the paths ends, prioritize the shorter path\n if (!segmentA && segmentB) return -1;\n if (segmentA && !segmentB) return 1;\n if (!segmentA && !segmentB) continue;\n\n // Prioritize static segments over dynamic segments\n if (!isDynamicSegment(segmentA) && isDynamicSegment(segmentB)) return -1;\n if (isDynamicSegment(segmentA) && !isDynamicSegment(segmentB)) return 1;\n\n // Prioritize non-catch-all segments over catch-all segments\n if (!isCatchAllSegment(segmentA) && isCatchAllSegment(segmentB)) return -1;\n if (isCatchAllSegment(segmentA) && !isCatchAllSegment(segmentB)) return 1;\n\n // Prioritize non-optional catch-all segments over optional catch-all segments\n if (!isOptionalCatchAllSegment(segmentA) && isOptionalCatchAllSegment(segmentB)) {\n return -1;\n }\n if (isOptionalCatchAllSegment(segmentA) && !isOptionalCatchAllSegment(segmentB)) {\n return 1;\n }\n if (segmentA === segmentB) continue;\n }\n\n // Both pathnames are completely static\n return 0;\n}\nfunction getSortedPathnames(pathnames) {\n return pathnames.sort(comparePathnamePairs);\n}\nfunction isPromise(value) {\n // https://github.com/amannn/next-intl/issues/1711\n return typeof value.then === 'function';\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0LWludGxANC45LjBfQHN3YytoZWxwZXJzQDAuNS4yMF9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDFfNWNiMjVkYmQwMzg0YWZkNmU4NjVhOTBhNjZiOGIzMjkvbm9kZV9tb2R1bGVzL25leHQtaW50bC9kaXN0L2VzbS9kZXZlbG9wbWVudC9zaGFyZWQvdXRpbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsT0FBTztBQUNoRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVEQUF1RCxPQUFPO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsYUFBYTtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLGVBQWU7QUFDakM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFdU8iLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dC1pbnRsQDQuOS4wX0Bzd2MraGVscGVyc0AwLjUuMjBfbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxXzVjYjI1ZGJkMDM4NGFmZDZlODY1YTkwYTY2YjhiMzI5L25vZGVfbW9kdWxlcy9uZXh0LWludGwvZGlzdC9lc20vZGV2ZWxvcG1lbnQvc2hhcmVkL3V0aWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGlzUmVsYXRpdmVIcmVmKGhyZWYpIHtcbiAgY29uc3QgcGF0aG5hbWUgPSB0eXBlb2YgaHJlZiA9PT0gJ29iamVjdCcgPyBocmVmLnBhdGhuYW1lIDogaHJlZjtcbiAgcmV0dXJuIHBhdGhuYW1lICE9IG51bGwgJiYgIXBhdGhuYW1lLnN0YXJ0c1dpdGgoJy8nKTtcbn1cbmZ1bmN0aW9uIGlzTG9jYWxIcmVmKGhyZWYpIHtcbiAgaWYgKHR5cGVvZiBocmVmID09PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBocmVmLmhvc3QgPT0gbnVsbCAmJiBocmVmLmhvc3RuYW1lID09IG51bGw7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgaGFzUHJvdG9jb2wgPSAvXlthLXpdKzovaS50ZXN0KGhyZWYpO1xuICAgIHJldHVybiAhaGFzUHJvdG9jb2w7XG4gIH1cbn1cbmZ1bmN0aW9uIGlzTG9jYWxpemFibGVIcmVmKGhyZWYpIHtcbiAgcmV0dXJuIGlzTG9jYWxIcmVmKGhyZWYpICYmICFpc1JlbGF0aXZlSHJlZihocmVmKTtcbn1cbmZ1bmN0aW9uIHVucHJlZml4UGF0aG5hbWUocGF0aG5hbWUsIHByZWZpeCkge1xuICByZXR1cm4gcGF0aG5hbWUucmVwbGFjZShuZXcgUmVnRXhwKGBeJHtwcmVmaXh9YCksICcnKSB8fCAnLyc7XG59XG5mdW5jdGlvbiBwcmVmaXhQYXRobmFtZShwcmVmaXgsIHBhdGhuYW1lKSB7XG4gIGxldCBsb2NhbGl6ZWRIcmVmID0gcHJlZml4O1xuXG4gIC8vIEF2b2lkIHRyYWlsaW5nIHNsYXNoZXNcbiAgaWYgKC9eXFwvKFxcPy4qKT8kLy50ZXN0KHBhdGhuYW1lKSkge1xuICAgIHBhdGhuYW1lID0gcGF0aG5hbWUuc2xpY2UoMSk7XG4gIH1cbiAgbG9jYWxpemVkSHJlZiArPSBwYXRobmFtZTtcbiAgcmV0dXJuIGxvY2FsaXplZEhyZWY7XG59XG5mdW5jdGlvbiBoYXNQYXRobmFtZVByZWZpeGVkKHByZWZpeCwgcGF0aG5hbWUpIHtcbiAgcmV0dXJuIHBhdGhuYW1lID09PSBwcmVmaXggfHwgcGF0aG5hbWUuc3RhcnRzV2l0aChgJHtwcmVmaXh9L2ApO1xufVxuZnVuY3Rpb24gaGFzVHJhaWxpbmdTbGFzaCgpIHtcbiAgdHJ5IHtcbiAgICAvLyBQcm92aWRlZCB2aWEgYGVudmAgc2V0dGluZyBpbiBgbmV4dC5jb25maWcuanNgIHZpYSB0aGUgcGx1Z2luXG4gICAgcmV0dXJuIHByb2Nlc3MuZW52Ll9uZXh0X2ludGxfdHJhaWxpbmdfc2xhc2ggPT09ICd0cnVlJztcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBnZXRMb2NhbGl6ZWRUZW1wbGF0ZShwYXRobmFtZUNvbmZpZywgbG9jYWxlLCBpbnRlcm5hbFRlbXBsYXRlKSB7XG4gIHJldHVybiB0eXBlb2YgcGF0aG5hbWVDb25maWcgPT09ICdzdHJpbmcnID8gcGF0aG5hbWVDb25maWcgOiBwYXRobmFtZUNvbmZpZ1tsb2NhbGVdIHx8IGludGVybmFsVGVtcGxhdGU7XG59XG5mdW5jdGlvbiBub3JtYWxpemVUcmFpbGluZ1NsYXNoKHBhdGhuYW1lKSB7XG4gIGNvbnN0IHRyYWlsaW5nU2xhc2ggPSBoYXNUcmFpbGluZ1NsYXNoKCk7XG4gIGNvbnN0IFtwYXRoLCAuLi5oYXNoUGFydHNdID0gcGF0aG5hbWUuc3BsaXQoJyMnKTtcbiAgY29uc3QgaGFzaCA9IGhhc2hQYXJ0cy5qb2luKCcjJyk7XG4gIGxldCBub3JtYWxpemVkUGF0aCA9IHBhdGg7XG4gIGlmIChub3JtYWxpemVkUGF0aCAhPT0gJy8nKSB7XG4gICAgY29uc3QgcGF0aG5hbWVFbmRzV2l0aFNsYXNoID0gbm9ybWFsaXplZFBhdGguZW5kc1dpdGgoJy8nKTtcbiAgICBpZiAodHJhaWxpbmdTbGFzaCAmJiAhcGF0aG5hbWVFbmRzV2l0aFNsYXNoKSB7XG4gICAgICBub3JtYWxpemVkUGF0aCArPSAnLyc7XG4gICAgfSBlbHNlIGlmICghdHJhaWxpbmdTbGFzaCAmJiBwYXRobmFtZUVuZHNXaXRoU2xhc2gpIHtcbiAgICAgIG5vcm1hbGl6ZWRQYXRoID0gbm9ybWFsaXplZFBhdGguc2xpY2UoMCwgLTEpO1xuICAgIH1cbiAgfVxuICBpZiAoaGFzaCkge1xuICAgIG5vcm1hbGl6ZWRQYXRoICs9ICcjJyArIGhhc2g7XG4gIH1cbiAgcmV0dXJuIG5vcm1hbGl6ZWRQYXRoO1xufVxuZnVuY3Rpb24gbWF0Y2hlc1BhdGhuYW1lKC8qKiBFLmcuIGAvdXNlcnMvW3VzZXJJZF0tW3VzZXJOYW1lXWAgKi9cbnRlbXBsYXRlLCAvKiogRS5nLiBgL3VzZXJzLzIzLWphbmVgICovXG5wYXRobmFtZSkge1xuICBjb25zdCBub3JtYWxpemVkVGVtcGxhdGUgPSBub3JtYWxpemVUcmFpbGluZ1NsYXNoKHRlbXBsYXRlKTtcbiAgY29uc3Qgbm9ybWFsaXplZFBhdGhuYW1lID0gbm9ybWFsaXplVHJhaWxpbmdTbGFzaChwYXRobmFtZSk7XG4gIGNvbnN0IHJlZ2V4ID0gdGVtcGxhdGVUb1JlZ2V4KG5vcm1hbGl6ZWRUZW1wbGF0ZSk7XG4gIHJldHVybiByZWdleC50ZXN0KG5vcm1hbGl6ZWRQYXRobmFtZSk7XG59XG5mdW5jdGlvbiBnZXRMb2NhbGVQcmVmaXgobG9jYWxlLCBsb2NhbGVQcmVmaXgpIHtcbiAgcmV0dXJuIGxvY2FsZVByZWZpeC5tb2RlICE9PSAnbmV2ZXInICYmIGxvY2FsZVByZWZpeC5wcmVmaXhlcz8uW2xvY2FsZV0gfHxcbiAgLy8gV2UgcmV0dXJuIGEgcHJlZml4IGV2ZW4gaWYgYG1vZGU6ICduZXZlcidgLiBJdCdzIHVwIHRvIHRoZSBjb25zdW1lclxuICAvLyB0byBkZWNpZGUgdG8gdXNlIGl0IG9yIG5vdC5cbiAgZ2V0TG9jYWxlQXNQcmVmaXgobG9jYWxlKTtcbn1cbmZ1bmN0aW9uIGdldExvY2FsZUFzUHJlZml4KGxvY2FsZSkge1xuICByZXR1cm4gJy8nICsgbG9jYWxlO1xufVxuZnVuY3Rpb24gdGVtcGxhdGVUb1JlZ2V4KHRlbXBsYXRlKSB7XG4gIGNvbnN0IHJlZ2V4UGF0dGVybiA9IHRlbXBsYXRlXG4gIC8vIFJlcGxhY2Ugb3B0aW9uYWwgY2F0Y2hhbGwgKCdbWy4uLnNsdWddXScpXG4gIC5yZXBsYWNlKC9cXC9cXFtcXFsoXFwuXFwuXFwuW15cXF1dKylcXF1cXF0vZywgJyg/Oi8oLiopKT8nKSAvLyBXaXRoIGxlYWRpbmcgc2xhc2hcbiAgLnJlcGxhY2UoL1xcW1xcWyhcXC5cXC5cXC5bXlxcXV0rKVxcXVxcXS9nLCAnKD86LyguKikpPycpIC8vIFdpdGhvdXQgbGVhZGluZyBzbGFzaFxuICAvLyBSZXBsYWNlIGNhdGNoYWxsICgnWy4uLnNsdWddJylcbiAgLnJlcGxhY2UoL1xcWyhcXC5cXC5cXC5bXlxcXV0rKVxcXS9nLCAnKC4rKScpXG4gIC8vIFJlcGxhY2UgcmVndWxhciBwYXJhbWV0ZXIgKCdbc2x1Z10nKVxuICAucmVwbGFjZSgvXFxbKFteXFxdXSspXFxdL2csICcoW14vXSspJyk7XG4gIHJldHVybiBuZXcgUmVnRXhwKGBeJHtyZWdleFBhdHRlcm59JGApO1xufVxuZnVuY3Rpb24gaXNPcHRpb25hbENhdGNoQWxsU2VnbWVudChwYXRobmFtZSkge1xuICByZXR1cm4gcGF0aG5hbWUuaW5jbHVkZXMoJ1tbLi4uJyk7XG59XG5mdW5jdGlvbiBpc0NhdGNoQWxsU2VnbWVudChwYXRobmFtZSkge1xuICByZXR1cm4gcGF0aG5hbWUuaW5jbHVkZXMoJ1suLi4nKTtcbn1cbmZ1bmN0aW9uIGlzRHluYW1pY1NlZ21lbnQocGF0aG5hbWUpIHtcbiAgcmV0dXJuIHBhdGhuYW1lLmluY2x1ZGVzKCdbJyk7XG59XG5mdW5jdGlvbiBjb21wYXJlUGF0aG5hbWVQYWlycyhhLCBiKSB7XG4gIGNvbnN0IHBhdGhBID0gYS5zcGxpdCgnLycpO1xuICBjb25zdCBwYXRoQiA9IGIuc3BsaXQoJy8nKTtcbiAgY29uc3QgbWF4TGVuZ3RoID0gTWF0aC5tYXgocGF0aEEubGVuZ3RoLCBwYXRoQi5sZW5ndGgpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IG1heExlbmd0aDsgaSsrKSB7XG4gICAgY29uc3Qgc2VnbWVudEEgPSBwYXRoQVtpXTtcbiAgICBjb25zdCBzZWdtZW50QiA9IHBhdGhCW2ldO1xuXG4gICAgLy8gSWYgb25lIG9mIHRoZSBwYXRocyBlbmRzLCBwcmlvcml0aXplIHRoZSBzaG9ydGVyIHBhdGhcbiAgICBpZiAoIXNlZ21lbnRBICYmIHNlZ21lbnRCKSByZXR1cm4gLTE7XG4gICAgaWYgKHNlZ21lbnRBICYmICFzZWdtZW50QikgcmV0dXJuIDE7XG4gICAgaWYgKCFzZWdtZW50QSAmJiAhc2VnbWVudEIpIGNvbnRpbnVlO1xuXG4gICAgLy8gUHJpb3JpdGl6ZSBzdGF0aWMgc2VnbWVudHMgb3ZlciBkeW5hbWljIHNlZ21lbnRzXG4gICAgaWYgKCFpc0R5bmFtaWNTZWdtZW50KHNlZ21lbnRBKSAmJiBpc0R5bmFtaWNTZWdtZW50KHNlZ21lbnRCKSkgcmV0dXJuIC0xO1xuICAgIGlmIChpc0R5bmFtaWNTZWdtZW50KHNlZ21lbnRBKSAmJiAhaXNEeW5hbWljU2VnbWVudChzZWdtZW50QikpIHJldHVybiAxO1xuXG4gICAgLy8gUHJpb3JpdGl6ZSBub24tY2F0Y2gtYWxsIHNlZ21lbnRzIG92ZXIgY2F0Y2gtYWxsIHNlZ21lbnRzXG4gICAgaWYgKCFpc0NhdGNoQWxsU2VnbWVudChzZWdtZW50QSkgJiYgaXNDYXRjaEFsbFNlZ21lbnQoc2VnbWVudEIpKSByZXR1cm4gLTE7XG4gICAgaWYgKGlzQ2F0Y2hBbGxTZWdtZW50KHNlZ21lbnRBKSAmJiAhaXNDYXRjaEFsbFNlZ21lbnQoc2VnbWVudEIpKSByZXR1cm4gMTtcblxuICAgIC8vIFByaW9yaXRpemUgbm9uLW9wdGlvbmFsIGNhdGNoLWFsbCBzZWdtZW50cyBvdmVyIG9wdGlvbmFsIGNhdGNoLWFsbCBzZWdtZW50c1xuICAgIGlmICghaXNPcHRpb25hbENhdGNoQWxsU2VnbWVudChzZWdtZW50QSkgJiYgaXNPcHRpb25hbENhdGNoQWxsU2VnbWVudChzZWdtZW50QikpIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gICAgaWYgKGlzT3B0aW9uYWxDYXRjaEFsbFNlZ21lbnQoc2VnbWVudEEpICYmICFpc09wdGlvbmFsQ2F0Y2hBbGxTZWdtZW50KHNlZ21lbnRCKSkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICAgIGlmIChzZWdtZW50QSA9PT0gc2VnbWVudEIpIGNvbnRpbnVlO1xuICB9XG5cbiAgLy8gQm90aCBwYXRobmFtZXMgYXJlIGNvbXBsZXRlbHkgc3RhdGljXG4gIHJldHVybiAwO1xufVxuZnVuY3Rpb24gZ2V0U29ydGVkUGF0aG5hbWVzKHBhdGhuYW1lcykge1xuICByZXR1cm4gcGF0aG5hbWVzLnNvcnQoY29tcGFyZVBhdGhuYW1lUGFpcnMpO1xufVxuZnVuY3Rpb24gaXNQcm9taXNlKHZhbHVlKSB7XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbWFubm4vbmV4dC1pbnRsL2lzc3Vlcy8xNzExXG4gIHJldHVybiB0eXBlb2YgdmFsdWUudGhlbiA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZXhwb3J0IHsgZ2V0TG9jYWxlQXNQcmVmaXgsIGdldExvY2FsZVByZWZpeCwgZ2V0TG9jYWxpemVkVGVtcGxhdGUsIGdldFNvcnRlZFBhdGhuYW1lcywgaGFzUGF0aG5hbWVQcmVmaXhlZCwgaXNMb2NhbGl6YWJsZUhyZWYsIGlzUHJvbWlzZSwgbWF0Y2hlc1BhdGhuYW1lLCBub3JtYWxpemVUcmFpbGluZ1NsYXNoLCBwcmVmaXhQYXRobmFtZSwgdGVtcGxhdGVUb1JlZ2V4LCB1bnByZWZpeFBhdGhuYW1lIH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next-intl@4.9.0_@swc+helpers@0.5.20_next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1_5cb25dbd0384afd6e865a90a66b8b329/node_modules/next-intl/dist/esm/development/shared/utils.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/api/server.js":
|
||
/*!*********************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/api/server.js ***!
|
||
\*********************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _server_web_exports_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../server/web/exports/index */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/exports/index.js\");\n/* harmony import */ var _server_web_exports_index__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_server_web_exports_index__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _server_web_exports_index__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _server_web_exports_index__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n//# sourceMappingURL=server.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9hcGkvc2VydmVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUE0Qzs7QUFFNUMiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL3NlcnZlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuLi9zZXJ2ZXIvd2ViL2V4cG9ydHMvaW5kZXgnO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZXJ2ZXIuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/api/server.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fmarcmintel%2FProjects%2Fe-tib.com%2Fapp%2F%5Blocale%5D%2Ferror.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!":
|
||
/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fmarcmintel%2FProjects%2Fe-tib.com%2Fapp%2F%5Blocale%5D%2Ferror.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false! ***!
|
||
\*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/[locale]/error.tsx */ \"(app-pages-browser)/./app/[locale]/error.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvbmV4dC1mbGlnaHQtY2xpZW50LWVudHJ5LWxvYWRlci5qcz9tb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRm1hcmNtaW50ZWwlMkZQcm9qZWN0cyUyRmUtdGliLmNvbSUyRmFwcCUyRiU1QmxvY2FsZSU1RCUyRmVycm9yLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9ZmFsc2UhIiwibWFwcGluZ3MiOiJBQUFBLDBLQUFnRyIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL2FwcC9bbG9jYWxlXS9lcnJvci50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fmarcmintel%2FProjects%2Fe-tib.com%2Fapp%2F%5Blocale%5D%2Ferror.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/app-dir/link.js":
|
||
/*!******************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/app-dir/link.js ***!
|
||
\******************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nvar _s = $RefreshSig$();\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n /**\n * A React component that extends the HTML `<a>` element to provide\n * [prefetching](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching)\n * and client-side navigation. This is the primary way to navigate between routes in Next.js.\n *\n * @remarks\n * - Prefetching is only enabled in production.\n *\n * @see https://nextjs.org/docs/app/api-reference/components/link\n */ default: function() {\n return LinkComponent;\n },\n useLinkStatus: function() {\n return useLinkStatus;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/index.js\"));\nconst _formaturl = __webpack_require__(/*! ../../shared/lib/router/utils/format-url */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nconst _usemergedref = __webpack_require__(/*! ../use-merged-ref */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/use-merged-ref.js\");\nconst _utils = __webpack_require__(/*! ../../shared/lib/utils */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/utils.js\");\nconst _addbasepath = __webpack_require__(/*! ../add-base-path */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/add-base-path.js\");\nconst _warnonce = __webpack_require__(/*! ../../shared/lib/utils/warn-once */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _links = __webpack_require__(/*! ../components/links */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/components/links.js\");\nconst _islocalurl = __webpack_require__(/*! ../../shared/lib/router/utils/is-local-url */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _types = __webpack_require__(/*! ../components/segment-cache/types */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/components/segment-cache/types.js\");\nconst _erroronce = __webpack_require__(/*! ../../shared/lib/utils/error-once */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/utils/error-once.js\");\nfunction isModifiedEvent(event) {\n const eventTarget = event.currentTarget;\n const target = eventTarget.getAttribute('target');\n return target && target !== '_self' || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download\n event.nativeEvent && event.nativeEvent.which === 2;\n}\nfunction linkClicked(e, href, as, linkInstanceRef, replace, scroll, onNavigate) {\n if (true) {\n const { nodeName } = e.currentTarget;\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === 'A';\n if (isAnchorNodeName && isModifiedEvent(e) || e.currentTarget.hasAttribute('download')) {\n // ignore click for browser’s default behavior\n return;\n }\n if (!(0, _islocalurl.isLocalURL)(href)) {\n if (replace) {\n // browser default behavior does not replace the history state\n // so we need to do it manually\n e.preventDefault();\n location.replace(href);\n }\n // ignore click for browser’s default behavior\n return;\n }\n e.preventDefault();\n if (onNavigate) {\n let isDefaultPrevented = false;\n onNavigate({\n preventDefault: ()=>{\n isDefaultPrevented = true;\n }\n });\n if (isDefaultPrevented) {\n return;\n }\n }\n const { dispatchNavigateAction } = __webpack_require__(/*! ../components/app-router-instance */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/components/app-router-instance.js\");\n _react.default.startTransition(()=>{\n dispatchNavigateAction(as || href, replace ? 'replace' : 'push', scroll ?? true, linkInstanceRef.current);\n });\n }\n}\nfunction formatStringOrUrl(urlObjOrString) {\n if (typeof urlObjOrString === 'string') {\n return urlObjOrString;\n }\n return (0, _formaturl.formatUrl)(urlObjOrString);\n}\nfunction LinkComponent(props) {\n _s();\n const [linkStatus, setOptimisticLinkStatus] = (0, _react.useOptimistic)(_links.IDLE_LINK_STATUS);\n let children;\n const linkInstanceRef = (0, _react.useRef)(null);\n const { href: hrefProp, as: asProp, children: childrenProp, prefetch: prefetchProp = null, passHref, replace, shallow, scroll, onClick, onMouseEnter: onMouseEnterProp, onTouchStart: onTouchStartProp, legacyBehavior = false, onNavigate, ref: forwardedRef, unstable_dynamicOnHover, ...restProps } = props;\n children = childrenProp;\n if (legacyBehavior && (typeof children === 'string' || typeof children === 'number')) {\n children = /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n children: children\n });\n }\n const router = _react.default.useContext(_approutercontextsharedruntime.AppRouterContext);\n const prefetchEnabled = prefetchProp !== false;\n const fetchStrategy = prefetchProp !== false ? getFetchStrategyFromPrefetchProp(prefetchProp) : _types.FetchStrategy.PPR;\n if (true) {\n function createPropError(args) {\n return Object.defineProperty(new Error(`Failed prop type: The prop \\`${args.key}\\` expects a ${args.expected} in \\`<Link>\\`, but got \\`${args.actual}\\` instead.` + ( true ? \"\\nOpen your browser's console to view the Component stack trace.\" : 0)), \"__NEXT_ERROR_CODE\", {\n value: \"E319\",\n enumerable: false,\n configurable: true\n });\n }\n // TypeScript trick for type-guarding:\n const requiredPropsGuard = {\n href: true\n };\n const requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach((key)=>{\n if (key === 'href') {\n if (props[key] == null || typeof props[key] !== 'string' && typeof props[key] !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: props[key] === null ? 'null' : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n const _ = key;\n }\n });\n // TypeScript trick for type-guarding:\n const optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n unstable_dynamicOnHover: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true,\n onNavigate: true\n };\n const optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach((key)=>{\n const valType = typeof props[key];\n if (key === 'as') {\n if (props[key] && valType !== 'string' && valType !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: valType\n });\n }\n } else if (key === 'onClick' || key === 'onMouseEnter' || key === 'onTouchStart' || key === 'onNavigate') {\n if (props[key] && valType !== 'function') {\n throw createPropError({\n key,\n expected: '`function`',\n actual: valType\n });\n }\n } else if (key === 'replace' || key === 'scroll' || key === 'shallow' || key === 'passHref' || key === 'legacyBehavior' || key === 'unstable_dynamicOnHover') {\n if (props[key] != null && valType !== 'boolean') {\n throw createPropError({\n key,\n expected: '`boolean`',\n actual: valType\n });\n }\n } else if (key === 'prefetch') {\n if (props[key] != null && valType !== 'boolean' && props[key] !== 'auto') {\n throw createPropError({\n key,\n expected: '`boolean | \"auto\"`',\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n const _ = key;\n }\n });\n }\n if (true) {\n if (props.locale) {\n (0, _warnonce.warnOnce)('The `locale` prop is not supported in `next/link` while using the `app` router. Read more about app router internalization: https://nextjs.org/docs/app/building-your-application/routing/internationalization');\n }\n if (!asProp) {\n let href;\n if (typeof hrefProp === 'string') {\n href = hrefProp;\n } else if (typeof hrefProp === 'object' && typeof hrefProp.pathname === 'string') {\n href = hrefProp.pathname;\n }\n if (href) {\n const hasDynamicSegment = href.split('/').some((segment)=>segment.startsWith('[') && segment.endsWith(']'));\n if (hasDynamicSegment) {\n throw Object.defineProperty(new Error(`Dynamic href \\`${href}\\` found in <Link> while using the \\`/app\\` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href`), \"__NEXT_ERROR_CODE\", {\n value: \"E267\",\n enumerable: false,\n configurable: true\n });\n }\n }\n }\n }\n const { href, as } = _react.default.useMemo({\n \"LinkComponent.useMemo\": ()=>{\n const resolvedHref = formatStringOrUrl(hrefProp);\n return {\n href: resolvedHref,\n as: asProp ? formatStringOrUrl(asProp) : resolvedHref\n };\n }\n }[\"LinkComponent.useMemo\"], [\n hrefProp,\n asProp\n ]);\n // This will return the first child, if multiple are provided it will throw an error\n let child;\n if (legacyBehavior) {\n if (children?.$$typeof === Symbol.for('react.lazy')) {\n throw Object.defineProperty(new Error(`\\`<Link legacyBehavior>\\` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's \\`<a>\\` tag.`), \"__NEXT_ERROR_CODE\", {\n value: \"E863\",\n enumerable: false,\n configurable: true\n });\n }\n if (true) {\n if (onClick) {\n console.warn(`\"onClick\" was passed to <Link> with \\`href\\` of \\`${hrefProp}\\` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link`);\n }\n if (onMouseEnterProp) {\n console.warn(`\"onMouseEnter\" was passed to <Link> with \\`href\\` of \\`${hrefProp}\\` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link`);\n }\n try {\n child = _react.default.Children.only(children);\n } catch (err) {\n if (!children) {\n throw Object.defineProperty(new Error(`No children were passed to <Link> with \\`href\\` of \\`${hrefProp}\\` but one child is required https://nextjs.org/docs/messages/link-no-children`), \"__NEXT_ERROR_CODE\", {\n value: \"E320\",\n enumerable: false,\n configurable: true\n });\n }\n throw Object.defineProperty(new Error(`Multiple children were passed to <Link> with \\`href\\` of \\`${hrefProp}\\` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children` + ( true ? \" \\nOpen your browser's console to view the Component stack trace.\" : 0)), \"__NEXT_ERROR_CODE\", {\n value: \"E266\",\n enumerable: false,\n configurable: true\n });\n }\n } else {}\n } else {\n if (true) {\n if (children?.type === 'a') {\n throw Object.defineProperty(new Error('Invalid <Link> with <a> child. Please remove <a> or use <Link legacyBehavior>.\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor'), \"__NEXT_ERROR_CODE\", {\n value: \"E209\",\n enumerable: false,\n configurable: true\n });\n }\n }\n }\n const childRef = legacyBehavior ? child && typeof child === 'object' && child.ref : forwardedRef;\n // Use a callback ref to attach an IntersectionObserver to the anchor tag on\n // mount. In the future we will also use this to keep track of all the\n // currently mounted <Link> instances, e.g. so we can re-prefetch them after\n // a revalidation or refresh.\n const observeLinkVisibilityOnMount = _react.default.useCallback({\n \"LinkComponent.useCallback[observeLinkVisibilityOnMount]\": (element)=>{\n if (router !== null) {\n linkInstanceRef.current = (0, _links.mountLinkInstance)(element, href, router, fetchStrategy, prefetchEnabled, setOptimisticLinkStatus);\n }\n return ({\n \"LinkComponent.useCallback[observeLinkVisibilityOnMount]\": ()=>{\n if (linkInstanceRef.current) {\n (0, _links.unmountLinkForCurrentNavigation)(linkInstanceRef.current);\n linkInstanceRef.current = null;\n }\n (0, _links.unmountPrefetchableInstance)(element);\n }\n })[\"LinkComponent.useCallback[observeLinkVisibilityOnMount]\"];\n }\n }[\"LinkComponent.useCallback[observeLinkVisibilityOnMount]\"], [\n prefetchEnabled,\n href,\n router,\n fetchStrategy,\n setOptimisticLinkStatus\n ]);\n const mergedRef = (0, _usemergedref.useMergedRef)(observeLinkVisibilityOnMount, childRef);\n const childProps = {\n ref: mergedRef,\n onClick (e) {\n if (true) {\n if (!e) {\n throw Object.defineProperty(new Error(`Component rendered inside next/link has to pass click event to \"onClick\" prop.`), \"__NEXT_ERROR_CODE\", {\n value: \"E312\",\n enumerable: false,\n configurable: true\n });\n }\n }\n if (!legacyBehavior && typeof onClick === 'function') {\n onClick(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onClick === 'function') {\n child.props.onClick(e);\n }\n if (!router) {\n return;\n }\n if (e.defaultPrevented) {\n return;\n }\n linkClicked(e, href, as, linkInstanceRef, replace, scroll, onNavigate);\n },\n onMouseEnter (e) {\n if (!legacyBehavior && typeof onMouseEnterProp === 'function') {\n onMouseEnterProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onMouseEnter === 'function') {\n child.props.onMouseEnter(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled || \"development\" === 'development') {\n return;\n }\n const upgradeToDynamicPrefetch = unstable_dynamicOnHover === true;\n (0, _links.onNavigationIntent)(e.currentTarget, upgradeToDynamicPrefetch);\n },\n onTouchStart: false ? 0 : function onTouchStart(e) {\n if (!legacyBehavior && typeof onTouchStartProp === 'function') {\n onTouchStartProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onTouchStart === 'function') {\n child.props.onTouchStart(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled) {\n return;\n }\n const upgradeToDynamicPrefetch = unstable_dynamicOnHover === true;\n (0, _links.onNavigationIntent)(e.currentTarget, upgradeToDynamicPrefetch);\n }\n };\n // If the url is absolute, we can bypass the logic to prepend the basePath.\n if ((0, _utils.isAbsoluteUrl)(as)) {\n childProps.href = as;\n } else if (!legacyBehavior || passHref || child.type === 'a' && !('href' in child.props)) {\n childProps.href = (0, _addbasepath.addBasePath)(as);\n }\n let link;\n if (legacyBehavior) {\n if (true) {\n (0, _erroronce.errorOnce)('`legacyBehavior` is deprecated and will be removed in a future ' + 'release. A codemod is available to upgrade your components:\\n\\n' + 'npx @next/codemod@latest new-link .\\n\\n' + 'Learn more: https://nextjs.org/docs/app/building-your-application/upgrading/codemods#remove-a-tags-from-link-components');\n }\n link = /*#__PURE__*/ _react.default.cloneElement(child, childProps);\n } else {\n link = /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n ...restProps,\n ...childProps,\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(LinkStatusContext.Provider, {\n value: linkStatus,\n children: link\n });\n}\n_s(LinkComponent, \"MNV6IdWv8Lu3MKc7Fm4v59uGRY0=\");\n_c = LinkComponent;\nconst LinkStatusContext = /*#__PURE__*/ (0, _react.createContext)(_links.IDLE_LINK_STATUS);\nconst useLinkStatus = ()=>{\n return (0, _react.useContext)(LinkStatusContext);\n};\nfunction getFetchStrategyFromPrefetchProp(prefetchProp) {\n if (false) {} else {\n return prefetchProp === null || prefetchProp === 'auto' ? _types.FetchStrategy.PPR : // (although invalid values should've been filtered out by prop validation in dev)\n _types.FetchStrategy.Full;\n }\n}\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=link.js.map\nvar _c;\n$RefreshReg$(_c, \"LinkComponent\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvYXBwLWRpci9saW5rLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0lBc1RBOzs7Ozs7Ozs7Q0FTQyxHQUNELE9BK1pDO2VBL1p1QkE7O0lBcWFYQyxhQUFhO2VBQWJBOzs7Ozs2RUFudUIyRDt1Q0FFOUM7MkRBQ087MENBQ0o7bUNBQ0M7eUNBQ0Y7c0NBQ0g7bUNBU2xCO3dDQUNvQjttQ0FJcEI7dUNBQ21CO0FBeU0xQixTQUFTQyxnQkFBZ0JDLEtBQXVCO0lBQzlDLE1BQU1DLGNBQWNELE1BQU1FLGFBQWE7SUFDdkMsTUFBTUMsU0FBU0YsWUFBWUcsWUFBWSxDQUFDO0lBQ3hDLE9BQ0dELFVBQVVBLFdBQVcsV0FDdEJILE1BQU1LLE9BQU8sSUFDYkwsTUFBTU0sT0FBTyxJQUNiTixNQUFNTyxRQUFRLElBQ2RQLE1BQU1RLE1BQU0sSUFBSSw2QkFBNkI7SUFDNUNSLE1BQU1TLFdBQVcsSUFBSVQsTUFBTVMsV0FBVyxDQUFDQyxLQUFLLEtBQUs7QUFFdEQ7QUFFQSxTQUFTQyxZQUNQQyxDQUFtQixFQUNuQkMsSUFBWSxFQUNaQyxFQUFVLEVBQ1ZDLGVBQXFELEVBQ3JEQyxPQUFpQixFQUNqQkMsTUFBZ0IsRUFDaEJDLFVBQW1DO0lBRW5DLElBQUksSUFBNkIsRUFBRTtRQUNqQyxNQUFNLEVBQUVFLFFBQVEsRUFBRSxHQUFHUixFQUFFVixhQUFhO1FBRXBDLGtEQUFrRDtRQUNsRCxNQUFNbUIsbUJBQW1CRCxTQUFTRSxXQUFXLE9BQU87UUFDcEQsSUFDR0Qsb0JBQW9CdEIsZ0JBQWdCYSxNQUNyQ0EsRUFBRVYsYUFBYSxDQUFDcUIs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YUFBQUEsRUFFeEIzRixPQUFBQSxnQkFBZ0I7QUFFWCxNQUFNMUMsZ0JBQWdCO0lBQzNCLE9BQU9nRSxDQUFBQSxHQUFBQSxPQUFBQSxVQUFVLEVBQUNrRTtBQUNwQjtBQUVBLFNBQVM5RCxpQ0FDUG5CLFlBQStEO0lBRS9ELElBQUlzQixLQUFtQyxFQUFFLEVBVXhDLE1BQU07UUFDTCxPQUFPdEIsaUJBQWlCLFFBQVFBLGlCQUFpQixTQUU3Q29CLE9BQUFBLGFBQWEsQ0FBQ0MsR0FBRyxHQUVqQixrRkFDa0Y7UUFDbEZELE9BQUFBLGFBQWEsQ0FBQ2tFLElBQUk7SUFDeEI7QUFDRiIsInNvdXJjZXMiOlsiL1VzZXJzL3NyYy9jbGllbnQvYXBwLWRpci9saW5rLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQsIHVzZU9wdGltaXN0aWMsIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBVcmxPYmplY3QgfSBmcm9tICd1cmwnXG5pbXBvcnQgeyBmb3JtYXRVcmwgfSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9mb3JtYXQtdXJsJ1xuaW1wb3J0IHsgQXBwUm91dGVyQ29udGV4dCB9IGZyb20gJy4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lJ1xuaW1wb3J0IHsgdXNlTWVyZ2VkUmVmIH0gZnJvbSAnLi4vdXNlLW1lcmdlZC1yZWYnXG5pbXBvcnQgeyBpc0Fic29sdXRlVXJsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpYi91dGlscydcbmltcG9ydCB7IGFkZEJhc2VQYXRoIH0gZnJvbSAnLi4vYWRkLWJhc2UtcGF0aCdcbmltcG9ydCB7IHdhcm5PbmNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpYi91dGlscy93YXJuLW9uY2UnXG5pbXBvcnQgdHlwZSB7IFBFTkRJTkdfTElOS19TVEFUVVMgfSBmcm9tICcuLi9jb21wb25lbnRzL2xpbmtzJ1xuaW1wb3J0IHtcbiAgSURMRV9MSU5LX1NUQVRVUyxcbiAgbW91bnRMaW5rSW5zdGFuY2UsXG4gIG9uTmF2aWdhdGlvbkludGVudCxcbiAgdW5tb3VudExpbmtGb3JDdXJyZW50TmF2aWdhdGlvbixcbiAgdW5tb3VudFByZWZldGNoYWJsZUluc3RhbmNlLFxuICB0eXBlIExpbmtJbnN0YW5jZSxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9saW5rcydcbmltcG9ydCB7IGlzTG9jYWxVUkwgfSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1sb2NhbC11cmwnXG5pbXBvcnQge1xuICBGZXRjaFN0cmF0ZWd5LFxuICB0eXBlIFByZWZldGNoVGFza0ZldGNoU3RyYXRlZ3ksXG59IGZyb20gJy4uL2NvbXBvbmVudHMvc2VnbWVudC1jYWNoZS90eXBlcydcbmltcG9ydCB7IGVycm9yT25jZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9saWIvdXRpbHMvZXJyb3Itb25jZSdcblxudHlwZSBVcmwgPSBzdHJpbmcgfCBVcmxPYmplY3RcbnR5cGUgUmVxdWlyZWRLZXlzPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXS0/OiB7fSBleHRlbmRzIFBpY2s8VCwgSz4gPyBuZXZlciA6IEtcbn1ba2V5b2YgVF1cbnR5cGUgT3B0aW9uYWxLZXlzPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXS0/OiB7fSBleHRlbmRzIFBpY2s8VCwgSz4gPyBLIDogbmV2ZXJcbn1ba2V5b2YgVF1cblxudHlwZSBPbk5hdmlnYXRlRXZlbnRIYW5kbGVyID0gKGV2ZW50OiB7IHByZXZlbnREZWZhdWx0OiAoKSA9PiB2b2lkIH0pID0+IHZvaWRcblxudHlwZSBJbnRlcm5hbExpbmtQcm9wcyA9IHtcbiAgLyoqXG4gICAqICoqUmVxdWlyZWQqKi4gVGhlIHBhdGggb3IgVVJMIHRvIG5hdmlnYXRlIHRvLiBJdCBjYW4gYWxzbyBiZSBhbiBvYmplY3QgKHNpbWlsYXIgdG8gYFVSTGApLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c3hcbiAgICogLy8gTmF2aWdhdGUgdG8gL2Rhc2hib2FyZDpcbiAgICogPExpbmsgaHJlZj1cIi9kYXNoYm9hcmRcIj5EYXNoYm9hcmQ8L0xpbms+XG4gICAqXG4gICAqIC8vIE5hdmlnYXRlIHRvIC9hYm91dD9uYW1lPXRlc3Q6XG4gICAqIDxMaW5rIGhyZWY9e3sgcGF0aG5hbWU6ICcvYWJvdXQnLCBxdWVyeTogeyBuYW1lOiAndGVzdCcgfSB9fT5cbiAgICogICBBYm91dFxuICAgKiA8L0xpbms+XG4gICAqIGBgYFxuICAgKlxuICAgKiBAcmVtYXJrc1xuICAgKiAtIEZvciBleHRlcm5hbCBVUkxzLCB1c2UgYSBmdWxseSBxdWFsaWZpZWQgVVJMIHN1Y2ggYXMgYGh0dHBzOi8vLi4uYC5cbiAgICogLSBJbiB0aGUgQXBwIFJvdXRlciwgZHluYW1pYyByb3V0ZXMgbXVzdCBub3QgaW5jbHVkZSBicmFja2V0ZWQgc2VnbWVudHMgaW4gYGhyZWZgLlxuICAgKi9cbiAgaHJlZjogVXJsXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHYxMC4wLjA6IGBocmVmYCBwcm9wcyBwb2ludGluZyB0byBhIGR5bmFtaWMgcm91dGUgYXJlXG4gICAqIGF1dG9tYXRpY2FsbHkgcmVzb2x2ZWQgYW5kIG5vIGxvbmdlciByZXF1aXJlIHRoZSBgYXNgIHByb3AuXG4gICAqL1xuICBhcz86IFVybFxuXG4gIC8qKlxuICAgKiBSZXBsYWNlIHRoZSBjdXJyZW50IGBoaXN0b3J5YCBzdGF0ZSBpbnN0ZWFkIG9mIGFkZGluZyBhIG5ldyBVUkwgaW50byB0aGUgc3RhY2suXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgYGZhbHNlYFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c3hcbiAgICogPExpbmsgaHJlZj1cIi9hYm91dFwiIHJlcGxhY2U+XG4gICAqICAgQWJvdXQgKHJlcGxhY2VzIHRoZSBoaXN0b3J5IHN0YXRlKVxuICAgKiA8L0xpbms+XG4gICAqIGBgYFxuICAgKi9cbiAgcmVwbGFjZT86IGJvb2xlYW5cblxuICAvKipcbiAgICogV2hldGhlciB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBzY3JvbGwgYmVoYXZpb3IuIElmIGB0cnVlYCwgTmV4dC5qcyBhdHRlbXB0cyB0byBtYWludGFpblxuICAgKiB0aGUgc2Nyb2xsIHBvc2l0aW9uIGlmIHRoZSBuZXdseSBuYXZpZ2F0ZWQgcGFnZSBpcyBzdGlsbCB2aXNpYmxlLiBJZiBub3QsIGl0IHNjcm9sbHMgdG8gdGhlIHRvcC5cbiAgICpcbiAgICogSWYgYGZhbHNlYCwgTmV4dC5qcyB3aWxsIG5vdCBtb2RpZnkgdGhlIHNjcm9sbCBiZWhhdmlvciBhdCBhbGwuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgYHRydWVgXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHRzeFxuICAgKiA8TGluayBocmVmPVwiL2Rhc2hib2FyZFwiIHNjcm9sbD17ZmFsc2V9PlxuICAgKiAgIE5vIGF1dG8gc2Nyb2xsXG4gICAqIDwvTGluaz5cbiAgICogYGBgXG4gICAqL1xuICBzY3JvbGw/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgcGF0aCBvZiB0aGUgY3VycmVudCBwYWdlIHdpdGhvdXQgcmVydW5uaW5nIGRhdGEgZmV0Y2hpbmcgbWV0aG9kc1xuICAgKiBsaWtlIGBnZXRTdGF0aWNQcm9wc2AsIGBnZXRTZXJ2ZXJTaWRlUHJvcHNgLCBvciBgZ2V0SW5pdGlhbFByb3BzYC5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogYHNoYWxsb3dgIG9ubHkgYXBwbGllcyB0byB0aGUgUGFnZXMgUm91dGVyLiBGb3IgdGhlIEFwcCBSb3V0ZXIsIHNlZSB0aGVcbiAgICogW2ZvbGxvd2luZyBkb2N1bWVudGF0aW9uXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yb3V0aW5nL2xpbmtpbmctYW5kLW5hdmlnYXRpbmcjdXNpbmctdGhlLW5hdGl2ZS1oaXN0b3J5LWFwaSkuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgYGZhbHNlYFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c3hcbiAgICogPExpbmsgaHJlZj1cIi9ibG9nXCIgc2hhbGxvdz5cbiAgICogICBTaGFsbG93IG5hdmlnYXRpb25cbiAgICogPC9MaW5rPlxuICAgKiBgYGBcbiAgICovXG4gIHNoYWxsb3c/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIEZvcmNlcyBgTGlua2AgdG8gcGFzcyBpdHMgYGhyZWZgIHRvIHRoZSBjaGlsZCBjb21wb25lbnQuIFVzZWZ1bCBpZiB0aGUgY2hpbGQgaXMgYSBjdXN0b21cbiAgICogY29tcG9uZW50IHRoYXQgd3JhcHMgYW4gYDxhPmAgdGFnLCBvciBpZiB5b3UncmUgdXNpbmcgY2VydGFpbiBzdHlsaW5nIGxpYnJhcmllcy5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSBgZmFsc2VgXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHRzeFxuICAgKiA8TGluayBocmVmPVwiL2Rhc2hib2FyZFwiIHBhc3NIcmVmIGxlZ2FjeUJlaGF2aW9yPlxuICAgKiAgIDxNeVN0eWxlZEFuY2hvcj5EYXNoYm9hcmQ8L015U3R5bGVkQW5jaG9yPlxuICAgKiA8L0xpbms+XG4gICAqIGBgYFxuICAgKi9cbiAgcGFzc0hyZWY/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIFByZWZldGNoIHRoZSBwYWdlIGluIHRoZSBiYWNrZ3JvdW5kLlxuICAgKiBBbnkgYDxMaW5rIC8+YCB0aGF0IGlzIGluIHRoZSB2aWV3cG9ydCAoaW5pdGlhbGx5IG9yIHRocm91Z2ggc2Nyb2xsKSB3aWxsIGJlIHByZWZldGNoZWQuXG4gICAqIFByZWZldGNoIGNhbiBiZSBkaXNhYmxlZCBieSBwYXNzaW5nIGBwcmVmZXRjaD17ZmFsc2V9YC5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogUHJlZmV0Y2hpbmcgaXMgb25seSBlbmFibGVkIGluIHByb2R1Y3Rpb24uXG4gICAqXG4gICAqIC0gSW4gdGhlICoqQXBwIFJvdXRlcioqOlxuICAgKiAgIC0gYFwiYXV0b1wiYCwgYG51bGxgLCBgdW5kZWZpbmVkYCAoZGVmYXVsdCk6IFByZWZldGNoIGJlaGF2aW9yIGRlcGVuZHMgb24gc3RhdGljIHZzIGR5bmFtaWMgcm91dGVzOlxuICAgKiAgICAgLSBTdGF0aWMgcm91dGVzOiBmdWxseSBwcmVmZXRjaGVkXG4gICAqICAgICAtIER5bmFtaWMgcm91dGVzOiBwYXJ0aWFsIHByZWZldGNoIHRvIHRoZSBuZWFyZXN0IHNlZ21lbnQgd2l0aCBhIGBsb2FkaW5nLmpzYFxuICAgKiAgIC0gYHRydWVgOiBBbHdheXMgcHJlZmV0Y2ggdGhlIGZ1bGwgcm91dGUgYW5kIGRhdGEuXG4gICAqICAgLSBgZmFsc2VgOiBEaXNhYmxlIHByZWZldGNoaW5nIG9uIGJvdGggdmlld3BvcnQgYW5kIGhvdmVyLlxuICAgKiAtIEluIHRoZSAqKlBhZ2VzIFJvdXRlcioqOlxuICAgKiAgIC0gYHRydWVgIChkZWZhdWx0KTogUHJlZmV0Y2hlcyB0aGUgcm91dGUgYW5kIGRhdGEgaW4gdGhlIGJhY2tncm91bmQgb24gdmlld3BvcnQgb3IgaG92ZXIuXG4gICAqICAgLSBgZmFsc2VgOiBQcmVmZXRjaCBvbmx5IG9uIGhvdmVyLCBub3Qgb24gdmlld3BvcnQuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgYHRydWVgIChQYWdlcyBSb3V0ZXIpIG9yIGBudWxsYCAoQXBwIFJvdXRlcilcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHN4XG4gICAqIDxMaW5rIGhyZWY9XCIvZGFzaGJvYXJkXCIgcHJlZmV0Y2g9e2ZhbHNlfT5cbiAgICogICBEYXNoYm9hcmRcbiAgICogPC9MaW5rPlxuICAgKiBgYGBcbiAgICovXG4gIHByZWZldGNoPzogYm9vbGVhbiB8ICdhdXRvJyB8IG51bGxcblxuICAvKipcbiAgICogKHVuc3RhYmxlKSBTd2l0Y2ggdG8gYSBmdWxsIHByZWZldGNoIG9uIGhvdmVyLiBFZmZlY3RpdmVseSB0aGUgc2FtZSBhc1xuICAgKiB1cGRhdGluZyB0aGUgcHJlZmV0Y2ggcHJvcCB0byBgdHJ1ZWAgaW4gYSBtb3VzZSBldmVudC5cbiAgICovXG4gIHVuc3RhYmxlX2R5bmFtaWNPbkhvdmVyPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBUaGUgYWN0aXZlIGxvY2FsZSBpcyBhdXRvbWF0aWNhbGx5IHByZXBlbmRlZCBpbiB0aGUgUGFnZXMgUm91dGVyLiBgbG9jYWxlYCBhbGxvd3MgZm9yIHByb3ZpZGluZ1xuICAgKiBhIGRpZmZlcmVudCBsb2NhbGUsIG9yIGNhbiBiZSBzZXQgdG8gYGZhbHNlYCB0byBvcHQgb3V0IG9mIGF1dG9tYXRpYyBsb2NhbGUgYmVoYXZpb3IuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIE5vdGU6IGxvY2FsZSBvbmx5IGFwcGxpZXMgaW4gdGhlIFBhZ2VzIFJvdXRlciBhbmQgaXMgaWdub3JlZCBpbiB0aGUgQXBwIFJvdXRlci5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHN4XG4gICAqIC8vIFVzZSB0aGUgJ2ZyJyBsb2NhbGU6XG4gICAqIDxMaW5rIGhyZWY9XCIvYWJvdXRcIiBsb2NhbGU9XCJmclwiPlxuICAgKiAgIEFib3V0IChGcmVuY2gpXG4gICAqIDwvTGluaz5cbiAgICpcbiAgICogLy8gRGlzYWJsZSBsb2NhbGUgcHJlZml4OlxuICAgKiA8TGluayBocmVmPVwiL2Fib3V0XCIgbG9jYWxlPXtmYWxzZX0+XG4gICAqICAgQWJvdXQgKG5vIGxvY2FsZSBwcmVmaXgpXG4gICAqIDwvTGluaz5cbiAgICogYGBgXG4gICAqL1xuICBsb2NhbGU/OiBzdHJpbmcgfCBmYWxzZVxuXG4gIC8qKlxuICAgKiBFbmFibGUgbGVnYWN5IGxpbmsgYmVoYXZpb3IuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFRoaXMgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb25cbiAgICogQGRlZmF1bHRWYWx1ZSBgZmFsc2VgXG4gICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3ZlcmNlbC9uZXh0LmpzL2NvbW1pdC80ODllNjVlZDk4NTQ0ZTY5YjBhZmQ3ZTBjZmMzZjlmNmMyYjgwM2I3XG4gICAqL1xuICBsZWdhY3lCZWhhdmlvcj86IGJvb2xlYW5cblxuICAvKipcbiAgICogT3B0aW9uYWwgZXZlbnQgaGFuZGxlciBmb3Igd2hlbiB0aGUgbW91c2UgcG9pbnRlciBpcyBtb3ZlZCBvbnRvIHRoZSBgPExpbms+YC5cbiAgICovXG4gIG9uTW91c2VFbnRlcj86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyPEhUTUxBbmNob3JFbGVtZW50PlxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBldmVudCBoYW5kbGVyIGZvciB3aGVuIHRoZSBgPExpbms+YCBpcyB0b3VjaGVkLlxuICAgKi9cbiAgb25Ub3VjaFN0YXJ0PzogUmVhY3QuVG91Y2hFdmVudEhhbmRsZXI8SFRNTEFuY2hvckVsZW1lbnQ+XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGV2ZW50IGhhbmRsZXIgZm9yIHdoZW4gdGhlIGA8TGluaz5gIGlzIGNsaWNrZWQuXG4gICAqL1xuICBvbkNsaWNrPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXI8SFRNTEFuY2hvckVsZW1lbnQ+XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGV2ZW50IGhhbmRsZXIgZm9yIHdoZW4gdGhlIGA8TGluaz5gIGlzIG5hdmlnYXRlZC5cbiAgICovXG4gIG9uTmF2aWdhdGU/OiBPbk5hdmlnYXRlRXZlbnRIYW5kbGVyXG59XG5cbi8vIFRPRE8tQVBQOiBJbmNsdWRlIHRoZSBmdWxsIHNldCBvZiBBbmNob3IgcHJvcHNcbi8vIGFkZGluZyB0aGlzIHRvIHRoZSBwdWJsaWNseSBleHBvcnRlZCB0eXBlIGN1cnJlbnRseSBicmVha3MgZXhpc3RpbmcgYXBwc1xuXG4vLyBgUm91dGVJbmZlclR5cGVgIGlzIGEgc3R1YiBoZXJlIHRvIGF2b2lkIGJyZWFraW5nIGB0eXBlZFJvdXRlc2Agd2hlbiB0aGUgdHlwZVxuLy8gaXNuJ3QgZ2VuZXJhdGVkIHlldC4gSXQgd2lsbCBiZSByZXBsYWNlZCB3aGVuIHR5cGUgZ2VuZXJhdGlvbiBydW5zLlxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuZXhwb3J0IHR5cGUgTGlua1Byb3BzPFJvdXRlSW5mZXJUeXBlID0gYW55PiA9IEludGVybmFsTGlua1Byb3BzXG50eXBlIExpbmtQcm9wc1JlcXVpcmVkID0gUmVxdWlyZWRLZXlzPExpbmtQcm9wcz5cbnR5cGUgTGlua1Byb3BzT3B0aW9uYWwgPSBPcHRpb25hbEtleXM8T21pdDxJbnRlcm5hbExpbmtQcm9wcywgJ2xvY2FsZSc+PlxuXG5mdW5jdGlvbiBpc01vZGlmaWVkRXZlbnQoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQpOiBib29sZWFuIHtcbiAgY29uc3QgZXZlbnRUYXJnZXQgPSBldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxBbmNob3JFbGVtZW50IHwgU1ZHQUVsZW1lbnRcbiAgY29uc3QgdGFyZ2V0ID0gZXZlbnRUYXJnZXQuZ2V0QXR0cmlidXRlKCd0YXJnZXQnKVxuICByZXR1cm4gKFxuICAgICh0YXJnZXQgJiYgdGFyZ2V0ICE9PSAnX3NlbGYnKSB8fFxuICAgIGV2ZW50Lm1ldGFLZXkgfHxcbiAgICBldmVudC5jdHJsS2V5IHx8XG4gICAgZXZlbnQuc2hpZnRLZXkgfHxcbiAgICBldmVudC5hbHRLZXkgfHwgLy8gdHJpZ2dlcnMgcmVzb3VyY2UgZG93bmxvYWRcbiAgICAoZXZlbnQubmF0aXZlRXZlbnQgJiYgZXZlbnQubmF0aXZlRXZlbnQud2hpY2ggPT09IDIpXG4gIClcbn1cblxuZnVuY3Rpb24gbGlua0NsaWNrZWQoXG4gIGU6IFJlYWN0Lk1vdXNlRXZlbnQsXG4gIGhyZWY6IHN0cmluZyxcbiAgYXM6IHN0cmluZyxcbiAgbGlua0luc3RhbmNlUmVmOiBSZWFjdC5SZWZPYmplY3Q8TGlua0luc3RhbmNlIHwgbnVsbD4sXG4gIHJlcGxhY2U/OiBib29sZWFuLFxuICBzY3JvbGw/OiBib29sZWFuLFxuICBvbk5hdmlnYXRlPzogT25OYXZpZ2F0ZUV2ZW50SGFuZGxlclxuKTogdm9pZCB7XG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgIGNvbnN0IHsgbm9kZU5hbWUgfSA9IGUuY3VycmVudFRhcmdldFxuXG4gICAgLy8gYW5jaG9ycyBpbnNpZGUgYW4gc3ZnIGhhdmUgYSBsb3dlcmNhc2Ugbm9kZU5hbWVcbiAgICBjb25zdCBpc0FuY2hvck5vZGVOYW1lID0gbm9kZU5hbWUudG9VcHBlckNhc2UoKSA9PT0gJ0EnXG4gICAgaWYgKFxuICAgICAgKGlzQW5jaG9yTm9kZU5hbWUgJiYgaXNNb2RpZmllZEV2ZW50KGUpKSB8fFxuICAgICAgZS5jdXJyZW50VGFyZ2V0Lmhhc0F0dHJpYnV0ZSgnZG93bmxvYWQnKVxuICAgICkge1xuICAgICAgLy8gaWdub3JlIGNsaWNrIGZvciBicm93c2Vy4oCZcyBkZWZhdWx0IGJlaGF2aW9yXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoIWlzTG9jYWxVUkwoaHJlZikpIHtcbiAgICAgIGlmIChyZXBsYWNlKSB7XG4gICAgICAgIC8vIGJyb3dzZXIgZGVmYXVsdCBiZWhhdmlvciBkb2VzIG5vdCByZXBsYWNlIHRoZSBoaXN0b3J5IHN0YXRlXG4gICAgICAgIC8vIHNvIHdlIG5lZWQgdG8gZG8gaXQgbWFudWFsbHlcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIGxvY2F0aW9uLnJlcGxhY2UoaHJlZilcbiAgICAgIH1cblxuICAgICAgLy8gaWdub3JlIGNsaWNrIGZvciBicm93c2Vy4oCZcyBkZWZhdWx0IGJlaGF2aW9yXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcblxuICAgIGlmIChvbk5hdmlnYXRlKSB7XG4gICAgICBsZXQgaXNEZWZhdWx0UHJldmVudGVkID0gZmFsc2VcblxuICAgICAgb25OYXZpZ2F0ZSh7XG4gICAgICAgIHByZXZlbnREZWZhdWx0OiAoKSA9PiB7XG4gICAgICAgICAgaXNEZWZhdWx0UHJldmVudGVkID0gdHJ1ZVxuICAgICAgICB9LFxuICAgICAgfSlcblxuICAgICAgaWYgKGlzRGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB7IGRpc3BhdGNoTmF2aWdhdGVBY3Rpb24gfSA9XG4gICAgICByZXF1aXJlKCcuLi9jb21wb25lbnRzL2FwcC1yb3V0ZXItaW5zdGFuY2UnKSBhcyB0eXBlb2YgaW1wb3J0KCcuLi9jb21wb25lbnRzL2FwcC1yb3V0ZXItaW5zdGFuY2UnKVxuXG4gICAgUmVhY3Quc3RhcnRUcmFuc2l0aW9uKCgpID0+IHtcbiAgICAgIGRpc3BhdGNoTmF2aWdhdGVBY3Rpb24oXG4gICAgICAgIGFzIHx8IGhyZWYsXG4gICAgICAgIHJlcGxhY2UgPyAncmVwbGFjZScgOiAncHVzaCcsXG4gICAgICAgIHNjcm9sbCA/PyB0cnVlLFxuICAgICAgICBsaW5rSW5zdGFuY2VSZWYuY3VycmVudFxuICAgICAgKVxuICAgIH0pXG4gIH1cbn1cblxuZnVuY3Rpb24gZm9ybWF0U3RyaW5nT3JVcmwodXJsT2JqT3JTdHJpbmc6IFVybE9iamVjdCB8IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICh0eXBlb2YgdXJsT2JqT3JTdHJpbmcgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHVybE9iak9yU3RyaW5nXG4gIH1cblxuICByZXR1cm4gZm9ybWF0VXJsKHVybE9iak9yU3RyaW5nKVxufVxuXG4vKipcbiAqIEEgUmVhY3QgY29tcG9uZW50IHRoYXQgZXh0ZW5kcyB0aGUgSFRNTCBgPGE+YCBlbGVtZW50IHRvIHByb3ZpZGVcbiAqIFtwcmVmZXRjaGluZ10oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcm91dGluZy9saW5raW5nLWFuZC1uYXZpZ2F0aW5nIzItcHJlZmV0Y2hpbmcpXG4gKiBhbmQgY2xpZW50LXNpZGUgbmF2aWdhdGlvbi4gVGhpcyBpcyB0aGUgcHJpbWFyeSB3YXkgdG8gbmF2aWdhdGUgYmV0d2VlbiByb3V0ZXMgaW4gTmV4dC5qcy5cbiAqXG4gKiBAcmVtYXJrc1xuICogLSBQcmVmZXRjaGluZyBpcyBvbmx5IGVuYWJsZWQgaW4gcHJvZHVjdGlvbi5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2NvbXBvbmVudHMvbGlua1xuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBMaW5rQ29tcG9uZW50KFxuICBwcm9wczogTGlua1Byb3BzICYge1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgICByZWY6IFJlYWN0LlJlZjxIVE1MQW5jaG9yRWxlbWVudD5cbiAgfVxuKSB7XG4gIGNvbnN0IFtsaW5rU3RhdHVzLCBzZXRPcHRpbWlzdGljTGlua1N0YXR1c10gPSB1c2VPcHRpbWlzdGljKElETEVfTElOS19TVEFUVVMpXG5cbiAgbGV0IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcblxuICBjb25zdCBsaW5rSW5zdGFuY2VSZWYgPSB1c2VSZWY8TGlua0luc3RhbmNlIHwgbnVsbD4obnVsbClcblxuICBjb25zdCB7XG4gICAgaHJlZjogaHJlZlByb3AsXG4gICAgYXM6IGFzUHJvcCxcbiAgICBjaGlsZHJlbjogY2hpbGRyZW5Qcm9wLFxuICAgIHByZWZldGNoOiBwcmVmZXRjaFByb3AgPSBudWxsLFxuICAgIHBhc3NIcmVmLFxuICAgIHJlcGxhY2UsXG4gICAgc2hhbGxvdyxcbiAgICBzY3JvbGwsXG4gICAgb25DbGljayxcbiAgICBvbk1vdXNlRW50ZXI6IG9uTW91c2VFbnRlclByb3AsXG4gICAgb25Ub3VjaFN0YXJ0OiBvblRvdWNoU3RhcnRQcm9wLFxuICAgIGxlZ2FjeUJlaGF2aW9yID0gZmFsc2UsXG4gICAgb25OYXZpZ2F0ZSxcbiAgICByZWY6IGZvcndhcmRlZFJlZixcbiAgICB1bnN0YWJsZV9keW5hbWljT25Ib3ZlcixcbiAgICAuLi5yZXN0UHJvcHNcbiAgfSA9IHByb3BzXG5cbiAgY2hpbGRyZW4gPSBjaGlsZHJlblByb3BcblxuICBpZiAoXG4gICAgbGVnYWN5QmVoYXZpb3IgJiZcbiAgICAodHlwZW9mIGNoaWxkcmVuID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgY2hpbGRyZW4gPT09ICdudW1iZXInKVxuICApIHtcbiAgICBjaGlsZHJlbiA9IDxhPntjaGlsZHJlbn08L2E+XG4gIH1cblxuICBjb25zdCByb3V0ZXIgPSBSZWFjdC51c2VDb250ZXh0KEFwcFJvdXRlckNvbnRleHQpXG5cbiAgY29uc3QgcHJlZmV0Y2hFbmFibGVkID0gcHJlZmV0Y2hQcm9wICE9PSBmYWxzZVxuXG4gIGNvbnN0IGZldGNoU3RyYXRlZ3kgPVxuICAgIHByZWZldGNoUHJvcCAhPT0gZmFsc2VcbiAgICAgID8gZ2V0RmV0Y2hTdHJhdGVneUZyb21QcmVmZXRjaFByb3AocHJlZmV0Y2hQcm9wKVxuICAgICAgOiAvLyBUT0RPOiBpdCBtYWtlcyBubyBzZW5zZSB0byBhc3NpZ24gYSBmZXRjaFN0cmF0ZWd5IHdoZW4gcHJlZmV0Y2hpbmcgaXMgZGlzYWJsZWQuXG4gICAgICAgIEZldGNoU3RyYXRlZ3kuUFBSXG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBmdW5jdGlvbiBjcmVhdGVQcm9wRXJyb3IoYXJnczoge1xuICAgICAga2V5OiBzdHJpbmdcbiAgICAgIGV4cGVjdGVkOiBzdHJpbmdcbiAgICAgIGFjdHVhbDogc3RyaW5nXG4gICAgfSkge1xuICAgICAgcmV0dXJuIG5ldyBFcnJvcihcbiAgICAgICAgYEZhaWxlZCBwcm9wIHR5cGU6IFRoZSBwcm9wIFxcYCR7YXJncy5rZXl9XFxgIGV4cGVjdHMgYSAke2FyZ3MuZXhwZWN0ZWR9IGluIFxcYDxMaW5rPlxcYCwgYnV0IGdvdCBcXGAke2FyZ3MuYWN0dWFsfVxcYCBpbnN0ZWFkLmAgK1xuICAgICAgICAgICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgPyBcIlxcbk9wZW4geW91ciBicm93c2VyJ3MgY29uc29sZSB0byB2aWV3IHRoZSBDb21wb25lbnQgc3RhY2sgdHJhY2UuXCJcbiAgICAgICAgICAgIDogJycpXG4gICAgICApXG4gICAgfVxuXG4gICAgLy8gVHlwZVNjcmlwdCB0cmljayBmb3IgdHlwZS1ndWFyZGluZzpcbiAgICBjb25zdCByZXF1aXJlZFByb3BzR3VhcmQ6IFJlY29yZDxMaW5rUHJvcHNSZXF1aXJlZCwgdHJ1ZT4gPSB7XG4gICAgICBocmVmOiB0cnVlLFxuICAgIH0gYXMgY29uc3RcbiAgICBjb25zdCByZXF1aXJlZFByb3BzOiBMaW5rUHJvcHNSZXF1aXJlZFtdID0gT2JqZWN0LmtleXMoXG4gICAgICByZXF1aXJlZFByb3BzR3VhcmRcbiAgICApIGFzIExpbmtQcm9wc1JlcXVpcmVkW11cbiAgICByZXF1aXJlZFByb3BzLmZvckVhY2goKGtleTogTGlua1Byb3BzUmVxdWlyZWQpID0+IHtcbiAgICAgIGlmIChrZXkgPT09ICdocmVmJykge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcHJvcHNba2V5XSA9PSBudWxsIHx8XG4gICAgICAgICAgKHR5cGVvZiBwcm9wc1trZXldICE9PSAnc3RyaW5nJyAmJiB0eXBlb2YgcHJvcHNba2V5XSAhPT0gJ29iamVjdCcpXG4gICAgICAgICkge1xuICAgICAgICAgIHRocm93IGNyZWF0ZVByb3BFcnJvcih7XG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBleHBlY3RlZDogJ2BzdHJpbmdgIG9yIGBvYmplY3RgJyxcbiAgICAgICAgICAgIGFjdHVhbDogcHJvcHNba2V5XSA9PT0gbnVsbCA/ICdudWxsJyA6IHR5cGVvZiBwcm9wc1trZXldLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFR5cGVTY3JpcHQgdHJpY2sgZm9yIHR5cGUtZ3VhcmRpbmc6XG4gICAgICAgIGNvbnN0IF86IG5ldmVyID0ga2V5XG4gICAgICB9XG4gICAgfSlcblxuICAgIC8vIFR5cGVTY3JpcHQgdHJpY2sgZm9yIHR5cGUtZ3VhcmRpbmc6XG4gICAgY29uc3Qgb3B0aW9uYWxQcm9wc0d1YXJkOiBSZWNvcmQ8TGlua1Byb3BzT3B0aW9uYWwsIHRydWU+ID0ge1xuICAgICAgYXM6IHRydWUsXG4gICAgICByZXBsYWNlOiB0cnVlLFxuICAgICAgc2Nyb2xsOiB0cnVlLFxuICAgICAgc2hhbGxvdzogdHJ1ZSxcbiAgICAgIHBhc3NIcmVmOiB0cnVlLFxuICAgICAgcHJlZmV0Y2g6IHRydWUsXG4gICAgICB1bnN0YWJsZV9keW5hbWljT25Ib3ZlcjogdHJ1ZSxcbiAgICAgIG9uQ2xpY2s6IHRydWUsXG4gICAgICBvbk1vdXNlRW50ZXI6IHRydWUsXG4gICAgICBvblRvdWNoU3RhcnQ6IHRydWUsXG4gICAgICBsZWdhY3lCZWhhdmlvcjogdHJ1ZSxcbiAgICAgIG9uTmF2aWdhdGU6IHRydWUsXG4gICAgfSBhcyBjb25zdFxuICAgIGNvbnN0IG9wdGlvbmFsUHJvcHM6IExpbmtQcm9wc09wdGlvbmFsW10gPSBPYmplY3Qua2V5cyhcbiAgICAgIG9wdGlvbmFsUHJvcHNHdWFyZFxuICAgICkgYXMgTGlua1Byb3BzT3B0aW9uYWxbXVxuICAgIG9wdGlvbmFsUHJvcHMuZm9yRWFjaCgoa2V5OiBMaW5rUHJvcHNPcHRpb25hbCkgPT4ge1xuICAgICAgY29uc3QgdmFsVHlwZSA9IHR5cGVvZiBwcm9wc1trZXldXG5cbiAgICAgIGlmIChrZXkgPT09ICdhcycpIHtcbiAgICAgICAgaWYgKHByb3BzW2tleV0gJiYgdmFsVHlwZSAhPT0gJ3N0cmluZycgJiYgdmFsVHlwZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICB0aHJvdyBjcmVhdGVQcm9wRXJyb3Ioe1xuICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgZXhwZWN0ZWQ6ICdgc3RyaW5nYCBvciBgb2JqZWN0YCcsXG4gICAgICAgICAgICBhY3R1YWw6IHZhbFR5cGUsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAga2V5ID09PSAnb25DbGljaycgfHxcbiAgICAgICAga2V5ID09PSAnb25Nb3VzZUVudGVyJyB8fFxuICAgICAgICBrZXkgPT09ICdvblRvdWNoU3RhcnQnIHx8XG4gICAgICAgIGtleSA9PT0gJ29uTmF2aWdhdGUnXG4gICAgICApIHtcbiAgICAgICAgaWYgKHByb3BzW2tleV0gJiYgdmFsVHlwZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIHRocm93IGNyZWF0ZVByb3BFcnJvcih7XG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBleHBlY3RlZDogJ2BmdW5jdGlvbmAnLFxuICAgICAgICAgICAgYWN0dWFsOiB2YWxUeXBlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGtleSA9PT0gJ3JlcGxhY2UnIHx8XG4gICAgICAgIGtleSA9PT0gJ3Njcm9sbCcgfHxcbiAgICAgICAga2V5ID09PSAnc2hhbGxvdycgfHxcbiAgICAgICAga2V5ID09PSAncGFzc0hyZWYnIHx8XG4gICAgICAgIGtleSA9PT0gJ2xlZ2FjeUJlaGF2aW9yJyB8fFxuICAgICAgICBrZXkgPT09ICd1bnN0YWJsZV9keW5hbWljT25Ib3ZlcidcbiAgICAgICkge1xuICAgICAgICBpZiAocHJvcHNba2V5XSAhPSBudWxsICYmIHZhbFR5cGUgIT09ICdib29sZWFuJykge1xuICAgICAgICAgIHRocm93IGNyZWF0ZVByb3BFcnJvcih7XG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBleHBlY3RlZDogJ2Bib29sZWFuYCcsXG4gICAgICAgICAgICBhY3R1YWw6IHZhbFR5cGUsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdwcmVmZXRjaCcpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHByb3BzW2tleV0gIT0gbnVsbCAmJlxuICAgICAgICAgIHZhbFR5cGUgIT09ICdib29sZWFuJyAmJlxuICAgICAgICAgIHByb3BzW2tleV0gIT09ICdhdXRvJ1xuICAgICAgICApIHtcbiAgICAgICAgICB0aHJvdyBjcmVhdGVQcm9wRXJyb3Ioe1xuICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgZXhwZWN0ZWQ6ICdgYm9vbGVhbiB8IFwiYXV0b1wiYCcsXG4gICAgICAgICAgICBhY3R1YWw6IHZhbFR5cGUsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVHlwZVNjcmlwdCB0cmljayBmb3IgdHlwZS1ndWFyZGluZzpcbiAgICAgICAgY29uc3QgXzogbmV2ZXIgPSBrZXlcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBpZiAocHJvcHMubG9jYWxlKSB7XG4gICAgICB3YXJuT25jZShcbiAgICAgICAgJ1RoZSBgbG9jYWxlYCBwcm9wIGlzIG5vdCBzdXBwb3J0ZWQgaW4gYG5leHQvbGlua2Agd2hpbGUgdXNpbmcgdGhlIGBhcHBgIHJvdXRlci4gUmVhZCBtb3JlIGFib3V0IGFwcCByb3V0ZXIgaW50ZXJuYWxpemF0aW9uOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yb3V0aW5nL2ludGVybmF0aW9uYWxpemF0aW9uJ1xuICAgICAgKVxuICAgIH1cbiAgICBpZiAoIWFzUHJvcCkge1xuICAgICAgbGV0IGhyZWY6IHN0cmluZyB8IHVuZGVmaW5lZFxuICAgICAgaWYgKHR5cGVvZiBocmVmUHJvcCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgaHJlZiA9IGhyZWZQcm9wXG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICB0eXBlb2YgaHJlZlByb3AgPT09ICdvYmplY3QnICYmXG4gICAgICAgIHR5cGVvZiBocmVmUHJvcC5wYXRobmFtZSA9PT0gJ3N0cmluZydcbiAgICAgICkge1xuICAgICAgICBocmVmID0gaHJlZlByb3AucGF0aG5hbWVcbiAgICAgIH1cblxuICAgICAgaWYgKGhyZWYpIHtcbiAgICAgICAgY29uc3QgaGFzRHluYW1pY1NlZ21lbnQgPSBocmVmXG4gICAgICAgICAgLnNwbGl0KCcvJylcbiAgICAgICAgICAuc29tZSgoc2VnbWVudCkgPT4gc2VnbWVudC5zdGFydHNXaXRoKCdbJykgJiYgc2VnbWVudC5lbmRzV2l0aCgnXScpKVxuXG4gICAgICAgIGlmIChoYXNEeW5hbWljU2VnbWVudCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBEeW5hbWljIGhyZWYgXFxgJHtocmVmfVxcYCBmb3VuZCBpbiA8TGluaz4gd2hpbGUgdXNpbmcgdGhlIFxcYC9hcHBcXGAgcm91dGVyLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvYXBwLWRpci1keW5hbWljLWhyZWZgXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgeyBocmVmLCBhcyB9ID0gUmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgcmVzb2x2ZWRIcmVmID0gZm9ybWF0U3RyaW5nT3JVcmwoaHJlZlByb3ApXG4gICAgcmV0dXJuIHtcbiAgICAgIGhyZWY6IHJlc29sdmVkSHJlZixcbiAgICAgIGFzOiBhc1Byb3AgPyBmb3JtYXRTdHJpbmdPclVybChhc1Byb3ApIDogcmVzb2x2ZWRIcmVmLFxuICAgIH1cbiAgfSwgW2hyZWZQcm9wLCBhc1Byb3BdKVxuXG4gIC8vIFRoaXMgd2lsbCByZXR1cm4gdGhlIGZpcnN0IGNoaWxkLCBpZiBtdWx0aXBsZSBhcmUgcHJvdmlkZWQgaXQgd2lsbCB0aHJvdyBhbiBlcnJvclxuICBsZXQgY2hpbGQ6IGFueVxuICBpZiAobGVnYWN5QmVoYXZpb3IpIHtcbiAgICBpZiAoKGNoaWxkcmVuIGFzIGFueSk/LiQkdHlwZW9mID09PSBTeW1ib2wuZm9yKCdyZWFjdC5sYXp5JykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFxcYDxMaW5rIGxlZ2FjeUJlaGF2aW9yPlxcYCByZWNlaXZlZCBhIGRpcmVjdCBjaGlsZCB0aGF0IGlzIGVpdGhlciBhIFNlcnZlciBDb21wb25lbnQsIG9yIEpTWCB0aGF0IHdhcyBsb2FkZWQgd2l0aCBSZWFjdC5sYXp5KCkuIFRoaXMgaXMgbm90IHN1cHBvcnRlZC4gRWl0aGVyIHJlbW92ZSBsZWdhY3lCZWhhdmlvciwgb3IgbWFrZSB0aGUgZGlyZWN0IGNoaWxkIGEgQ2xpZW50IENvbXBvbmVudCB0aGF0IHJlbmRlcnMgdGhlIExpbmsncyBcXGA8YT5cXGAgdGFnLmBcbiAgICAgIClcbiAgICB9XG5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCcpIHtcbiAgICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgXCJvbkNsaWNrXCIgd2FzIHBhc3NlZCB0byA8TGluaz4gd2l0aCBcXGBocmVmXFxgIG9mIFxcYCR7aHJlZlByb3B9XFxgIGJ1dCBcImxlZ2FjeUJlaGF2aW9yXCIgd2FzIHNldC4gVGhlIGxlZ2FjeSBiZWhhdmlvciByZXF1aXJlcyBvbkNsaWNrIGJlIHNldCBvbiB0aGUgY2hpbGQgb2YgbmV4dC9saW5rYFxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAob25Nb3VzZUVudGVyUHJvcCkge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgYFwib25Nb3VzZUVudGVyXCIgd2FzIHBhc3NlZCB0byA8TGluaz4gd2l0aCBcXGBocmVmXFxgIG9mIFxcYCR7aHJlZlByb3B9XFxgIGJ1dCBcImxlZ2FjeUJlaGF2aW9yXCIgd2FzIHNldC4gVGhlIGxlZ2FjeSBiZWhhdmlvciByZXF1aXJlcyBvbk1vdXNlRW50ZXIgYmUgc2V0IG9uIHRoZSBjaGlsZCBvZiBuZXh0L2xpbmtgXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIHRyeSB7XG4gICAgICAgIGNoaWxkID0gUmVhY3QuQ2hpbGRyZW4ub25seShjaGlsZHJlbilcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoIWNoaWxkcmVuKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYE5vIGNoaWxkcmVuIHdlcmUgcGFzc2VkIHRvIDxMaW5rPiB3aXRoIFxcYGhyZWZcXGAgb2YgXFxgJHtocmVmUHJvcH1cXGAgYnV0IG9uZSBjaGlsZCBpcyByZXF1aXJlZCBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9saW5rLW5vLWNoaWxkcmVuYFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYE11bHRpcGxlIGNoaWxkcmVuIHdlcmUgcGFzc2VkIHRvIDxMaW5rPiB3aXRoIFxcYGhyZWZcXGAgb2YgXFxgJHtocmVmUHJvcH1cXGAgYnV0IG9ubHkgb25lIGNoaWxkIGlzIHN1cHBvcnRlZCBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9saW5rLW11bHRpcGxlLWNoaWxkcmVuYCArXG4gICAgICAgICAgICAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgICAgICAgPyBcIiBcXG5PcGVuIHlvdXIgYnJvd3NlcidzIGNvbnNvbGUgdG8gdmlldyB0aGUgQ29tcG9uZW50IHN0YWNrIHRyYWNlLlwiXG4gICAgICAgICAgICAgIDogJycpXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY2hpbGQgPSBSZWFjdC5DaGlsZHJlbi5vbmx5KGNoaWxkcmVuKVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCcpIHtcbiAgICAgIGlmICgoY2hpbGRyZW4gYXMgYW55KT8udHlwZSA9PT0gJ2EnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAnSW52YWxpZCA8TGluaz4gd2l0aCA8YT4gY2hpbGQuIFBsZWFzZSByZW1vdmUgPGE+IG9yIHVzZSA8TGluayBsZWdhY3lCZWhhdmlvcj4uXFxuTGVhcm4gbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvaW52YWxpZC1uZXctbGluay13aXRoLWV4dHJhLWFuY2hvcidcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGNoaWxkUmVmOiBhbnkgPSBsZWdhY3lCZWhhdmlvclxuICAgID8gY2hpbGQgJiYgdHlwZW9mIGNoaWxkID09PSAnb2JqZWN0JyAmJiBjaGlsZC5yZWZcbiAgICA6IGZvcndhcmRlZFJlZlxuXG4gIC8vIFVzZSBhIGNhbGxiYWNrIHJlZiB0byBhdHRhY2ggYW4gSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgdG8gdGhlIGFuY2hvciB0YWcgb25cbiAgLy8gbW91bnQuIEluIHRoZSBmdXR1cmUgd2Ugd2lsbCBhbHNvIHVzZSB0aGlzIHRvIGtlZXAgdHJhY2sgb2YgYWxsIHRoZVxuICAvLyBjdXJyZW50bHkgbW91bnRlZCA8TGluaz4gaW5zdGFuY2VzLCBlLmcuIHNvIHdlIGNhbiByZS1wcmVmZXRjaCB0aGVtIGFmdGVyXG4gIC8vIGEgcmV2YWxpZGF0aW9uIG9yIHJlZnJlc2guXG4gIGNvbnN0IG9ic2VydmVMaW5rVmlzaWJpbGl0eU9uTW91bnQgPSBSZWFjdC51c2VDYWxsYmFjayhcbiAgICAoZWxlbWVudDogSFRNTEFuY2hvckVsZW1lbnQgfCBTVkdBRWxlbWVudCkgPT4ge1xuICAgICAgaWYgKHJvdXRlciAhPT0gbnVsbCkge1xuICAgICAgICBsaW5rSW5zdGFuY2VSZWYuY3VycmVudCA9IG1vdW50TGlua0luc3RhbmNlKFxuICAgICAgICAgIGVsZW1lbnQsXG4gICAgICAgICAgaHJlZixcbiAgICAgICAgICByb3V0ZXIsXG4gICAgICAgICAgZmV0Y2hTdHJhdGVneSxcbiAgICAgICAgICBwcmVmZXRjaEVuYWJsZWQsXG4gICAgICAgICAgc2V0T3B0aW1pc3RpY0xpbmtTdGF0dXNcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBpZiAobGlua0luc3RhbmNlUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICB1bm1vdW50TGlua0ZvckN1cnJlbnROYXZpZ2F0aW9uKGxpbmtJbnN0YW5jZVJlZi5jdXJyZW50KVxuICAgICAgICAgIGxpbmtJbnN0YW5jZVJlZi5jdXJyZW50ID0gbnVsbFxuICAgICAgICB9XG4gICAgICAgIHVubW91bnRQcmVmZXRjaGFibGVJbnN0YW5jZShlbGVtZW50KVxuICAgICAgfVxuICAgIH0sXG4gICAgW3ByZWZldGNoRW5hYmxlZCwgaHJlZiwgcm91dGVyLCBmZXRjaFN0cmF0ZWd5LCBzZXRPcHRpbWlzdGljTGlua1N0YXR1c11cbiAgKVxuXG4gIGNvbnN0IG1lcmdlZFJlZiA9IHVzZU1lcmdlZFJlZihvYnNlcnZlTGlua1Zpc2liaWxpdHlPbk1vdW50LCBjaGlsZFJlZilcblxuICBjb25zdCBjaGlsZFByb3BzOiB7XG4gICAgb25Ub3VjaFN0YXJ0PzogUmVhY3QuVG91Y2hFdmVudEhhbmRsZXI8SFRNTEFuY2hvckVsZW1lbnQ+XG4gICAgb25Nb3VzZUVudGVyOiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlcjxIVE1MQW5jaG9yRWxlbWVudD5cbiAgICBvbkNsaWNrOiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlcjxIVE1MQW5jaG9yRWxlbWVudD5cbiAgICBocmVmPzogc3RyaW5nXG4gICAgcmVmPzogYW55XG4gIH0gPSB7XG4gICAgcmVmOiBtZXJnZWRSZWYsXG4gICAgb25DbGljayhlKSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBpZiAoIWUpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgQ29tcG9uZW50IHJlbmRlcmVkIGluc2lkZSBuZXh0L2xpbmsgaGFzIHRvIHBhc3MgY2xpY2sgZXZlbnQgdG8gXCJvbkNsaWNrXCIgcHJvcC5gXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghbGVnYWN5QmVoYXZpb3IgJiYgdHlwZW9mIG9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb25DbGljayhlKVxuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIGxlZ2FjeUJlaGF2aW9yICYmXG4gICAgICAgIGNoaWxkLnByb3BzICYmXG4gICAgICAgIHR5cGVvZiBjaGlsZC5wcm9wcy5vbkNsaWNrID09PSAnZnVuY3Rpb24nXG4gICAgICApIHtcbiAgICAgICAgY2hpbGQucHJvcHMub25DbGljayhlKVxuICAgICAgfVxuXG4gICAgICBpZiAoIXJvdXRlcikge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGlmIChlLmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBsaW5rQ2xpY2tlZChlLCBocmVmLCBhcywgbGlua0luc3RhbmNlUmVmLCByZXBsYWNlLCBzY3JvbGwsIG9uTmF2aWdhdGUpXG4gICAgfSxcbiAgICBvbk1vdXNlRW50ZXIoZSkge1xuICAgICAgaWYgKCFsZWdhY3lCZWhhdmlvciAmJiB0eXBlb2Ygb25Nb3VzZUVudGVyUHJvcCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBvbk1vdXNlRW50ZXJQcm9wKGUpXG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgbGVnYWN5QmVoYXZpb3IgJiZcbiAgICAgICAgY2hpbGQucHJvcHMgJiZcbiAgICAgICAgdHlwZW9mIGNoaWxkLnByb3BzLm9uTW91c2VFbnRlciA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgKSB7XG4gICAgICAgIGNoaWxkLnByb3BzLm9uTW91c2VFbnRlcihlKVxuICAgICAgfVxuXG4gICAgICBpZiAoIXJvdXRlcikge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGlmICghcHJlZmV0Y2hFbmFibGVkIHx8IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCB1cGdyYWRlVG9EeW5hbWljUHJlZmV0Y2ggPSB1bnN0YWJsZV9keW5hbWljT25Ib3ZlciA9PT0gdHJ1ZVxuICAgICAgb25OYXZpZ2F0aW9uSW50ZW50KFxuICAgICAgICBlLmN1cnJlbnRUYXJnZXQgYXMgSFRNTEFuY2hvckVsZW1lbnQgfCBTVkdBRWxlbWVudCxcbiAgICAgICAgdXBncmFkZVRvRHluYW1pY1ByZWZldGNoXG4gICAgICApXG4gICAgfSxcbiAgICBvblRvdWNoU3RhcnQ6IHByb2Nlc3MuZW52Ll9fTkVYVF9MSU5LX05PX1RPVUNIX1NUQVJUXG4gICAgICA/IHVuZGVmaW5lZFxuICAgICAgOiBmdW5jdGlvbiBvblRvdWNoU3RhcnQoZSkge1xuICAgICAgICAgIGlmICghbGVnYWN5QmVoYXZpb3IgJiYgdHlwZW9mIG9uVG91Y2hTdGFydFByb3AgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIG9uVG91Y2hTdGFydFByb3AoZSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBsZWdhY3lCZWhhdmlvciAmJlxuICAgICAgICAgICAgY2hpbGQucHJvcHMgJiZcbiAgICAgICAgICAgIHR5cGVvZiBjaGlsZC5wcm9wcy5vblRvdWNoU3RhcnQgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNoaWxkLnByb3BzLm9uVG91Y2hTdGFydChlKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghcm91dGVyKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFwcmVmZXRjaEVuYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHVwZ3JhZGVUb0R5bmFtaWNQcmVmZXRjaCA9IHVuc3RhYmxlX2R5bmFtaWNPbkhvdmVyID09PSB0cnVlXG4gICAgICAgICAgb25OYXZpZ2F0aW9uSW50ZW50KFxuICAgICAgICAgICAgZS5jdXJyZW50VGFyZ2V0IGFzIEhUTUxBbmNob3JFbGVtZW50IHwgU1ZHQUVsZW1lbnQsXG4gICAgICAgICAgICB1cGdyYWRlVG9EeW5hbWljUHJlZmV0Y2hcbiAgICAgICAgICApXG4gICAgICAgIH0sXG4gIH1cblxuICAvLyBJZiB0aGUgdXJsIGlzIGFic29sdXRlLCB3ZSBjYW4gYnlwYXNzIHRoZSBsb2dpYyB0byBwcmVwZW5kIHRoZSBiYXNlUGF0aC5cbiAgaWYgKGlzQWJzb2x1dGVVcmwoYXMpKSB7XG4gICAgY2hpbGRQcm9wcy5ocmVmID0gYXNcbiAgfSBlbHNlIGlmIChcbiAgICAhbGVnYWN5QmVoYXZpb3IgfHxcbiAgICBwYXNzSHJlZiB8fFxuICAgIChjaGlsZC50eXBlID09PSAnYScgJiYgISgnaHJlZicgaW4gY2hpbGQucHJvcHMpKVxuICApIHtcbiAgICBjaGlsZFByb3BzLmhyZWYgPSBhZGRCYXNlUGF0aChhcylcbiAgfVxuXG4gIGxldCBsaW5rOiBSZWFjdC5SZWFjdE5vZGVcblxuICBpZiAobGVnYWN5QmVoYXZpb3IpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCcpIHtcbiAgICAgIGVycm9yT25jZShcbiAgICAgICAgJ2BsZWdhY3lCZWhhdmlvcmAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlICcgK1xuICAgICAgICAgICdyZWxlYXNlLiBBIGNvZGVtb2QgaXMgYXZhaWxhYmxlIHRvIHVwZ3JhZGUgeW91ciBjb21wb25lbnRzOlxcblxcbicgK1xuICAgICAgICAgICducHggQG5leHQvY29kZW1vZEBsYXRlc3QgbmV3LWxpbmsgLlxcblxcbicgK1xuICAgICAgICAgICdMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi91cGdyYWRpbmcvY29kZW1vZHMjcmVtb3ZlLWEtdGFncy1mcm9tLWxpbmstY29tcG9uZW50cydcbiAgICAgIClcbiAgICB9XG4gICAgbGluayA9IFJlYWN0LmNsb25lRWxlbWVudChjaGlsZCwgY2hpbGRQcm9wcylcbiAgfSBlbHNlIHtcbiAgICBsaW5rID0gKFxuICAgICAgPGEgey4uLnJlc3RQcm9wc30gey4uLmNoaWxkUHJvcHN9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L2E+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8TGlua1N0YXR1c0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2xpbmtTdGF0dXN9PlxuICAgICAge2xpbmt9XG4gICAgPC9MaW5rU3RhdHVzQ29udGV4dC5Qcm92aWRlcj5cbiAgKVxufVxuXG5jb25zdCBMaW5rU3RhdHVzQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8XG4gIHR5cGVvZiBQRU5ESU5HX0xJTktfU1RBVFVTIHwgdHlwZW9mIElETEVfTElOS19TVEFUVVNcbj4oSURMRV9MSU5LX1NUQVRVUylcblxuZXhwb3J0IGNvbnN0IHVzZUxpbmtTdGF0dXMgPSAoKSA9PiB7XG4gIHJldHVybiB1c2VDb250ZXh0KExpbmtTdGF0dXNDb250ZXh0KVxufVxuXG5mdW5jdGlvbiBnZXRGZXRjaFN0cmF0ZWd5RnJvbVByZWZldGNoUHJvcChcbiAgcHJlZmV0Y2hQcm9wOiBFeGNsdWRlPExpbmtQcm9wc1sncHJlZmV0Y2gnXSwgdW5kZWZpbmVkIHwgZmFsc2U+XG4pOiBQcmVmZXRjaFRhc2tGZXRjaFN0cmF0ZWd5IHtcbiAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9DQUNIRV9DT01QT05FTlRTKSB7XG4gICAgaWYgKHByZWZldGNoUHJvcCA9PT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuIEZldGNoU3RyYXRlZ3kuRnVsbFxuICAgIH1cblxuICAgIC8vIGBudWxsYCBvciBgXCJhdXRvXCJgOiB0aGlzIGlzIHRoZSBkZWZhdWx0IFwiYXV0b1wiIG1vZGUsIHdoZXJlIHdlIHdpbGwgcHJlZmV0Y2ggcGFydGlhbGx5IGlmIHRoZSBsaW5rIGlzIGluIHRoZSB2aWV3cG9ydC5cbiAgICAvLyBUaGlzIHdpbGwgYWxzbyBpbmNsdWRlIGludmFsaWQgcHJvcCB2YWx1ZXMgdGhhdCBkb24ndCBtYXRjaCB0aGUgdHlwZXMgc3BlY2lmaWVkIGhlcmUuXG4gICAgLy8gKGFsdGhvdWdoIHRob3NlIHNob3VsZCd2ZSBiZWVuIGZpbHRlcmVkIG91dCBieSBwcm9wIHZhbGlkYXRpb24gaW4gZGV2KVxuICAgIHByZWZldGNoUHJvcCBzYXRpc2ZpZXMgbnVsbCB8ICdhdXRvJ1xuICAgIHJldHVybiBGZXRjaFN0cmF0ZWd5LlBQUlxuICB9IGVsc2Uge1xuICAgIHJldHVybiBwcmVmZXRjaFByb3AgPT09IG51bGwgfHwgcHJlZmV0Y2hQcm9wID09PSAnYXV0bydcbiAgICAgID8gLy8gV2UgZGVmYXVsdCB0byBQUFIsIGFuZCB3ZSdsbCBkaXNjb3ZlciB3aGV0aGVyIG9yIG5vdCB0aGUgcm91dGUgc3VwcG9ydHMgaXQgd2l0aCB0aGUgaW5pdGlhbCBwcmVmZXRjaC5cbiAgICAgICAgRmV0Y2hTdHJhdGVneS5QUFJcbiAgICAgIDogLy8gSW4gdGhlIG9sZCBpbXBsZW1lbnRhdGlvbiB3aXRob3V0IHJ1bnRpbWUgcHJlZmV0Y2hlcywgYHByZWZldGNoPXt0cnVlfWAgZm9yY2VzIGFsbCBkeW5hbWljIGRhdGEgdG8gYmUgcHJlZmV0Y2hlZC5cbiAgICAgICAgLy8gVG8gcHJlc2VydmUgYmFja3dhcmRzLWNvbXBhdGliaWxpdHksIGFueXRoaW5nIG90aGVyIHRoYW4gYGZhbHNlYCwgYG51bGxgLCBvciBgXCJhdXRvXCJgIHJlc3VsdHMgaW4gYSBmdWxsIHByZWZldGNoLlxuICAgICAgICAvLyAoYWx0aG91Z2ggaW52YWxpZCB2YWx1ZXMgc2hvdWxkJ3ZlIGJlZW4gZmlsdGVyZWQgb3V0IGJ5IHByb3AgdmFsaWRhdGlvbiBpbiBkZXYpXG4gICAgICAgIEZldGNoU3RyYXRlZ3kuRnVsbFxuICB9XG59XG4iXSwibmFtZXMiOlsiTGlua0NvbXBvbmVudCIsInVzZUxpbmtTdGF0dXMiLCJpc01vZGlmaWVkRXZlbnQiLCJldmVudCIsImV2ZW50VGFyZ2V0IiwiY3VycmVudFRhcmdldCIsInRhcmdldCIsImdldEF0dHJpYnV0ZSIsIm1ldGFLZXkiLCJjdHJsS2V5Iiwic2hpZnRLZXkiLCJhbHRLZXkiLCJuYXRpdmVFdmVudCIsIndoaWNoIiwibGlua0NsaWNrZWQiLCJlIiwiaHJlZiIsImFzIiwibGlua0luc3RhbmNlUmVmIiwicmVwbGFjZSIsInNjcm9sbCIsIm9uTmF2aWdhdGUiLCJ3aW5kb3ciLCJub2RlTmFtZSIsImlzQW5jaG9yTm9kZU5hbWUiLCJ0b1VwcGVyQ2FzZSIsImhhc0F0dHJpYnV0ZSIsImlzTG9jYWxVUkwiLCJwcmV2ZW50RGVmYXVsdCIsImxvY2F0aW9uIiwiaXNEZWZhdWx0UHJldmVudGVkIiwiZGlzcGF0Y2hOYXZpZ2F0ZUFjdGlvbiIsInJlcXVpcmUiLCJSZWFjdCIsInN0YXJ0VHJhbnNpdGlvbiIsImN1cnJlbnQiLCJmb3JtYXRTdHJpbmdPclVybCIsInVybE9iak9yU3RyaW5nIiwiZm9ybWF0VXJsIiwicHJvcHMiLCJsaW5rU3RhdHVzIiwic2V0T3B0aW1pc3RpY0xpbmtTdGF0dXMiLCJ1c2VPcHRpbWlzdGljIiwiSURMRV9MSU5LX1NUQVRVUyIsImNoaWxkcmVuIiwidXNlUmVmIiwiaHJlZlByb3AiLCJhc1Byb3AiLCJjaGlsZHJlblByb3AiLCJwcmVmZXRjaCIsInByZWZldGNoUHJvcCIsInBhc3NIcmVmIiwic2hhbGxvdyIsIm9uQ2xpY2siLCJvbk1vdXNlRW50ZXIiLCJvbk1vdXNlRW50ZXJQcm9wIiwib25Ub3VjaFN0YXJ0Iiwib25Ub3VjaFN0YXJ0UHJvcCIsImxlZ2FjeUJlaGF2aW9yIiwicmVmIiwiZm9yd2FyZGVkUmVmIiwidW5zdGFibGVfZHluYW1pY09uSG92ZXIiLCJyZXN0UHJvcHMiLCJhIiwicm91dGVyIiwidXNlQ29udGV4dCIsIkFwcFJvdXRlckNvbnRleHQiLCJwcmVmZXRjaEVuYWJsZWQiLCJmZXRjaFN0cmF0ZWd5IiwiZ2V0RmV0Y2hTdHJhdGVneUZyb21QcmVmZXRjaFByb3AiLCJGZXRjaFN0cmF0ZWd5IiwiUFBSIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiY3JlYXRlUHJvcEVycm9yIiwiYXJncyIsIkVycm9yIiwia2V5IiwiZXhwZWN0ZWQiLCJhY3R1YWwiLCJyZXF1aXJlZFByb3BzR3VhcmQiLCJyZXF1aXJlZFByb3BzIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJfIiwib3B0aW9uYWxQcm9wc0d1YXJkIiwib3B0aW9uYWxQcm9wcyIsInZhbFR5cGUiLCJsb2NhbGUiLCJ3YXJuT25jZSIsInBhdGhuYW1lIiwiaGFzRHluYW1pY1NlZ21lbnQiLCJzcGxpdCIsInNvbWUiLCJzZWdtZW50Iiwic3RhcnRzV2l0aCIsImVuZHNXaXRoIiwidXNlTWVtbyIsInJlc29sdmVkSHJlZiIsImNoaWxkIiwiJCR0eXBlb2YiLCJTeW1ib2wiLCJmb3IiLCJjb25zb2xlIiwid2FybiIsIkNoaWxkcmVuIiwib25seSIsImVyciIsInR5cGUiLCJjaGlsZFJlZiIsIm9ic2VydmVMaW5rVmlzaWJpbGl0eU9uTW91bnQiLCJ1c2VDYWxsYmFjayIsImVsZW1lbnQiLCJtb3VudExpbmtJbnN0YW5jZSIsInVubW91bnRMaW5rRm9yQ3VycmVudE5hdmlnYXRpb24iLCJ1bm1vdW50UHJlZmV0Y2hhYmxlSW5zdGFuY2UiLCJtZXJnZWRSZWYiLCJ1c2VNZXJnZWRSZWYiLCJjaGlsZFByb3BzIiwiZGVmYXVsdFByZXZlbnRlZCIsInVwZ3JhZGVUb0R5bmFtaWNQcmVmZXRjaCIsIm9uTmF2aWdhdGlvbkludGVudCIsIl9fTkVYVF9MSU5LX05PX1RPVUNIX1NUQVJUIiwidW5kZWZpbmVkIiwiaXNBYnNvbHV0ZVVybCIsImFkZEJhc2VQYXRoIiwibGluayIsImVycm9yT25jZSIsImNsb25lRWxlbWVudCIsIkxpbmtTdGF0dXNDb250ZXh0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsImNyZWF0ZUNvbnRleHQiLCJfX05FWFRfQ0FDSEVfQ09NUE9ORU5UUyIsIkZ1bGwiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/app-dir/link.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/components/hooks-server-context.js":
|
||
/*!*************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/components/hooks-server-context.js ***!
|
||
\*************************************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DynamicServerError: function() {\n return DynamicServerError;\n },\n isDynamicServerError: function() {\n return isDynamicServerError;\n }\n});\nconst DYNAMIC_ERROR_CODE = 'DYNAMIC_SERVER_USAGE';\nclass DynamicServerError extends Error {\n constructor(description){\n super(`Dynamic server usage: ${description}`), this.description = description, this.digest = DYNAMIC_ERROR_CODE;\n }\n}\nfunction isDynamicServerError(err) {\n if (typeof err !== 'object' || err === null || !('digest' in err) || typeof err.digest !== 'string') {\n return false;\n }\n return err.digest === DYNAMIC_ERROR_CODE;\n}\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hooks-server-context.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ob29rcy1zZXJ2ZXItY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFFYUEsa0JBQWtCO2VBQWxCQTs7SUFRR0Msb0JBQW9CO2VBQXBCQTs7O0FBVmhCLE1BQU1DLHFCQUFxQjtBQUVwQixNQUFNRiwyQkFBMkJHO0lBR3RDQyxZQUE0QkMsV0FBbUIsQ0FBRTtRQUMvQyxLQUFLLENBQUMsQ0FBQyxzQkFBc0IsRUFBRUEsYUFBYSxRQURsQkEsV0FBQUEsR0FBQUEsYUFBQUEsSUFBQUEsQ0FGNUJDLE1BQUFBLEdBQW9DSjtJQUlwQztBQUNGO0FBRU8sU0FBU0QscUJBQXFCTSxHQUFZO0lBQy9DLElBQ0UsT0FBT0EsUUFBUSxZQUNmQSxRQUFRLFFBQ1IsQ0FBRSxhQUFZQSxHQUFBQSxDQUFFLElBQ2hCLE9BQU9BLElBQUlELE1BQU0sS0FBSyxVQUN0QjtRQUNBLE9BQU87SUFDVDtJQUVBLE9BQU9DLElBQUlELE1BQU0sS0FBS0o7QUFDeEIiLCJzb3VyY2VzIjpbIi9Vc2Vycy9zcmMvY2xpZW50L2NvbXBvbmVudHMvaG9va3Mtc2VydmVyLWNvbnRleHQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgRFlOQU1JQ19FUlJPUl9DT0RFID0gJ0RZTkFNSUNfU0VSVkVSX1VTQUdFJ1xuXG5leHBvcnQgY2xhc3MgRHluYW1pY1NlcnZlckVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBkaWdlc3Q6IHR5cGVvZiBEWU5BTUlDX0VSUk9SX0NPREUgPSBEWU5BTUlDX0VSUk9SX0NPREVcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZykge1xuICAgIHN1cGVyKGBEeW5hbWljIHNlcnZlciB1c2FnZTogJHtkZXNjcmlwdGlvbn1gKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0R5bmFtaWNTZXJ2ZXJFcnJvcihlcnI6IHVua25vd24pOiBlcnIgaXMgRHluYW1pY1NlcnZlckVycm9yIHtcbiAgaWYgKFxuICAgIHR5cGVvZiBlcnIgIT09ICdvYmplY3QnIHx8XG4gICAgZXJyID09PSBudWxsIHx8XG4gICAgISgnZGlnZXN0JyBpbiBlcnIpIHx8XG4gICAgdHlwZW9mIGVyci5kaWdlc3QgIT09ICdzdHJpbmcnXG4gICkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgcmV0dXJuIGVyci5kaWdlc3QgPT09IERZTkFNSUNfRVJST1JfQ09ERVxufVxuIl0sIm5hbWVzIjpbIkR5bmFtaWNTZXJ2ZXJFcnJvciIsImlzRHluYW1pY1NlcnZlckVycm9yIiwiRFlOQU1JQ19FUlJPUl9DT0RFIiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsImRlc2NyaXB0aW9uIiwiZGlnZXN0IiwiZXJyIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/components/hooks-server-context.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/components/static-generation-bailout.js":
|
||
/*!******************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/components/static-generation-bailout.js ***!
|
||
\******************************************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n StaticGenBailoutError: function() {\n return StaticGenBailoutError;\n },\n isStaticGenBailoutError: function() {\n return isStaticGenBailoutError;\n }\n});\nconst NEXT_STATIC_GEN_BAILOUT = 'NEXT_STATIC_GEN_BAILOUT';\nclass StaticGenBailoutError extends Error {\n constructor(...args){\n super(...args), this.code = NEXT_STATIC_GEN_BAILOUT;\n }\n}\nfunction isStaticGenBailoutError(error) {\n if (typeof error !== 'object' || error === null || !('code' in error)) {\n return false;\n }\n return error.code === NEXT_STATIC_GEN_BAILOUT;\n}\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=static-generation-bailout.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9zdGF0aWMtZ2VuZXJhdGlvbi1iYWlsb3V0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUVhQSxxQkFBcUI7ZUFBckJBOztJQUlHQyx1QkFBdUI7ZUFBdkJBOzs7QUFOaEIsTUFBTUMsMEJBQTBCO0FBRXpCLE1BQU1GLDhCQUE4Qkc7O1FBQXBDLHFCQUNXQyxJQUFBQSxHQUFPRjs7QUFDekI7QUFFTyxTQUFTRCx3QkFDZEksS0FBYztJQUVkLElBQUksT0FBT0EsVUFBVSxZQUFZQSxVQUFVLFFBQVEsQ0FBRSxXQUFVQSxLQUFBQSxDQUFJLEVBQUk7UUFDckUsT0FBTztJQUNUO0lBRUEsT0FBT0EsTUFBTUQsSUFBSSxLQUFLRjtBQUN4QiIsInNvdXJjZXMiOlsiL1VzZXJzL3NyYy9jbGllbnQvY29tcG9uZW50cy9zdGF0aWMtZ2VuZXJhdGlvbi1iYWlsb3V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IE5FWFRfU1RBVElDX0dFTl9CQUlMT1VUID0gJ05FWFRfU1RBVElDX0dFTl9CQUlMT1VUJ1xuXG5leHBvcnQgY2xhc3MgU3RhdGljR2VuQmFpbG91dEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBwdWJsaWMgcmVhZG9ubHkgY29kZSA9IE5FWFRfU1RBVElDX0dFTl9CQUlMT1VUXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0YXRpY0dlbkJhaWxvdXRFcnJvcihcbiAgZXJyb3I6IHVua25vd25cbik6IGVycm9yIGlzIFN0YXRpY0dlbkJhaWxvdXRFcnJvciB7XG4gIGlmICh0eXBlb2YgZXJyb3IgIT09ICdvYmplY3QnIHx8IGVycm9yID09PSBudWxsIHx8ICEoJ2NvZGUnIGluIGVycm9yKSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgcmV0dXJuIGVycm9yLmNvZGUgPT09IE5FWFRfU1RBVElDX0dFTl9CQUlMT1VUXG59XG4iXSwibmFtZXMiOlsiU3RhdGljR2VuQmFpbG91dEVycm9yIiwiaXNTdGF0aWNHZW5CYWlsb3V0RXJyb3IiLCJORVhUX1NUQVRJQ19HRU5fQkFJTE9VVCIsIkVycm9yIiwiY29kZSIsImVycm9yIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/components/static-generation-bailout.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/use-merged-ref.js":
|
||
/*!********************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/use-merged-ref.js ***!
|
||
\********************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useMergedRef\", ({\n enumerable: true,\n get: function() {\n return useMergedRef;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/index.js\");\nfunction useMergedRef(refA, refB) {\n const cleanupA = (0, _react.useRef)(null);\n const cleanupB = (0, _react.useRef)(null);\n // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.\n // (this happens often if the user doesn't pass a ref to Link/Form/Image)\n // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),\n // and the user might pass that ref into ref-merging library that doesn't support cleanup refs\n // (because it hasn't been updated for React 19)\n // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.\n // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.\n return (0, _react.useCallback)((current)=>{\n if (current === null) {\n const cleanupFnA = cleanupA.current;\n if (cleanupFnA) {\n cleanupA.current = null;\n cleanupFnA();\n }\n const cleanupFnB = cleanupB.current;\n if (cleanupFnB) {\n cleanupB.current = null;\n cleanupFnB();\n }\n } else {\n if (refA) {\n cleanupA.current = applyRef(refA, current);\n }\n if (refB) {\n cleanupB.current = applyRef(refB, current);\n }\n }\n }, [\n refA,\n refB\n ]);\n}\nfunction applyRef(refA, current) {\n if (typeof refA === 'function') {\n const cleanup = refA(current);\n if (typeof cleanup === 'function') {\n return cleanup;\n } else {\n return ()=>refA(null);\n }\n } else {\n refA.current = current;\n return ()=>{\n refA.current = null;\n };\n }\n}\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-merged-ref.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvdXNlLW1lcmdlZC1yZWYuanMiLCJtYXBwaW5ncyI6Ijs7OztnREFTZ0JBOzs7ZUFBQUE7OzttQ0FUOEI7QUFTdkMsU0FBU0EsYUFDZEMsSUFBbUIsRUFDbkJDLElBQW1CO0lBRW5CLE1BQU1DLFdBQVdDLENBQUFBLEdBQUFBLE9BQUFBLE1BQUFBLEVBQTRCO0lBQzdDLE1BQU1DLFdBQVdELENBQUFBLEdBQUFBLE9BQUFBLE1BQUFBLEVBQTRCO0lBRTdDLG1GQUFtRjtJQUNuRix5RUFBeUU7SUFDekUsdUdBQXVHO0lBQ3ZHLDhGQUE4RjtJQUM5RixnREFBZ0Q7SUFDaEQsbUdBQW1HO0lBQ25HLHdGQUF3RjtJQUN4RixPQUFPRSxDQUFBQSxHQUFBQSxPQUFBQSxXQUFBQSxFQUNMLENBQUNDO1FBQ0MsSUFBSUEsWUFBWSxNQUFNO1lBQ3BCLE1BQU1DLGFBQWFMLFNBQVNJLE9BQU87WUFDbkMsSUFBSUMsWUFBWTtnQkFDZEwsU0FBU0ksT0FBTyxHQUFHO2dCQUNuQkM7WUFDRjtZQUNBLE1BQU1DLGFBQWFKLFNBQVNFLE9BQU87WUFDbkMsSUFBSUUsWUFBWTtnQkFDZEosU0FBU0UsT0FBTyxHQUFHO2dCQUNuQkU7WUFDRjtRQUNGLE9BQU87WUFDTCxJQUFJUixNQUFNO2dCQUNSRSxTQUFTSSxPQUFPLEdBQUdHLFNBQVNULE1BQU1NO1lBQ3BDO1lBQ0EsSUFBSUwsTUFBTTtnQkFDUkcsU0FBU0UsT0FBTyxHQUFHRyxTQUFTUixNQUFNSztZQUNwQztRQUNGO0lBQ0YsR0FDQTtRQUFDTjtRQUFNQztLQUFLO0FBRWhCO0FBRUEsU0FBU1EsU0FDUFQsSUFBZ0MsRUFDaENNLE9BQWlCO0lBRWpCLElBQUksT0FBT04sU0FBUyxZQUFZO1FBQzlCLE1BQU1VLFVBQVVWLEtBQUtNO1FBQ3JCLElBQUksT0FBT0ksWUFBWSxZQUFZO1lBQ2pDLE9BQU9BO1FBQ1QsT0FBTztZQUNMLE9BQU8sSUFBTVYsS0FBSztRQUNwQjtJQUNGLE9BQU87UUFDTEEsS0FBS00sT0FBTyxHQUFHQTtRQUNmLE9BQU87WUFDTE4sS0FBS00sT0FBTyxHQUFHO1FBQ2pCO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvc3JjL2NsaWVudC91c2UtbWVyZ2VkLXJlZi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlUmVmLCB0eXBlIFJlZiB9IGZyb20gJ3JlYWN0J1xuXG4vLyBUaGlzIGlzIGEgY29tcGF0aWJpbGl0eSBob29rIHRvIHN1cHBvcnQgUmVhY3QgMTggYW5kIDE5IHJlZnMuXG4vLyBJbiAxOSwgYSBjbGVhbnVwIGZ1bmN0aW9uIGZyb20gcmVmcyBtYXkgYmUgcmV0dXJuZWQuXG4vLyBJbiAxOCwgcmV0dXJuaW5nIGEgY2xlYW51cCBmdW5jdGlvbiBjcmVhdGVzIGEgd2FybmluZy5cbi8vIFNpbmNlIHdlIHRha2UgdXNlcnNwYWNlIHJlZnMsIHdlIGRvbid0IGtub3cgYWhlYWQgb2YgdGltZSBpZiBhIGNsZWFudXAgZnVuY3Rpb24gd2lsbCBiZSByZXR1cm5lZC5cbi8vIFRoaXMgaW1wbGVtZW50cyBjbGVhbnVwIGZ1bmN0aW9ucyB3aXRoIHRoZSBvbGQgYmVoYXZpb3IgaW4gMTguXG4vLyBXZSBrbm93IHJlZnMgYXJlIGFsd2F5cyBjYWxsZWQgYWx0ZXJuYXRpbmcgd2l0aCBgbnVsbGAgYW5kIHRoZW4gYFRgLlxuLy8gU28gYSBjYWxsIHdpdGggYG51bGxgIG1lYW5zIHdlIG5lZWQgdG8gY2FsbCB0aGUgcHJldmlvdXMgY2xlYW51cCBmdW5jdGlvbnMuXG5leHBvcnQgZnVuY3Rpb24gdXNlTWVyZ2VkUmVmPFRFbGVtZW50PihcbiAgcmVmQTogUmVmPFRFbGVtZW50PixcbiAgcmVmQjogUmVmPFRFbGVtZW50PlxuKTogUmVmPFRFbGVtZW50PiB7XG4gIGNvbnN0IGNsZWFudXBBID0gdXNlUmVmPCgoKSA9PiB2b2lkKSB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGNsZWFudXBCID0gdXNlUmVmPCgoKSA9PiB2b2lkKSB8IG51bGw+KG51bGwpXG5cbiAgLy8gTk9URTogSW4gdGhlb3J5LCB3ZSBjb3VsZCBza2lwIHRoZSB3cmFwcGluZyBpZiBvbmx5IG9uZSBvZiB0aGUgcmVmcyBpcyBub24tbnVsbC5cbiAgLy8gKHRoaXMgaGFwcGVucyBvZnRlbiBpZiB0aGUgdXNlciBkb2Vzbid0IHBhc3MgYSByZWYgdG8gTGluay9Gb3JtL0ltYWdlKVxuICAvLyBCdXQgdGhpcyBjYW4gY2F1c2UgdXMgdG8gbGVhayBhIGNsZWFudXAtcmVmIGludG8gdXNlciBjb2RlIChwcmV2aW91c2x5IHZpYSBgPExpbmsgbGVnYWN5QmVoYXZpb3I+YCksXG4gIC8vIGFuZCB0aGUgdXNlciBtaWdodCBwYXNzIHRoYXQgcmVmIGludG8gcmVmLW1lcmdpbmcgbGlicmFyeSB0aGF0IGRvZXNuJ3Qgc3VwcG9ydCBjbGVhbnVwIHJlZnNcbiAgLy8gKGJlY2F1c2UgaXQgaGFzbid0IGJlZW4gdXBkYXRlZCBmb3IgUmVhY3QgMTkpXG4gIC8vIHdoaWNoIGNhbiB0aGVuIGNhdXNlIHRoaW5ncyB0byBibG93IHVwLCBiZWNhdXNlIGEgY2xlYW51cC1yZXR1cm5pbmcgcmVmIGdldHMgY2FsbGVkIHdpdGggYG51bGxgLlxuICAvLyBTbyBpbiBwcmFjdGljZSwgaXQncyBzYWZlciB0byBiZSBkZWZlbnNpdmUgYW5kIGFsd2F5cyB3cmFwIHRoZSByZWYsIGV2ZW4gb24gUmVhY3QgMTkuXG4gIHJldHVybiB1c2VDYWxsYmFjayhcbiAgICAoY3VycmVudDogVEVsZW1lbnQgfCBudWxsKTogdm9pZCA9PiB7XG4gICAgICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgICBjb25zdCBjbGVhbnVwRm5BID0gY2xlYW51cEEuY3VycmVudFxuICAgICAgICBpZiAoY2xlYW51cEZuQSkge1xuICAgICAgICAgIGNsZWFudXBBLmN1cnJlbnQgPSBudWxsXG4gICAgICAgICAgY2xlYW51cEZuQSgpXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2xlYW51cEZuQiA9IGNsZWFudXBCLmN1cnJlbnRcbiAgICAgICAgaWYgKGNsZWFudXBGbkIpIHtcbiAgICAgICAgICBjbGVhbnVwQi5jdXJyZW50ID0gbnVsbFxuICAgICAgICAgIGNsZWFudXBGbkIoKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAocmVmQSkge1xuICAgICAgICAgIGNsZWFudXBBLmN1cnJlbnQgPSBhcHBseVJlZihyZWZBLCBjdXJyZW50KVxuICAgICAgICB9XG4gICAgICAgIGlmIChyZWZCKSB7XG4gICAgICAgICAgY2xlYW51cEIuY3VycmVudCA9IGFwcGx5UmVmKHJlZkIsIGN1cnJlbnQpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFtyZWZBLCByZWZCXVxuICApXG59XG5cbmZ1bmN0aW9uIGFwcGx5UmVmPFRFbGVtZW50PihcbiAgcmVmQTogTm9uTnVsbGFibGU8UmVmPFRFbGVtZW50Pj4sXG4gIGN1cnJlbnQ6IFRFbGVtZW50XG4pIHtcbiAgaWYgKHR5cGVvZiByZWZBID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY29uc3QgY2xlYW51cCA9IHJlZkEoY3VycmVudClcbiAgICBpZiAodHlwZW9mIGNsZWFudXAgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBjbGVhbnVwXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAoKSA9PiByZWZBKG51bGwpXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJlZkEuY3VycmVudCA9IGN1cnJlbnRcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgcmVmQS5jdXJyZW50ID0gbnVsbFxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbInVzZU1lcmdlZFJlZiIsInJlZkEiLCJyZWZCIiwiY2xlYW51cEEiLCJ1c2VSZWYiLCJjbGVhbnVwQiIsInVzZUNhbGxiYWNrIiwiY3VycmVudCIsImNsZWFudXBGbkEiLCJjbGVhbnVwRm5CIiwiYXBwbHlSZWYiLCJjbGVhbnVwIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/use-merged-ref.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js":
|
||
/*!***********************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js ***!
|
||
\***********************************************************************************************************************************************************************************************************/
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n RequestCookies: () => RequestCookies,\n ResponseCookies: () => ResponseCookies,\n parseCookie: () => parseCookie,\n parseSetCookie: () => parseSetCookie,\n stringifyCookie: () => stringifyCookie\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/serialize.ts\nfunction stringifyCookie(c) {\n var _a;\n const attrs = [\n \"path\" in c && c.path && `Path=${c.path}`,\n \"expires\" in c && (c.expires || c.expires === 0) && `Expires=${(typeof c.expires === \"number\" ? new Date(c.expires) : c.expires).toUTCString()}`,\n \"maxAge\" in c && typeof c.maxAge === \"number\" && `Max-Age=${c.maxAge}`,\n \"domain\" in c && c.domain && `Domain=${c.domain}`,\n \"secure\" in c && c.secure && \"Secure\",\n \"httpOnly\" in c && c.httpOnly && \"HttpOnly\",\n \"sameSite\" in c && c.sameSite && `SameSite=${c.sameSite}`,\n \"partitioned\" in c && c.partitioned && \"Partitioned\",\n \"priority\" in c && c.priority && `Priority=${c.priority}`\n ].filter(Boolean);\n const stringified = `${c.name}=${encodeURIComponent((_a = c.value) != null ? _a : \"\")}`;\n return attrs.length === 0 ? stringified : `${stringified}; ${attrs.join(\"; \")}`;\n}\nfunction parseCookie(cookie) {\n const map = /* @__PURE__ */ new Map();\n for (const pair of cookie.split(/; */)) {\n if (!pair)\n continue;\n const splitAt = pair.indexOf(\"=\");\n if (splitAt === -1) {\n map.set(pair, \"true\");\n continue;\n }\n const [key, value] = [pair.slice(0, splitAt), pair.slice(splitAt + 1)];\n try {\n map.set(key, decodeURIComponent(value != null ? value : \"true\"));\n } catch {\n }\n }\n return map;\n}\nfunction parseSetCookie(setCookie) {\n if (!setCookie) {\n return void 0;\n }\n const [[name, value], ...attributes] = parseCookie(setCookie);\n const {\n domain,\n expires,\n httponly,\n maxage,\n path,\n samesite,\n secure,\n partitioned,\n priority\n } = Object.fromEntries(\n attributes.map(([key, value2]) => [\n key.toLowerCase().replace(/-/g, \"\"),\n value2\n ])\n );\n const cookie = {\n name,\n value: decodeURIComponent(value),\n domain,\n ...expires && { expires: new Date(expires) },\n ...httponly && { httpOnly: true },\n ...typeof maxage === \"string\" && { maxAge: Number(maxage) },\n path,\n ...samesite && { sameSite: parseSameSite(samesite) },\n ...secure && { secure: true },\n ...priority && { priority: parsePriority(priority) },\n ...partitioned && { partitioned: true }\n };\n return compact(cookie);\n}\nfunction compact(t) {\n const newT = {};\n for (const key in t) {\n if (t[key]) {\n newT[key] = t[key];\n }\n }\n return newT;\n}\nvar SAME_SITE = [\"strict\", \"lax\", \"none\"];\nfunction parseSameSite(string) {\n string = string.toLowerCase();\n return SAME_SITE.includes(string) ? string : void 0;\n}\nvar PRIORITY = [\"low\", \"medium\", \"high\"];\nfunction parsePriority(string) {\n string = string.toLowerCase();\n return PRIORITY.includes(string) ? string : void 0;\n}\nfunction splitCookiesString(cookiesString) {\n if (!cookiesString)\n return [];\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n function skipWhitespace() {\n while (pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))) {\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n while (pos < cookiesString.length) {\n start = pos;\n cookiesSeparatorFound = false;\n while (skipWhitespace()) {\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n lastComma = pos;\n pos += 1;\n skipWhitespace();\n nextStart = pos;\n while (pos < cookiesString.length && notSpecialChar()) {\n pos += 1;\n }\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n cookiesSeparatorFound = true;\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n return cookiesStrings;\n}\n\n// src/request-cookies.ts\nvar RequestCookies = class {\n constructor(requestHeaders) {\n /** @internal */\n this._parsed = /* @__PURE__ */ new Map();\n this._headers = requestHeaders;\n const header = requestHeaders.get(\"cookie\");\n if (header) {\n const parsed = parseCookie(header);\n for (const [name, value] of parsed) {\n this._parsed.set(name, { name, value });\n }\n }\n }\n [Symbol.iterator]() {\n return this._parsed[Symbol.iterator]();\n }\n /**\n * The amount of cookies received from the client\n */\n get size() {\n return this._parsed.size;\n }\n get(...args) {\n const name = typeof args[0] === \"string\" ? args[0] : args[0].name;\n return this._parsed.get(name);\n }\n getAll(...args) {\n var _a;\n const all = Array.from(this._parsed);\n if (!args.length) {\n return all.map(([_, value]) => value);\n }\n const name = typeof args[0] === \"string\" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;\n return all.filter(([n]) => n === name).map(([_, value]) => value);\n }\n has(name) {\n return this._parsed.has(name);\n }\n set(...args) {\n const [name, value] = args.length === 1 ? [args[0].name, args[0].value] : args;\n const map = this._parsed;\n map.set(name, { name, value });\n this._headers.set(\n \"cookie\",\n Array.from(map).map(([_, value2]) => stringifyCookie(value2)).join(\"; \")\n );\n return this;\n }\n /**\n * Delete the cookies matching the passed name or names in the request.\n */\n delete(names) {\n const map = this._parsed;\n const result = !Array.isArray(names) ? map.delete(names) : names.map((name) => map.delete(name));\n this._headers.set(\n \"cookie\",\n Array.from(map).map(([_, value]) => stringifyCookie(value)).join(\"; \")\n );\n return result;\n }\n /**\n * Delete all the cookies in the cookies in the request.\n */\n clear() {\n this.delete(Array.from(this._parsed.keys()));\n return this;\n }\n /**\n * Format the cookies in the request as a string for logging\n */\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return `RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;\n }\n toString() {\n return [...this._parsed.values()].map((v) => `${v.name}=${encodeURIComponent(v.value)}`).join(\"; \");\n }\n};\n\n// src/response-cookies.ts\nvar ResponseCookies = class {\n constructor(responseHeaders) {\n /** @internal */\n this._parsed = /* @__PURE__ */ new Map();\n var _a, _b, _c;\n this._headers = responseHeaders;\n const setCookie = (_c = (_b = (_a = responseHeaders.getSetCookie) == null ? void 0 : _a.call(responseHeaders)) != null ? _b : responseHeaders.get(\"set-cookie\")) != null ? _c : [];\n const cookieStrings = Array.isArray(setCookie) ? setCookie : splitCookiesString(setCookie);\n for (const cookieString of cookieStrings) {\n const parsed = parseSetCookie(cookieString);\n if (parsed)\n this._parsed.set(parsed.name, parsed);\n }\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-get CookieStore#get} without the Promise.\n */\n get(...args) {\n const key = typeof args[0] === \"string\" ? args[0] : args[0].name;\n return this._parsed.get(key);\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-getAll CookieStore#getAll} without the Promise.\n */\n getAll(...args) {\n var _a;\n const all = Array.from(this._parsed.values());\n if (!args.length) {\n return all;\n }\n const key = typeof args[0] === \"string\" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;\n return all.filter((c) => c.name === key);\n }\n has(name) {\n return this._parsed.has(name);\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-set CookieStore#set} without the Promise.\n */\n set(...args) {\n const [name, value, cookie] = args.length === 1 ? [args[0].name, args[0].value, args[0]] : args;\n const map = this._parsed;\n map.set(name, normalizeCookie({ name, value, ...cookie }));\n replace(map, this._headers);\n return this;\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-delete CookieStore#delete} without the Promise.\n */\n delete(...args) {\n const [name, options] = typeof args[0] === \"string\" ? [args[0]] : [args[0].name, args[0]];\n return this.set({ ...options, name, value: \"\", expires: /* @__PURE__ */ new Date(0) });\n }\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return `ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;\n }\n toString() {\n return [...this._parsed.values()].map(stringifyCookie).join(\"; \");\n }\n};\nfunction replace(bag, headers) {\n headers.delete(\"set-cookie\");\n for (const [, value] of bag) {\n const serialized = stringifyCookie(value);\n headers.append(\"set-cookie\", serialized);\n }\n}\nfunction normalizeCookie(cookie = { name: \"\", value: \"\" }) {\n if (typeof cookie.expires === \"number\") {\n cookie.expires = new Date(cookie.expires);\n }\n if (cookie.maxAge) {\n cookie.expires = new Date(Date.now() + cookie.maxAge * 1e3);\n }\n if (cookie.path === null || cookie.path === void 0) {\n cookie.path = \"/\";\n }\n return cookie;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (0);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9AZWRnZS1ydW50aW1lL2Nvb2tpZXMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsa0NBQWtDO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsNEZBQTRGO0FBQ3pIO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRCxrQkFBa0IsYUFBYTs7QUFFbkY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyxPQUFPO0FBQzVDLG1FQUFtRSxnRkFBZ0Y7QUFDbkosZ0VBQWdFLFNBQVM7QUFDekUsMkNBQTJDLFNBQVM7QUFDcEQ7QUFDQTtBQUNBLGlEQUFpRCxXQUFXO0FBQzVEO0FBQ0EsaURBQWlELFdBQVc7QUFDNUQ7QUFDQSx5QkFBeUIsT0FBTyxHQUFHLHFEQUFxRDtBQUN4RiwrQ0FBK0MsY0FBYyxFQUFFLGNBQWMsR0FBRztBQUNoRjtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDRCQUE0QjtBQUNoRCxxQkFBcUIsZ0JBQWdCO0FBQ3JDLHVDQUF1Qyx3QkFBd0I7QUFDL0Q7QUFDQSxxQkFBcUIsbUNBQW1DO0FBQ3hELG1CQUFtQixjQUFjO0FBQ2pDLHFCQUFxQixtQ0FBbUM7QUFDeEQsd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLGFBQWE7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsYUFBYTtBQUNqQztBQUNBO0FBQ0EsNEVBQTRFO0FBQzVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwRUFBMEU7QUFDMUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QixpREFBaUQ7QUFDOUU7QUFDQTtBQUNBLG9EQUFvRCxPQUFPLEdBQUcsNEJBQTRCLFdBQVc7QUFDckc7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sNEVBQTRFO0FBQ2xGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sa0ZBQWtGO0FBQ3hGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLDRFQUE0RTtBQUNsRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyx3QkFBd0I7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGtGQUFrRjtBQUN4RjtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsbUVBQW1FO0FBQ3pGO0FBQ0E7QUFDQSw4QkFBOEIsaURBQWlEO0FBQy9FO0FBQ0E7QUFDQSxtRUFBbUU7QUFDbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLHFCQUFxQjtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLENBTUwiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvQGVkZ2UtcnVudGltZS9jb29raWVzL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xudmFyIF9fZGVmUHJvcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfX2dldE93blByb3BEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbnZhciBfX2dldE93blByb3BOYW1lcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzO1xudmFyIF9faGFzT3duUHJvcCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgX19leHBvcnQgPSAodGFyZ2V0LCBhbGwpID0+IHtcbiAgZm9yICh2YXIgbmFtZSBpbiBhbGwpXG4gICAgX19kZWZQcm9wKHRhcmdldCwgbmFtZSwgeyBnZXQ6IGFsbFtuYW1lXSwgZW51bWVyYWJsZTogdHJ1ZSB9KTtcbn07XG52YXIgX19jb3B5UHJvcHMgPSAodG8sIGZyb20sIGV4Y2VwdCwgZGVzYykgPT4ge1xuICBpZiAoZnJvbSAmJiB0eXBlb2YgZnJvbSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgZnJvbSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZm9yIChsZXQga2V5IG9mIF9fZ2V0T3duUHJvcE5hbWVzKGZyb20pKVxuICAgICAgaWYgKCFfX2hhc093blByb3AuY2FsbCh0bywga2V5KSAmJiBrZXkgIT09IGV4Y2VwdClcbiAgICAgICAgX19kZWZQcm9wKHRvLCBrZXksIHsgZ2V0OiAoKSA9PiBmcm9tW2tleV0sIGVudW1lcmFibGU6ICEoZGVzYyA9IF9fZ2V0T3duUHJvcERlc2MoZnJvbSwga2V5KSkgfHwgZGVzYy5lbnVtZXJhYmxlIH0pO1xuICB9XG4gIHJldHVybiB0bztcbn07XG52YXIgX190b0NvbW1vbkpTID0gKG1vZCkgPT4gX19jb3B5UHJvcHMoX19kZWZQcm9wKHt9LCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KSwgbW9kKTtcblxuLy8gc3JjL2luZGV4LnRzXG52YXIgc3JjX2V4cG9ydHMgPSB7fTtcbl9fZXhwb3J0KHNyY19leHBvcnRzLCB7XG4gIFJlcXVlc3RDb29raWVzOiAoKSA9PiBSZXF1ZXN0Q29va2llcyxcbiAgUmVzcG9uc2VDb29raWVzOiAoKSA9PiBSZXNwb25zZUNvb2tpZXMsXG4gIHBhcnNlQ29va2llOiAoKSA9PiBwYXJzZUNvb2tpZSxcbiAgcGFyc2VTZXRDb29raWU6ICgpID0+IHBhcnNlU2V0Q29va2llLFxuICBzdHJpbmdpZnlDb29raWU6ICgpID0+IHN0cmluZ2lmeUNvb2tpZVxufSk7XG5tb2R1bGUuZXhwb3J0cyA9IF9fdG9Db21tb25KUyhzcmNfZXhwb3J0cyk7XG5cbi8vIHNyYy9zZXJpYWxpemUudHNcbmZ1bmN0aW9uIHN0cmluZ2lmeUNvb2tpZShjKSB7XG4gIHZhciBfYTtcbiAgY29uc3QgYXR0cnMgPSBbXG4gICAgXCJwYXRoXCIgaW4gYyAmJiBjLnBhdGggJiYgYFBhdGg9JHtjLnBhdGh9YCxcbiAgICBcImV4cGlyZXNcIiBpbiBjICYmIChjLmV4cGlyZXMgfHwgYy5leHBpcmVzID09PSAwKSAmJiBgRXhwaXJlcz0keyh0eXBlb2YgYy5leHBpcmVzID09PSBcIm51bWJlclwiID8gbmV3IERhdGUoYy5leHBpcmVzKSA6IGMuZXhwaXJlcykudG9VVENTdHJpbmcoKX1gLFxuICAgIFwibWF4QWdlXCIgaW4gYyAmJiB0eXBlb2YgYy5tYXhBZ2UgPT09IFwibnVtYmVyXCIgJiYgYE1heC1BZ2U9JHtjLm1heEFnZX1gLFxuICAgIFwiZG9tYWluXCIgaW4gYyAmJiBjLmRvbWFpbiAmJiBgRG9tYWluPSR7Yy5kb21haW59YCxcbiAgICBcInNlY3VyZVwiIGluIGMgJiYgYy5zZWN1cmUgJiYgXCJTZWN1cmVcIixcbiAgICBcImh0dHBPbmx5XCIgaW4gYyAmJiBjLmh0dHBPbmx5ICYmIFwiSHR0cE9ubHlcIixcbiAgICBcInNhbWVTaXRlXCIgaW4gYyAmJiBjLnNhbWVTaXRlICYmIGBTYW1lU2l0ZT0ke2Muc2FtZVNpdGV9YCxcbiAgICBcInBhcnRpdGlvbmVkXCIgaW4gYyAmJiBjLnBhcnRpdGlvbmVkICYmIFwiUGFydGl0aW9uZWRcIixcbiAgICBcInByaW9yaXR5XCIgaW4gYyAmJiBjLnByaW9yaXR5ICYmIGBQcmlvcml0eT0ke2MucHJpb3JpdHl9YFxuICBdLmZpbHRlcihCb29sZWFuKTtcbiAgY29uc3Qgc3RyaW5naWZpZWQgPSBgJHtjLm5hbWV9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KChfYSA9IGMudmFsdWUpICE9IG51bGwgPyBfYSA6IFwiXCIpfWA7XG4gIHJldHVybiBhdHRycy5sZW5ndGggPT09IDAgPyBzdHJpbmdpZmllZCA6IGAke3N0cmluZ2lmaWVkfTsgJHthdHRycy5qb2luKFwiOyBcIil9YDtcbn1cbmZ1bmN0aW9uIHBhcnNlQ29va2llKGNvb2tpZSkge1xuICBjb25zdCBtYXAgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuICBmb3IgKGNvbnN0IHBhaXIgb2YgY29va2llLnNwbGl0KC87ICovKSkge1xuICAgIGlmICghcGFpcilcbiAgICAgIGNvbnRpbnVlO1xuICAgIGNvbnN0IHNwbGl0QXQgPSBwYWlyLmluZGV4T2YoXCI9XCIpO1xuICAgIGlmIChzcGxpdEF0ID09PSAtMSkge1xuICAgICAgbWFwLnNldChwYWlyLCBcInRydWVcIik7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3QgW2tleSwgdmFsdWVdID0gW3BhaXIuc2xpY2UoMCwgc3BsaXRBdCksIHBhaXIuc2xpY2Uoc3BsaXRBdCArIDEpXTtcbiAgICB0cnkge1xuICAgICAgbWFwLnNldChrZXksIGRlY29kZVVSSUNvbXBvbmVudCh2YWx1ZSAhPSBudWxsID8gdmFsdWUgOiBcInRydWVcIikpO1xuICAgIH0gY2F0Y2gge1xuICAgIH1cbiAgfVxuICByZXR1cm4gbWFwO1xufVxuZnVuY3Rpb24gcGFyc2VTZXRDb29raWUoc2V0Q29va2llKSB7XG4gIGlmICghc2V0Q29va2llKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBjb25zdCBbW25hbWUsIHZhbHVlXSwgLi4uYXR0cmlidXRlc10gPSBwYXJzZUNvb2tpZShzZXRDb29raWUpO1xuICBjb25zdCB7XG4gICAgZG9tYWluLFxuICAgIGV4cGlyZXMsXG4gICAgaHR0cG9ubHksXG4gICAgbWF4YWdlLFxuICAgIHBhdGgsXG4gICAgc2FtZXNpdGUsXG4gICAgc2VjdXJlLFxuICAgIHBhcnRpdGlvbmVkLFxuICAgIHByaW9yaXR5XG4gIH0gPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgYXR0cmlidXRlcy5tYXAoKFtrZXksIHZhbHVlMl0pID0+IFtcbiAgICAgIGtleS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoLy0vZywgXCJcIiksXG4gICAgICB2YWx1ZTJcbiAgICBdKVxuICApO1xuICBjb25zdCBjb29raWUgPSB7XG4gICAgbmFtZSxcbiAgICB2YWx1ZTogZGVjb2RlVVJJQ29tcG9uZW50KHZhbHVlKSxcbiAgICBkb21haW4sXG4gICAgLi4uZXhwaXJlcyAmJiB7IGV4cGlyZXM6IG5ldyBEYXRlKGV4cGlyZXMpIH0sXG4gICAgLi4uaHR0cG9ubHkgJiYgeyBodHRwT25seTogdHJ1ZSB9LFxuICAgIC4uLnR5cGVvZiBtYXhhZ2UgPT09IFwic3RyaW5nXCIgJiYgeyBtYXhBZ2U6IE51bWJlcihtYXhhZ2UpIH0sXG4gICAgcGF0aCxcbiAgICAuLi5zYW1lc2l0ZSAmJiB7IHNhbWVTaXRlOiBwYXJzZVNhbWVTaXRlKHNhbWVzaXRlKSB9LFxuICAgIC4uLnNlY3VyZSAmJiB7IHNlY3VyZTogdHJ1ZSB9LFxuICAgIC4uLnByaW9yaXR5ICYmIHsgcHJpb3JpdHk6IHBhcnNlUHJpb3JpdHkocHJpb3JpdHkpIH0sXG4gICAgLi4ucGFydGl0aW9uZWQgJiYgeyBwYXJ0aXRpb25lZDogdHJ1ZSB9XG4gIH07XG4gIHJldHVybiBjb21wYWN0KGNvb2tpZSk7XG59XG5mdW5jdGlvbiBjb21wYWN0KHQpIHtcbiAgY29uc3QgbmV3VCA9IHt9O1xuICBmb3IgKGNvbnN0IGtleSBpbiB0KSB7XG4gICAgaWYgKHRba2V5XSkge1xuICAgICAgbmV3VFtrZXldID0gdFtrZXldO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbmV3VDtcbn1cbnZhciBTQU1FX1NJVEUgPSBbXCJzdHJpY3RcIiwgXCJsYXhcIiwgXCJub25lXCJdO1xuZnVuY3Rpb24gcGFyc2VTYW1lU2l0ZShzdHJpbmcpIHtcbiAgc3RyaW5nID0gc3RyaW5nLnRvTG93ZXJDYXNlKCk7XG4gIHJldHVybiBTQU1FX1NJVEUuaW5jbHVkZXMoc3RyaW5nKSA/IHN0cmluZyA6IHZvaWQgMDtcbn1cbnZhciBQUklPUklUWSA9IFtcImxvd1wiLCBcIm1lZGl1bVwiLCBcImhpZ2hcIl07XG5mdW5jdGlvbiBwYXJzZVByaW9yaXR5KHN0cmluZykge1xuICBzdHJpbmcgPSBzdHJpbmcudG9Mb3dlckNhc2UoKTtcbiAgcmV0dXJuIFBSSU9SSVRZLmluY2x1ZGVzKHN0cmluZykgPyBzdHJpbmcgOiB2b2lkIDA7XG59XG5mdW5jdGlvbiBzcGxpdENvb2tpZXNTdHJpbmcoY29va2llc1N0cmluZykge1xuICBpZiAoIWNvb2tpZXNTdHJpbmcpXG4gICAgcmV0dXJuIFtdO1xuICB2YXIgY29va2llc1N0cmluZ3MgPSBbXTtcbiAgdmFyIHBvcyA9IDA7XG4gIHZhciBzdGFydDtcbiAgdmFyIGNoO1xuICB2YXIgbGFzdENvbW1hO1xuICB2YXIgbmV4dFN0YXJ0O1xuICB2YXIgY29va2llc1NlcGFyYXRvckZvdW5kO1xuICBmdW5jdGlvbiBza2lwV2hpdGVzcGFjZSgpIHtcbiAgICB3aGlsZSAocG9zIDwgY29va2llc1N0cmluZy5sZW5ndGggJiYgL1xccy8udGVzdChjb29raWVzU3RyaW5nLmNoYXJBdChwb3MpKSkge1xuICAgICAgcG9zICs9IDE7XG4gICAgfVxuICAgIHJldHVybiBwb3MgPCBjb29raWVzU3RyaW5nLmxlbmd0aDtcbiAgfVxuICBmdW5jdGlvbiBub3RTcGVjaWFsQ2hhcigpIHtcbiAgICBjaCA9IGNvb2tpZXNTdHJpbmcuY2hhckF0KHBvcyk7XG4gICAgcmV0dXJuIGNoICE9PSBcIj1cIiAmJiBjaCAhPT0gXCI7XCIgJiYgY2ggIT09IFwiLFwiO1xuICB9XG4gIHdoaWxlIChwb3MgPCBjb29raWVzU3RyaW5nLmxlbmd0aCkge1xuICAgIHN0YXJ0ID0gcG9zO1xuICAgIGNvb2tpZXNTZXBhcmF0b3JGb3VuZCA9IGZhbHNlO1xuICAgIHdoaWxlIChza2lwV2hpdGVzcGFjZSgpKSB7XG4gICAgICBjaCA9IGNvb2tpZXNTdHJpbmcuY2hhckF0KHBvcyk7XG4gICAgICBpZiAoY2ggPT09IFwiLFwiKSB7XG4gICAgICAgIGxhc3RDb21tYSA9IHBvcztcbiAgICAgICAgcG9zICs9IDE7XG4gICAgICAgIHNraXBXaGl0ZXNwYWNlKCk7XG4gICAgICAgIG5leHRTdGFydCA9IHBvcztcbiAgICAgICAgd2hpbGUgKHBvcyA8IGNvb2tpZXNTdHJpbmcubGVuZ3RoICYmIG5vdFNwZWNpYWxDaGFyKCkpIHtcbiAgICAgICAgICBwb3MgKz0gMTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocG9zIDwgY29va2llc1N0cmluZy5sZW5ndGggJiYgY29va2llc1N0cmluZy5jaGFyQXQocG9zKSA9PT0gXCI9XCIpIHtcbiAgICAgICAgICBjb29raWVzU2VwYXJhdG9yRm91bmQgPSB0cnVlO1xuICAgICAgICAgIHBvcyA9IG5leHRTdGFydDtcbiAgICAgICAgICBjb29raWVzU3RyaW5ncy5wdXNoKGNvb2tpZXNTdHJpbmcuc3Vic3RyaW5nKHN0YXJ0LCBsYXN0Q29tbWEpKTtcbiAgICAgICAgICBzdGFydCA9IHBvcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwb3MgPSBsYXN0Q29tbWEgKyAxO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwb3MgKz0gMTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFjb29raWVzU2VwYXJhdG9yRm91bmQgfHwgcG9zID49IGNvb2tpZXNTdHJpbmcubGVuZ3RoKSB7XG4gICAgICBjb29raWVzU3RyaW5ncy5wdXNoKGNvb2tpZXNTdHJpbmcuc3Vic3RyaW5nKHN0YXJ0LCBjb29raWVzU3RyaW5nLmxlbmd0aCkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gY29va2llc1N0cmluZ3M7XG59XG5cbi8vIHNyYy9yZXF1ZXN0LWNvb2tpZXMudHNcbnZhciBSZXF1ZXN0Q29va2llcyA9IGNsYXNzIHtcbiAgY29uc3RydWN0b3IocmVxdWVzdEhlYWRlcnMpIHtcbiAgICAvKiogQGludGVybmFsICovXG4gICAgdGhpcy5fcGFyc2VkID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgICB0aGlzLl9oZWFkZXJzID0gcmVxdWVzdEhlYWRlcnM7XG4gICAgY29uc3QgaGVhZGVyID0gcmVxdWVzdEhlYWRlcnMuZ2V0KFwiY29va2llXCIpO1xuICAgIGlmIChoZWFkZXIpIHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlQ29va2llKGhlYWRlcik7XG4gICAgICBmb3IgKGNvbnN0IFtuYW1lLCB2YWx1ZV0gb2YgcGFyc2VkKSB7XG4gICAgICAgIHRoaXMuX3BhcnNlZC5zZXQobmFtZSwgeyBuYW1lLCB2YWx1ZSB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcnNlZFtTeW1ib2wuaXRlcmF0b3JdKCk7XG4gIH1cbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgY29va2llcyByZWNlaXZlZCBmcm9tIHRoZSBjbGllbnRcbiAgICovXG4gIGdldCBzaXplKCkge1xuICAgIHJldHVybiB0aGlzLl9wYXJzZWQuc2l6ZTtcbiAgfVxuICBnZXQoLi4uYXJncykge1xuICAgIGNvbnN0IG5hbWUgPSB0eXBlb2YgYXJnc1swXSA9PT0gXCJzdHJpbmdcIiA/IGFyZ3NbMF0gOiBhcmdzWzBdLm5hbWU7XG4gICAgcmV0dXJuIHRoaXMuX3BhcnNlZC5nZXQobmFtZSk7XG4gIH1cbiAgZ2V0QWxsKC4uLmFyZ3MpIHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgYWxsID0gQXJyYXkuZnJvbSh0aGlzLl9wYXJzZWQpO1xuICAgIGlmICghYXJncy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBhbGwubWFwKChbXywgdmFsdWVdKSA9PiB2YWx1ZSk7XG4gICAgfVxuICAgIGNvbnN0IG5hbWUgPSB0eXBlb2YgYXJnc1swXSA9PT0gXCJzdHJpbmdcIiA/IGFyZ3NbMF0gOiAoX2EgPSBhcmdzWzBdKSA9PSBudWxsID8gdm9pZCAwIDogX2EubmFtZTtcbiAgICByZXR1cm4gYWxsLmZpbHRlcigoW25dKSA9PiBuID09PSBuYW1lKS5tYXAoKFtfLCB2YWx1ZV0pID0+IHZhbHVlKTtcbiAgfVxuICBoYXMobmFtZSkge1xuICAgIHJldHVybiB0aGlzLl9wYXJzZWQuaGFzKG5hbWUpO1xuICB9XG4gIHNldCguLi5hcmdzKSB7XG4gICAgY29uc3QgW25hbWUsIHZhbHVlXSA9IGFyZ3MubGVuZ3RoID09PSAxID8gW2FyZ3NbMF0ubmFtZSwgYXJnc1swXS52YWx1ZV0gOiBhcmdzO1xuICAgIGNvbnN0IG1hcCA9IHRoaXMuX3BhcnNlZDtcbiAgICBtYXAuc2V0KG5hbWUsIHsgbmFtZSwgdmFsdWUgfSk7XG4gICAgdGhpcy5faGVhZGVycy5zZXQoXG4gICAgICBcImNvb2tpZVwiLFxuICAgICAgQXJyYXkuZnJvbShtYXApLm1hcCgoW18sIHZhbHVlMl0pID0+IHN0cmluZ2lmeUNvb2tpZSh2YWx1ZTIpKS5qb2luKFwiOyBcIilcbiAgICApO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIC8qKlxuICAgKiBEZWxldGUgdGhlIGNvb2tpZXMgbWF0Y2hpbmcgdGhlIHBhc3NlZCBuYW1lIG9yIG5hbWVzIGluIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgZGVsZXRlKG5hbWVzKSB7XG4gICAgY29uc3QgbWFwID0gdGhpcy5fcGFyc2VkO1xuICAgIGNvbnN0IHJlc3VsdCA9ICFBcnJheS5pc0FycmF5KG5hbWVzKSA/IG1hcC5kZWxldGUobmFtZXMpIDogbmFtZXMubWFwKChuYW1lKSA9PiBtYXAuZGVsZXRlKG5hbWUpKTtcbiAgICB0aGlzLl9oZWFkZXJzLnNldChcbiAgICAgIFwiY29va2llXCIsXG4gICAgICBBcnJheS5mcm9tKG1hcCkubWFwKChbXywgdmFsdWVdKSA9PiBzdHJpbmdpZnlDb29raWUodmFsdWUpKS5qb2luKFwiOyBcIilcbiAgICApO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgLyoqXG4gICAqIERlbGV0ZSBhbGwgdGhlIGNvb2tpZXMgaW4gdGhlIGNvb2tpZXMgaW4gdGhlIHJlcXVlc3QuXG4gICAqL1xuICBjbGVhcigpIHtcbiAgICB0aGlzLmRlbGV0ZShBcnJheS5mcm9tKHRoaXMuX3BhcnNlZC5rZXlzKCkpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuICAvKipcbiAgICogRm9ybWF0IHRoZSBjb29raWVzIGluIHRoZSByZXF1ZXN0IGFzIGEgc3RyaW5nIGZvciBsb2dnaW5nXG4gICAqL1xuICBbU3ltYm9sLmZvcihcImVkZ2UtcnVudGltZS5pbnNwZWN0LmN1c3RvbVwiKV0oKSB7XG4gICAgcmV0dXJuIGBSZXF1ZXN0Q29va2llcyAke0pTT04uc3RyaW5naWZ5KE9iamVjdC5mcm9tRW50cmllcyh0aGlzLl9wYXJzZWQpKX1gO1xuICB9XG4gIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiBbLi4udGhpcy5fcGFyc2VkLnZhbHVlcygpXS5tYXAoKHYpID0+IGAke3YubmFtZX09JHtlbmNvZGVVUklDb21wb25lbnQodi52YWx1ZSl9YCkuam9pbihcIjsgXCIpO1xuICB9XG59O1xuXG4vLyBzcmMvcmVzcG9uc2UtY29va2llcy50c1xudmFyIFJlc3BvbnNlQ29va2llcyA9IGNsYXNzIHtcbiAgY29uc3RydWN0b3IocmVzcG9uc2VIZWFkZXJzKSB7XG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIHRoaXMuX3BhcnNlZCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG4gICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgdGhpcy5faGVhZGVycyA9IHJlc3BvbnNlSGVhZGVycztcbiAgICBjb25zdCBzZXRDb29raWUgPSAoX2MgPSAoX2IgPSAoX2EgPSByZXNwb25zZUhlYWRlcnMuZ2V0U2V0Q29va2llKSA9PSBudWxsID8gdm9pZCAwIDogX2EuY2FsbChyZXNwb25zZUhlYWRlcnMpKSAhPSBudWxsID8gX2IgOiByZXNwb25zZUhlYWRlcnMuZ2V0KFwic2V0LWNvb2tpZVwiKSkgIT0gbnVsbCA/IF9jIDogW107XG4gICAgY29uc3QgY29va2llU3RyaW5ncyA9IEFycmF5LmlzQXJyYXkoc2V0Q29va2llKSA/IHNldENvb2tpZSA6IHNwbGl0Q29va2llc1N0cmluZyhzZXRDb29raWUpO1xuICAgIGZvciAoY29uc3QgY29va2llU3RyaW5nIG9mIGNvb2tpZVN0cmluZ3MpIHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlU2V0Q29va2llKGNvb2tpZVN0cmluZyk7XG4gICAgICBpZiAocGFyc2VkKVxuICAgICAgICB0aGlzLl9wYXJzZWQuc2V0KHBhcnNlZC5uYW1lLCBwYXJzZWQpO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICoge0BsaW5rIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vY29va2llLXN0b3JlLyNDb29raWVTdG9yZS1nZXQgQ29va2llU3RvcmUjZ2V0fSB3aXRob3V0IHRoZSBQcm9taXNlLlxuICAgKi9cbiAgZ2V0KC4uLmFyZ3MpIHtcbiAgICBjb25zdCBrZXkgPSB0eXBlb2YgYXJnc1swXSA9PT0gXCJzdHJpbmdcIiA/IGFyZ3NbMF0gOiBhcmdzWzBdLm5hbWU7XG4gICAgcmV0dXJuIHRoaXMuX3BhcnNlZC5nZXQoa2V5KTtcbiAgfVxuICAvKipcbiAgICoge0BsaW5rIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vY29va2llLXN0b3JlLyNDb29raWVTdG9yZS1nZXRBbGwgQ29va2llU3RvcmUjZ2V0QWxsfSB3aXRob3V0IHRoZSBQcm9taXNlLlxuICAgKi9cbiAgZ2V0QWxsKC4uLmFyZ3MpIHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgYWxsID0gQXJyYXkuZnJvbSh0aGlzLl9wYXJzZWQudmFsdWVzKCkpO1xuICAgIGlmICghYXJncy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBhbGw7XG4gICAgfVxuICAgIGNvbnN0IGtleSA9IHR5cGVvZiBhcmdzWzBdID09PSBcInN0cmluZ1wiID8gYXJnc1swXSA6IChfYSA9IGFyZ3NbMF0pID09IG51bGwgPyB2b2lkIDAgOiBfYS5uYW1lO1xuICAgIHJldHVybiBhbGwuZmlsdGVyKChjKSA9PiBjLm5hbWUgPT09IGtleSk7XG4gIH1cbiAgaGFzKG5hbWUpIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyc2VkLmhhcyhuYW1lKTtcbiAgfVxuICAvKipcbiAgICoge0BsaW5rIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vY29va2llLXN0b3JlLyNDb29raWVTdG9yZS1zZXQgQ29va2llU3RvcmUjc2V0fSB3aXRob3V0IHRoZSBQcm9taXNlLlxuICAgKi9cbiAgc2V0KC4uLmFyZ3MpIHtcbiAgICBjb25zdCBbbmFtZSwgdmFsdWUsIGNvb2tpZV0gPSBhcmdzLmxlbmd0aCA9PT0gMSA/IFthcmdzWzBdLm5hbWUsIGFyZ3NbMF0udmFsdWUsIGFyZ3NbMF1dIDogYXJncztcbiAgICBjb25zdCBtYXAgPSB0aGlzLl9wYXJzZWQ7XG4gICAgbWFwLnNldChuYW1lLCBub3JtYWxpemVDb29raWUoeyBuYW1lLCB2YWx1ZSwgLi4uY29va2llIH0pKTtcbiAgICByZXBsYWNlKG1hcCwgdGhpcy5faGVhZGVycyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgLyoqXG4gICAqIHtAbGluayBodHRwczovL3dpY2cuZ2l0aHViLmlvL2Nvb2tpZS1zdG9yZS8jQ29va2llU3RvcmUtZGVsZXRlIENvb2tpZVN0b3JlI2RlbGV0ZX0gd2l0aG91dCB0aGUgUHJvbWlzZS5cbiAgICovXG4gIGRlbGV0ZSguLi5hcmdzKSB7XG4gICAgY29uc3QgW25hbWUsIG9wdGlvbnNdID0gdHlwZW9mIGFyZ3NbMF0gPT09IFwic3RyaW5nXCIgPyBbYXJnc1swXV0gOiBbYXJnc1swXS5uYW1lLCBhcmdzWzBdXTtcbiAgICByZXR1cm4gdGhpcy5zZXQoeyAuLi5vcHRpb25zLCBuYW1lLCB2YWx1ZTogXCJcIiwgZXhwaXJlczogLyogQF9fUFVSRV9fICovIG5ldyBEYXRlKDApIH0pO1xuICB9XG4gIFtTeW1ib2wuZm9yKFwiZWRnZS1ydW50aW1lLmluc3BlY3QuY3VzdG9tXCIpXSgpIHtcbiAgICByZXR1cm4gYFJlc3BvbnNlQ29va2llcyAke0pTT04uc3RyaW5naWZ5KE9iamVjdC5mcm9tRW50cmllcyh0aGlzLl9wYXJzZWQpKX1gO1xuICB9XG4gIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiBbLi4udGhpcy5fcGFyc2VkLnZhbHVlcygpXS5tYXAoc3RyaW5naWZ5Q29va2llKS5qb2luKFwiOyBcIik7XG4gIH1cbn07XG5mdW5jdGlvbiByZXBsYWNlKGJhZywgaGVhZGVycykge1xuICBoZWFkZXJzLmRlbGV0ZShcInNldC1jb29raWVcIik7XG4gIGZvciAoY29uc3QgWywgdmFsdWVdIG9mIGJhZykge1xuICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSBzdHJpbmdpZnlDb29raWUodmFsdWUpO1xuICAgIGhlYWRlcnMuYXBwZW5kKFwic2V0LWNvb2tpZVwiLCBzZXJpYWxpemVkKTtcbiAgfVxufVxuZnVuY3Rpb24gbm9ybWFsaXplQ29va2llKGNvb2tpZSA9IHsgbmFtZTogXCJcIiwgdmFsdWU6IFwiXCIgfSkge1xuICBpZiAodHlwZW9mIGNvb2tpZS5leHBpcmVzID09PSBcIm51bWJlclwiKSB7XG4gICAgY29va2llLmV4cGlyZXMgPSBuZXcgRGF0ZShjb29raWUuZXhwaXJlcyk7XG4gIH1cbiAgaWYgKGNvb2tpZS5tYXhBZ2UpIHtcbiAgICBjb29raWUuZXhwaXJlcyA9IG5ldyBEYXRlKERhdGUubm93KCkgKyBjb29raWUubWF4QWdlICogMWUzKTtcbiAgfVxuICBpZiAoY29va2llLnBhdGggPT09IG51bGwgfHwgY29va2llLnBhdGggPT09IHZvaWQgMCkge1xuICAgIGNvb2tpZS5wYXRoID0gXCIvXCI7XG4gIH1cbiAgcmV0dXJuIGNvb2tpZTtcbn1cbi8vIEFubm90YXRlIHRoZSBDb21tb25KUyBleHBvcnQgbmFtZXMgZm9yIEVTTSBpbXBvcnQgaW4gbm9kZTpcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICBSZXF1ZXN0Q29va2llcyxcbiAgUmVzcG9uc2VDb29raWVzLFxuICBwYXJzZUNvb2tpZSxcbiAgcGFyc2VTZXRDb29raWUsXG4gIHN0cmluZ2lmeUNvb2tpZVxufSk7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js":
|
||
/*!***************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js ***!
|
||
\***************************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n true &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n case REACT_VIEW_TRANSITION_TYPE:\n return \"ViewTransition\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n maybeKey,\n getOwner(),\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n isValidElement(node)\n ? node._store && (node._store.validated = 1)\n : \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_LAZY_TYPE &&\n (\"fulfilled\" === node._payload.status\n ? isValidElement(node._payload.value) &&\n node._payload.value._store &&\n (node._payload.value._store.validated = 1)\n : node._store && (node._store.validated = 1));\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n var React = __webpack_require__(/*! next/dist/compiled/react */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/index.js\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_VIEW_TRANSITION_TYPE = Symbol.for(\"react.view_transition\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsxDEV = function (type, config, maybeKey, isStaticChildren) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n if (trackActualOwner) {\n var previousStackTraceLimit = Error.stackTraceLimit;\n Error.stackTraceLimit = 10;\n var debugStackDEV = Error(\"react-stack-top-frame\");\n Error.stackTraceLimit = previousStackTraceLimit;\n } else debugStackDEV = unknownOwnerDebugStack;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n debugStackDEV,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC9janMvcmVhY3QtanN4LWRldi1ydW50aW1lLmRldmVsb3BtZW50LmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTtBQUNiLEtBQXFDO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCwrQ0FBK0MsNkJBQTZCO0FBQzVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxnQkFBZ0IsZ0RBQWdEO0FBQ2hFLGdCQUFnQixhQUFhO0FBQzdCO0FBQ0E7QUFDQSxnQ0FBZ0Msa0NBQWtDLE9BQU87QUFDekU7QUFDQSxnR0FBZ0csU0FBUyxVQUFVLHNGQUFzRixhQUFhLFVBQVUsVUFBVTtBQUMxTztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLG1CQUFPLENBQUMseU9BQTBCO0FBQ2xEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxnQkFBZ0I7QUFDcEIsSUFBSSxjQUFjO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUciLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIFJlYWN0XG4gKiByZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIE1ldGEgUGxhdGZvcm1zLCBJbmMuIGFuZCBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cblwidXNlIHN0cmljdFwiO1xuXCJwcm9kdWN0aW9uXCIgIT09IHByb2Nlc3MuZW52Lk5PREVfRU5WICYmXG4gIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpIHtcbiAgICAgIGlmIChudWxsID09IHR5cGUpIHJldHVybiBudWxsO1xuICAgICAgaWYgKFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIHR5cGUpXG4gICAgICAgIHJldHVybiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DTElFTlRfUkVGRVJFTkNFXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICAgICAgaWYgKFwic3RyaW5nXCIgPT09IHR5cGVvZiB0eXBlKSByZXR1cm4gdHlwZTtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlIFJFQUNUX0ZSQUdNRU5UX1RZUEU6XG4gICAgICAgICAgcmV0dXJuIFwiRnJhZ21lbnRcIjtcbiAgICAgICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgICAgIHJldHVybiBcIlByb2ZpbGVyXCI7XG4gICAgICAgIGNhc2UgUkVBQ1RfU1RSSUNUX01PREVfVFlQRTpcbiAgICAgICAgICByZXR1cm4gXCJTdHJpY3RNb2RlXCI7XG4gICAgICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgICAgICByZXR1cm4gXCJTdXNwZW5zZVwiO1xuICAgICAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgICAgICByZXR1cm4gXCJTdXNwZW5zZUxpc3RcIjtcbiAgICAgICAgY2FzZSBSRUFDVF9BQ1RJVklUWV9UWVBFOlxuICAgICAgICAgIHJldHVybiBcIkFjdGl2aXR5XCI7XG4gICAgICAgIGNhc2UgUkVBQ1RfVklFV19UUkFOU0lUSU9OX1RZUEU6XG4gICAgICAgICAgcmV0dXJuIFwiVmlld1RyYW5zaXRpb25cIjtcbiAgICAgIH1cbiAgICAgIGlmIChcIm9iamVjdFwiID09PSB0eXBlb2YgdHlwZSlcbiAgICAgICAgc3dpdGNoIChcbiAgICAgICAgICAoXCJudW1iZXJcIiA9PT0gdHlwZW9mIHR5cGUudGFnICYmXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICBcIlJlY2VpdmVkIGFuIHVuZXhwZWN0ZWQgb2JqZWN0IGluIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSgpLiBUaGlzIGlzIGxpa2VseSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXCJcbiAgICAgICAgICAgICksXG4gICAgICAgICAgdHlwZS4kJHR5cGVvZilcbiAgICAgICAgKSB7XG4gICAgICAgICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgICAgICAgIHJldHVybiBcIlBvcnRhbFwiO1xuICAgICAgICAgIGNhc2UgUkVBQ1RfQ09OVEVYVF9UWVBFOlxuICAgICAgICAgICAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgXCJDb250ZXh0XCI7XG4gICAgICAgICAgY2FzZSBSRUFDVF9DT05TVU1FUl9UWVBFOlxuICAgICAgICAgICAgcmV0dXJuICh0eXBlLl9jb250ZXh0LmRpc3BsYXlOYW1lIHx8IFwiQ29udGV4dFwiKSArIFwiLkNvbnN1bWVyXCI7XG4gICAgICAgICAgY2FzZSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFOlxuICAgICAgICAgICAgdmFyIGlubmVyVHlwZSA9IHR5cGUucmVuZGVyO1xuICAgICAgICAgICAgdHlwZSA9IHR5cGUuZGlzcGxheU5hbWU7XG4gICAgICAgICAgICB0eXBlIHx8XG4gICAgICAgICAgICAgICgodHlwZSA9IGlubmVyVHlwZS5kaXNwbGF5TmFtZSB8fCBpbm5lclR5cGUubmFtZSB8fCBcIlwiKSxcbiAgICAgICAgICAgICAgKHR5cGUgPSBcIlwiICE9PSB0eXBlID8gXCJGb3J3YXJkUmVmKFwiICsgdHlwZSArIFwiKVwiIDogXCJGb3J3YXJkUmVmXCIpKTtcbiAgICAgICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgKGlubmVyVHlwZSA9IHR5cGUuZGlzcGxheU5hbWUgfHwgbnVsbCksXG4gICAgICAgICAgICAgIG51bGwgIT09IGlubmVyVHlwZVxuICAgICAgICAgICAgICAgID8gaW5uZXJUeXBlXG4gICAgICAgICAgICAgICAgOiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZS50eXBlKSB8fCBcIk1lbW9cIlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICAgIGlubmVyVHlwZSA9IHR5cGUuX3BheWxvYWQ7XG4gICAgICAgICAgICB0eXBlID0gdHlwZS5faW5pdDtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZShpbm5lclR5cGUpKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKHgpIHt9XG4gICAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBmdW5jdGlvbiB0ZXN0U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAgICAgIHJldHVybiBcIlwiICsgdmFsdWU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNoZWNrS2V5U3RyaW5nQ29lcmNpb24odmFsdWUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICAgIHZhciBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQgPSAhMTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgSlNDb21waWxlcl9pbmxpbmVfcmVzdWx0ID0gITA7XG4gICAgICB9XG4gICAgICBpZiAoSlNDb21waWxlcl9pbmxpbmVfcmVzdWx0KSB7XG4gICAgICAgIEpTQ29tcGlsZXJfaW5saW5lX3Jlc3VsdCA9IGNvbnNvbGU7XG4gICAgICAgIHZhciBKU0NvbXBpbGVyX3RlbXBfY29uc3QgPSBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQuZXJyb3I7XG4gICAgICAgIHZhciBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQkanNjb21wJDAgPVxuICAgICAgICAgIChcImZ1bmN0aW9uXCIgPT09IHR5cGVvZiBTeW1ib2wgJiZcbiAgICAgICAgICAgIFN5bWJvbC50b1N0cmluZ1RhZyAmJlxuICAgICAgICAgICAgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSkgfHxcbiAgICAgICAgICB2YWx1ZS5jb25zdHJ1Y3Rvci5uYW1lIHx8XG4gICAgICAgICAgXCJPYmplY3RcIjtcbiAgICAgICAgSlNDb21waWxlcl90ZW1wX2NvbnN0LmNhbGwoXG4gICAgICAgICAgSlNDb21waWxlcl9pbmxpbmVfcmVzdWx0LFxuICAgICAgICAgIFwiVGhlIHByb3ZpZGVkIGtleSBpcyBhbiB1bnN1cHBvcnRlZCB0eXBlICVzLiBUaGlzIHZhbHVlIG11c3QgYmUgY29lcmNlZCB0byBhIHN0cmluZyBiZWZvcmUgdXNpbmcgaXQgaGVyZS5cIixcbiAgICAgICAgICBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQkanNjb21wJDBcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldFRhc2tOYW1lKHR5cGUpIHtcbiAgICAgIGlmICh0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSByZXR1cm4gXCI8PlwiO1xuICAgICAgaWYgKFxuICAgICAgICBcIm9iamVjdFwiID09PSB0eXBlb2YgdHlwZSAmJlxuICAgICAgICBudWxsICE9PSB0eXBlICYmXG4gICAgICAgIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRVxuICAgICAgKVxuICAgICAgICByZXR1cm4gXCI8Li4uPlwiO1xuICAgICAgdHJ5IHtcbiAgICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZSk7XG4gICAgICAgIHJldHVybiBuYW1lID8gXCI8XCIgKyBuYW1lICsgXCI+XCIgOiBcIjwuLi4+XCI7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIHJldHVybiBcIjwuLi4+XCI7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldE93bmVyKCkge1xuICAgICAgdmFyIGRpc3BhdGNoZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5BO1xuICAgICAgcmV0dXJuIG51bGwgPT09IGRpc3BhdGNoZXIgPyBudWxsIDogZGlzcGF0Y2hlci5nZXRPd25lcigpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBVbmtub3duT3duZXIoKSB7XG4gICAgICByZXR1cm4gRXJyb3IoXCJyZWFjdC1zdGFjay10b3AtZnJhbWVcIik7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGhhc1ZhbGlkS2V5KGNvbmZpZykge1xuICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCBcImtleVwiKSkge1xuICAgICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsIFwia2V5XCIpLmdldDtcbiAgICAgICAgaWYgKGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmcpIHJldHVybiAhMTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2b2lkIDAgIT09IGNvbmZpZy5rZXk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICAgICAgZnVuY3Rpb24gd2FybkFib3V0QWNjZXNzaW5nS2V5KCkge1xuICAgICAgICBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93biB8fFxuICAgICAgICAgICgoc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gPSAhMCksXG4gICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgIFwiJXM6IGBrZXlgIGlzIG5vdCBhIHByb3AuIFRyeWluZyB0byBhY2Nlc3MgaXQgd2lsbCByZXN1bHQgaW4gYHVuZGVmaW5lZGAgYmVpbmcgcmV0dXJuZWQuIElmIHlvdSBuZWVkIHRvIGFjY2VzcyB0aGUgc2FtZSB2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50IHByb3AuIChodHRwczovL3JlYWN0LmRldi9saW5rL3NwZWNpYWwtcHJvcHMpXCIsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZVxuICAgICAgICAgICkpO1xuICAgICAgfVxuICAgICAgd2FybkFib3V0QWNjZXNzaW5nS2V5LmlzUmVhY3RXYXJuaW5nID0gITA7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsIFwia2V5XCIsIHtcbiAgICAgICAgZ2V0OiB3YXJuQWJvdXRBY2Nlc3NpbmdLZXksXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogITBcbiAgICAgIH0pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBlbGVtZW50UmVmR2V0dGVyV2l0aERlcHJlY2F0aW9uV2FybmluZygpIHtcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHRoaXMudHlwZSk7XG4gICAgICBkaWRXYXJuQWJvdXRFbGVtZW50UmVmW2NvbXBvbmVudE5hbWVdIHx8XG4gICAgICAgICgoZGlkV2FybkFib3V0RWxlbWVudFJlZltjb21wb25lbnROYW1lXSA9ICEwKSxcbiAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICBcIkFjY2Vzc2luZyBlbGVtZW50LnJlZiB3YXMgcmVtb3ZlZCBpbiBSZWFjdCAxOS4gcmVmIGlzIG5vdyBhIHJlZ3VsYXIgcHJvcC4gSXQgd2lsbCBiZSByZW1vdmVkIGZyb20gdGhlIEpTWCBFbGVtZW50IHR5cGUgaW4gYSBmdXR1cmUgcmVsZWFzZS5cIlxuICAgICAgICApKTtcbiAgICAgIGNvbXBvbmVudE5hbWUgPSB0aGlzLnByb3BzLnJlZjtcbiAgICAgIHJldHVybiB2b2lkIDAgIT09IGNvbXBvbmVudE5hbWUgPyBjb21wb25lbnROYW1lIDogbnVsbDtcbiAgICB9XG4gICAgZnVuY3Rpb24gUmVhY3RFbGVtZW50KHR5cGUsIGtleSwgcHJvcHMsIG93bmVyLCBkZWJ1Z1N0YWNrLCBkZWJ1Z1Rhc2spIHtcbiAgICAgIHZhciByZWZQcm9wID0gcHJvcHMucmVmO1xuICAgICAgdHlwZSA9IHtcbiAgICAgICAgJCR0eXBlb2Y6IFJFQUNUX0VMRU1FTlRfVFlQRSxcbiAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAga2V5OiBrZXksXG4gICAgICAgIHByb3BzOiBwcm9wcyxcbiAgICAgICAgX293bmVyOiBvd25lclxuICAgICAgfTtcbiAgICAgIG51bGwgIT09ICh2b2lkIDAgIT09IHJlZlByb3AgPyByZWZQcm9wIDogbnVsbClcbiAgICAgICAgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkodHlwZSwgXCJyZWZcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogITEsXG4gICAgICAgICAgICBnZXQ6IGVsZW1lbnRSZWZHZXR0ZXJXaXRoRGVwcmVjYXRpb25XYXJuaW5nXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBPYmplY3QuZGVmaW5lUHJvcGVydHkodHlwZSwgXCJyZWZcIiwgeyBlbnVtZXJhYmxlOiAhMSwgdmFsdWU6IG51bGwgfSk7XG4gICAgICB0eXBlLl9zdG9yZSA9IHt9O1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHR5cGUuX3N0b3JlLCBcInZhbGlkYXRlZFwiLCB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogITEsXG4gICAgICAgIGVudW1lcmFibGU6ICExLFxuICAgICAgICB3cml0YWJsZTogITAsXG4gICAgICAgIHZhbHVlOiAwXG4gICAgICB9KTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0eXBlLCBcIl9kZWJ1Z0luZm9cIiwge1xuICAgICAgICBjb25maWd1cmFibGU6ICExLFxuICAgICAgICBlbnVtZXJhYmxlOiAhMSxcbiAgICAgICAgd3JpdGFibGU6ICEwLFxuICAgICAgICB2YWx1ZTogbnVsbFxuICAgICAgfSk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodHlwZSwgXCJfZGVidWdTdGFja1wiLCB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogITEsXG4gICAgICAgIGVudW1lcmFibGU6ICExLFxuICAgICAgICB3cml0YWJsZTogITAsXG4gICAgICAgIHZhbHVlOiBkZWJ1Z1N0YWNrXG4gICAgICB9KTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0eXBlLCBcIl9kZWJ1Z1Rhc2tcIiwge1xuICAgICAgICBjb25maWd1cmFibGU6ICExLFxuICAgICAgICBlbnVtZXJhYmxlOiAhMSxcbiAgICAgICAgd3JpdGFibGU6ICEwLFxuICAgICAgICB2YWx1ZTogZGVidWdUYXNrXG4gICAgICB9KTtcbiAgICAgIE9iamVjdC5mcmVlemUgJiYgKE9iamVjdC5mcmVlemUodHlwZS5wcm9wcyksIE9iamVjdC5mcmVlemUodHlwZSkpO1xuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGpzeERFVkltcGwoXG4gICAgICB0eXBlLFxuICAgICAgY29uZmlnLFxuICAgICAgbWF5YmVLZXksXG4gICAgICBpc1N0YXRpY0NoaWxkcmVuLFxuICAgICAgZGVidWdTdGFjayxcbiAgICAgIGRlYnVnVGFza1xuICAgICkge1xuICAgICAgdmFyIGNoaWxkcmVuID0gY29uZmlnLmNoaWxkcmVuO1xuICAgICAgaWYgKHZvaWQgMCAhPT0gY2hpbGRyZW4pXG4gICAgICAgIGlmIChpc1N0YXRpY0NoaWxkcmVuKVxuICAgICAgICAgIGlmIChpc0FycmF5SW1wbChjaGlsZHJlbikpIHtcbiAgICAgICAgICAgIGZvciAoXG4gICAgICAgICAgICAgIGlzU3RhdGljQ2hpbGRyZW4gPSAwO1xuICAgICAgICAgICAgICBpc1N0YXRpY0NoaWxkcmVuIDwgY2hpbGRyZW4ubGVuZ3RoO1xuICAgICAgICAgICAgICBpc1N0YXRpY0NoaWxkcmVuKytcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgdmFsaWRhdGVDaGlsZEtleXMoY2hpbGRyZW5baXNTdGF0aWNDaGlsZHJlbl0pO1xuICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZSAmJiBPYmplY3QuZnJlZXplKGNoaWxkcmVuKTtcbiAgICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgIFwiUmVhY3QuanN4OiBTdGF0aWMgY2hpbGRyZW4gc2hvdWxkIGFsd2F5cyBiZSBhbiBhcnJheS4gWW91IGFyZSBsaWtlbHkgZXhwbGljaXRseSBjYWxsaW5nIFJlYWN0LmpzeHMgb3IgUmVhY3QuanN4REVWLiBVc2UgdGhlIEJhYmVsIHRyYW5zZm9ybSBpbnN0ZWFkLlwiXG4gICAgICAgICAgICApO1xuICAgICAgICBlbHNlIHZhbGlkYXRlQ2hpbGRLZXlzKGNoaWxkcmVuKTtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgXCJrZXlcIikpIHtcbiAgICAgICAgY2hpbGRyZW4gPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUodHlwZSk7XG4gICAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKS5maWx0ZXIoZnVuY3Rpb24gKGspIHtcbiAgICAgICAgICByZXR1cm4gXCJrZXlcIiAhPT0gaztcbiAgICAgICAgfSk7XG4gICAgICAgIGlzU3RhdGljQ2hpbGRyZW4gPVxuICAgICAgICAgIDAgPCBrZXlzLmxlbmd0aFxuICAgICAgICAgICAgPyBcIntrZXk6IHNvbWVLZXksIFwiICsga2V5cy5qb2luKFwiOiAuLi4sIFwiKSArIFwiOiAuLi59XCJcbiAgICAgICAgICAgIDogXCJ7a2V5OiBzb21lS2V5fVwiO1xuICAgICAgICBkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY2hpbGRyZW4gKyBpc1N0YXRpY0NoaWxkcmVuXSB8fFxuICAgICAgICAgICgoa2V5cyA9XG4gICAgICAgICAgICAwIDwga2V5cy5sZW5ndGggPyBcIntcIiArIGtleXMuam9pbihcIjogLi4uLCBcIikgKyBcIjogLi4ufVwiIDogXCJ7fVwiKSxcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgJ0EgcHJvcHMgb2JqZWN0IGNvbnRhaW5pbmcgYSBcImtleVwiIHByb3AgaXMgYmVpbmcgc3ByZWFkIGludG8gSlNYOlxcbiAgbGV0IHByb3BzID0gJXM7XFxuICA8JXMgey4uLnByb3BzfSAvPlxcblJlYWN0IGtleXMgbXVzdCBiZSBwYXNzZWQgZGlyZWN0bHkgdG8gSlNYIHdpdGhvdXQgdXNpbmcgc3ByZWFkOlxcbiAgbGV0IHByb3BzID0gJXM7XFxuICA8JXMga2V5PXtzb21lS2V5fSB7Li4ucHJvcHN9IC8+JyxcbiAgICAgICAgICAgIGlzU3RhdGljQ2hpbGRyZW4sXG4gICAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgICAgIGtleXMsXG4gICAgICAgICAgICBjaGlsZHJlblxuICAgICAgICAgICksXG4gICAgICAgICAgKGRpZFdhcm5BYm91dEtleVNwcmVhZFtjaGlsZHJlbiArIGlzU3RhdGljQ2hpbGRyZW5dID0gITApKTtcbiAgICAgIH1cbiAgICAgIGNoaWxkcmVuID0gbnVsbDtcbiAgICAgIHZvaWQgMCAhPT0gbWF5YmVLZXkgJiZcbiAgICAgICAgKGNoZWNrS2V5U3RyaW5nQ29lcmNpb24obWF5YmVLZXkpLCAoY2hpbGRyZW4gPSBcIlwiICsgbWF5YmVLZXkpKTtcbiAgICAgIGhhc1ZhbGlkS2V5KGNvbmZpZykgJiZcbiAgICAgICAgKGNoZWNrS2V5U3RyaW5nQ29lcmNpb24oY29uZmlnLmtleSksIChjaGlsZHJlbiA9IFwiXCIgKyBjb25maWcua2V5KSk7XG4gICAgICBpZiAoXCJrZXlcIiBpbiBjb25maWcpIHtcbiAgICAgICAgbWF5YmVLZXkgPSB7fTtcbiAgICAgICAgZm9yICh2YXIgcHJvcE5hbWUgaW4gY29uZmlnKVxuICAgICAgICAgIFwia2V5XCIgIT09IHByb3BOYW1lICYmIChtYXliZUtleVtwcm9wTmFtZV0gPSBjb25maWdbcHJvcE5hbWVdKTtcbiAgICAgIH0gZWxzZSBtYXliZUtleSA9IGNvbmZpZztcbiAgICAgIGNoaWxkcmVuICYmXG4gICAgICAgIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKFxuICAgICAgICAgIG1heWJlS2V5LFxuICAgICAgICAgIFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIHR5cGVcbiAgICAgICAgICAgID8gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgXCJVbmtub3duXCJcbiAgICAgICAgICAgIDogdHlwZVxuICAgICAgICApO1xuICAgICAgcmV0dXJuIFJlYWN0RWxlbWVudChcbiAgICAgICAgdHlwZSxcbiAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgIG1heWJlS2V5LFxuICAgICAgICBnZXRPd25lcigpLFxuICAgICAgICBkZWJ1Z1N0YWNrLFxuICAgICAgICBkZWJ1Z1Rhc2tcbiAgICAgICk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHZhbGlkYXRlQ2hpbGRLZXlzKG5vZGUpIHtcbiAgICAgIGlzVmFsaWRFbGVtZW50KG5vZGUpXG4gICAgICAgID8gbm9kZS5fc3RvcmUgJiYgKG5vZGUuX3N0b3JlLnZhbGlkYXRlZCA9IDEpXG4gICAgICAgIDogXCJvYmplY3RcIiA9PT0gdHlwZW9mIG5vZGUgJiZcbiAgICAgICAgICBudWxsICE9PSBub2RlICYmXG4gICAgICAgICAgbm9kZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFICYmXG4gICAgICAgICAgKFwiZnVsZmlsbGVkXCIgPT09IG5vZGUuX3BheWxvYWQuc3RhdHVzXG4gICAgICAgICAgICA/IGlzVmFsaWRFbGVtZW50KG5vZGUuX3BheWxvYWQudmFsdWUpICYmXG4gICAgICAgICAgICAgIG5vZGUuX3BheWxvYWQudmFsdWUuX3N0b3JlICYmXG4gICAgICAgICAgICAgIChub2RlLl9wYXlsb2FkLnZhbHVlLl9zdG9yZS52YWxpZGF0ZWQgPSAxKVxuICAgICAgICAgICAgOiBub2RlLl9zdG9yZSAmJiAobm9kZS5fc3RvcmUudmFsaWRhdGVkID0gMSkpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpc1ZhbGlkRWxlbWVudChvYmplY3QpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIFwib2JqZWN0XCIgPT09IHR5cGVvZiBvYmplY3QgJiZcbiAgICAgICAgbnVsbCAhPT0gb2JqZWN0ICYmXG4gICAgICAgIG9iamVjdC4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFXG4gICAgICApO1xuICAgIH1cbiAgICB2YXIgUmVhY3QgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL3JlYWN0XCIpLFxuICAgICAgUkVBQ1RfRUxFTUVOVF9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50XCIpLFxuICAgICAgUkVBQ1RfUE9SVEFMX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QucG9ydGFsXCIpLFxuICAgICAgUkVBQ1RfRlJBR01FTlRfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5mcmFnbWVudFwiKSxcbiAgICAgIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3Quc3RyaWN0X21vZGVcIiksXG4gICAgICBSRUFDVF9QUk9GSUxFUl9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LnByb2ZpbGVyXCIpLFxuICAgICAgUkVBQ1RfQ09OU1VNRVJfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5jb25zdW1lclwiKSxcbiAgICAgIFJFQUNUX0NPTlRFWFRfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5jb250ZXh0XCIpLFxuICAgICAgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5mb3J3YXJkX3JlZlwiKSxcbiAgICAgIFJFQUNUX1NVU1BFTlNFX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3Quc3VzcGVuc2VcIiksXG4gICAgICBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3Quc3VzcGVuc2VfbGlzdFwiKSxcbiAgICAgIFJFQUNUX01FTU9fVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5tZW1vXCIpLFxuICAgICAgUkVBQ1RfTEFaWV9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LmxhenlcIiksXG4gICAgICBSRUFDVF9BQ1RJVklUWV9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LmFjdGl2aXR5XCIpLFxuICAgICAgUkVBQ1RfVklFV19UUkFOU0lUSU9OX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3Qudmlld190cmFuc2l0aW9uXCIpLFxuICAgICAgUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5jbGllbnQucmVmZXJlbmNlXCIpLFxuICAgICAgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPVxuICAgICAgICBSZWFjdC5fX0NMSUVOVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUsXG4gICAgICBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksXG4gICAgICBpc0FycmF5SW1wbCA9IEFycmF5LmlzQXJyYXksXG4gICAgICBjcmVhdGVUYXNrID0gY29uc29sZS5jcmVhdGVUYXNrXG4gICAgICAgID8gY29uc29sZS5jcmVhdGVUYXNrXG4gICAgICAgIDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfTtcbiAgICBSZWFjdCA9IHtcbiAgICAgIHJlYWN0X3N0YWNrX2JvdHRvbV9mcmFtZTogZnVuY3Rpb24gKGNhbGxTdGFja0ZvckVycm9yKSB7XG4gICAgICAgIHJldHVybiBjYWxsU3RhY2tGb3JFcnJvcigpO1xuICAgICAgfVxuICAgIH07XG4gICAgdmFyIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duO1xuICAgIHZhciBkaWRXYXJuQWJvdXRFbGVtZW50UmVmID0ge307XG4gICAgdmFyIHVua25vd25Pd25lckRlYnVnU3RhY2sgPSBSZWFjdC5yZWFjdF9zdGFja19ib3R0b21fZnJhbWUuYmluZChcbiAgICAgIFJlYWN0LFxuICAgICAgVW5rbm93bk93bmVyXG4gICAgKSgpO1xuICAgIHZhciB1bmtub3duT3duZXJEZWJ1Z1Rhc2sgPSBjcmVhdGVUYXNrKGdldFRhc2tOYW1lKFVua25vd25Pd25lcikpO1xuICAgIHZhciBkaWRXYXJuQWJvdXRLZXlTcHJlYWQgPSB7fTtcbiAgICBleHBvcnRzLkZyYWdtZW50ID0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbiAgICBleHBvcnRzLmpzeERFViA9IGZ1bmN0aW9uICh0eXBlLCBjb25maWcsIG1heWJlS2V5LCBpc1N0YXRpY0NoaWxkcmVuKSB7XG4gICAgICB2YXIgdHJhY2tBY3R1YWxPd25lciA9XG4gICAgICAgIDFlNCA+IFJlYWN0U2hhcmVkSW50ZXJuYWxzLnJlY2VudGx5Q3JlYXRlZE93bmVyU3RhY2tzKys7XG4gICAgICBpZiAodHJhY2tBY3R1YWxPd25lcikge1xuICAgICAgICB2YXIgcHJldmlvdXNTdGFja1RyYWNlTGltaXQgPSBFcnJvci5zdGFja1RyYWNlTGltaXQ7XG4gICAgICAgIEVycm9yLnN0YWNrVHJhY2VMaW1pdCA9IDEwO1xuICAgICAgICB2YXIgZGVidWdTdGFja0RFViA9IEVycm9yKFwicmVhY3Qtc3RhY2stdG9wLWZyYW1lXCIpO1xuICAgICAgICBFcnJvci5zdGFja1RyYWNlTGltaXQgPSBwcmV2aW91c1N0YWNrVHJhY2VMaW1pdDtcbiAgICAgIH0gZWxzZSBkZWJ1Z1N0YWNrREVWID0gdW5rbm93bk93bmVyRGVidWdTdGFjaztcbiAgICAgIHJldHVybiBqc3hERVZJbXBsKFxuICAgICAgICB0eXBlLFxuICAgICAgICBjb25maWcsXG4gICAgICAgIG1heWJlS2V5LFxuICAgICAgICBpc1N0YXRpY0NoaWxkcmVuLFxuICAgICAgICBkZWJ1Z1N0YWNrREVWLFxuICAgICAgICB0cmFja0FjdHVhbE93bmVyID8gY3JlYXRlVGFzayhnZXRUYXNrTmFtZSh0eXBlKSkgOiB1bmtub3duT3duZXJEZWJ1Z1Rhc2tcbiAgICAgICk7XG4gICAgfTtcbiAgfSkoKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/jsx-dev-runtime.js":
|
||
/*!*****************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/jsx-dev-runtime.js ***!
|
||
\*****************************************************************************************************************************************************************************************************/
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-dev-runtime.development.js */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC9qc3gtZGV2LXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsSUFBSSxLQUFxQyxFQUFFLEVBRTFDLENBQUM7QUFDRixFQUFFLGlVQUFzRTtBQUN4RSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9yZWFjdC9qc3gtZGV2LXJ1bnRpbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5wcm9kdWN0aW9uLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/jsx-dev-runtime.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/ua-parser-js/ua-parser.js":
|
||
/*!******************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/ua-parser-js/ua-parser.js ***!
|
||
\******************************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
eval(__webpack_require__.ts("var __dirname = \"/\";\nvar __WEBPACK_AMD_DEFINE_RESULT__;(()=>{var i={226:function(i,e){(function(o,a){\"use strict\";var r=\"1.0.35\",t=\"\",n=\"?\",s=\"function\",b=\"undefined\",w=\"object\",l=\"string\",d=\"major\",c=\"model\",u=\"name\",p=\"type\",m=\"vendor\",f=\"version\",h=\"architecture\",v=\"console\",g=\"mobile\",k=\"tablet\",x=\"smarttv\",_=\"wearable\",y=\"embedded\",q=350;var T=\"Amazon\",S=\"Apple\",z=\"ASUS\",N=\"BlackBerry\",A=\"Browser\",C=\"Chrome\",E=\"Edge\",O=\"Firefox\",U=\"Google\",j=\"Huawei\",P=\"LG\",R=\"Microsoft\",M=\"Motorola\",B=\"Opera\",V=\"Samsung\",D=\"Sharp\",I=\"Sony\",W=\"Viera\",F=\"Xiaomi\",G=\"Zebra\",H=\"Facebook\",L=\"Chromium OS\",Z=\"Mac OS\";var extend=function(i,e){var o={};for(var a in i){if(e[a]&&e[a].length%2===0){o[a]=e[a].concat(i[a])}else{o[a]=i[a]}}return o},enumerize=function(i){var e={};for(var o=0;o<i.length;o++){e[i[o].toUpperCase()]=i[o]}return e},has=function(i,e){return typeof i===l?lowerize(e).indexOf(lowerize(i))!==-1:false},lowerize=function(i){return i.toLowerCase()},majorize=function(i){return typeof i===l?i.replace(/[^\\d\\.]/g,t).split(\".\")[0]:a},trim=function(i,e){if(typeof i===l){i=i.replace(/^\\s\\s*/,t);return typeof e===b?i:i.substring(0,q)}};var rgxMapper=function(i,e){var o=0,r,t,n,b,l,d;while(o<e.length&&!l){var c=e[o],u=e[o+1];r=t=0;while(r<c.length&&!l){if(!c[r]){break}l=c[r++].exec(i);if(!!l){for(n=0;n<u.length;n++){d=l[++t];b=u[n];if(typeof b===w&&b.length>0){if(b.length===2){if(typeof b[1]==s){this[b[0]]=b[1].call(this,d)}else{this[b[0]]=b[1]}}else if(b.length===3){if(typeof b[1]===s&&!(b[1].exec&&b[1].test)){this[b[0]]=d?b[1].call(this,d,b[2]):a}else{this[b[0]]=d?d.replace(b[1],b[2]):a}}else if(b.length===4){this[b[0]]=d?b[3].call(this,d.replace(b[1],b[2])):a}}else{this[b]=d?d:a}}}}o+=2}},strMapper=function(i,e){for(var o in e){if(typeof e[o]===w&&e[o].length>0){for(var r=0;r<e[o].length;r++){if(has(e[o][r],i)){return o===n?a:o}}}else if(has(e[o],i)){return o===n?a:o}}return i};var $={\"1.0\":\"/8\",1.2:\"/1\",1.3:\"/3\",\"2.0\":\"/412\",\"2.0.2\":\"/416\",\"2.0.3\":\"/417\",\"2.0.4\":\"/419\",\"?\":\"/\"},X={ME:\"4.90\",\"NT 3.11\":\"NT3.51\",\"NT 4.0\":\"NT4.0\",2e3:\"NT 5.0\",XP:[\"NT 5.1\",\"NT 5.2\"],Vista:\"NT 6.0\",7:\"NT 6.1\",8:\"NT 6.2\",8.1:\"NT 6.3\",10:[\"NT 6.4\",\"NT 10.0\"],RT:\"ARM\"};var K={browser:[[/\\b(?:crmo|crios)\\/([\\w\\.]+)/i],[f,[u,\"Chrome\"]],[/edg(?:e|ios|a)?\\/([\\w\\.]+)/i],[f,[u,\"Edge\"]],[/(opera mini)\\/([-\\w\\.]+)/i,/(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i,/(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i],[u,f],[/opios[\\/ ]+([\\w\\.]+)/i],[f,[u,B+\" Mini\"]],[/\\bopr\\/([\\w\\.]+)/i],[f,[u,B]],[/(kindle)\\/([\\w\\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i,/(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i,/(?:ms|\\()(ie) ([\\w\\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\\/([-\\w\\.]+)/i,/(heytap|ovi)browser\\/([\\d\\.]+)/i,/(weibo)__([\\d\\.]+)/i],[u,f],[/(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i],[f,[u,\"UC\"+A]],[/microm.+\\bqbcore\\/([\\w\\.]+)/i,/\\bqbcore\\/([\\w\\.]+).+microm/i],[f,[u,\"WeChat(Win) Desktop\"]],[/micromessenger\\/([\\w\\.]+)/i],[f,[u,\"WeChat\"]],[/konqueror\\/([\\w\\.]+)/i],[f,[u,\"Konqueror\"]],[/trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i],[f,[u,\"IE\"]],[/ya(?:search)?browser\\/([\\w\\.]+)/i],[f,[u,\"Yandex\"]],[/(avast|avg)\\/([\\w\\.]+)/i],[[u,/(.+)/,\"$1 Secure \"+A],f],[/\\bfocus\\/([\\w\\.]+)/i],[f,[u,O+\" Focus\"]],[/\\bopt\\/([\\w\\.]+)/i],[f,[u,B+\" Touch\"]],[/coc_coc\\w+\\/([\\w\\.]+)/i],[f,[u,\"Coc Coc\"]],[/dolfin\\/([\\w\\.]+)/i],[f,[u,\"Dolphin\"]],[/coast\\/([\\w\\.]+)/i],[f,[u,B+\" Coast\"]],[/miuibrowser\\/([\\w\\.]+)/i],[f,[u,\"MIUI \"+A]],[/fxios\\/([-\\w\\.]+)/i],[f,[u,O]],[/\\bqihu|(qi?ho?o?|360)browser/i],[[u,\"360 \"+A]],[/(oculus|samsung|sailfish|huawei)browser\\/([\\w\\.]+)/i],[[u,/(.+)/,\"$1 \"+A],f],[/(comodo_dragon)\\/([\\w\\.]+)/i],[[u,/_/g,\" \"],f],[/(electron)\\/([\\w\\.]+) safari/i,/(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i],[u,f],[/(metasr)[\\/ ]?([\\w\\.]+)/i,/(lbbrowser)/i,/\\[(linkedin)app\\]/i],[u],[/((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i],[[u,H],f],[/(kakao(?:talk|story))[\\/ ]([\\w\\.]+)/i,/(naver)\\(.*?(\\d+\\.[\\w\\.]+).*\\)/i,/safari (line)\\/([\\w\\.]+)/i,/\\b(line)\\/([\\w\\.]+)\\/iab/i,/(chromium|instagram)[\\/ ]([-\\w\\.]+)/i],[u,f],[/\\bgsa\\/([\\w\\.]+) .*safari\\//i],[f,[u,\"GSA\"]],[/musical_ly(?:.+app_?version\\/|_)([\\w\\.]+)/i],[f,[u,\"TikTok\"]],[/headlesschrome(?:\\/([\\w\\.]+)| )/i],[f,[u,C+\" Headless\"]],[/ wv\\).+(chrome)\\/([\\w\\.]+)/i],[[u,C+\" WebView\"],f],[/droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i],[f,[u,\"Android \"+A]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i],[u,f],[/version\\/([\\w\\.\\,]+) .*mobile\\/\\w+ (safari)/i],[f,[u,\"Mobile Safari\"]],[/version\\/([\\w(\\.|\\,)]+) .*(mobile ?safari|safari)/i],[f,u],[/webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i],[u,[f,strMapper,$]],[/(webkit|khtml)\\/([\\w\\.]+)/i],[u,f],[/(navigator|netscape\\d?)\\/([-\\w\\.]+)/i],[[u,\"Netscape\"],f],[/mobile vr; rv:([\\w\\.]+)\\).+firefox/i],[f,[u,O+\" Reality\"]],[/ekiohf.+(flow)\\/([\\w\\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,/(firefox)\\/([\\w\\.]+)/i,/(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,/(links) \\(([\\w\\.]+)/i,/panasonic;(viera)/i],[u,f],[/(cobalt)\\/([\\w\\.]+)/i],[u,[f,/master.|lts./,\"\"]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i],[[h,\"amd64\"]],[/(ia32(?=;))/i],[[h,lowerize]],[/((?:i[346]|x)86)[;\\)]/i],[[h,\"ia32\"]],[/\\b(aarch64|arm(v?8e?l?|_?64))\\b/i],[[h,\"arm64\"]],[/\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i],[[h,\"armhf\"]],[/windows (ce|mobile); ppc;/i],[[h,\"arm\"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i],[[h,/ower/,t,lowerize]],[/(sun4\\w)[;\\)]/i],[[h,\"sparc\"]],[/((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i],[[h,lowerize]]],device:[[/\\b(sch-i[89]0\\d|shw-m380s|sm-[ptx]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i],[c,[m,V],[p,k]],[/\\b((?:s[cgp]h|gt|sm)-\\w+|sc[g-]?[\\d]+a?|galaxy nexus)/i,/samsung[- ]([-\\w]+)/i,/sec-(sgh\\w+)/i],[c,[m,V],[p,g]],[/(?:\\/|\\()(ip(?:hone|od)[\\w, ]*)(?:\\/|;)/i],[c,[m,S],[p,g]],[/\\((ipad);[-\\w\\),; ]+apple/i,/applecoremedia\\/[\\w\\.]+ \\((ipad)/i,/\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i],[c,[m,S],[p,k]],[/(macintosh);/i],[c,[m,S]],[/\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i],[c,[m,D],[p,g]],[/\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i],[c,[m,j],[p,k]],[/(?:huawei|honor)([-\\w ]+)[;\\)]/i,/\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i],[c,[m,j],[p,g]],[/\\b(poco[\\w ]+)(?: bui|\\))/i,/\\b; (\\w+) build\\/hm\\1/i,/\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i,/\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i,/\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i],[[c,/_/g,\" \"],[m,F],[p,g]],[/\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i],[[c,/_/g,\" \"],[m,F],[p,k]],[/; (\\w+) bui.+ oppo/i,/\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i],[c,[m,\"OPPO\"],[p,g]],[/vivo (\\w+)(?: bui|\\))/i,/\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i],[c,[m,\"Vivo\"],[p,g]],[/\\b(rmx[12]\\d{3})(?: bui|;|\\))/i],[c,[m,\"Realme\"],[p,g]],[/\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,/\\bmot(?:orola)?[- ](\\w*)/i,/((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i],[c,[m,M],[p,g]],[/\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i],[c,[m,M],[p,k]],[/((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i],[c,[m,P],[p,k]],[/(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,/\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,/\\blg-?([\\d\\w]+) bui/i],[c,[m,P],[p,g]],[/(ideatab[-\\w ]+)/i,/lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i],[c,[m,\"Lenovo\"],[p,k]],[/(?:maemo|nokia).*(n900|lumia \\d+)/i,/nokia[-_ ]?([-\\w\\.]*)/i],[[c,/_/g,\" \"],[m,\"Nokia\"],[p,g]],[/(pixel c)\\b/i],[c,[m,U],[p,k]],[/droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i],[c,[m,U],[p,g]],[/droid.+ (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i],[c,[m,I],[p,g]],[/sony tablet [ps]/i,/\\b(?:sony)?sgp\\w+(?: bui|\\))/i],[[c,\"Xperia Tablet\"],[m,I],[p,k]],[/ (kb2005|in20[12]5|be20[12][59])\\b/i,/(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i],[c,[m,\"OnePlus\"],[p,g]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\\))/i,/(kf[a-z]+)( bui|\\)).+silk\\//i],[c,[m,T],[p,k]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i],[[c,/(.+)/g,\"Fire Phone $1\"],[m,T],[p,g]],[/(playbook);[-\\w\\),; ]+(rim)/i],[c,m,[p,k]],[/\\b((?:bb[a-f]|st[hv])100-\\d)/i,/\\(bb10; (\\w+)/i],[c,[m,N],[p,g]],[/(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i],[c,[m,z],[p,k]],[/ (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i],[c,[m,z],[p,g]],[/(nexus 9)/i],[c,[m,\"HTC\"],[p,k]],[/(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i,/(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\.))|sony(?!-bra))[-_ ]?([-\\w]*)/i],[m,[c,/_/g,\" \"],[p,g]],[/droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i],[c,[m,\"Acer\"],[p,k]],[/droid.+; (m[1-5] note) bui/i,/\\bmz-([-\\w]{2,})/i],[c,[m,\"Meizu\"],[p,g]],[/(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,/(hp) ([\\w ]+\\w)/i,/(asus)-?(\\w+)/i,/(microsoft); (lumia[\\w ]+)/i,/(lenovo)[-_ ]?([-\\w]+)/i,/(jolla)/i,/(oppo) ?([\\w ]+) bui/i],[m,c,[p,g]],[/(kobo)\\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\\/([\\w\\.]+)/i,/(nook)[\\w ]+build\\/(\\w+)/i,/(dell) (strea[kpr\\d ]*[\\dko])/i,/(le[- ]+pan)[- ]+(\\w{1,9}) bui/i,/(trinity)[- ]*(t\\d{3}) bui/i,/(gigaset)[- ]+(q\\w{1,9}) bui/i,/(vodafone) ([\\w ]+)(?:\\)| bui)/i],[m,c,[p,k]],[/(surface duo)/i],[c,[m,R],[p,k]],[/droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i],[c,[m,\"Fairphone\"],[p,g]],[/(u304aa)/i],[c,[m,\"AT&T\"],[p,g]],[/\\bsie-(\\w*)/i],[c,[m,\"Siemens\"],[p,g]],[/\\b(rct\\w+) b/i],[c,[m,\"RCA\"],[p,k]],[/\\b(venue[\\d ]{2,7}) b/i],[c,[m,\"Dell\"],[p,k]],[/\\b(q(?:mv|ta)\\w+) b/i],[c,[m,\"Verizon\"],[p,k]],[/\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i],[c,[m,\"Barnes & Noble\"],[p,k]],[/\\b(tm\\d{3}\\w+) b/i],[c,[m,\"NuVision\"],[p,k]],[/\\b(k88) b/i],[c,[m,\"ZTE\"],[p,k]],[/\\b(nx\\d{3}j) b/i],[c,[m,\"ZTE\"],[p,g]],[/\\b(gen\\d{3}) b.+49h/i],[c,[m,\"Swiss\"],[p,g]],[/\\b(zur\\d{3}) b/i],[c,[m,\"Swiss\"],[p,k]],[/\\b((zeki)?tb.*\\b) b/i],[c,[m,\"Zeki\"],[p,k]],[/\\b([yr]\\d{2}) b/i,/\\b(dragon[- ]+touch |dt)(\\w{5}) b/i],[[m,\"Dragon Touch\"],c,[p,k]],[/\\b(ns-?\\w{0,9}) b/i],[c,[m,\"Insignia\"],[p,k]],[/\\b((nxa|next)-?\\w{0,9}) b/i],[c,[m,\"NextBook\"],[p,k]],[/\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[m,\"Voice\"],c,[p,g]],[/\\b(lvtel\\-)?(v1[12]) b/i],[[m,\"LvTel\"],c,[p,g]],[/\\b(ph-1) /i],[c,[m,\"Essential\"],[p,g]],[/\\b(v(100md|700na|7011|917g).*\\b) b/i],[c,[m,\"Envizen\"],[p,k]],[/\\b(trio[-\\w\\. ]+) b/i],[c,[m,\"MachSpeed\"],[p,k]],[/\\btu_(1491) b/i],[c,[m,\"Rotor\"],[p,k]],[/(shield[\\w ]+) b/i],[c,[m,\"Nvidia\"],[p,k]],[/(sprint) (\\w+)/i],[m,c,[p,g]],[/(kin\\.[onetw]{3})/i],[[c,/\\./g,\" \"],[m,R],[p,g]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i],[c,[m,G],[p,k]],[/droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i],[c,[m,G],[p,g]],[/smart-tv.+(samsung)/i],[m,[p,x]],[/hbbtv.+maple;(\\d+)/i],[[c,/^/,\"SmartTV\"],[m,V],[p,x]],[/(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i],[[m,P],[p,x]],[/(apple) ?tv/i],[m,[c,S+\" TV\"],[p,x]],[/crkey/i],[[c,C+\"cast\"],[m,U],[p,x]],[/droid.+aft(\\w)( bui|\\))/i],[c,[m,T],[p,x]],[/\\(dtv[\\);].+(aquos)/i,/(aquos-tv[\\w ]+)\\)/i],[c,[m,D],[p,x]],[/(bravia[\\w ]+)( bui|\\))/i],[c,[m,I],[p,x]],[/(mitv-\\w{5}) bui/i],[c,[m,F],[p,x]],[/Hbbtv.*(technisat) (.*);/i],[m,c,[p,x]],[/\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i,/hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w\\+ ]*; *([\\w\\d][^;]*);([^;]*)/i],[[m,trim],[c,trim],[p,x]],[/\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i],[[p,x]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[m,c,[p,v]],[/droid.+; (shield) bui/i],[c,[m,\"Nvidia\"],[p,v]],[/(playstation [345portablevi]+)/i],[c,[m,I],[p,v]],[/\\b(xbox(?: one)?(?!; xbox))[\\); ]/i],[c,[m,R],[p,v]],[/((pebble))app/i],[m,c,[p,_]],[/(watch)(?: ?os[,\\/]|\\d,\\d\\/)[\\d\\.]+/i],[c,[m,S],[p,_]],[/droid.+; (glass) \\d/i],[c,[m,U],[p,_]],[/droid.+; (wt63?0{2,3})\\)/i],[c,[m,G],[p,_]],[/(quest( 2| pro)?)/i],[c,[m,H],[p,_]],[/(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i],[m,[p,y]],[/(aeobc)\\b/i],[c,[m,T],[p,y]],[/droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i],[c,[p,g]],[/droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i],[c,[p,k]],[/\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i],[[p,k]],[/(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i],[[p,g]],[/(android[-\\w\\. ]{0,9});.+buil/i],[c,[m,\"Generic\"]]],engine:[[/windows.+ edge\\/([\\w\\.]+)/i],[f,[u,E+\"HTML\"]],[/webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i],[f,[u,\"Blink\"]],[/(presto)\\/([\\w\\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i,/ekioh(flow)\\/([\\w\\.]+)/i,/(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i,/(icab)[\\/ ]([23]\\.[\\d\\.]+)/i,/\\b(libweb)/i],[u,f],[/rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i],[f,u]],os:[[/microsoft (windows) (vista|xp)/i],[u,f],[/(windows) nt 6\\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i,/(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i],[u,[f,strMapper,X]],[/(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i],[[u,\"Windows\"],[f,strMapper,X]],[/ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i,/ios;fbsv\\/([\\d\\.]+)/i,/cfnetwork\\/.+darwin/i],[[f,/_/g,\".\"],[u,\"iOS\"]],[/(mac os x) ?([\\w\\. ]*)/i,/(macintosh|mac_powerpc\\b)(?!.+haiku)/i],[[u,Z],[f,/_/g,\".\"]],[/droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i],[f,u],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,/(blackberry)\\w*\\/([\\w\\.]*)/i,/(tizen|kaios)[\\/ ]([\\w\\.]+)/i,/\\((series40);/i],[u,f],[/\\(bb(10);/i],[f,[u,N]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i],[f,[u,\"Symbian\"]],[/mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i],[f,[u,O+\" OS\"]],[/web0s;.+rt(tv)/i,/\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i],[f,[u,\"webOS\"]],[/watch(?: ?os[,\\/]|\\d,\\d\\/)([\\d\\.]+)/i],[f,[u,\"watchOS\"]],[/crkey\\/([\\d\\.]+)/i],[f,[u,C+\"cast\"]],[/(cros) [\\w]+(?:\\)| ([\\w\\.]+)\\b)/i],[[u,L],f],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\\/(\\d+\\.[\\w\\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\\);]+)/i,/\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i,/(mint)[\\/\\(\\) ]?(\\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,/(hurd|linux) ?([\\w\\.]*)/i,/(gnu) ?([\\w\\.]*)/i,/\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i,/(haiku) (\\w+)/i],[u,f],[/(sunos) ?([\\w\\.\\d]*)/i],[[u,\"Solaris\"],f],[/((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i,/(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i,/\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\\w\\.]*)/i],[u,f]]};var UAParser=function(i,e){if(typeof i===w){e=i;i=a}if(!(this instanceof UAParser)){return new UAParser(i,e).getResult()}var r=typeof o!==b&&o.navigator?o.navigator:a;var n=i||(r&&r.userAgent?r.userAgent:t);var v=r&&r.userAgentData?r.userAgentData:a;var x=e?extend(K,e):K;var _=r&&r.userAgent==n;this.getBrowser=function(){var i={};i[u]=a;i[f]=a;rgxMapper.call(i,n,x.browser);i[d]=majorize(i[f]);if(_&&r&&r.brave&&typeof r.brave.isBrave==s){i[u]=\"Brave\"}return i};this.getCPU=function(){var i={};i[h]=a;rgxMapper.call(i,n,x.cpu);return i};this.getDevice=function(){var i={};i[m]=a;i[c]=a;i[p]=a;rgxMapper.call(i,n,x.device);if(_&&!i[p]&&v&&v.mobile){i[p]=g}if(_&&i[c]==\"Macintosh\"&&r&&typeof r.standalone!==b&&r.maxTouchPoints&&r.maxTouchPoints>2){i[c]=\"iPad\";i[p]=k}return i};this.getEngine=function(){var i={};i[u]=a;i[f]=a;rgxMapper.call(i,n,x.engine);return i};this.getOS=function(){var i={};i[u]=a;i[f]=a;rgxMapper.call(i,n,x.os);if(_&&!i[u]&&v&&v.platform!=\"Unknown\"){i[u]=v.platform.replace(/chrome os/i,L).replace(/macos/i,Z)}return i};this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}};this.getUA=function(){return n};this.setUA=function(i){n=typeof i===l&&i.length>q?trim(i,q):i;return this};this.setUA(n);return this};UAParser.VERSION=r;UAParser.BROWSER=enumerize([u,f,d]);UAParser.CPU=enumerize([h]);UAParser.DEVICE=enumerize([c,m,p,v,g,x,k,_,y]);UAParser.ENGINE=UAParser.OS=enumerize([u,f]);if(typeof e!==b){if(\"object\"!==b&&i.exports){e=i.exports=UAParser}e.UAParser=UAParser}else{if(\"function\"===s&&__webpack_require__.amdO){!(__WEBPACK_AMD_DEFINE_RESULT__ = (function(){return UAParser}).call(exports, __webpack_require__, exports, module),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))}else if(typeof o!==b){o.UAParser=UAParser}}var Q=typeof o!==b&&(o.jQuery||o.Zepto);if(Q&&!Q.ua){var Y=new UAParser;Q.ua=Y.getResult();Q.ua.get=function(){return Y.getUA()};Q.ua.set=function(i){Y.setUA(i);var e=Y.getResult();for(var o in e){Q.ua[o]=e[o]}}}})(typeof window===\"object\"?window:this)}};var e={};function __nccwpck_require__(o){var a=e[o];if(a!==undefined){return a.exports}var r=e[o]={exports:{}};var t=true;try{i[o].call(r.exports,r,r.exports,__nccwpck_require__);t=false}finally{if(t)delete e[o]}return r.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var o=__nccwpck_require__(226);module.exports=o})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC91YS1wYXJzZXItanMvdWEtcGFyc2VyLmpzIiwibWFwcGluZ3MiOiI7QUFBQSx3Q0FBTSxPQUFPLGtCQUFrQixlQUFlLGFBQWEsdU9BQXVPLHFRQUFxUSx5QkFBeUIsU0FBUyxnQkFBZ0IsNEJBQTRCLHVCQUF1QixLQUFLLFdBQVcsU0FBUyx1QkFBdUIsU0FBUyxZQUFZLFdBQVcsS0FBSywyQkFBMkIsU0FBUyxtQkFBbUIsZ0VBQWdFLHNCQUFzQix1QkFBdUIsc0JBQXNCLDREQUE0RCxvQkFBb0IsaUJBQWlCLHdCQUF3Qix5Q0FBeUMsNEJBQTRCLG9CQUFvQixzQkFBc0Isb0JBQW9CLE1BQU0sc0JBQXNCLFVBQVUsTUFBTSxpQkFBaUIsUUFBUSxRQUFRLFdBQVcsS0FBSyxTQUFTLE9BQU8sNkJBQTZCLGlCQUFpQixtQkFBbUIsNkJBQTZCLEtBQUssaUJBQWlCLHNCQUFzQiw2Q0FBNkMsc0NBQXNDLEtBQUsscUNBQXFDLHNCQUFzQixxREFBcUQsS0FBSyxpQkFBaUIsTUFBTSx5QkFBeUIsZ0JBQWdCLG1DQUFtQyxZQUFZLGNBQWMsS0FBSyxtQkFBbUIsbUJBQW1CLHFCQUFxQixrQkFBa0IsVUFBVSxPQUFPLCtGQUErRixJQUFJLHNLQUFzSyxPQUFPLDJKQUEySixJQUFJLHczQkFBdzNCLElBQUkscTJCQUFxMkIsZ0JBQWdCLGtoQkFBa2hCLEdBQUcseVZBQXlWLDJmQUEyZixxSEFBcUgsZ0NBQWdDLHlDQUF5QyxnSkFBZ0osSUFBSSxtREFBbUQsNENBQTRDLHlDQUF5QywwQ0FBMEMsNkhBQTZILElBQUksV0FBVyxJQUFJLG9NQUFvTSxnQ0FBZ0MsU0FBUyxvRUFBb0UsMENBQTBDLDZHQUE2RyxFQUFFLDhEQUE4RCxzQkFBc0IsSUFBSSxxR0FBcUcsOFRBQThULGlDQUFpQyxFQUFFLDhHQUE4RyxFQUFFLGlCQUFpQix5Q0FBeUMsRUFBRSxVQUFVLHNLQUFzSyxJQUFJLDhEQUE4RCxJQUFJLGtEQUFrRCxFQUFFLGdCQUFnQixFQUFFLEdBQUcsYUFBYSxJQUFJLHFGQUFxRix5SkFBeUosRUFBRSxXQUFXLEVBQUUseUtBQXlLLGVBQWUsSUFBSSxxREFBcUQsRUFBRSxXQUFXLEVBQUUseURBQXlELElBQUkscVBBQXFQLEVBQUUsWUFBWSxFQUFFLHNLQUFzSyxTQUFTLGlFQUFpRSx3REFBd0QsTUFBTSxnTEFBZ0wsSUFBSSxJQUFJLDBHQUEwRyx1RUFBdUUsNkRBQTZELGlDQUFpQyxHQUFHLGdMQUFnTCwrUkFBK1IsSUFBSSw0QkFBNEIsRUFBRSw0QkFBNEIsSUFBSSwyR0FBMkcsaUxBQWlMLElBQUksc0tBQXNLLEVBQUUsZ0ZBQWdGLEVBQUUsdUNBQXVDLEVBQUUsNkNBQTZDLEVBQUUsdUZBQXVGLEVBQUUsbUNBQW1DLEVBQUUsZ0RBQWdELElBQUksb0RBQW9ELElBQUksK2JBQStiLEVBQUUsNENBQTRDLDBFQUEwRSxpR0FBaUcsaURBQWlELDBNQUEwTSw0R0FBNEcsRUFBRSxtREFBbUQsOEZBQThGLFdBQVcsSUFBSSxJQUFJLDJFQUEyRSxrRkFBa0Ysa0hBQWtILFdBQVcsd0hBQXdILHlDQUF5QyxRQUFRLElBQUksNkpBQTZKLElBQUksa0VBQWtFLElBQUksNEVBQTRFLDBEQUEwRCwwRUFBMEUsSUFBSSxFQUFFLHFYQUFxWCxJQUFJLDBGQUEwRixzTkFBc04sSUFBSSw2QkFBNkIsY0FBYyxnWEFBZ1gscUJBQXFCLDZDQUE2QyxrR0FBa0csU0FBUyxrREFBa0QsZ09BQWdPLGtIQUFrSCxZQUFZLCtGQUErRixvWEFBb1gsSUFBSSxtQ0FBbUMsSUFBSSw2UEFBNlAsMkJBQTJCLGlCQUFpQixJQUFJLElBQUksZ0NBQWdDLHFDQUFxQyw4Q0FBOEMsd0NBQXdDLDJDQUEyQyxzQkFBc0Isd0JBQXdCLDJCQUEyQixTQUFTLE9BQU8sT0FBTyw4QkFBOEIsb0JBQW9CLDZDQUE2QyxhQUFhLFVBQVUsdUJBQXVCLFNBQVMsT0FBTywwQkFBMEIsVUFBVSwwQkFBMEIsU0FBUyxPQUFPLE9BQU8sT0FBTyw2QkFBNkIsMEJBQTBCLE9BQU8sMkZBQTJGLFlBQVksT0FBTyxVQUFVLDBCQUEwQixTQUFTLE9BQU8sT0FBTyw2QkFBNkIsVUFBVSxzQkFBc0IsU0FBUyxPQUFPLE9BQU8seUJBQXlCLHVDQUF1Qyw0REFBNEQsVUFBVSwwQkFBMEIsT0FBTyw4SEFBOEgsc0JBQXNCLFVBQVUsdUJBQXVCLHVDQUF1QyxhQUFhLGNBQWMsYUFBYSxtQkFBbUIsb0NBQW9DLDRCQUE0QiwrQ0FBK0MsNkNBQTZDLGlCQUFpQiw0QkFBNEIscUJBQXFCLG9CQUFvQixLQUFLLEdBQUcsVUFBYSxNQUFNLHdCQUFVLEVBQUUsbUNBQVEsV0FBVyxnQkFBZ0I7QUFBQSxrR0FBRSxDQUFDLHNCQUFzQixxQkFBcUIsd0NBQXdDLGFBQWEsbUJBQW1CLG1CQUFtQixvQkFBb0Isa0JBQWtCLHFCQUFxQixXQUFXLG9CQUFvQixnQkFBZ0IsZ0JBQWdCLDBDQUEwQyxTQUFTLGdDQUFnQyxXQUFXLGtCQUFrQixpQkFBaUIsWUFBWSxZQUFZLFdBQVcsSUFBSSxxREFBcUQsUUFBUSxRQUFRLGlCQUFpQixpQkFBaUIsbUVBQW1FLFNBQVMsS0FBSywrQkFBK0IsaUJBQWlCIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL25leHRAMTYuMS42X0BiYWJlbCtjb3JlQDcuMjkuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjFfcmVhY3QtZG9tQDE5LjIuNF9yZWFjdEAxOS4yLjRfX3JlYWN0QDE5LjIuNF9zYXNzQDEuOTguMC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3VhLXBhcnNlci1qcy91YS1wYXJzZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57dmFyIGk9ezIyNjpmdW5jdGlvbihpLGUpeyhmdW5jdGlvbihvLGEpe1widXNlIHN0cmljdFwiO3ZhciByPVwiMS4wLjM1XCIsdD1cIlwiLG49XCI/XCIscz1cImZ1bmN0aW9uXCIsYj1cInVuZGVmaW5lZFwiLHc9XCJvYmplY3RcIixsPVwic3RyaW5nXCIsZD1cIm1ham9yXCIsYz1cIm1vZGVsXCIsdT1cIm5hbWVcIixwPVwidHlwZVwiLG09XCJ2ZW5kb3JcIixmPVwidmVyc2lvblwiLGg9XCJhcmNoaXRlY3R1cmVcIix2PVwiY29uc29sZVwiLGc9XCJtb2JpbGVcIixrPVwidGFibGV0XCIseD1cInNtYXJ0dHZcIixfPVwid2VhcmFibGVcIix5PVwiZW1iZWRkZWRcIixxPTM1MDt2YXIgVD1cIkFtYXpvblwiLFM9XCJBcHBsZVwiLHo9XCJBU1VTXCIsTj1cIkJsYWNrQmVycnlcIixBPVwiQnJvd3NlclwiLEM9XCJDaHJvbWVcIixFPVwiRWRnZVwiLE89XCJGaXJlZm94XCIsVT1cIkdvb2dsZVwiLGo9XCJIdWF3ZWlcIixQPVwiTEdcIixSPVwiTWljcm9zb2Z0XCIsTT1cIk1vdG9yb2xhXCIsQj1cIk9wZXJhXCIsVj1cIlNhbXN1bmdcIixEPVwiU2hhcnBcIixJPVwiU29ueVwiLFc9XCJWaWVyYVwiLEY9XCJYaWFvbWlcIixHPVwiWmVicmFcIixIPVwiRmFjZWJvb2tcIixMPVwiQ2hyb21pdW0gT1NcIixaPVwiTWFjIE9TXCI7dmFyIGV4dGVuZD1mdW5jdGlvbihpLGUpe3ZhciBvPXt9O2Zvcih2YXIgYSBpbiBpKXtpZihlW2FdJiZlW2FdLmxlbmd0aCUyPT09MCl7b1thXT1lW2FdLmNvbmNhdChpW2FdKX1lbHNle29bYV09aVthXX19cmV0dXJuIG99LGVudW1lcml6ZT1mdW5jdGlvbihpKXt2YXIgZT17fTtmb3IodmFyIG89MDtvPGkubGVuZ3RoO28rKyl7ZVtpW29dLnRvVXBwZXJDYXNlKCldPWlbb119cmV0dXJuIGV9LGhhcz1mdW5jdGlvbihpLGUpe3JldHVybiB0eXBlb2YgaT09PWw/bG93ZXJpemUoZSkuaW5kZXhPZihsb3dlcml6ZShpKSkhPT0tMTpmYWxzZX0sbG93ZXJpemU9ZnVuY3Rpb24oaSl7cmV0dXJuIGkudG9Mb3dlckNhc2UoKX0sbWFqb3JpemU9ZnVuY3Rpb24oaSl7cmV0dXJuIHR5cGVvZiBpPT09bD9pLnJlcGxhY2UoL1teXFxkXFwuXS9nLHQpLnNwbGl0KFwiLlwiKVswXTphfSx0cmltPWZ1bmN0aW9uKGksZSl7aWYodHlwZW9mIGk9PT1sKXtpPWkucmVwbGFjZSgvXlxcc1xccyovLHQpO3JldHVybiB0eXBlb2YgZT09PWI/aTppLnN1YnN0cmluZygwLHEpfX07dmFyIHJneE1hcHBlcj1mdW5jdGlvbihpLGUpe3ZhciBvPTAscix0LG4sYixsLGQ7d2hpbGUobzxlLmxlbmd0aCYmIWwpe3ZhciBjPWVbb10sdT1lW28rMV07cj10PTA7d2hpbGUocjxjLmxlbmd0aCYmIWwpe2lmKCFjW3JdKXticmVha31sPWNbcisrXS5leGVjKGkpO2lmKCEhbCl7Zm9yKG49MDtuPHUubGVuZ3RoO24rKyl7ZD1sWysrdF07Yj11W25dO2lmKHR5cGVvZiBiPT09dyYmYi5sZW5ndGg+MCl7aWYoYi5sZW5ndGg9PT0yKXtpZih0eXBlb2YgYlsxXT09cyl7dGhpc1tiWzBdXT1iWzFdLmNhbGwodGhpcyxkKX1lbHNle3RoaXNbYlswXV09YlsxXX19ZWxzZSBpZihiLmxlbmd0aD09PTMpe2lmKHR5cGVvZiBiWzFdPT09cyYmIShiWzFdLmV4ZWMmJmJbMV0udGVzdCkpe3RoaXNbYlswXV09ZD9iWzFdLmNhbGwodGhpcyxkLGJbMl0pOmF9ZWxzZXt0aGlzW2JbMF1dPWQ/ZC5yZXBsYWNlKGJbMV0sYlsyXSk6YX19ZWxzZSBpZihiLmxlbmd0aD09PTQpe3RoaXNbYlswXV09ZD9iWzNdLmNhbGwodGhpcyxkLnJlcGxhY2UoYlsxXSxiWzJdKSk6YX19ZWxzZXt0aGlzW2JdPWQ/ZDphfX19fW8rPTJ9fSxzdHJNYXBwZXI9ZnVuY3Rpb24oaSxlKXtmb3IodmFyIG8gaW4gZSl7aWYodHlwZW9mIGVbb109PT13JiZlW29dLmxlbmd0aD4wKXtmb3IodmFyIHI9MDtyPGVbb10ubGVuZ3RoO3IrKyl7aWYoaGFzKGVbb11bcl0saSkpe3JldHVybiBvPT09bj9hOm99fX1lbHNlIGlmKGhhcyhlW29dLGkpKXtyZXR1cm4gbz09PW4/YTpvfX1yZXR1cm4gaX07dmFyICQ9e1wiMS4wXCI6XCIvOFwiLDEuMjpcIi8xXCIsMS4zOlwiLzNcIixcIjIuMFwiOlwiLzQxMlwiLFwiMi4wLjJcIjpcIi80MTZcIixcIjIuMC4zXCI6XCIvNDE3XCIsXCIyLjAuNFwiOlwiLzQxOVwiLFwiP1wiOlwiL1wifSxYPXtNRTpcIjQuOTBcIixcIk5UIDMuMTFcIjpcIk5UMy41MVwiLFwiTlQgNC4wXCI6XCJOVDQuMFwiLDJlMzpcIk5UIDUuMFwiLFhQOltcIk5UIDUuMVwiLFwiTlQgNS4yXCJdLFZpc3RhOlwiTlQgNi4wXCIsNzpcIk5UIDYuMVwiLDg6XCJOVCA2LjJcIiw4LjE6XCJOVCA2LjNcIiwxMDpbXCJOVCA2LjRcIixcIk5UIDEwLjBcIl0sUlQ6XCJBUk1cIn07dmFyIEs9e2Jyb3dzZXI6W1svXFxiKD86Y3Jtb3xjcmlvcylcXC8oW1xcd1xcLl0rKS9pXSxbZixbdSxcIkNocm9tZVwiXV0sWy9lZGcoPzplfGlvc3xhKT9cXC8oW1xcd1xcLl0rKS9pXSxbZixbdSxcIkVkZ2VcIl1dLFsvKG9wZXJhIG1pbmkpXFwvKFstXFx3XFwuXSspL2ksLyhvcGVyYSBbbW9iaWxldGFiXXszLDZ9KVxcYi4rdmVyc2lvblxcLyhbLVxcd1xcLl0rKS9pLC8ob3BlcmEpKD86Lit2ZXJzaW9uXFwvfFtcXC8gXSspKFtcXHdcXC5dKykvaV0sW3UsZl0sWy9vcGlvc1tcXC8gXSsoW1xcd1xcLl0rKS9pXSxbZixbdSxCK1wiIE1pbmlcIl1dLFsvXFxib3ByXFwvKFtcXHdcXC5dKykvaV0sW2YsW3UsQl1dLFsvKGtpbmRsZSlcXC8oW1xcd1xcLl0rKS9pLC8obHVuYXNjYXBlfG1heHRob258bmV0ZnJvbnR8amFzbWluZXxibGF6ZXIpW1xcLyBdPyhbXFx3XFwuXSopL2ksLyhhdmFudCB8aWVtb2JpbGV8c2xpbSkoPzpicm93c2VyKT9bXFwvIF0/KFtcXHdcXC5dKikvaSwvKGJhP2lkdWJyb3dzZXIpW1xcLyBdPyhbXFx3XFwuXSspL2ksLyg/Om1zfFxcKCkoaWUpIChbXFx3XFwuXSspL2ksLyhmbG9ja3xyb2NrbWVsdHxtaWRvcml8ZXBpcGhhbnl8c2lsa3xza3lmaXJlfGJvbHR8aXJvbnx2aXZhbGRpfGlyaWRpdW18cGhhbnRvbWpzfGJvd3NlcnxxdWFya3xxdXB6aWxsYXxmYWxrb258cmVrb25xfHB1ZmZpbnxicmF2ZXx3aGFsZSg/IS4rbmF2ZXIpfHFxYnJvd3NlcmxpdGV8cXF8ZHVja2R1Y2tnbylcXC8oWy1cXHdcXC5dKykvaSwvKGhleXRhcHxvdmkpYnJvd3NlclxcLyhbXFxkXFwuXSspL2ksLyh3ZWlibylfXyhbXFxkXFwuXSspL2ldLFt1LGZdLFsvKD86XFxidWM/ID9icm93c2VyfCg/Omp1Yy4rKXVjd2ViKVtcXC8gXT8oW1xcd1xcLl0rKS9pXSxbZixbdSxcIlVDXCIrQV1dLFsvbWljcm9tLitcXGJxYmNvcmVcXC8oW1xcd1xcLl0rKS9pLC9cXGJxYmNvcmVcXC8oW1xcd1xcLl0rKS4rbWljcm9tL2ldLFtmLFt1LFwiV2VDaGF0KFdpbikgRGVza3RvcFwiXV0sWy9taWNyb21lc3NlbmdlclxcLyhbXFx3XFwuXSspL2ldLFtmLFt1LFwiV2VDaGF0XCJdXSxbL2tvbnF1ZXJvclxcLyhbXFx3XFwuXSspL2ldLFtmLFt1LFwiS29ucXVlcm9yXCJdXSxbL3RyaWRlbnQuK3J2WzogXShbXFx3XFwuXXsxLDl9KVxcYi4rbGlrZSBnZWNrby9pXSxbZixbdSxcIklFXCJdXSxbL3lhKD86c2VhcmNoKT9icm93c2VyXFwvKFtcXHdcXC5dKykvaV0sW2YsW3UsXCJZYW5kZXhcIl1dLFsvKGF2YXN0fGF2ZylcXC8oW1xcd1xcLl0rKS9pXSxbW3UsLyguKykvLFwiJDEgU2VjdXJlIFwiK0FdLGZdLFsvXFxiZm9jdXNcXC8oW1xcd1xcLl0rKS9pXSxbZixbdSxPK1wiIEZvY3VzXCJdXSxbL1xcYm9wdFxcLyhbXFx3XFwuXSspL2ldLFtmLFt1LEIrXCIgVG91Y2hcIl1dLFsvY29jX2NvY1xcdytcXC8oW1xcd1xcLl0rKS9pXSxbZixbdSxcIkNvYyBDb2NcIl1dLFsvZG9sZmluXFwvKFtcXHdcXC5dKykvaV0sW2YsW3UsXCJEb2xwaGluXCJdXSxbL2NvYXN0XFwvKFtcXHdcXC5dKykvaV0sW2YsW3UsQitcIiBDb2FzdFwiXV0sWy9taXVpYnJvd3NlclxcLyhbXFx3XFwuXSspL2ldLFtmLFt1LFwiTUlVSSBcIitBXV0sWy9meGlvc1xcLyhbLVxcd1xcLl0rKS9pXSxbZixbdSxPXV0sWy9cXGJxaWh1fChxaT9obz9vP3wzNjApYnJvd3Nlci9pXSxbW3UsXCIzNjAgXCIrQV1dLFsvKG9jdWx1c3xzYW1zdW5nfHNhaWxmaXNofGh1YXdlaSlicm93c2VyXFwvKFtcXHdcXC5dKykvaV0sW1t1LC8oLispLyxcIiQxIFwiK0FdLGZdLFsvKGNvbW9kb19kcmFnb24pXFwvKFtcXHdcXC5dKykvaV0sW1t1LC9fL2csXCIgXCJdLGZdLFsvKGVsZWN0cm9uKVxcLyhbXFx3XFwuXSspIHNhZmFyaS9pLC8odGVzbGEpKD86IHF0Y2FyYnJvd3NlcnxcXC8oMjBcXGRcXGRcXC5bLVxcd1xcLl0rKSkvaSwvbT8ocXFicm93c2VyfGJhaWR1Ym94YXBwfDIzNDVFeHBsb3JlcilbXFwvIF0/KFtcXHdcXC5dKykvaV0sW3UsZl0sWy8obWV0YXNyKVtcXC8gXT8oW1xcd1xcLl0rKS9pLC8obGJicm93c2VyKS9pLC9cXFsobGlua2VkaW4pYXBwXFxdL2ldLFt1XSxbLygoPzpmYmFuXFwvZmJpb3N8ZmJfaWFiXFwvZmI0YSkoPyEuK2ZiYXYpfDtmYmF2XFwvKFtcXHdcXC5dKyk7KS9pXSxbW3UsSF0sZl0sWy8oa2FrYW8oPzp0YWxrfHN0b3J5KSlbXFwvIF0oW1xcd1xcLl0rKS9pLC8obmF2ZXIpXFwoLio/KFxcZCtcXC5bXFx3XFwuXSspLipcXCkvaSwvc2FmYXJpIChsaW5lKVxcLyhbXFx3XFwuXSspL2ksL1xcYihsaW5lKVxcLyhbXFx3XFwuXSspXFwvaWFiL2ksLyhjaHJvbWl1bXxpbnN0YWdyYW0pW1xcLyBdKFstXFx3XFwuXSspL2ldLFt1LGZdLFsvXFxiZ3NhXFwvKFtcXHdcXC5dKykgLipzYWZhcmlcXC8vaV0sW2YsW3UsXCJHU0FcIl1dLFsvbXVzaWNhbF9seSg/Oi4rYXBwXz92ZXJzaW9uXFwvfF8pKFtcXHdcXC5dKykvaV0sW2YsW3UsXCJUaWtUb2tcIl1dLFsvaGVhZGxlc3NjaHJvbWUoPzpcXC8oW1xcd1xcLl0rKXwgKS9pXSxbZixbdSxDK1wiIEhlYWRsZXNzXCJdXSxbLyB3dlxcKS4rKGNocm9tZSlcXC8oW1xcd1xcLl0rKS9pXSxbW3UsQytcIiBXZWJWaWV3XCJdLGZdLFsvZHJvaWQuKyB2ZXJzaW9uXFwvKFtcXHdcXC5dKylcXGIuKyg/Om1vYmlsZSBzYWZhcml8c2FmYXJpKS9pXSxbZixbdSxcIkFuZHJvaWQgXCIrQV1dLFsvKGNocm9tZXxvbW5pd2VifGFyb3JhfFt0aXplbm9rYV17NX0gP2Jyb3dzZXIpXFwvdj8oW1xcd1xcLl0rKS9pXSxbdSxmXSxbL3ZlcnNpb25cXC8oW1xcd1xcLlxcLF0rKSAuKm1vYmlsZVxcL1xcdysgKHNhZmFyaSkvaV0sW2YsW3UsXCJNb2JpbGUgU2FmYXJpXCJdXSxbL3ZlcnNpb25cXC8oW1xcdyhcXC58XFwsKV0rKSAuKihtb2JpbGUgP3NhZmFyaXxzYWZhcmkpL2ldLFtmLHVdLFsvd2Via2l0Lis/KG1vYmlsZSA/c2FmYXJpfHNhZmFyaSkoXFwvW1xcd1xcLl0rKS9pXSxbdSxbZixzdHJNYXBwZXIsJF1dLFsvKHdlYmtpdHxraHRtbClcXC8oW1xcd1xcLl0rKS9pXSxbdSxmXSxbLyhuYXZpZ2F0b3J8bmV0c2NhcGVcXGQ/KVxcLyhbLVxcd1xcLl0rKS9pXSxbW3UsXCJOZXRzY2FwZVwiXSxmXSxbL21vYmlsZSB2cjsgcnY6KFtcXHdcXC5dKylcXCkuK2ZpcmVmb3gvaV0sW2YsW3UsTytcIiBSZWFsaXR5XCJdXSxbL2VraW9oZi4rKGZsb3cpXFwvKFtcXHdcXC5dKykvaSwvKHN3aWZ0Zm94KS9pLC8oaWNlZHJhZ29ufGljZXdlYXNlbHxjYW1pbm98Y2hpbWVyYXxmZW5uZWN8bWFlbW8gYnJvd3NlcnxtaW5pbW98Y29ua2Vyb3J8a2xhcilbXFwvIF0/KFtcXHdcXC5cXCtdKykvaSwvKHNlYW1vbmtleXxrLW1lbGVvbnxpY2VjYXR8aWNlYXBlfGZpcmViaXJkfHBob2VuaXh8cGFsZW1vb258YmFzaWxpc2t8d2F0ZXJmb3gpXFwvKFstXFx3XFwuXSspJC9pLC8oZmlyZWZveClcXC8oW1xcd1xcLl0rKS9pLC8obW96aWxsYSlcXC8oW1xcd1xcLl0rKSAuK3J2XFw6LitnZWNrb1xcL1xcZCsvaSwvKHBvbGFyaXN8bHlueHxkaWxsb3xpY2FifGRvcmlzfGFtYXlhfHczbXxuZXRzdXJmfHNsZWlwbmlyfG9iaWdvfG1vc2FpY3woPzpnb3xpY2V8dXApW1xcLiBdP2Jyb3dzZXIpWy1cXC8gXT92PyhbXFx3XFwuXSspL2ksLyhsaW5rcykgXFwoKFtcXHdcXC5dKykvaSwvcGFuYXNvbmljOyh2aWVyYSkvaV0sW3UsZl0sWy8oY29iYWx0KVxcLyhbXFx3XFwuXSspL2ldLFt1LFtmLC9tYXN0ZXIufGx0cy4vLFwiXCJdXV0sY3B1OltbLyg/OihhbWR8eCg/Oig/Ojg2fDY0KVstX10pP3x3b3d8d2luKTY0KVs7XFwpXS9pXSxbW2gsXCJhbWQ2NFwiXV0sWy8oaWEzMig/PTspKS9pXSxbW2gsbG93ZXJpemVdXSxbLygoPzppWzM0Nl18eCk4NilbO1xcKV0vaV0sW1toLFwiaWEzMlwiXV0sWy9cXGIoYWFyY2g2NHxhcm0odj84ZT9sP3xfPzY0KSlcXGIvaV0sW1toLFwiYXJtNjRcIl1dLFsvXFxiKGFybSg/OnZbNjddKT9odD9uP1tmbF1wPylcXGIvaV0sW1toLFwiYXJtaGZcIl1dLFsvd2luZG93cyAoY2V8bW9iaWxlKTsgcHBjOy9pXSxbW2gsXCJhcm1cIl1dLFsvKCg/OnBwY3xwb3dlcnBjKSg/OjY0KT8pKD86IG1hY3w7fFxcKSkvaV0sW1toLC9vd2VyLyx0LGxvd2VyaXplXV0sWy8oc3VuNFxcdylbO1xcKV0vaV0sW1toLFwic3BhcmNcIl1dLFsvKCg/OmF2cjMyfGlhNjQoPz07KSl8NjhrKD89XFwpKXxcXGJhcm0oPz12KD86WzEtN118WzUtN10xKWw/fDt8ZWFiaSl8KD89YXRtZWwgKWF2cnwoPzppcml4fG1pcHN8c3BhcmMpKD86NjQpP1xcYnxwYS1yaXNjKS9pXSxbW2gsbG93ZXJpemVdXV0sZGV2aWNlOltbL1xcYihzY2gtaVs4OV0wXFxkfHNody1tMzgwc3xzbS1bcHR4XVxcd3syLDR9fGd0LVtwbl1cXGR7Miw0fXxzZ2gtdDhbNTZdOXxuZXh1cyAxMCkvaV0sW2MsW20sVl0sW3Asa11dLFsvXFxiKCg/OnNbY2dwXWh8Z3R8c20pLVxcdyt8c2NbZy1dP1tcXGRdK2E/fGdhbGF4eSBuZXh1cykvaSwvc2Ftc3VuZ1stIF0oWy1cXHddKykvaSwvc2VjLShzZ2hcXHcrKS9pXSxbYyxbbSxWXSxbcCxnXV0sWy8oPzpcXC98XFwoKShpcCg/OmhvbmV8b2QpW1xcdywgXSopKD86XFwvfDspL2ldLFtjLFttLFNdLFtwLGddXSxbL1xcKChpcGFkKTtbLVxcd1xcKSw7IF0rYXBwbGUvaSwvYXBwbGVjb3JlbWVkaWFcXC9bXFx3XFwuXSsgXFwoKGlwYWQpL2ksL1xcYihpcGFkKVxcZFxcZD8sXFxkXFxkP1s7XFxdXS4raW9zL2ldLFtjLFttLFNdLFtwLGtdXSxbLyhtYWNpbnRvc2gpOy9pXSxbYyxbbSxTXV0sWy9cXGIoc2gtP1thbHR2el0/XFxkXFxkW2EtZWttXT8pL2ldLFtjLFttLERdLFtwLGddXSxbL1xcYigoPzphZ1tyc11bMjNdP3xiYWgyP3xzaHQ/fGJ0diktYT9bbHddXFxkezJ9KVxcYig/IS4rZFxcL3MpL2ldLFtjLFttLGpdLFtwLGtdXSxbLyg/Omh1YXdlaXxob25vcikoWy1cXHcgXSspWztcXCldL2ksL1xcYihuZXh1cyA2cHxcXHd7Miw0fWU/LVthdHVdP1tsbl1bXFxkeF1bMDEyMzU5Y11bYWRuXT8pXFxiKD8hLitkXFwvcykvaV0sW2MsW20sal0sW3AsZ11dLFsvXFxiKHBvY29bXFx3IF0rKSg/OiBidWl8XFwpKS9pLC9cXGI7IChcXHcrKSBidWlsZFxcL2htXFwxL2ksL1xcYihobVstXyBdP25vdGU/W18gXT8oPzpcXGRcXHcpPykgYnVpL2ksL1xcYihyZWRtaVtcXC1fIF0/KD86bm90ZXxrKT9bXFx3XyBdKykoPzogYnVpfFxcKSkvaSwvXFxiKG1pWy1fIF0/KD86YVxcZHxvbmV8b25lW18gXXBsdXN8bm90ZSBsdGV8bWF4fGNjKT9bXyBdPyg/OlxcZD9cXHc/KVtfIF0/KD86cGx1c3xzZXxsaXRlKT8pKD86IGJ1aXxcXCkpL2ldLFtbYywvXy9nLFwiIFwiXSxbbSxGXSxbcCxnXV0sWy9cXGIobWlbLV8gXT8oPzpwYWQpKD86W1xcd18gXSspKSg/OiBidWl8XFwpKS9pXSxbW2MsL18vZyxcIiBcIl0sW20sRl0sW3Asa11dLFsvOyAoXFx3KykgYnVpLisgb3Bwby9pLC9cXGIoY3BoWzEyXVxcZHszfXxwKD86YWZ8Y1thbF18ZFxcd3xlW2FyXSlbbXRdXFxkMHx4OTAwN3xhMTAxb3ApXFxiL2ldLFtjLFttLFwiT1BQT1wiXSxbcCxnXV0sWy92aXZvIChcXHcrKSg/OiBidWl8XFwpKS9pLC9cXGIodlsxMl1cXGR7M31cXHc/W2F0XSkoPzogYnVpfDspL2ldLFtjLFttLFwiVml2b1wiXSxbcCxnXV0sWy9cXGIocm14WzEyXVxcZHszfSkoPzogYnVpfDt8XFwpKS9pXSxbYyxbbSxcIlJlYWxtZVwiXSxbcCxnXV0sWy9cXGIobWlsZXN0b25lfGRyb2lkKD86WzItNHhdfCAoPzpiaW9uaWN8eDJ8cHJvfHJhenIpKT86PyggNGcpPylcXGJbXFx3IF0rYnVpbGRcXC8vaSwvXFxibW90KD86b3JvbGEpP1stIF0oXFx3KikvaSwvKCg/Om1vdG9bXFx3XFwoXFwpIF0rfHh0XFxkezMsNH18bmV4dXMgNikoPz0gYnVpfFxcKSkpL2ldLFtjLFttLE1dLFtwLGddXSxbL1xcYihtejYwXFxkfHhvb21bMiBdezAsMn0pIGJ1aWxkXFwvL2ldLFtjLFttLE1dLFtwLGtdXSxbLygoPz1sZyk/W3ZsXWtcXC0/XFxkezN9KSBidWl8IDNcXC5bLVxcdzsgXXsxMH1sZz8tKFswNmN2OV17Myw0fSkvaV0sW2MsW20sUF0sW3Asa11dLFsvKGxtKD86LT9mMTAwW252XT98LVtcXHdcXC5dKykoPz0gYnVpfFxcKSl8bmV4dXMgWzQ1XSkvaSwvXFxibGdbLWU7XFwvIF0rKCg/IWJyb3dzZXJ8bmV0Y2FzdHxhbmRyb2lkIHR2KVxcdyspL2ksL1xcYmxnLT8oW1xcZFxcd10rKSBidWkvaV0sW2MsW20sUF0sW3AsZ11dLFsvKGlkZWF0YWJbLVxcdyBdKykvaSwvbGVub3ZvID8oc1s1Nl0wMDBbLVxcd10rfHRhYig/OltcXHcgXSspfHl0Wy1cXGRcXHddezZ9fHRiWy1cXGRcXHddezZ9KS9pXSxbYyxbbSxcIkxlbm92b1wiXSxbcCxrXV0sWy8oPzptYWVtb3xub2tpYSkuKihuOTAwfGx1bWlhIFxcZCspL2ksL25va2lhWy1fIF0/KFstXFx3XFwuXSopL2ldLFtbYywvXy9nLFwiIFwiXSxbbSxcIk5va2lhXCJdLFtwLGddXSxbLyhwaXhlbCBjKVxcYi9pXSxbYyxbbSxVXSxbcCxrXV0sWy9kcm9pZC4rOyAocGl4ZWxbXFxkYXhsIF17MCw2fSkoPzogYnVpfFxcKSkvaV0sW2MsW20sVV0sW3AsZ11dLFsvZHJvaWQuKyAoYT9cXGRbMC0yXXsyfXNvfFtjLWddXFxkezR9fHNvWy1nbF1cXHcrfHhxLWFcXHdbNC03XVsxMl0pKD89IGJ1aXxcXCkuK2Nocm9tZVxcLyg/IVsxLTZdezAsMX1cXGRcXC4pKS9pXSxbYyxbbSxJXSxbcCxnXV0sWy9zb255IHRhYmxldCBbcHNdL2ksL1xcYig/OnNvbnkpP3NncFxcdysoPzogYnVpfFxcKSkvaV0sW1tjLFwiWHBlcmlhIFRhYmxldFwiXSxbbSxJXSxbcCxrXV0sWy8gKGtiMjAwNXxpbjIwWzEyXTV8YmUyMFsxMl1bNTldKVxcYi9pLC8oPzpvbmUpPyg/OnBsdXMpPyAoYVxcZDBcXGRcXGQpKD86IGJ8XFwpKS9pXSxbYyxbbSxcIk9uZVBsdXNcIl0sW3AsZ11dLFsvKGFsZXhhKXdlYm0vaSwvKGtmW2Etel17Mn13aXxhZW9bYy1yXXsyfSkoIGJ1aXxcXCkpL2ksLyhrZlthLXpdKykoIGJ1aXxcXCkpLitzaWxrXFwvL2ldLFtjLFttLFRdLFtwLGtdXSxbLygoPzpzZHxrZilbMDM0OWhpam9yc3R1d10rKSggYnVpfFxcKSkuK3NpbGtcXC8vaV0sW1tjLC8oLispL2csXCJGaXJlIFBob25lICQxXCJdLFttLFRdLFtwLGddXSxbLyhwbGF5Ym9vayk7Wy1cXHdcXCksOyBdKyhyaW0pL2ldLFtjLG0sW3Asa11dLFsvXFxiKCg/OmJiW2EtZl18c3RbaHZdKTEwMC1cXGQpL2ksL1xcKGJiMTA7IChcXHcrKS9pXSxbYyxbbSxOXSxbcCxnXV0sWy8oPzpcXGJ8YXN1c18pKHRyYW5zZm9bcHJpbWUgXXs0LDEwfSBcXHcrfGVlZXBjfHNsaWRlciBcXHcrfG5leHVzIDd8cGFkZm9uZXxwMDBbY2pdKS9pXSxbYyxbbSx6XSxbcCxrXV0sWy8gKHpbYmVzXTZbMDI3XVswMTJdW2ttXVtsc118emVuZm9uZSBcXGRcXHc/KVxcYi9pXSxbYyxbbSx6XSxbcCxnXV0sWy8obmV4dXMgOSkvaV0sW2MsW20sXCJIVENcIl0sW3Asa11dLFsvKGh0YylbLTtfIF17MSwyfShbXFx3IF0rKD89XFwpfCBidWkpfFxcdyspL2ksLyh6dGUpWy0gXShbXFx3IF0rPykoPzogYnVpfFxcL3xcXCkpL2ksLyhhbGNhdGVsfGdlZWtzcGhvbmV8bmV4aWFufHBhbmFzb25pYyg/ISg/Ojt8XFwuKSl8c29ueSg/IS1icmEpKVstXyBdPyhbLVxcd10qKS9pXSxbbSxbYywvXy9nLFwiIFwiXSxbcCxnXV0sWy9kcm9pZC4rOyAoW2FiXVsxLTddLT9bMDE3OGFdXFxkXFxkPykvaV0sW2MsW20sXCJBY2VyXCJdLFtwLGtdXSxbL2Ryb2lkLis7IChtWzEtNV0gbm90ZSkgYnVpL2ksL1xcYm16LShbLVxcd117Mix9KS9pXSxbYyxbbSxcIk1laXp1XCJdLFtwLGddXSxbLyhibGFja2JlcnJ5fGJlbnF8cGFsbSg/PVxcLSl8c29ueWVyaWNzc29ufGFjZXJ8YXN1c3xkZWxsfG1laXp1fG1vdG9yb2xhfHBvbHl0cm9uKVstXyBdPyhbLVxcd10qKS9pLC8oaHApIChbXFx3IF0rXFx3KS9pLC8oYXN1cyktPyhcXHcrKS9pLC8obWljcm9zb2Z0KTsgKGx1bWlhW1xcdyBdKykvaSwvKGxlbm92bylbLV8gXT8oWy1cXHddKykvaSwvKGpvbGxhKS9pLC8ob3BwbykgPyhbXFx3IF0rKSBidWkvaV0sW20sYyxbcCxnXV0sWy8oa29ibylcXHMoZXJlYWRlcnx0b3VjaCkvaSwvKGFyY2hvcykgKGdhbWVwYWQyPykvaSwvKGhwKS4rKHRvdWNocGFkKD8hLit0YWJsZXQpfHRhYmxldCkvaSwvKGtpbmRsZSlcXC8oW1xcd1xcLl0rKS9pLC8obm9vaylbXFx3IF0rYnVpbGRcXC8oXFx3KykvaSwvKGRlbGwpIChzdHJlYVtrcHJcXGQgXSpbXFxka29dKS9pLC8obGVbLSBdK3BhbilbLSBdKyhcXHd7MSw5fSkgYnVpL2ksLyh0cmluaXR5KVstIF0qKHRcXGR7M30pIGJ1aS9pLC8oZ2lnYXNldClbLSBdKyhxXFx3ezEsOX0pIGJ1aS9pLC8odm9kYWZvbmUpIChbXFx3IF0rKSg/OlxcKXwgYnVpKS9pXSxbbSxjLFtwLGtdXSxbLyhzdXJmYWNlIGR1bykvaV0sW2MsW20sUl0sW3Asa11dLFsvZHJvaWQgW1xcZFxcLl0rOyAoZnBcXGR1PykoPzogYnxcXCkpL2ldLFtjLFttLFwiRmFpcnBob25lXCJdLFtwLGddXSxbLyh1MzA0YWEpL2ldLFtjLFttLFwiQVQmVFwiXSxbcCxnXV0sWy9cXGJzaWUtKFxcdyopL2ldLFtjLFttLFwiU2llbWVuc1wiXSxbcCxnXV0sWy9cXGIocmN0XFx3KykgYi9pXSxbYyxbbSxcIlJDQVwiXSxbcCxrXV0sWy9cXGIodmVudWVbXFxkIF17Miw3fSkgYi9pXSxbYyxbbSxcIkRlbGxcIl0sW3Asa11dLFsvXFxiKHEoPzptdnx0YSlcXHcrKSBiL2ldLFtjLFttLFwiVmVyaXpvblwiXSxbcCxrXV0sWy9cXGIoPzpiYXJuZXNbJiBdK25vYmxlIHxibltydF0pKFtcXHdcXCsgXSopIGIvaV0sW2MsW20sXCJCYXJuZXMgJiBOb2JsZVwiXSxbcCxrXV0sWy9cXGIodG1cXGR7M31cXHcrKSBiL2ldLFtjLFttLFwiTnVWaXNpb25cIl0sW3Asa11dLFsvXFxiKGs4OCkgYi9pXSxbYyxbbSxcIlpURVwiXSxbcCxrXV0sWy9cXGIobnhcXGR7M31qKSBiL2ldLFtjLFttLFwiWlRFXCJdLFtwLGddXSxbL1xcYihnZW5cXGR7M30pIGIuKzQ5aC9pXSxbYyxbbSxcIlN3aXNzXCJdLFtwLGddXSxbL1xcYih6dXJcXGR7M30pIGIvaV0sW2MsW20sXCJTd2lzc1wiXSxbcCxrXV0sWy9cXGIoKHpla2kpP3RiLipcXGIpIGIvaV0sW2MsW20sXCJaZWtpXCJdLFtwLGtdXSxbL1xcYihbeXJdXFxkezJ9KSBiL2ksL1xcYihkcmFnb25bLSBdK3RvdWNoIHxkdCkoXFx3ezV9KSBiL2ldLFtbbSxcIkRyYWdvbiBUb3VjaFwiXSxjLFtwLGtdXSxbL1xcYihucy0/XFx3ezAsOX0pIGIvaV0sW2MsW20sXCJJbnNpZ25pYVwiXSxbcCxrXV0sWy9cXGIoKG54YXxuZXh0KS0/XFx3ezAsOX0pIGIvaV0sW2MsW20sXCJOZXh0Qm9va1wiXSxbcCxrXV0sWy9cXGIoeHRyZW1lXFxfKT8odigxWzA0NV18MlswMTVdfFszNDY5XTB8N1swNV0pKSBiL2ldLFtbbSxcIlZvaWNlXCJdLGMsW3AsZ11dLFsvXFxiKGx2dGVsXFwtKT8odjFbMTJdKSBiL2ldLFtbbSxcIkx2VGVsXCJdLGMsW3AsZ11dLFsvXFxiKHBoLTEpIC9pXSxbYyxbbSxcIkVzc2VudGlhbFwiXSxbcCxnXV0sWy9cXGIodigxMDBtZHw3MDBuYXw3MDExfDkxN2cpLipcXGIpIGIvaV0sW2MsW20sXCJFbnZpemVuXCJdLFtwLGtdXSxbL1xcYih0cmlvWy1cXHdcXC4gXSspIGIvaV0sW2MsW20sXCJNYWNoU3BlZWRcIl0sW3Asa11dLFsvXFxidHVfKDE0OTEpIGIvaV0sW2MsW20sXCJSb3RvclwiXSxbcCxrXV0sWy8oc2hpZWxkW1xcdyBdKykgYi9pXSxbYyxbbSxcIk52aWRpYVwiXSxbcCxrXV0sWy8oc3ByaW50KSAoXFx3KykvaV0sW20sYyxbcCxnXV0sWy8oa2luXFwuW29uZXR3XXszfSkvaV0sW1tjLC9cXC4vZyxcIiBcIl0sW20sUl0sW3AsZ11dLFsvZHJvaWQuKzsgKGNjNjY2Nj98ZXQ1WzE2XXxtY1syMzldWzIzXXg/fHZjOFswM114PylcXCkvaV0sW2MsW20sR10sW3Asa11dLFsvZHJvaWQuKzsgKGVjMzB8cHMyMHx0Y1syLThdXFxkW2t4XSlcXCkvaV0sW2MsW20sR10sW3AsZ11dLFsvc21hcnQtdHYuKyhzYW1zdW5nKS9pXSxbbSxbcCx4XV0sWy9oYmJ0di4rbWFwbGU7KFxcZCspL2ldLFtbYywvXi8sXCJTbWFydFRWXCJdLFttLFZdLFtwLHhdXSxbLyhudXg7IG5ldGNhc3QuK3NtYXJ0dHZ8bGcgKG5ldGNhc3RcXC50di0yMDFcXGR8YW5kcm9pZCB0dikpL2ldLFtbbSxQXSxbcCx4XV0sWy8oYXBwbGUpID90di9pXSxbbSxbYyxTK1wiIFRWXCJdLFtwLHhdXSxbL2Nya2V5L2ldLFtbYyxDK1wiY2FzdFwiXSxbbSxVXSxbcCx4XV0sWy9kcm9pZC4rYWZ0KFxcdykoIGJ1aXxcXCkpL2ldLFtjLFttLFRdLFtwLHhdXSxbL1xcKGR0dltcXCk7XS4rKGFxdW9zKS9pLC8oYXF1b3MtdHZbXFx3IF0rKVxcKS9pXSxbYyxbbSxEXSxbcCx4XV0sWy8oYnJhdmlhW1xcdyBdKykoIGJ1aXxcXCkpL2ldLFtjLFttLEldLFtwLHhdXSxbLyhtaXR2LVxcd3s1fSkgYnVpL2ldLFtjLFttLEZdLFtwLHhdXSxbL0hiYnR2LioodGVjaG5pc2F0KSAoLiopOy9pXSxbbSxjLFtwLHhdXSxbL1xcYihyb2t1KVtcXGR4XSpbXFwpXFwvXSgoPzpkdnAtKT9bXFxkXFwuXSopL2ksL2hiYnR2XFwvXFxkK1xcLlxcZCtcXC5cXGQrICtcXChbXFx3XFwrIF0qOyAqKFtcXHdcXGRdW147XSopOyhbXjtdKikvaV0sW1ttLHRyaW1dLFtjLHRyaW1dLFtwLHhdXSxbL1xcYihhbmRyb2lkIHR2fHNtYXJ0Wy0gXT90dnxvcGVyYSB0dnx0djsgcnY6KVxcYi9pXSxbW3AseF1dLFsvKG91eWEpL2ksLyhuaW50ZW5kbykgKFt3aWRzM3V0Y2hdKykvaV0sW20sYyxbcCx2XV0sWy9kcm9pZC4rOyAoc2hpZWxkKSBidWkvaV0sW2MsW20sXCJOdmlkaWFcIl0sW3Asdl1dLFsvKHBsYXlzdGF0aW9uIFszNDVwb3J0YWJsZXZpXSspL2ldLFtjLFttLEldLFtwLHZdXSxbL1xcYih4Ym94KD86IG9uZSk/KD8hOyB4Ym94KSlbXFwpOyBdL2ldLFtjLFttLFJdLFtwLHZdXSxbLygocGViYmxlKSlhcHAvaV0sW20sYyxbcCxfXV0sWy8od2F0Y2gpKD86ID9vc1ssXFwvXXxcXGQsXFxkXFwvKVtcXGRcXC5dKy9pXSxbYyxbbSxTXSxbcCxfXV0sWy9kcm9pZC4rOyAoZ2xhc3MpIFxcZC9pXSxbYyxbbSxVXSxbcCxfXV0sWy9kcm9pZC4rOyAod3Q2Mz8wezIsM30pXFwpL2ldLFtjLFttLEddLFtwLF9dXSxbLyhxdWVzdCggMnwgcHJvKT8pL2ldLFtjLFttLEhdLFtwLF9dXSxbLyh0ZXNsYSkoPzogcXRjYXJicm93c2VyfFxcL1stXFx3XFwuXSspL2ldLFttLFtwLHldXSxbLyhhZW9iYylcXGIvaV0sW2MsW20sVF0sW3AseV1dLFsvZHJvaWQgLis/OyAoW147XSs/KSg/OiBidWl8XFwpIGFwcGxldykuKz8gbW9iaWxlIHNhZmFyaS9pXSxbYyxbcCxnXV0sWy9kcm9pZCAuKz87IChbXjtdKz8pKD86IGJ1aXxcXCkgYXBwbGV3KS4rPyg/ISBtb2JpbGUpIHNhZmFyaS9pXSxbYyxbcCxrXV0sWy9cXGIoKHRhYmxldHx0YWIpWztcXC9dfGZvY3VzXFwvXFxkKD8hLittb2JpbGUpKS9pXSxbW3Asa11dLFsvKHBob25lfG1vYmlsZSg/Ols7XFwvXXwgWyBcXHdcXC9cXC5dKnNhZmFyaSl8cGRhKD89Lit3aW5kb3dzIGNlKSkvaV0sW1twLGddXSxbLyhhbmRyb2lkWy1cXHdcXC4gXXswLDl9KTsuK2J1aWwvaV0sW2MsW20sXCJHZW5lcmljXCJdXV0sZW5naW5lOltbL3dpbmRvd3MuKyBlZGdlXFwvKFtcXHdcXC5dKykvaV0sW2YsW3UsRStcIkhUTUxcIl1dLFsvd2Via2l0XFwvNTM3XFwuMzYuK2Nocm9tZVxcLyg/ITI3KShbXFx3XFwuXSspL2ldLFtmLFt1LFwiQmxpbmtcIl1dLFsvKHByZXN0bylcXC8oW1xcd1xcLl0rKS9pLC8od2Via2l0fHRyaWRlbnR8bmV0ZnJvbnR8bmV0c3VyZnxhbWF5YXxseW54fHczbXxnb2FubmEpXFwvKFtcXHdcXC5dKykvaSwvZWtpb2goZmxvdylcXC8oW1xcd1xcLl0rKS9pLC8oa2h0bWx8dGFzbWFufGxpbmtzKVtcXC8gXVxcKD8oW1xcd1xcLl0rKS9pLC8oaWNhYilbXFwvIF0oWzIzXVxcLltcXGRcXC5dKykvaSwvXFxiKGxpYndlYikvaV0sW3UsZl0sWy9ydlxcOihbXFx3XFwuXXsxLDl9KVxcYi4rKGdlY2tvKS9pXSxbZix1XV0sb3M6W1svbWljcm9zb2Z0ICh3aW5kb3dzKSAodmlzdGF8eHApL2ldLFt1LGZdLFsvKHdpbmRvd3MpIG50IDZcXC4yOyAoYXJtKS9pLC8od2luZG93cyAoPzpwaG9uZSg/OiBvcyk/fG1vYmlsZSkpW1xcLyBdPyhbXFxkXFwuXFx3IF0qKS9pLC8od2luZG93cylbXFwvIF0/KFtudGNlXFxkXFwuIF0rXFx3KSg/IS4reGJveCkvaV0sW3UsW2Ysc3RyTWFwcGVyLFhdXSxbLyh3aW4oPz0zfDl8bil8d2luIDl4ICkoW250XFxkXFwuXSspL2ldLFtbdSxcIldpbmRvd3NcIl0sW2Ysc3RyTWFwcGVyLFhdXSxbL2lwW2hvbmVhZF17Miw0fVxcYig/Oi4qb3MgKFtcXHddKykgbGlrZSBtYWN8OyBvcGVyYSkvaSwvaW9zO2Zic3ZcXC8oW1xcZFxcLl0rKS9pLC9jZm5ldHdvcmtcXC8uK2Rhcndpbi9pXSxbW2YsL18vZyxcIi5cIl0sW3UsXCJpT1NcIl1dLFsvKG1hYyBvcyB4KSA/KFtcXHdcXC4gXSopL2ksLyhtYWNpbnRvc2h8bWFjX3Bvd2VycGNcXGIpKD8hLitoYWlrdSkvaV0sW1t1LFpdLFtmLC9fL2csXCIuXCJdXSxbL2Ryb2lkIChbXFx3XFwuXSspXFxiLisoYW5kcm9pZFstIF14ODZ8aGFybW9ueW9zKS9pXSxbZix1XSxbLyhhbmRyb2lkfHdlYm9zfHFueHxiYWRhfHJpbSB0YWJsZXQgb3N8bWFlbW98bWVlZ298c2FpbGZpc2gpWy1cXC8gXT8oW1xcd1xcLl0qKS9pLC8oYmxhY2tiZXJyeSlcXHcqXFwvKFtcXHdcXC5dKikvaSwvKHRpemVufGthaW9zKVtcXC8gXShbXFx3XFwuXSspL2ksL1xcKChzZXJpZXM0MCk7L2ldLFt1LGZdLFsvXFwoYmIoMTApOy9pXSxbZixbdSxOXV0sWy8oPzpzeW1iaWFuID9vc3xzeW1ib3N8czYwKD89Oyl8c2VyaWVzNjApWy1cXC8gXT8oW1xcd1xcLl0qKS9pXSxbZixbdSxcIlN5bWJpYW5cIl1dLFsvbW96aWxsYVxcL1tcXGRcXC5dKyBcXCgoPzptb2JpbGV8dGFibGV0fHR2fG1vYmlsZTsgW1xcdyBdKyk7IHJ2Oi4rIGdlY2tvXFwvKFtcXHdcXC5dKykvaV0sW2YsW3UsTytcIiBPU1wiXV0sWy93ZWIwczsuK3J0KHR2KS9pLC9cXGIoPzpocCk/d29zKD86YnJvd3Nlcik/XFwvKFtcXHdcXC5dKykvaV0sW2YsW3UsXCJ3ZWJPU1wiXV0sWy93YXRjaCg/OiA/b3NbLFxcL118XFxkLFxcZFxcLykoW1xcZFxcLl0rKS9pXSxbZixbdSxcIndhdGNoT1NcIl1dLFsvY3JrZXlcXC8oW1xcZFxcLl0rKS9pXSxbZixbdSxDK1wiY2FzdFwiXV0sWy8oY3JvcykgW1xcd10rKD86XFwpfCAoW1xcd1xcLl0rKVxcYikvaV0sW1t1LExdLGZdLFsvcGFuYXNvbmljOyh2aWVyYSkvaSwvKG5ldHJhbmdlKW1taC9pLC8obmV0dHYpXFwvKFxcZCtcXC5bXFx3XFwuXSspL2ksLyhuaW50ZW5kb3xwbGF5c3RhdGlvbikgKFt3aWRzMzQ1cG9ydGFibGV2dWNoXSspL2ksLyh4Ym94KTsgK3hib3ggKFteXFwpO10rKS9pLC9cXGIoam9saXxwYWxtKVxcYiA/KD86b3MpP1xcLz8oW1xcd1xcLl0qKS9pLC8obWludClbXFwvXFwoXFwpIF0/KFxcdyopL2ksLyhtYWdlaWF8dmVjdG9ybGludXgpWzsgXS9pLC8oW2t4bG5dP3VidW50dXxkZWJpYW58c3VzZXxvcGVuc3VzZXxnZW50b298YXJjaCg/PSBsaW51eCl8c2xhY2t3YXJlfGZlZG9yYXxtYW5kcml2YXxjZW50b3N8cGNsaW51eG9zfHJlZCA/aGF0fHplbndhbGt8bGlucHVzfHJhc3BiaWFufHBsYW4gOXxtaW5peHxyaXNjIG9zfGNvbnRpa2l8ZGVlcGlufG1hbmphcm98ZWxlbWVudGFyeSBvc3xzYWJheW9ufGxpbnNwaXJlKSg/OiBnbnVcXC9saW51eCk/KD86IGVudGVycHJpc2UpPyg/OlstIF1saW51eCk/KD86LWdudSk/Wy1cXC8gXT8oPyFjaHJvbXxwYWNrYWdlKShbLVxcd1xcLl0qKS9pLC8oaHVyZHxsaW51eCkgPyhbXFx3XFwuXSopL2ksLyhnbnUpID8oW1xcd1xcLl0qKS9pLC9cXGIoWy1mcmVudG9wY2doc117MCw1fWJzZHxkcmFnb25mbHkpW1xcLyBdPyg/IWFtZHxbaXgzNDZdezEsMn04NikoW1xcd1xcLl0qKS9pLC8oaGFpa3UpIChcXHcrKS9pXSxbdSxmXSxbLyhzdW5vcykgPyhbXFx3XFwuXFxkXSopL2ldLFtbdSxcIlNvbGFyaXNcIl0sZl0sWy8oKD86b3Blbik/c29sYXJpcylbLVxcLyBdPyhbXFx3XFwuXSopL2ksLyhhaXgpICgoXFxkKSg/PVxcLnxcXCl8IClbXFx3XFwuXSkqL2ksL1xcYihiZW9zfG9zXFwvMnxhbWlnYW9zfG1vcnBob3N8b3BlbnZtc3xmdWNoc2lhfGhwLXV4fHNlcmVuaXR5b3MpL2ksLyh1bml4KSA/KFtcXHdcXC5dKikvaV0sW3UsZl1dfTt2YXIgVUFQYXJzZXI9ZnVuY3Rpb24oaSxlKXtpZih0eXBlb2YgaT09PXcpe2U9aTtpPWF9aWYoISh0aGlzIGluc3RhbmNlb2YgVUFQYXJzZXIpKXtyZXR1cm4gbmV3IFVBUGFyc2VyKGksZSkuZ2V0UmVzdWx0KCl9dmFyIHI9dHlwZW9mIG8hPT1iJiZvLm5hdmlnYXRvcj9vLm5hdmlnYXRvcjphO3ZhciBuPWl8fChyJiZyLnVzZXJBZ2VudD9yLnVzZXJBZ2VudDp0KTt2YXIgdj1yJiZyLnVzZXJBZ2VudERhdGE/ci51c2VyQWdlbnREYXRhOmE7dmFyIHg9ZT9leHRlbmQoSyxlKTpLO3ZhciBfPXImJnIudXNlckFnZW50PT1uO3RoaXMuZ2V0QnJvd3Nlcj1mdW5jdGlvbigpe3ZhciBpPXt9O2lbdV09YTtpW2ZdPWE7cmd4TWFwcGVyLmNhbGwoaSxuLHguYnJvd3Nlcik7aVtkXT1tYWpvcml6ZShpW2ZdKTtpZihfJiZyJiZyLmJyYXZlJiZ0eXBlb2Ygci5icmF2ZS5pc0JyYXZlPT1zKXtpW3VdPVwiQnJhdmVcIn1yZXR1cm4gaX07dGhpcy5nZXRDUFU9ZnVuY3Rpb24oKXt2YXIgaT17fTtpW2hdPWE7cmd4TWFwcGVyLmNhbGwoaSxuLHguY3B1KTtyZXR1cm4gaX07dGhpcy5nZXREZXZpY2U9ZnVuY3Rpb24oKXt2YXIgaT17fTtpW21dPWE7aVtjXT1hO2lbcF09YTtyZ3hNYXBwZXIuY2FsbChpLG4seC5kZXZpY2UpO2lmKF8mJiFpW3BdJiZ2JiZ2Lm1vYmlsZSl7aVtwXT1nfWlmKF8mJmlbY109PVwiTWFjaW50b3NoXCImJnImJnR5cGVvZiByLnN0YW5kYWxvbmUhPT1iJiZyLm1heFRvdWNoUG9pbnRzJiZyLm1heFRvdWNoUG9pbnRzPjIpe2lbY109XCJpUGFkXCI7aVtwXT1rfXJldHVybiBpfTt0aGlzLmdldEVuZ2luZT1mdW5jdGlvbigpe3ZhciBpPXt9O2lbdV09YTtpW2ZdPWE7cmd4TWFwcGVyLmNhbGwoaSxuLHguZW5naW5lKTtyZXR1cm4gaX07dGhpcy5nZXRPUz1mdW5jdGlvbigpe3ZhciBpPXt9O2lbdV09YTtpW2ZdPWE7cmd4TWFwcGVyLmNhbGwoaSxuLHgub3MpO2lmKF8mJiFpW3VdJiZ2JiZ2LnBsYXRmb3JtIT1cIlVua25vd25cIil7aVt1XT12LnBsYXRmb3JtLnJlcGxhY2UoL2Nocm9tZSBvcy9pLEwpLnJlcGxhY2UoL21hY29zL2ksWil9cmV0dXJuIGl9O3RoaXMuZ2V0UmVzdWx0PWZ1bmN0aW9uKCl7cmV0dXJue3VhOnRoaXMuZ2V0VUEoKSxicm93c2VyOnRoaXMuZ2V0QnJvd3NlcigpLGVuZ2luZTp0aGlzLmdldEVuZ2luZSgpLG9zOnRoaXMuZ2V0T1MoKSxkZXZpY2U6dGhpcy5nZXREZXZpY2UoKSxjcHU6dGhpcy5nZXRDUFUoKX19O3RoaXMuZ2V0VUE9ZnVuY3Rpb24oKXtyZXR1cm4gbn07dGhpcy5zZXRVQT1mdW5jdGlvbihpKXtuPXR5cGVvZiBpPT09bCYmaS5sZW5ndGg+cT90cmltKGkscSk6aTtyZXR1cm4gdGhpc307dGhpcy5zZXRVQShuKTtyZXR1cm4gdGhpc307VUFQYXJzZXIuVkVSU0lPTj1yO1VBUGFyc2VyLkJST1dTRVI9ZW51bWVyaXplKFt1LGYsZF0pO1VBUGFyc2VyLkNQVT1lbnVtZXJpemUoW2hdKTtVQVBhcnNlci5ERVZJQ0U9ZW51bWVyaXplKFtjLG0scCx2LGcseCxrLF8seV0pO1VBUGFyc2VyLkVOR0lORT1VQVBhcnNlci5PUz1lbnVtZXJpemUoW3UsZl0pO2lmKHR5cGVvZiBlIT09Yil7aWYoXCJvYmplY3RcIiE9PWImJmkuZXhwb3J0cyl7ZT1pLmV4cG9ydHM9VUFQYXJzZXJ9ZS5VQVBhcnNlcj1VQVBhcnNlcn1lbHNle2lmKHR5cGVvZiBkZWZpbmU9PT1zJiZkZWZpbmUuYW1kKXtkZWZpbmUoKGZ1bmN0aW9uKCl7cmV0dXJuIFVBUGFyc2VyfSkpfWVsc2UgaWYodHlwZW9mIG8hPT1iKXtvLlVBUGFyc2VyPVVBUGFyc2VyfX12YXIgUT10eXBlb2YgbyE9PWImJihvLmpRdWVyeXx8by5aZXB0byk7aWYoUSYmIVEudWEpe3ZhciBZPW5ldyBVQVBhcnNlcjtRLnVhPVkuZ2V0UmVzdWx0KCk7US51YS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gWS5nZXRVQSgpfTtRLnVhLnNldD1mdW5jdGlvbihpKXtZLnNldFVBKGkpO3ZhciBlPVkuZ2V0UmVzdWx0KCk7Zm9yKHZhciBvIGluIGUpe1EudWFbb109ZVtvXX19fX0pKHR5cGVvZiB3aW5kb3c9PT1cIm9iamVjdFwiP3dpbmRvdzp0aGlzKX19O3ZhciBlPXt9O2Z1bmN0aW9uIF9fbmNjd3Bja19yZXF1aXJlX18obyl7dmFyIGE9ZVtvXTtpZihhIT09dW5kZWZpbmVkKXtyZXR1cm4gYS5leHBvcnRzfXZhciByPWVbb109e2V4cG9ydHM6e319O3ZhciB0PXRydWU7dHJ5e2lbb10uY2FsbChyLmV4cG9ydHMscixyLmV4cG9ydHMsX19uY2N3cGNrX3JlcXVpcmVfXyk7dD1mYWxzZX1maW5hbGx5e2lmKHQpZGVsZXRlIGVbb119cmV0dXJuIHIuZXhwb3J0c31pZih0eXBlb2YgX19uY2N3cGNrX3JlcXVpcmVfXyE9PVwidW5kZWZpbmVkXCIpX19uY2N3cGNrX3JlcXVpcmVfXy5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIG89X19uY2N3cGNrX3JlcXVpcmVfXygyMjYpO21vZHVsZS5leHBvcnRzPW99KSgpOyJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/ua-parser-js/ua-parser.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/lib/scheduler.js":
|
||
/*!************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/lib/scheduler.js ***!
|
||
\************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"(app-pages-browser)/./node_modules/.pnpm/process@0.11.10/node_modules/process/browser.js\");\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n atLeastOneTask: function() {\n return atLeastOneTask;\n },\n scheduleImmediate: function() {\n return scheduleImmediate;\n },\n scheduleOnNextTick: function() {\n return scheduleOnNextTick;\n },\n waitAtLeastOneReactRenderTask: function() {\n return waitAtLeastOneReactRenderTask;\n }\n});\nconst scheduleOnNextTick = (cb)=>{\n // We use Promise.resolve().then() here so that the operation is scheduled at\n // the end of the promise job queue, we then add it to the next process tick\n // to ensure it's evaluated afterwards.\n //\n // This was inspired by the implementation of the DataLoader interface: https://github.com/graphql/dataloader/blob/d336bd15282664e0be4b4a657cb796f09bafbc6b/src/index.js#L213-L255\n //\n Promise.resolve().then(()=>{\n if (false) {} else {\n process.nextTick(cb);\n }\n });\n};\nconst scheduleImmediate = (cb)=>{\n if (false) {} else {\n setImmediate(cb);\n }\n};\nfunction atLeastOneTask() {\n return new Promise((resolve)=>scheduleImmediate(resolve));\n}\nfunction waitAtLeastOneReactRenderTask() {\n if (false) {} else {\n return new Promise((r)=>setImmediate(r));\n }\n}\n\n//# sourceMappingURL=scheduler.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvc2NoZWR1bGVyLmpzIiwibWFwcGluZ3MiOiI7QUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FLTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksS0FBbUMsRUFBRSxFQUV4QyxDQUFDO0FBQ1YsWUFBWSxPQUFPO0FBQ25CO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxRQUFRLEtBQW1DLEVBQUUsRUFFeEMsQ0FBQztBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxLQUFtQyxFQUFFLEVBRXhDLENBQUM7QUFDTjtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL3NjaGVkdWxlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGF0TGVhc3RPbmVUYXNrOiBudWxsLFxuICAgIHNjaGVkdWxlSW1tZWRpYXRlOiBudWxsLFxuICAgIHNjaGVkdWxlT25OZXh0VGljazogbnVsbCxcbiAgICB3YWl0QXRMZWFzdE9uZVJlYWN0UmVuZGVyVGFzazogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBhdExlYXN0T25lVGFzazogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBhdExlYXN0T25lVGFzaztcbiAgICB9LFxuICAgIHNjaGVkdWxlSW1tZWRpYXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHNjaGVkdWxlSW1tZWRpYXRlO1xuICAgIH0sXG4gICAgc2NoZWR1bGVPbk5leHRUaWNrOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHNjaGVkdWxlT25OZXh0VGljaztcbiAgICB9LFxuICAgIHdhaXRBdExlYXN0T25lUmVhY3RSZW5kZXJUYXNrOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHdhaXRBdExlYXN0T25lUmVhY3RSZW5kZXJUYXNrO1xuICAgIH1cbn0pO1xuY29uc3Qgc2NoZWR1bGVPbk5leHRUaWNrID0gKGNiKT0+e1xuICAgIC8vIFdlIHVzZSBQcm9taXNlLnJlc29sdmUoKS50aGVuKCkgaGVyZSBzbyB0aGF0IHRoZSBvcGVyYXRpb24gaXMgc2NoZWR1bGVkIGF0XG4gICAgLy8gdGhlIGVuZCBvZiB0aGUgcHJvbWlzZSBqb2IgcXVldWUsIHdlIHRoZW4gYWRkIGl0IHRvIHRoZSBuZXh0IHByb2Nlc3MgdGlja1xuICAgIC8vIHRvIGVuc3VyZSBpdCdzIGV2YWx1YXRlZCBhZnRlcndhcmRzLlxuICAgIC8vXG4gICAgLy8gVGhpcyB3YXMgaW5zcGlyZWQgYnkgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBEYXRhTG9hZGVyIGludGVyZmFjZTogaHR0cHM6Ly9naXRodWIuY29tL2dyYXBocWwvZGF0YWxvYWRlci9ibG9iL2QzMzZiZDE1MjgyNjY0ZTBiZTRiNGE2NTdjYjc5NmYwOWJhZmJjNmIvc3JjL2luZGV4LmpzI0wyMTMtTDI1NVxuICAgIC8vXG4gICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FID09PSAnZWRnZScpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoY2IsIDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhjYik7XG4gICAgICAgIH1cbiAgICB9KTtcbn07XG5jb25zdCBzY2hlZHVsZUltbWVkaWF0ZSA9IChjYik9PntcbiAgICBpZiAocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FID09PSAnZWRnZScpIHtcbiAgICAgICAgc2V0VGltZW91dChjYiwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgc2V0SW1tZWRpYXRlKGNiKTtcbiAgICB9XG59O1xuZnVuY3Rpb24gYXRMZWFzdE9uZVRhc2soKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKT0+c2NoZWR1bGVJbW1lZGlhdGUocmVzb2x2ZSkpO1xufVxuZnVuY3Rpb24gd2FpdEF0TGVhc3RPbmVSZWFjdFJlbmRlclRhc2soKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA9PT0gJ2VkZ2UnKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocik9PnNldFRpbWVvdXQociwgMCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocik9PnNldEltbWVkaWF0ZShyKSk7XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zY2hlZHVsZXIuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/lib/scheduler.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/after/after.js":
|
||
/*!*****************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/after/after.js ***!
|
||
\*****************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"after\", ({\n enumerable: true,\n get: function() {\n return after;\n }\n}));\nconst _workasyncstorageexternal = __webpack_require__(/*! ../app-render/work-async-storage.external */ \"(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-async-storage.external.js\");\nfunction after(task) {\n const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();\n if (!workStore) {\n // TODO(after): the linked docs page talks about *dynamic* APIs, which after soon won't be anymore\n throw Object.defineProperty(new Error('`after` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context'), \"__NEXT_ERROR_CODE\", {\n value: \"E468\",\n enumerable: false,\n configurable: true\n });\n }\n const { afterContext } = workStore;\n return afterContext.after(task);\n}\n\n//# sourceMappingURL=after.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvYWZ0ZXIvYWZ0ZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRix5Q0FBd0M7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRixrQ0FBa0MsbUJBQU8sQ0FBQyx3UUFBMkM7QUFDckY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLFlBQVksZUFBZTtBQUMzQjtBQUNBOztBQUVBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL25leHRAMTYuMS42X0BiYWJlbCtjb3JlQDcuMjkuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjFfcmVhY3QtZG9tQDE5LjIuNF9yZWFjdEAxOS4yLjRfX3JlYWN0QDE5LjIuNF9zYXNzQDEuOTguMC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hZnRlci9hZnRlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImFmdGVyXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBhZnRlcjtcbiAgICB9XG59KTtcbmNvbnN0IF93b3JrYXN5bmNzdG9yYWdlZXh0ZXJuYWwgPSByZXF1aXJlKFwiLi4vYXBwLXJlbmRlci93b3JrLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWxcIik7XG5mdW5jdGlvbiBhZnRlcih0YXNrKSB7XG4gICAgY29uc3Qgd29ya1N0b3JlID0gX3dvcmthc3luY3N0b3JhZ2VleHRlcm5hbC53b3JrQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7XG4gICAgaWYgKCF3b3JrU3RvcmUpIHtcbiAgICAgICAgLy8gVE9ETyhhZnRlcik6IHRoZSBsaW5rZWQgZG9jcyBwYWdlIHRhbGtzIGFib3V0ICpkeW5hbWljKiBBUElzLCB3aGljaCBhZnRlciBzb29uIHdvbid0IGJlIGFueW1vcmVcbiAgICAgICAgdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBFcnJvcignYGFmdGVyYCB3YXMgY2FsbGVkIG91dHNpZGUgYSByZXF1ZXN0IHNjb3BlLiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtZHluYW1pYy1hcGktd3JvbmctY29udGV4dCcpLCBcIl9fTkVYVF9FUlJPUl9DT0RFXCIsIHtcbiAgICAgICAgICAgIHZhbHVlOiBcIkU0NjhcIixcbiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCB7IGFmdGVyQ29udGV4dCB9ID0gd29ya1N0b3JlO1xuICAgIHJldHVybiBhZnRlckNvbnRleHQuYWZ0ZXIodGFzayk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFmdGVyLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/after/after.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/after/index.js":
|
||
/*!*****************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/after/index.js ***!
|
||
\*****************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && 0;\n_export_star(__webpack_require__(/*! ./after */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/after/after.js\"), exports);\nfunction _export_star(from, to) {\n Object.keys(from).forEach(function(k) {\n if (k !== \"default\" && !Object.prototype.hasOwnProperty.call(to, k)) {\n Object.defineProperty(to, k, {\n enumerable: true,\n get: function() {\n return from[k];\n }\n });\n }\n });\n return from;\n}\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvYWZ0ZXIvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixLQUFLLENBQTRCO0FBQ2pDLGFBQWEsbUJBQU8sQ0FBQyxzTkFBUztBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FmdGVyL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiBfX2V4cG9ydChyZXF1aXJlKFwiLi9hZnRlclwiKSk7XG5fZXhwb3J0X3N0YXIocmVxdWlyZShcIi4vYWZ0ZXJcIiksIGV4cG9ydHMpO1xuZnVuY3Rpb24gX2V4cG9ydF9zdGFyKGZyb20sIHRvKSB7XG4gICAgT2JqZWN0LmtleXMoZnJvbSkuZm9yRWFjaChmdW5jdGlvbihrKSB7XG4gICAgICAgIGlmIChrICE9PSBcImRlZmF1bHRcIiAmJiAhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRvLCBrKSkge1xuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRvLCBrLCB7XG4gICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZnJvbVtrXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBmcm9tO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/after/index.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js":
|
||
/*!**************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js ***!
|
||
\**************************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"afterTaskAsyncStorageInstance\", ({\n enumerable: true,\n get: function() {\n return afterTaskAsyncStorageInstance;\n }\n}));\nconst _asynclocalstorage = __webpack_require__(/*! ./async-local-storage */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/async-local-storage.js\");\nconst afterTaskAsyncStorageInstance = (0, _asynclocalstorage.createAsyncLocalStorage)();\n\n//# sourceMappingURL=after-task-async-storage-instance.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9hZnRlci10YXNrLWFzeW5jLXN0b3JhZ2UtaW5zdGFuY2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixpRUFBZ0U7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRiwyQkFBMkIsbUJBQU8sQ0FBQyx1UEFBdUI7QUFDMUQ7O0FBRUEiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvYWZ0ZXItdGFzay1hc3luYy1zdG9yYWdlLWluc3RhbmNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYWZ0ZXJUYXNrQXN5bmNTdG9yYWdlSW5zdGFuY2VcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFmdGVyVGFza0FzeW5jU3RvcmFnZUluc3RhbmNlO1xuICAgIH1cbn0pO1xuY29uc3QgX2FzeW5jbG9jYWxzdG9yYWdlID0gcmVxdWlyZShcIi4vYXN5bmMtbG9jYWwtc3RvcmFnZVwiKTtcbmNvbnN0IGFmdGVyVGFza0FzeW5jU3RvcmFnZUluc3RhbmNlID0gKDAsIF9hc3luY2xvY2Fsc3RvcmFnZS5jcmVhdGVBc3luY0xvY2FsU3RvcmFnZSkoKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWZ0ZXItdGFzay1hc3luYy1zdG9yYWdlLWluc3RhbmNlLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/after-task-async-storage.external.js":
|
||
/*!**************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/after-task-async-storage.external.js ***!
|
||
\**************************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"afterTaskAsyncStorage\", ({\n enumerable: true,\n get: function() {\n return _aftertaskasyncstorageinstance.afterTaskAsyncStorageInstance;\n }\n}));\nconst _aftertaskasyncstorageinstance = __webpack_require__(/*! ./after-task-async-storage-instance */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js\");\n\n//# sourceMappingURL=after-task-async-storage.external.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9hZnRlci10YXNrLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWwuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRix5REFBd0Q7QUFDeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRix1Q0FBdUMsbUJBQU8sQ0FBQyxtUkFBcUM7O0FBRXBGIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL25leHRAMTYuMS42X0BiYWJlbCtjb3JlQDcuMjkuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjFfcmVhY3QtZG9tQDE5LjIuNF9yZWFjdEAxOS4yLjRfX3JlYWN0QDE5LjIuNF9zYXNzQDEuOTguMC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2FmdGVyLXRhc2stYXN5bmMtc3RvcmFnZS5leHRlcm5hbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImFmdGVyVGFza0FzeW5jU3RvcmFnZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2FmdGVydGFza2FzeW5jc3RvcmFnZWluc3RhbmNlLmFmdGVyVGFza0FzeW5jU3RvcmFnZUluc3RhbmNlO1xuICAgIH1cbn0pO1xuY29uc3QgX2FmdGVydGFza2FzeW5jc3RvcmFnZWluc3RhbmNlID0gcmVxdWlyZShcIi4vYWZ0ZXItdGFzay1hc3luYy1zdG9yYWdlLWluc3RhbmNlXCIpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hZnRlci10YXNrLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWwuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/after-task-async-storage.external.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/async-local-storage.js":
|
||
/*!************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/async-local-storage.js ***!
|
||
\************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n bindSnapshot: function() {\n return bindSnapshot;\n },\n createAsyncLocalStorage: function() {\n return createAsyncLocalStorage;\n },\n createSnapshot: function() {\n return createSnapshot;\n }\n});\nconst sharedAsyncLocalStorageNotAvailableError = Object.defineProperty(new Error('Invariant: AsyncLocalStorage accessed in runtime where it is not available'), \"__NEXT_ERROR_CODE\", {\n value: \"E504\",\n enumerable: false,\n configurable: true\n});\nclass FakeAsyncLocalStorage {\n disable() {\n throw sharedAsyncLocalStorageNotAvailableError;\n }\n getStore() {\n // This fake implementation of AsyncLocalStorage always returns `undefined`.\n return undefined;\n }\n run() {\n throw sharedAsyncLocalStorageNotAvailableError;\n }\n exit() {\n throw sharedAsyncLocalStorageNotAvailableError;\n }\n enterWith() {\n throw sharedAsyncLocalStorageNotAvailableError;\n }\n static bind(fn) {\n return fn;\n }\n}\nconst maybeGlobalAsyncLocalStorage = typeof globalThis !== 'undefined' && globalThis.AsyncLocalStorage;\nfunction createAsyncLocalStorage() {\n if (maybeGlobalAsyncLocalStorage) {\n return new maybeGlobalAsyncLocalStorage();\n }\n return new FakeAsyncLocalStorage();\n}\nfunction bindSnapshot(// WARNING: Don't pass a named function to this argument! See: https://github.com/facebook/react/pull/34911\nfn) {\n if (maybeGlobalAsyncLocalStorage) {\n return maybeGlobalAsyncLocalStorage.bind(fn);\n }\n return FakeAsyncLocalStorage.bind(fn);\n}\nfunction createSnapshot() {\n if (maybeGlobalAsyncLocalStorage) {\n return maybeGlobalAsyncLocalStorage.snapshot();\n }\n return function(fn, ...args) {\n return fn(...args);\n };\n}\n\n//# sourceMappingURL=async-local-storage.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9hc3luYy1sb2NhbC1zdG9yYWdlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQUlMO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvYXN5bmMtbG9jYWwtc3RvcmFnZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGJpbmRTbmFwc2hvdDogbnVsbCxcbiAgICBjcmVhdGVBc3luY0xvY2FsU3RvcmFnZTogbnVsbCxcbiAgICBjcmVhdGVTbmFwc2hvdDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBiaW5kU25hcHNob3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYmluZFNuYXBzaG90O1xuICAgIH0sXG4gICAgY3JlYXRlQXN5bmNMb2NhbFN0b3JhZ2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlQXN5bmNMb2NhbFN0b3JhZ2U7XG4gICAgfSxcbiAgICBjcmVhdGVTbmFwc2hvdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVTbmFwc2hvdDtcbiAgICB9XG59KTtcbmNvbnN0IHNoYXJlZEFzeW5jTG9jYWxTdG9yYWdlTm90QXZhaWxhYmxlRXJyb3IgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IEVycm9yKCdJbnZhcmlhbnQ6IEFzeW5jTG9jYWxTdG9yYWdlIGFjY2Vzc2VkIGluIHJ1bnRpbWUgd2hlcmUgaXQgaXMgbm90IGF2YWlsYWJsZScpLCBcIl9fTkVYVF9FUlJPUl9DT0RFXCIsIHtcbiAgICB2YWx1ZTogXCJFNTA0XCIsXG4gICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG59KTtcbmNsYXNzIEZha2VBc3luY0xvY2FsU3RvcmFnZSB7XG4gICAgZGlzYWJsZSgpIHtcbiAgICAgICAgdGhyb3cgc2hhcmVkQXN5bmNMb2NhbFN0b3JhZ2VOb3RBdmFpbGFibGVFcnJvcjtcbiAgICB9XG4gICAgZ2V0U3RvcmUoKSB7XG4gICAgICAgIC8vIFRoaXMgZmFrZSBpbXBsZW1lbnRhdGlvbiBvZiBBc3luY0xvY2FsU3RvcmFnZSBhbHdheXMgcmV0dXJucyBgdW5kZWZpbmVkYC5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcnVuKCkge1xuICAgICAgICB0aHJvdyBzaGFyZWRBc3luY0xvY2FsU3RvcmFnZU5vdEF2YWlsYWJsZUVycm9yO1xuICAgIH1cbiAgICBleGl0KCkge1xuICAgICAgICB0aHJvdyBzaGFyZWRBc3luY0xvY2FsU3RvcmFnZU5vdEF2YWlsYWJsZUVycm9yO1xuICAgIH1cbiAgICBlbnRlcldpdGgoKSB7XG4gICAgICAgIHRocm93IHNoYXJlZEFzeW5jTG9jYWxTdG9yYWdlTm90QXZhaWxhYmxlRXJyb3I7XG4gICAgfVxuICAgIHN0YXRpYyBiaW5kKGZuKSB7XG4gICAgICAgIHJldHVybiBmbjtcbiAgICB9XG59XG5jb25zdCBtYXliZUdsb2JhbEFzeW5jTG9jYWxTdG9yYWdlID0gdHlwZW9mIGdsb2JhbFRoaXMgIT09ICd1bmRlZmluZWQnICYmIGdsb2JhbFRoaXMuQXN5bmNMb2NhbFN0b3JhZ2U7XG5mdW5jdGlvbiBjcmVhdGVBc3luY0xvY2FsU3RvcmFnZSgpIHtcbiAgICBpZiAobWF5YmVHbG9iYWxBc3luY0xvY2FsU3RvcmFnZSkge1xuICAgICAgICByZXR1cm4gbmV3IG1heWJlR2xvYmFsQXN5bmNMb2NhbFN0b3JhZ2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBGYWtlQXN5bmNMb2NhbFN0b3JhZ2UoKTtcbn1cbmZ1bmN0aW9uIGJpbmRTbmFwc2hvdCgvLyBXQVJOSU5HOiBEb24ndCBwYXNzIGEgbmFtZWQgZnVuY3Rpb24gdG8gdGhpcyBhcmd1bWVudCEgU2VlOiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8zNDkxMVxuZm4pIHtcbiAgICBpZiAobWF5YmVHbG9iYWxBc3luY0xvY2FsU3RvcmFnZSkge1xuICAgICAgICByZXR1cm4gbWF5YmVHbG9iYWxBc3luY0xvY2FsU3RvcmFnZS5iaW5kKGZuKTtcbiAgICB9XG4gICAgcmV0dXJuIEZha2VBc3luY0xvY2FsU3RvcmFnZS5iaW5kKGZuKTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZVNuYXBzaG90KCkge1xuICAgIGlmIChtYXliZUdsb2JhbEFzeW5jTG9jYWxTdG9yYWdlKSB7XG4gICAgICAgIHJldHVybiBtYXliZUdsb2JhbEFzeW5jTG9jYWxTdG9yYWdlLnNuYXBzaG90KCk7XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbihmbiwgLi4uYXJncykge1xuICAgICAgICByZXR1cm4gZm4oLi4uYXJncyk7XG4gICAgfTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXN5bmMtbG9jYWwtc3RvcmFnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/async-local-storage.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/dynamic-rendering.js":
|
||
/*!**********************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/dynamic-rendering.js ***!
|
||
\**********************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("/**\n * The functions provided by this module are used to communicate certain properties\n * about the currently running code so that Next.js can make decisions on how to handle\n * the current execution in different rendering modes such as pre-rendering, resuming, and SSR.\n *\n * Today Next.js treats all code as potentially static. Certain APIs may only make sense when dynamically rendering.\n * Traditionally this meant deopting the entire render to dynamic however with PPR we can now deopt parts\n * of a React tree as dynamic while still keeping other parts static. There are really two different kinds of\n * Dynamic indications.\n *\n * The first is simply an intention to be dynamic. unstable_noStore is an example of this where\n * the currently executing code simply declares that the current scope is dynamic but if you use it\n * inside unstable_cache it can still be cached. This type of indication can be removed if we ever\n * make the default dynamic to begin with because the only way you would ever be static is inside\n * a cache scope which this indication does not affect.\n *\n * The second is an indication that a dynamic data source was read. This is a stronger form of dynamic\n * because it means that it is inappropriate to cache this at all. using a dynamic data source inside\n * unstable_cache should error. If you want to use some dynamic data inside unstable_cache you should\n * read that data outside the cache and pass it in as an argument to the cached function.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Postpone: function() {\n return Postpone;\n },\n PreludeState: function() {\n return PreludeState;\n },\n abortAndThrowOnSynchronousRequestDataAccess: function() {\n return abortAndThrowOnSynchronousRequestDataAccess;\n },\n abortOnSynchronousPlatformIOAccess: function() {\n return abortOnSynchronousPlatformIOAccess;\n },\n accessedDynamicData: function() {\n return accessedDynamicData;\n },\n annotateDynamicAccess: function() {\n return annotateDynamicAccess;\n },\n consumeDynamicAccess: function() {\n return consumeDynamicAccess;\n },\n createDynamicTrackingState: function() {\n return createDynamicTrackingState;\n },\n createDynamicValidationState: function() {\n return createDynamicValidationState;\n },\n createHangingInputAbortSignal: function() {\n return createHangingInputAbortSignal;\n },\n createRenderInBrowserAbortSignal: function() {\n return createRenderInBrowserAbortSignal;\n },\n delayUntilRuntimeStage: function() {\n return delayUntilRuntimeStage;\n },\n formatDynamicAPIAccesses: function() {\n return formatDynamicAPIAccesses;\n },\n getFirstDynamicReason: function() {\n return getFirstDynamicReason;\n },\n getStaticShellDisallowedDynamicReasons: function() {\n return getStaticShellDisallowedDynamicReasons;\n },\n isDynamicPostpone: function() {\n return isDynamicPostpone;\n },\n isPrerenderInterruptedError: function() {\n return isPrerenderInterruptedError;\n },\n logDisallowedDynamicError: function() {\n return logDisallowedDynamicError;\n },\n markCurrentScopeAsDynamic: function() {\n return markCurrentScopeAsDynamic;\n },\n postponeWithTracking: function() {\n return postponeWithTracking;\n },\n throwIfDisallowedDynamic: function() {\n return throwIfDisallowedDynamic;\n },\n throwToInterruptStaticGeneration: function() {\n return throwToInterruptStaticGeneration;\n },\n trackAllowedDynamicAccess: function() {\n return trackAllowedDynamicAccess;\n },\n trackDynamicDataInDynamicRender: function() {\n return trackDynamicDataInDynamicRender;\n },\n trackDynamicHoleInRuntimeShell: function() {\n return trackDynamicHoleInRuntimeShell;\n },\n trackDynamicHoleInStaticShell: function() {\n return trackDynamicHoleInStaticShell;\n },\n useDynamicRouteParams: function() {\n return useDynamicRouteParams;\n },\n useDynamicSearchParams: function() {\n return useDynamicSearchParams;\n }\n});\nconst _react = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/index.js\"));\nconst _hooksservercontext = __webpack_require__(/*! ../../client/components/hooks-server-context */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/components/hooks-server-context.js\");\nconst _staticgenerationbailout = __webpack_require__(/*! ../../client/components/static-generation-bailout */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/components/static-generation-bailout.js\");\nconst _workunitasyncstorageexternal = __webpack_require__(/*! ./work-unit-async-storage.external */ \"(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js\");\nconst _workasyncstorageexternal = __webpack_require__(/*! ../app-render/work-async-storage.external */ \"(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-async-storage.external.js\");\nconst _dynamicrenderingutils = __webpack_require__(/*! ../dynamic-rendering-utils */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/dynamic-rendering-utils.js\");\nconst _boundaryconstants = __webpack_require__(/*! ../../lib/framework/boundary-constants */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/lib/framework/boundary-constants.js\");\nconst _scheduler = __webpack_require__(/*! ../../lib/scheduler */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/lib/scheduler.js\");\nconst _bailouttocsr = __webpack_require__(/*! ../../shared/lib/lazy-dynamic/bailout-to-csr */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\");\nconst _invarianterror = __webpack_require__(/*! ../../shared/lib/invariant-error */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/invariant-error.js\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nconst hasPostpone = typeof _react.default.unstable_postpone === 'function';\nfunction createDynamicTrackingState(isDebugDynamicAccesses) {\n return {\n isDebugDynamicAccesses,\n dynamicAccesses: [],\n syncDynamicErrorWithStack: null\n };\n}\nfunction createDynamicValidationState() {\n return {\n hasSuspenseAboveBody: false,\n hasDynamicMetadata: false,\n dynamicMetadata: null,\n hasDynamicViewport: false,\n hasAllowedDynamic: false,\n dynamicErrors: []\n };\n}\nfunction getFirstDynamicReason(trackingState) {\n var _trackingState_dynamicAccesses_;\n return (_trackingState_dynamicAccesses_ = trackingState.dynamicAccesses[0]) == null ? void 0 : _trackingState_dynamicAccesses_.expression;\n}\nfunction markCurrentScopeAsDynamic(store, workUnitStore, expression) {\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'cache':\n case 'unstable-cache':\n // Inside cache scopes, marking a scope as dynamic has no effect,\n // because the outer cache scope creates a cache boundary. This is\n // subtly different from reading a dynamic data source, which is\n // forbidden inside a cache scope.\n return;\n case 'private-cache':\n // A private cache scope is already dynamic by definition.\n return;\n case 'prerender-legacy':\n case 'prerender-ppr':\n case 'request':\n break;\n default:\n workUnitStore;\n }\n }\n // If we're forcing dynamic rendering or we're forcing static rendering, we\n // don't need to do anything here because the entire page is already dynamic\n // or it's static and it should not throw or postpone here.\n if (store.forceDynamic || store.forceStatic) return;\n if (store.dynamicShouldError) {\n throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError(`Route ${store.route} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`${expression}\\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`), \"__NEXT_ERROR_CODE\", {\n value: \"E553\",\n enumerable: false,\n configurable: true\n });\n }\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender-ppr':\n return postponeWithTracking(store.route, expression, workUnitStore.dynamicTracking);\n case 'prerender-legacy':\n workUnitStore.revalidate = 0;\n // We aren't prerendering, but we are generating a static page. We need\n // to bail out of static generation.\n const err = Object.defineProperty(new _hooksservercontext.DynamicServerError(`Route ${store.route} couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`), \"__NEXT_ERROR_CODE\", {\n value: \"E550\",\n enumerable: false,\n configurable: true\n });\n store.dynamicUsageDescription = expression;\n store.dynamicUsageStack = err.stack;\n throw err;\n case 'request':\n if (true) {\n workUnitStore.usedDynamic = true;\n }\n break;\n default:\n workUnitStore;\n }\n }\n}\nfunction throwToInterruptStaticGeneration(expression, store, prerenderStore) {\n // We aren't prerendering but we are generating a static page. We need to bail out of static generation\n const err = Object.defineProperty(new _hooksservercontext.DynamicServerError(`Route ${store.route} couldn't be rendered statically because it used \\`${expression}\\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`), \"__NEXT_ERROR_CODE\", {\n value: \"E558\",\n enumerable: false,\n configurable: true\n });\n prerenderStore.revalidate = 0;\n store.dynamicUsageDescription = expression;\n store.dynamicUsageStack = err.stack;\n throw err;\n}\nfunction trackDynamicDataInDynamicRender(workUnitStore) {\n switch(workUnitStore.type){\n case 'cache':\n case 'unstable-cache':\n // Inside cache scopes, marking a scope as dynamic has no effect,\n // because the outer cache scope creates a cache boundary. This is\n // subtly different from reading a dynamic data source, which is\n // forbidden inside a cache scope.\n return;\n case 'private-cache':\n // A private cache scope is already dynamic by definition.\n return;\n case 'prerender':\n case 'prerender-runtime':\n case 'prerender-legacy':\n case 'prerender-ppr':\n case 'prerender-client':\n break;\n case 'request':\n if (true) {\n workUnitStore.usedDynamic = true;\n }\n break;\n default:\n workUnitStore;\n }\n}\nfunction abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore) {\n const reason = `Route ${route} needs to bail out of prerendering at this point because it used ${expression}.`;\n const error = createPrerenderInterruptedError(reason);\n prerenderStore.controller.abort(error);\n const dynamicTracking = prerenderStore.dynamicTracking;\n if (dynamicTracking) {\n dynamicTracking.dynamicAccesses.push({\n // When we aren't debugging, we don't need to create another error for the\n // stack trace.\n stack: dynamicTracking.isDebugDynamicAccesses ? new Error().stack : undefined,\n expression\n });\n }\n}\nfunction abortOnSynchronousPlatformIOAccess(route, expression, errorWithStack, prerenderStore) {\n const dynamicTracking = prerenderStore.dynamicTracking;\n abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore);\n // It is important that we set this tracking value after aborting. Aborts are executed\n // synchronously except for the case where you abort during render itself. By setting this\n // value late we can use it to determine if any of the aborted tasks are the task that\n // called the sync IO expression in the first place.\n if (dynamicTracking) {\n if (dynamicTracking.syncDynamicErrorWithStack === null) {\n dynamicTracking.syncDynamicErrorWithStack = errorWithStack;\n }\n }\n}\nfunction abortAndThrowOnSynchronousRequestDataAccess(route, expression, errorWithStack, prerenderStore) {\n const prerenderSignal = prerenderStore.controller.signal;\n if (prerenderSignal.aborted === false) {\n // TODO it would be better to move this aborted check into the callsite so we can avoid making\n // the error object when it isn't relevant to the aborting of the prerender however\n // since we need the throw semantics regardless of whether we abort it is easier to land\n // this way. See how this was handled with `abortOnSynchronousPlatformIOAccess` for a closer\n // to ideal implementation\n abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore);\n // It is important that we set this tracking value after aborting. Aborts are executed\n // synchronously except for the case where you abort during render itself. By setting this\n // value late we can use it to determine if any of the aborted tasks are the task that\n // called the sync IO expression in the first place.\n const dynamicTracking = prerenderStore.dynamicTracking;\n if (dynamicTracking) {\n if (dynamicTracking.syncDynamicErrorWithStack === null) {\n dynamicTracking.syncDynamicErrorWithStack = errorWithStack;\n }\n }\n }\n throw createPrerenderInterruptedError(`Route ${route} needs to bail out of prerendering at this point because it used ${expression}.`);\n}\nfunction Postpone({ reason, route }) {\n const prerenderStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();\n const dynamicTracking = prerenderStore && prerenderStore.type === 'prerender-ppr' ? prerenderStore.dynamicTracking : null;\n postponeWithTracking(route, reason, dynamicTracking);\n}\nfunction postponeWithTracking(route, expression, dynamicTracking) {\n assertPostpone();\n if (dynamicTracking) {\n dynamicTracking.dynamicAccesses.push({\n // When we aren't debugging, we don't need to create another error for the\n // stack trace.\n stack: dynamicTracking.isDebugDynamicAccesses ? new Error().stack : undefined,\n expression\n });\n }\n _react.default.unstable_postpone(createPostponeReason(route, expression));\n}\nfunction createPostponeReason(route, expression) {\n return `Route ${route} needs to bail out of prerendering at this point because it used ${expression}. ` + `React throws this special object to indicate where. It should not be caught by ` + `your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`;\n}\nfunction isDynamicPostpone(err) {\n if (typeof err === 'object' && err !== null && typeof err.message === 'string') {\n return isDynamicPostponeReason(err.message);\n }\n return false;\n}\nfunction isDynamicPostponeReason(reason) {\n return reason.includes('needs to bail out of prerendering at this point because it used') && reason.includes('Learn more: https://nextjs.org/docs/messages/ppr-caught-error');\n}\nif (isDynamicPostponeReason(createPostponeReason('%%%', '^^^')) === false) {\n throw Object.defineProperty(new Error('Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js'), \"__NEXT_ERROR_CODE\", {\n value: \"E296\",\n enumerable: false,\n configurable: true\n });\n}\nconst NEXT_PRERENDER_INTERRUPTED = 'NEXT_PRERENDER_INTERRUPTED';\nfunction createPrerenderInterruptedError(message) {\n const error = Object.defineProperty(new Error(message), \"__NEXT_ERROR_CODE\", {\n value: \"E394\",\n enumerable: false,\n configurable: true\n });\n error.digest = NEXT_PRERENDER_INTERRUPTED;\n return error;\n}\nfunction isPrerenderInterruptedError(error) {\n return typeof error === 'object' && error !== null && error.digest === NEXT_PRERENDER_INTERRUPTED && 'name' in error && 'message' in error && error instanceof Error;\n}\nfunction accessedDynamicData(dynamicAccesses) {\n return dynamicAccesses.length > 0;\n}\nfunction consumeDynamicAccess(serverDynamic, clientDynamic) {\n // We mutate because we only call this once we are no longer writing\n // to the dynamicTrackingState and it's more efficient than creating a new\n // array.\n serverDynamic.dynamicAccesses.push(...clientDynamic.dynamicAccesses);\n return serverDynamic.dynamicAccesses;\n}\nfunction formatDynamicAPIAccesses(dynamicAccesses) {\n return dynamicAccesses.filter((access)=>typeof access.stack === 'string' && access.stack.length > 0).map(({ expression, stack })=>{\n stack = stack.split('\\n')// Remove the \"Error: \" prefix from the first line of the stack trace as\n // well as the first 4 lines of the stack trace which is the distance\n // from the user code and the `new Error().stack` call.\n .slice(4).filter((line)=>{\n // Exclude Next.js internals from the stack trace.\n if (line.includes('node_modules/next/')) {\n return false;\n }\n // Exclude anonymous functions from the stack trace.\n if (line.includes(' (<anonymous>)')) {\n return false;\n }\n // Exclude Node.js internals from the stack trace.\n if (line.includes(' (node:')) {\n return false;\n }\n return true;\n }).join('\\n');\n return `Dynamic API Usage Debug - ${expression}:\\n${stack}`;\n });\n}\nfunction assertPostpone() {\n if (!hasPostpone) {\n throw Object.defineProperty(new Error(`Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js`), \"__NEXT_ERROR_CODE\", {\n value: \"E224\",\n enumerable: false,\n configurable: true\n });\n }\n}\nfunction createRenderInBrowserAbortSignal() {\n const controller = new AbortController();\n controller.abort(Object.defineProperty(new _bailouttocsr.BailoutToCSRError('Render in Browser'), \"__NEXT_ERROR_CODE\", {\n value: \"E721\",\n enumerable: false,\n configurable: true\n }));\n return controller.signal;\n}\nfunction createHangingInputAbortSignal(workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender':\n case 'prerender-runtime':\n const controller = new AbortController();\n if (workUnitStore.cacheSignal) {\n // If we have a cacheSignal it means we're in a prospective render. If\n // the input we're waiting on is coming from another cache, we do want\n // to wait for it so that we can resolve this cache entry too.\n workUnitStore.cacheSignal.inputReady().then(()=>{\n controller.abort();\n });\n } else {\n // Otherwise we're in the final render and we should already have all\n // our caches filled.\n // If the prerender uses stages, we have wait until the runtime stage,\n // at which point all runtime inputs will be resolved.\n // (otherwise, a runtime prerender might consider `cookies()` hanging\n // even though they'd resolve in the next task.)\n //\n // We might still be waiting on some microtasks so we\n // wait one tick before giving up. When we give up, we still want to\n // render the content of this cache as deeply as we can so that we can\n // suspend as deeply as possible in the tree or not at all if we don't\n // end up waiting for the input.\n const runtimeStagePromise = (0, _workunitasyncstorageexternal.getRuntimeStagePromise)(workUnitStore);\n if (runtimeStagePromise) {\n runtimeStagePromise.then(()=>(0, _scheduler.scheduleOnNextTick)(()=>controller.abort()));\n } else {\n (0, _scheduler.scheduleOnNextTick)(()=>controller.abort());\n }\n }\n return controller.signal;\n case 'prerender-client':\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'request':\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n return undefined;\n default:\n workUnitStore;\n }\n}\nfunction annotateDynamicAccess(expression, prerenderStore) {\n const dynamicTracking = prerenderStore.dynamicTracking;\n if (dynamicTracking) {\n dynamicTracking.dynamicAccesses.push({\n stack: dynamicTracking.isDebugDynamicAccesses ? new Error().stack : undefined,\n expression\n });\n }\n}\nfunction useDynamicRouteParams(expression) {\n const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();\n const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();\n if (workStore && workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender-client':\n case 'prerender':\n {\n const fallbackParams = workUnitStore.fallbackRouteParams;\n if (fallbackParams && fallbackParams.size > 0) {\n // We are in a prerender with cacheComponents semantics. We are going to\n // hang here and never resolve. This will cause the currently\n // rendering component to effectively be a dynamic hole.\n _react.default.use((0, _dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal, workStore.route, expression));\n }\n break;\n }\n case 'prerender-ppr':\n {\n const fallbackParams = workUnitStore.fallbackRouteParams;\n if (fallbackParams && fallbackParams.size > 0) {\n return postponeWithTracking(workStore.route, expression, workUnitStore.dynamicTracking);\n }\n break;\n }\n case 'prerender-runtime':\n throw Object.defineProperty(new _invarianterror.InvariantError(`\\`${expression}\\` was called during a runtime prerender. Next.js should be preventing ${expression} from being included in server components statically, but did not in this case.`), \"__NEXT_ERROR_CODE\", {\n value: \"E771\",\n enumerable: false,\n configurable: true\n });\n case 'cache':\n case 'private-cache':\n throw Object.defineProperty(new _invarianterror.InvariantError(`\\`${expression}\\` was called inside a cache scope. Next.js should be preventing ${expression} from being included in server components statically, but did not in this case.`), \"__NEXT_ERROR_CODE\", {\n value: \"E745\",\n enumerable: false,\n configurable: true\n });\n case 'prerender-legacy':\n case 'request':\n case 'unstable-cache':\n break;\n default:\n workUnitStore;\n }\n }\n}\nfunction useDynamicSearchParams(expression) {\n const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();\n const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();\n if (!workStore) {\n // We assume pages router context and just return\n return;\n }\n if (!workUnitStore) {\n (0, _workunitasyncstorageexternal.throwForMissingRequestStore)(expression);\n }\n switch(workUnitStore.type){\n case 'prerender-client':\n {\n _react.default.use((0, _dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal, workStore.route, expression));\n break;\n }\n case 'prerender-legacy':\n case 'prerender-ppr':\n {\n if (workStore.forceStatic) {\n return;\n }\n throw Object.defineProperty(new _bailouttocsr.BailoutToCSRError(expression), \"__NEXT_ERROR_CODE\", {\n value: \"E394\",\n enumerable: false,\n configurable: true\n });\n }\n case 'prerender':\n case 'prerender-runtime':\n throw Object.defineProperty(new _invarianterror.InvariantError(`\\`${expression}\\` was called from a Server Component. Next.js should be preventing ${expression} from being included in server components statically, but did not in this case.`), \"__NEXT_ERROR_CODE\", {\n value: \"E795\",\n enumerable: false,\n configurable: true\n });\n case 'cache':\n case 'unstable-cache':\n case 'private-cache':\n throw Object.defineProperty(new _invarianterror.InvariantError(`\\`${expression}\\` was called inside a cache scope. Next.js should be preventing ${expression} from being included in server components statically, but did not in this case.`), \"__NEXT_ERROR_CODE\", {\n value: \"E745\",\n enumerable: false,\n configurable: true\n });\n case 'request':\n return;\n default:\n workUnitStore;\n }\n}\nconst hasSuspenseRegex = /\\n\\s+at Suspense \\(<anonymous>\\)/;\n// Common implicit body tags that React will treat as body when placed directly in html\nconst bodyAndImplicitTags = 'body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6';\n// Detects when RootLayoutBoundary (our framework marker component) appears\n// after Suspense in the component stack, indicating the root layout is wrapped\n// within a Suspense boundary. Ensures no body/html/implicit-body components are in between.\n//\n// Example matches:\n// at Suspense (<anonymous>)\n// at __next_root_layout_boundary__ (<anonymous>)\n//\n// Or with other components in between (but not body/html/implicit-body):\n// at Suspense (<anonymous>)\n// at SomeComponent (<anonymous>)\n// at __next_root_layout_boundary__ (<anonymous>)\nconst hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex = new RegExp(`\\\\n\\\\s+at Suspense \\\\(<anonymous>\\\\)(?:(?!\\\\n\\\\s+at (?:${bodyAndImplicitTags}) \\\\(<anonymous>\\\\))[\\\\s\\\\S])*?\\\\n\\\\s+at ${_boundaryconstants.ROOT_LAYOUT_BOUNDARY_NAME} \\\\([^\\\\n]*\\\\)`);\nconst hasMetadataRegex = new RegExp(`\\\\n\\\\s+at ${_boundaryconstants.METADATA_BOUNDARY_NAME}[\\\\n\\\\s]`);\nconst hasViewportRegex = new RegExp(`\\\\n\\\\s+at ${_boundaryconstants.VIEWPORT_BOUNDARY_NAME}[\\\\n\\\\s]`);\nconst hasOutletRegex = new RegExp(`\\\\n\\\\s+at ${_boundaryconstants.OUTLET_BOUNDARY_NAME}[\\\\n\\\\s]`);\nfunction trackAllowedDynamicAccess(workStore, componentStack, dynamicValidation, clientDynamic) {\n if (hasOutletRegex.test(componentStack)) {\n // We don't need to track that this is dynamic. It is only so when something else is also dynamic.\n return;\n } else if (hasMetadataRegex.test(componentStack)) {\n dynamicValidation.hasDynamicMetadata = true;\n return;\n } else if (hasViewportRegex.test(componentStack)) {\n dynamicValidation.hasDynamicViewport = true;\n return;\n } else if (hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex.test(componentStack)) {\n // For Suspense within body, the prelude wouldn't be empty so it wouldn't violate the empty static shells rule.\n // But if you have Suspense above body, the prelude is empty but we allow that because having Suspense\n // is an explicit signal from the user that they acknowledge the empty shell and want dynamic rendering.\n dynamicValidation.hasAllowedDynamic = true;\n dynamicValidation.hasSuspenseAboveBody = true;\n return;\n } else if (hasSuspenseRegex.test(componentStack)) {\n // this error had a Suspense boundary above it so we don't need to report it as a source\n // of disallowed\n dynamicValidation.hasAllowedDynamic = true;\n return;\n } else if (clientDynamic.syncDynamicErrorWithStack) {\n // This task was the task that called the sync error.\n dynamicValidation.dynamicErrors.push(clientDynamic.syncDynamicErrorWithStack);\n return;\n } else {\n const message = `Route \"${workStore.route}\": Uncached data was accessed outside of ` + '<Suspense>. This delays the entire page from rendering, resulting in a ' + 'slow user experience. Learn more: ' + 'https://nextjs.org/docs/messages/blocking-route';\n const error = createErrorWithComponentOrOwnerStack(message, componentStack);\n dynamicValidation.dynamicErrors.push(error);\n return;\n }\n}\nfunction trackDynamicHoleInRuntimeShell(workStore, componentStack, dynamicValidation, clientDynamic) {\n if (hasOutletRegex.test(componentStack)) {\n // We don't need to track that this is dynamic. It is only so when something else is also dynamic.\n return;\n } else if (hasMetadataRegex.test(componentStack)) {\n const message = `Route \"${workStore.route}\": Uncached data or \\`connection()\\` was accessed inside \\`generateMetadata\\`. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`;\n const error = createErrorWithComponentOrOwnerStack(message, componentStack);\n dynamicValidation.dynamicMetadata = error;\n return;\n } else if (hasViewportRegex.test(componentStack)) {\n const message = `Route \"${workStore.route}\": Uncached data or \\`connection()\\` was accessed inside \\`generateViewport\\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`;\n const error = createErrorWithComponentOrOwnerStack(message, componentStack);\n dynamicValidation.dynamicErrors.push(error);\n return;\n } else if (hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex.test(componentStack)) {\n // For Suspense within body, the prelude wouldn't be empty so it wouldn't violate the empty static shells rule.\n // But if you have Suspense above body, the prelude is empty but we allow that because having Suspense\n // is an explicit signal from the user that they acknowledge the empty shell and want dynamic rendering.\n dynamicValidation.hasAllowedDynamic = true;\n dynamicValidation.hasSuspenseAboveBody = true;\n return;\n } else if (hasSuspenseRegex.test(componentStack)) {\n // this error had a Suspense boundary above it so we don't need to report it as a source\n // of disallowed\n dynamicValidation.hasAllowedDynamic = true;\n return;\n } else if (clientDynamic.syncDynamicErrorWithStack) {\n // This task was the task that called the sync error.\n dynamicValidation.dynamicErrors.push(clientDynamic.syncDynamicErrorWithStack);\n return;\n } else {\n const message = `Route \"${workStore.route}\": Uncached data or \\`connection()\\` was accessed outside of \\`<Suspense>\\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`;\n const error = createErrorWithComponentOrOwnerStack(message, componentStack);\n dynamicValidation.dynamicErrors.push(error);\n return;\n }\n}\nfunction trackDynamicHoleInStaticShell(workStore, componentStack, dynamicValidation, clientDynamic) {\n if (hasOutletRegex.test(componentStack)) {\n // We don't need to track that this is dynamic. It is only so when something else is also dynamic.\n return;\n } else if (hasMetadataRegex.test(componentStack)) {\n const message = `Route \"${workStore.route}\": Runtime data such as \\`cookies()\\`, \\`headers()\\`, \\`params\\`, or \\`searchParams\\` was accessed inside \\`generateMetadata\\` or you have file-based metadata such as icons that depend on dynamic params segments. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`;\n const error = createErrorWithComponentOrOwnerStack(message, componentStack);\n dynamicValidation.dynamicMetadata = error;\n return;\n } else if (hasViewportRegex.test(componentStack)) {\n const message = `Route \"${workStore.route}\": Runtime data such as \\`cookies()\\`, \\`headers()\\`, \\`params\\`, or \\`searchParams\\` was accessed inside \\`generateViewport\\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`;\n const error = createErrorWithComponentOrOwnerStack(message, componentStack);\n dynamicValidation.dynamicErrors.push(error);\n return;\n } else if (hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex.test(componentStack)) {\n // For Suspense within body, the prelude wouldn't be empty so it wouldn't violate the empty static shells rule.\n // But if you have Suspense above body, the prelude is empty but we allow that because having Suspense\n // is an explicit signal from the user that they acknowledge the empty shell and want dynamic rendering.\n dynamicValidation.hasAllowedDynamic = true;\n dynamicValidation.hasSuspenseAboveBody = true;\n return;\n } else if (hasSuspenseRegex.test(componentStack)) {\n // this error had a Suspense boundary above it so we don't need to report it as a source\n // of disallowed\n dynamicValidation.hasAllowedDynamic = true;\n return;\n } else if (clientDynamic.syncDynamicErrorWithStack) {\n // This task was the task that called the sync error.\n dynamicValidation.dynamicErrors.push(clientDynamic.syncDynamicErrorWithStack);\n return;\n } else {\n const message = `Route \"${workStore.route}\": Runtime data such as \\`cookies()\\`, \\`headers()\\`, \\`params\\`, or \\`searchParams\\` was accessed outside of \\`<Suspense>\\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`;\n const error = createErrorWithComponentOrOwnerStack(message, componentStack);\n dynamicValidation.dynamicErrors.push(error);\n return;\n }\n}\n/**\n * In dev mode, we prefer using the owner stack, otherwise the provided\n * component stack is used.\n */ function createErrorWithComponentOrOwnerStack(message, componentStack) {\n const ownerStack = true && _react.default.captureOwnerStack ? _react.default.captureOwnerStack() : null;\n const error = Object.defineProperty(new Error(message), \"__NEXT_ERROR_CODE\", {\n value: \"E394\",\n enumerable: false,\n configurable: true\n });\n // TODO go back to owner stack here if available. This is temporarily using componentStack to get the right\n //\n error.stack = error.name + ': ' + message + (ownerStack || componentStack);\n return error;\n}\nvar PreludeState = /*#__PURE__*/ function(PreludeState) {\n PreludeState[PreludeState[\"Full\"] = 0] = \"Full\";\n PreludeState[PreludeState[\"Empty\"] = 1] = \"Empty\";\n PreludeState[PreludeState[\"Errored\"] = 2] = \"Errored\";\n return PreludeState;\n}({});\nfunction logDisallowedDynamicError(workStore, error) {\n console.error(error);\n if (!workStore.dev) {\n if (workStore.hasReadableErrorStacks) {\n console.error(`To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running \\`next dev\\`, then open \"${workStore.route}\" in your browser to investigate the error.`);\n } else {\n console.error(`To get a more detailed stack trace and pinpoint the issue, try one of the following:\n - Start the app in development mode by running \\`next dev\\`, then open \"${workStore.route}\" in your browser to investigate the error.\n - Rerun the production build with \\`next build --debug-prerender\\` to generate better stack traces.`);\n }\n }\n}\nfunction throwIfDisallowedDynamic(workStore, prelude, dynamicValidation, serverDynamic) {\n if (serverDynamic.syncDynamicErrorWithStack) {\n logDisallowedDynamicError(workStore, serverDynamic.syncDynamicErrorWithStack);\n throw new _staticgenerationbailout.StaticGenBailoutError();\n }\n if (prelude !== 0) {\n if (dynamicValidation.hasSuspenseAboveBody) {\n // This route has opted into allowing fully dynamic rendering\n // by including a Suspense boundary above the body. In this case\n // a lack of a shell is not considered disallowed so we simply return\n return;\n }\n // We didn't have any sync bailouts but there may be user code which\n // blocked the root. We would have captured these during the prerender\n // and can log them here and then terminate the build/validating render\n const dynamicErrors = dynamicValidation.dynamicErrors;\n if (dynamicErrors.length > 0) {\n for(let i = 0; i < dynamicErrors.length; i++){\n logDisallowedDynamicError(workStore, dynamicErrors[i]);\n }\n throw new _staticgenerationbailout.StaticGenBailoutError();\n }\n // If we got this far then the only other thing that could be blocking\n // the root is dynamic Viewport. If this is dynamic then\n // you need to opt into that by adding a Suspense boundary above the body\n // to indicate your are ok with fully dynamic rendering.\n if (dynamicValidation.hasDynamicViewport) {\n console.error(`Route \"${workStore.route}\" has a \\`generateViewport\\` that depends on Request data (\\`cookies()\\`, etc...) or uncached external data (\\`fetch(...)\\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`);\n throw new _staticgenerationbailout.StaticGenBailoutError();\n }\n if (prelude === 1) {\n // If we ever get this far then we messed up the tracking of invalid dynamic.\n // We still adhere to the constraint that you must produce a shell but invite the\n // user to report this as a bug in Next.js.\n console.error(`Route \"${workStore.route}\" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`);\n throw new _staticgenerationbailout.StaticGenBailoutError();\n }\n } else {\n if (dynamicValidation.hasAllowedDynamic === false && dynamicValidation.hasDynamicMetadata) {\n console.error(`Route \"${workStore.route}\" has a \\`generateMetadata\\` that depends on Request data (\\`cookies()\\`, etc...) or uncached external data (\\`fetch(...)\\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`);\n throw new _staticgenerationbailout.StaticGenBailoutError();\n }\n }\n}\nfunction getStaticShellDisallowedDynamicReasons(workStore, prelude, dynamicValidation) {\n if (dynamicValidation.hasSuspenseAboveBody) {\n // This route has opted into allowing fully dynamic rendering\n // by including a Suspense boundary above the body. In this case\n // a lack of a shell is not considered disallowed so we simply return\n return [];\n }\n if (prelude !== 0) {\n // We didn't have any sync bailouts but there may be user code which\n // blocked the root. We would have captured these during the prerender\n // and can log them here and then terminate the build/validating render\n const dynamicErrors = dynamicValidation.dynamicErrors;\n if (dynamicErrors.length > 0) {\n return dynamicErrors;\n }\n if (prelude === 1) {\n // If we ever get this far then we messed up the tracking of invalid dynamic.\n // We still adhere to the constraint that you must produce a shell but invite the\n // user to report this as a bug in Next.js.\n return [\n Object.defineProperty(new _invarianterror.InvariantError(`Route \"${workStore.route}\" did not produce a static shell and Next.js was unable to determine a reason.`), \"__NEXT_ERROR_CODE\", {\n value: \"E936\",\n enumerable: false,\n configurable: true\n })\n ];\n }\n } else {\n // We have a prelude but we might still have dynamic metadata without any other dynamic access\n if (dynamicValidation.hasAllowedDynamic === false && dynamicValidation.dynamicErrors.length === 0 && dynamicValidation.dynamicMetadata) {\n return [\n dynamicValidation.dynamicMetadata\n ];\n }\n }\n // We had a non-empty prelude and there are no dynamic holes\n return [];\n}\nfunction delayUntilRuntimeStage(prerenderStore, result) {\n if (prerenderStore.runtimeStagePromise) {\n return prerenderStore.runtimeStagePromise.then(()=>result);\n }\n return result;\n}\n\n//# sourceMappingURL=dynamic-rendering.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9keW5hbWljLXJlbmRlcmluZy5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBaUI7QUFDakIsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQTZCTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7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QUNBLG1GQUFtRixnQkFBZ0I7QUFDbkc7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZHluYW1pYy1yZW5kZXJpbmcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUgZnVuY3Rpb25zIHByb3ZpZGVkIGJ5IHRoaXMgbW9kdWxlIGFyZSB1c2VkIHRvIGNvbW11bmljYXRlIGNlcnRhaW4gcHJvcGVydGllc1xuICogYWJvdXQgdGhlIGN1cnJlbnRseSBydW5uaW5nIGNvZGUgc28gdGhhdCBOZXh0LmpzIGNhbiBtYWtlIGRlY2lzaW9ucyBvbiBob3cgdG8gaGFuZGxlXG4gKiB0aGUgY3VycmVudCBleGVjdXRpb24gaW4gZGlmZmVyZW50IHJlbmRlcmluZyBtb2RlcyBzdWNoIGFzIHByZS1yZW5kZXJpbmcsIHJlc3VtaW5nLCBhbmQgU1NSLlxuICpcbiAqIFRvZGF5IE5leHQuanMgdHJlYXRzIGFsbCBjb2RlIGFzIHBvdGVudGlhbGx5IHN0YXRpYy4gQ2VydGFpbiBBUElzIG1heSBvbmx5IG1ha2Ugc2Vuc2Ugd2hlbiBkeW5hbWljYWxseSByZW5kZXJpbmcuXG4gKiBUcmFkaXRpb25hbGx5IHRoaXMgbWVhbnQgZGVvcHRpbmcgdGhlIGVudGlyZSByZW5kZXIgdG8gZHluYW1pYyBob3dldmVyIHdpdGggUFBSIHdlIGNhbiBub3cgZGVvcHQgcGFydHNcbiAqIG9mIGEgUmVhY3QgdHJlZSBhcyBkeW5hbWljIHdoaWxlIHN0aWxsIGtlZXBpbmcgb3RoZXIgcGFydHMgc3RhdGljLiBUaGVyZSBhcmUgcmVhbGx5IHR3byBkaWZmZXJlbnQga2luZHMgb2ZcbiAqIER5bmFtaWMgaW5kaWNhdGlvbnMuXG4gKlxuICogVGhlIGZpcnN0IGlzIHNpbXBseSBhbiBpbnRlbnRpb24gdG8gYmUgZHluYW1pYy4gdW5zdGFibGVfbm9TdG9yZSBpcyBhbiBleGFtcGxlIG9mIHRoaXMgd2hlcmVcbiAqIHRoZSBjdXJyZW50bHkgZXhlY3V0aW5nIGNvZGUgc2ltcGx5IGRlY2xhcmVzIHRoYXQgdGhlIGN1cnJlbnQgc2NvcGUgaXMgZHluYW1pYyBidXQgaWYgeW91IHVzZSBpdFxuICogaW5zaWRlIHVuc3RhYmxlX2NhY2hlIGl0IGNhbiBzdGlsbCBiZSBjYWNoZWQuIFRoaXMgdHlwZSBvZiBpbmRpY2F0aW9uIGNhbiBiZSByZW1vdmVkIGlmIHdlIGV2ZXJcbiAqIG1ha2UgdGhlIGRlZmF1bHQgZHluYW1pYyB0byBiZWdpbiB3aXRoIGJlY2F1c2UgdGhlIG9ubHkgd2F5IHlvdSB3b3VsZCBldmVyIGJlIHN0YXRpYyBpcyBpbnNpZGVcbiAqIGEgY2FjaGUgc2NvcGUgd2hpY2ggdGhpcyBpbmRpY2F0aW9uIGRvZXMgbm90IGFmZmVjdC5cbiAqXG4gKiBUaGUgc2Vjb25kIGlzIGFuIGluZGljYXRpb24gdGhhdCBhIGR5bmFtaWMgZGF0YSBzb3VyY2Ugd2FzIHJlYWQuIFRoaXMgaXMgYSBzdHJvbmdlciBmb3JtIG9mIGR5bmFtaWNcbiAqIGJlY2F1c2UgaXQgbWVhbnMgdGhhdCBpdCBpcyBpbmFwcHJvcHJpYXRlIHRvIGNhY2hlIHRoaXMgYXQgYWxsLiB1c2luZyBhIGR5bmFtaWMgZGF0YSBzb3VyY2UgaW5zaWRlXG4gKiB1bnN0YWJsZV9jYWNoZSBzaG91bGQgZXJyb3IuIElmIHlvdSB3YW50IHRvIHVzZSBzb21lIGR5bmFtaWMgZGF0YSBpbnNpZGUgdW5zdGFibGVfY2FjaGUgeW91IHNob3VsZFxuICogcmVhZCB0aGF0IGRhdGEgb3V0c2lkZSB0aGUgY2FjaGUgYW5kIHBhc3MgaXQgaW4gYXMgYW4gYXJndW1lbnQgdG8gdGhlIGNhY2hlZCBmdW5jdGlvbi5cbiAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIFBvc3Rwb25lOiBudWxsLFxuICAgIFByZWx1ZGVTdGF0ZTogbnVsbCxcbiAgICBhYm9ydEFuZFRocm93T25TeW5jaHJvbm91c1JlcXVlc3REYXRhQWNjZXNzOiBudWxsLFxuICAgIGFib3J0T25TeW5jaHJvbm91c1BsYXRmb3JtSU9BY2Nlc3M6IG51bGwsXG4gICAgYWNjZXNzZWREeW5hbWljRGF0YTogbnVsbCxcbiAgICBhbm5vdGF0ZUR5bmFtaWNBY2Nlc3M6IG51bGwsXG4gICAgY29uc3VtZUR5bmFtaWNBY2Nlc3M6IG51bGwsXG4gICAgY3JlYXRlRHluYW1pY1RyYWNraW5nU3RhdGU6IG51bGwsXG4gICAgY3JlYXRlRHluYW1pY1ZhbGlkYXRpb25TdGF0ZTogbnVsbCxcbiAgICBjcmVhdGVIYW5naW5nSW5wdXRBYm9ydFNpZ25hbDogbnVsbCxcbiAgICBjcmVhdGVSZW5kZXJJbkJyb3dzZXJBYm9ydFNpZ25hbDogbnVsbCxcbiAgICBkZWxheVVudGlsUnVudGltZVN0YWdlOiBudWxsLFxuICAgIGZvcm1hdER5bmFtaWNBUElBY2Nlc3NlczogbnVsbCxcbiAgICBnZXRGaXJzdER5bmFtaWNSZWFzb246IG51bGwsXG4gICAgZ2V0U3RhdGljU2hlbGxEaXNhbGxvd2VkRHluYW1pY1JlYXNvbnM6IG51bGwsXG4gICAgaXNEeW5hbWljUG9zdHBvbmU6IG51bGwsXG4gICAgaXNQcmVyZW5kZXJJbnRlcnJ1cHRlZEVycm9yOiBudWxsLFxuICAgIGxvZ0Rpc2FsbG93ZWREeW5hbWljRXJyb3I6IG51bGwsXG4gICAgbWFya0N1cnJlbnRTY29wZUFzRHluYW1pYzogbnVsbCxcbiAgICBwb3N0cG9uZVdpdGhUcmFja2luZzogbnVsbCxcbiAgICB0aHJvd0lmRGlzYWxsb3dlZER5bmFtaWM6IG51bGwsXG4gICAgdGhyb3dUb0ludGVycnVwdFN0YXRpY0dlbmVyYXRpb246IG51bGwsXG4gICAgdHJhY2tBbGxvd2VkRHluYW1pY0FjY2VzczogbnVsbCxcbiAgICB0cmFja0R5bmFtaWNEYXRhSW5EeW5hbWljUmVuZGVyOiBudWxsLFxuICAgIHRyYWNrRHluYW1pY0hvbGVJblJ1bnRpbWVTaGVsbDogbnVsbCxcbiAgICB0cmFja0R5bmFtaWNIb2xlSW5TdGF0aWNTaGVsbDogbnVsbCxcbiAgICB1c2VEeW5hbWljUm91dGVQYXJhbXM6IG51bGwsXG4gICAgdXNlRHluYW1pY1NlYXJjaFBhcmFtczogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBQb3N0cG9uZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQb3N0cG9uZTtcbiAgICB9LFxuICAgIFByZWx1ZGVTdGF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQcmVsdWRlU3RhdGU7XG4gICAgfSxcbiAgICBhYm9ydEFuZFRocm93T25TeW5jaHJvbm91c1JlcXVlc3REYXRhQWNjZXNzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFib3J0QW5kVGhyb3dPblN5bmNocm9ub3VzUmVxdWVzdERhdGFBY2Nlc3M7XG4gICAgfSxcbiAgICBhYm9ydE9uU3luY2hyb25vdXNQbGF0Zm9ybUlPQWNjZXNzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFib3J0T25TeW5jaHJvbm91c1BsYXRmb3JtSU9BY2Nlc3M7XG4gICAgfSxcbiAgICBhY2Nlc3NlZER5bmFtaWNEYXRhOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkRHluYW1pY0RhdGE7XG4gICAgfSxcbiAgICBhbm5vdGF0ZUR5bmFtaWNBY2Nlc3M6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYW5ub3RhdGVEeW5hbWljQWNjZXNzO1xuICAgIH0sXG4gICAgY29uc3VtZUR5bmFtaWNBY2Nlc3M6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY29uc3VtZUR5bmFtaWNBY2Nlc3M7XG4gICAgfSxcbiAgICBjcmVhdGVEeW5hbWljVHJhY2tpbmdTdGF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVEeW5hbWljVHJhY2tpbmdTdGF0ZTtcbiAgICB9LFxuICAgIGNyZWF0ZUR5bmFtaWNWYWxpZGF0aW9uU3RhdGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlRHluYW1pY1ZhbGlkYXRpb25TdGF0ZTtcbiAgICB9LFxuICAgIGNyZWF0ZUhhbmdpbmdJbnB1dEFib3J0U2lnbmFsOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUhhbmdpbmdJbnB1dEFib3J0U2lnbmFsO1xuICAgIH0sXG4gICAgY3JlYXRlUmVuZGVySW5Ccm93c2VyQWJvcnRTaWduYWw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlUmVuZGVySW5Ccm93c2VyQWJvcnRTaWduYWw7XG4gICAgfSxcbiAgICBkZWxheVVudGlsUnVudGltZVN0YWdlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGRlbGF5VW50aWxSdW50aW1lU3RhZ2U7XG4gICAgfSxcbiAgICBmb3JtYXREeW5hbWljQVBJQWNjZXNzZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZm9ybWF0RHluYW1pY0FQSUFjY2Vzc2VzO1xuICAgIH0sXG4gICAgZ2V0Rmlyc3REeW5hbWljUmVhc29uOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldEZpcnN0RHluYW1pY1JlYXNvbjtcbiAgICB9LFxuICAgIGdldFN0YXRpY1NoZWxsRGlzYWxsb3dlZER5bmFtaWNSZWFzb25zOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFN0YXRpY1NoZWxsRGlzYWxsb3dlZER5bmFtaWNSZWFzb25zO1xuICAgIH0sXG4gICAgaXNEeW5hbWljUG9zdHBvbmU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNEeW5hbWljUG9zdHBvbmU7XG4gICAgfSxcbiAgICBpc1ByZXJlbmRlckludGVycnVwdGVkRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNQcmVyZW5kZXJJbnRlcnJ1cHRlZEVycm9yO1xuICAgIH0sXG4gICAgbG9nRGlzYWxsb3dlZER5bmFtaWNFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBsb2dEaXNhbGxvd2VkRHluYW1pY0Vycm9yO1xuICAgIH0sXG4gICAgbWFya0N1cnJlbnRTY29wZUFzRHluYW1pYzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBtYXJrQ3VycmVudFNjb3BlQXNEeW5hbWljO1xuICAgIH0sXG4gICAgcG9zdHBvbmVXaXRoVHJhY2tpbmc6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcG9zdHBvbmVXaXRoVHJhY2tpbmc7XG4gICAgfSxcbiAgICB0aHJvd0lmRGlzYWxsb3dlZER5bmFtaWM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhyb3dJZkRpc2FsbG93ZWREeW5hbWljO1xuICAgIH0sXG4gICAgdGhyb3dUb0ludGVycnVwdFN0YXRpY0dlbmVyYXRpb246IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhyb3dUb0ludGVycnVwdFN0YXRpY0dlbmVyYXRpb247XG4gICAgfSxcbiAgICB0cmFja0FsbG93ZWREeW5hbWljQWNjZXNzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRyYWNrQWxsb3dlZER5bmFtaWNBY2Nlc3M7XG4gICAgfSxcbiAgICB0cmFja0R5bmFtaWNEYXRhSW5EeW5hbWljUmVuZGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRyYWNrRHluYW1pY0RhdGFJbkR5bmFtaWNSZW5kZXI7XG4gICAgfSxcbiAgICB0cmFja0R5bmFtaWNIb2xlSW5SdW50aW1lU2hlbGw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdHJhY2tEeW5hbWljSG9sZUluUnVudGltZVNoZWxsO1xuICAgIH0sXG4gICAgdHJhY2tEeW5hbWljSG9sZUluU3RhdGljU2hlbGw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdHJhY2tEeW5hbWljSG9sZUluU3RhdGljU2hlbGw7XG4gICAgfSxcbiAgICB1c2VEeW5hbWljUm91dGVQYXJhbXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlRHluYW1pY1JvdXRlUGFyYW1zO1xuICAgIH0sXG4gICAgdXNlRHluYW1pY1NlYXJjaFBhcmFtczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1c2VEeW5hbWljU2VhcmNoUGFyYW1zO1xuICAgIH1cbn0pO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9ob29rc3NlcnZlcmNvbnRleHQgPSByZXF1aXJlKFwiLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvaG9va3Mtc2VydmVyLWNvbnRleHRcIik7XG5jb25zdCBfc3RhdGljZ2VuZXJhdGlvbmJhaWxvdXQgPSByZXF1aXJlKFwiLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvc3RhdGljLWdlbmVyYXRpb24tYmFpbG91dFwiKTtcbmNvbnN0IF93b3JrdW5pdGFzeW5jc3RvcmFnZWV4dGVybmFsID0gcmVxdWlyZShcIi4vd29yay11bml0LWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWxcIik7XG5jb25zdCBfd29ya2FzeW5jc3RvcmFnZWV4dGVybmFsID0gcmVxdWlyZShcIi4uL2FwcC1yZW5kZXIvd29yay1hc3luYy1zdG9yYWdlLmV4dGVybmFsXCIpO1xuY29uc3QgX2R5bmFtaWNyZW5kZXJpbmd1dGlscyA9IHJlcXVpcmUoXCIuLi9keW5hbWljLXJlbmRlcmluZy11dGlsc1wiKTtcbmNvbnN0IF9ib3VuZGFyeWNvbnN0YW50cyA9IHJlcXVpcmUoXCIuLi8uLi9saWIvZnJhbWV3b3JrL2JvdW5kYXJ5LWNvbnN0YW50c1wiKTtcbmNvbnN0IF9zY2hlZHVsZXIgPSByZXF1aXJlKFwiLi4vLi4vbGliL3NjaGVkdWxlclwiKTtcbmNvbnN0IF9iYWlsb3V0dG9jc3IgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9sYXp5LWR5bmFtaWMvYmFpbG91dC10by1jc3JcIik7XG5jb25zdCBfaW52YXJpYW50ZXJyb3IgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9pbnZhcmlhbnQtZXJyb3JcIik7XG5mdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQob2JqKSB7XG4gICAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHtcbiAgICAgICAgZGVmYXVsdDogb2JqXG4gICAgfTtcbn1cbmNvbnN0IGhhc1Bvc3Rwb25lID0gdHlwZW9mIF9yZWFjdC5kZWZhdWx0LnVuc3RhYmxlX3Bvc3Rwb25lID09PSAnZnVuY3Rpb24nO1xuZnVuY3Rpb24gY3JlYXRlRHluYW1pY1RyYWNraW5nU3RhdGUoaXNEZWJ1Z0R5bmFtaWNBY2Nlc3Nlcykge1xuICAgIHJldHVybiB7XG4gICAgICAgIGlzRGVidWdEeW5hbWljQWNjZXNzZXMsXG4gICAgICAgIGR5bmFtaWNBY2Nlc3NlczogW10sXG4gICAgICAgIHN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2s6IG51bGxcbiAgICB9O1xufVxuZnVuY3Rpb24gY3JlYXRlRHluYW1pY1ZhbGlkYXRpb25TdGF0ZSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBoYXNTdXNwZW5zZUFib3ZlQm9keTogZmFsc2UsXG4gICAgICAgIGhhc0R5bmFtaWNNZXRhZGF0YTogZmFsc2UsXG4gICAgICAgIGR5bmFtaWNNZXRhZGF0YTogbnVsbCxcbiAgICAgICAgaGFzRHluYW1pY1ZpZXdwb3J0OiBmYWxzZSxcbiAgICAgICAgaGFzQWxsb3dlZER5bmFtaWM6IGZhbHNlLFxuICAgICAgICBkeW5hbWljRXJyb3JzOiBbXVxuICAgIH07XG59XG5mdW5jdGlvbiBnZXRGaXJzdER5bmFtaWNSZWFzb24odHJhY2tpbmdTdGF0ZSkge1xuICAgIHZhciBfdHJhY2tpbmdTdGF0ZV9keW5hbWljQWNjZXNzZXNfO1xuICAgIHJldHVybiAoX3RyYWNraW5nU3RhdGVfZHluYW1pY0FjY2Vzc2VzXyA9IHRyYWNraW5nU3RhdGUuZHluYW1pY0FjY2Vzc2VzWzBdKSA9PSBudWxsID8gdm9pZCAwIDogX3RyYWNraW5nU3RhdGVfZHluYW1pY0FjY2Vzc2VzXy5leHByZXNzaW9uO1xufVxuZnVuY3Rpb24gbWFya0N1cnJlbnRTY29wZUFzRHluYW1pYyhzdG9yZSwgd29ya1VuaXRTdG9yZSwgZXhwcmVzc2lvbikge1xuICAgIGlmICh3b3JrVW5pdFN0b3JlKSB7XG4gICAgICAgIHN3aXRjaCh3b3JrVW5pdFN0b3JlLnR5cGUpe1xuICAgICAgICAgICAgY2FzZSAnY2FjaGUnOlxuICAgICAgICAgICAgY2FzZSAndW5zdGFibGUtY2FjaGUnOlxuICAgICAgICAgICAgICAgIC8vIEluc2lkZSBjYWNoZSBzY29wZXMsIG1hcmtpbmcgYSBzY29wZSBhcyBkeW5hbWljIGhhcyBubyBlZmZlY3QsXG4gICAgICAgICAgICAgICAgLy8gYmVjYXVzZSB0aGUgb3V0ZXIgY2FjaGUgc2NvcGUgY3JlYXRlcyBhIGNhY2hlIGJvdW5kYXJ5LiBUaGlzIGlzXG4gICAgICAgICAgICAgICAgLy8gc3VidGx5IGRpZmZlcmVudCBmcm9tIHJlYWRpbmcgYSBkeW5hbWljIGRhdGEgc291cmNlLCB3aGljaCBpc1xuICAgICAgICAgICAgICAgIC8vIGZvcmJpZGRlbiBpbnNpZGUgYSBjYWNoZSBzY29wZS5cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBjYXNlICdwcml2YXRlLWNhY2hlJzpcbiAgICAgICAgICAgICAgICAvLyBBIHByaXZhdGUgY2FjaGUgc2NvcGUgaXMgYWxyZWFkeSBkeW5hbWljIGJ5IGRlZmluaXRpb24uXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgY2FzZSAncHJlcmVuZGVyLWxlZ2FjeSc6XG4gICAgICAgICAgICBjYXNlICdwcmVyZW5kZXItcHByJzpcbiAgICAgICAgICAgIGNhc2UgJ3JlcXVlc3QnOlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB3b3JrVW5pdFN0b3JlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIElmIHdlJ3JlIGZvcmNpbmcgZHluYW1pYyByZW5kZXJpbmcgb3Igd2UncmUgZm9yY2luZyBzdGF0aWMgcmVuZGVyaW5nLCB3ZVxuICAgIC8vIGRvbid0IG5lZWQgdG8gZG8gYW55dGhpbmcgaGVyZSBiZWNhdXNlIHRoZSBlbnRpcmUgcGFnZSBpcyBhbHJlYWR5IGR5bmFtaWNcbiAgICAvLyBvciBpdCdzIHN0YXRpYyBhbmQgaXQgc2hvdWxkIG5vdCB0aHJvdyBvciBwb3N0cG9uZSBoZXJlLlxuICAgIGlmIChzdG9yZS5mb3JjZUR5bmFtaWMgfHwgc3RvcmUuZm9yY2VTdGF0aWMpIHJldHVybjtcbiAgICBpZiAoc3RvcmUuZHluYW1pY1Nob3VsZEVycm9yKSB7XG4gICAgICAgIHRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0LlN0YXRpY0dlbkJhaWxvdXRFcnJvcihgUm91dGUgJHtzdG9yZS5yb3V0ZX0gd2l0aCBcXGBkeW5hbWljID0gXCJlcnJvclwiXFxgIGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkIFxcYCR7ZXhwcmVzc2lvbn1cXGAuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcmVuZGVyaW5nL3N0YXRpYy1hbmQtZHluYW1pYyNkeW5hbWljLXJlbmRlcmluZ2ApLCBcIl9fTkVYVF9FUlJPUl9DT0RFXCIsIHtcbiAgICAgICAgICAgIHZhbHVlOiBcIkU1NTNcIixcbiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAod29ya1VuaXRTdG9yZSkge1xuICAgICAgICBzd2l0Y2god29ya1VuaXRTdG9yZS50eXBlKXtcbiAgICAgICAgICAgIGNhc2UgJ3ByZXJlbmRlci1wcHInOlxuICAgICAgICAgICAgICAgIHJldHVybiBwb3N0cG9uZVdpdGhUcmFja2luZyhzdG9yZS5yb3V0ZSwgZXhwcmVzc2lvbiwgd29ya1VuaXRTdG9yZS5keW5hbWljVHJhY2tpbmcpO1xuICAgICAgICAgICAgY2FzZSAncHJlcmVuZGVyLWxlZ2FjeSc6XG4gICAgICAgICAgICAgICAgd29ya1VuaXRTdG9yZS5yZXZhbGlkYXRlID0gMDtcbiAgICAgICAgICAgICAgICAvLyBXZSBhcmVuJ3QgcHJlcmVuZGVyaW5nLCBidXQgd2UgYXJlIGdlbmVyYXRpbmcgYSBzdGF0aWMgcGFnZS4gV2UgbmVlZFxuICAgICAgICAgICAgICAgIC8vIHRvIGJhaWwgb3V0IG9mIHN0YXRpYyBnZW5lcmF0aW9uLlxuICAgICAgICAgICAgICAgIGNvbnN0IGVyciA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgX2hvb2tzc2VydmVyY29udGV4dC5EeW5hbWljU2VydmVyRXJyb3IoYFJvdXRlICR7c3RvcmUucm91dGV9IGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkICR7ZXhwcmVzc2lvbn0uIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZHluYW1pYy1zZXJ2ZXItZXJyb3JgKSwgXCJfX05FWFRfRVJST1JfQ09ERVwiLCB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIkU1NTBcIixcbiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHN0b3JlLmR5bmFtaWNVc2FnZURlc2NyaXB0aW9uID0gZXhwcmVzc2lvbjtcbiAgICAgICAgICAgICAgICBzdG9yZS5keW5hbWljVXNhZ2VTdGFjayA9IGVyci5zdGFjaztcbiAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICBjYXNlICdyZXF1ZXN0JzpcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICB3b3JrVW5pdFN0b3JlLnVzZWREeW5hbWljID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHdvcmtVbml0U3RvcmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiB0aHJvd1RvSW50ZXJydXB0U3RhdGljR2VuZXJhdGlvbihleHByZXNzaW9uLCBzdG9yZSwgcHJlcmVuZGVyU3RvcmUpIHtcbiAgICAvLyBXZSBhcmVuJ3QgcHJlcmVuZGVyaW5nIGJ1dCB3ZSBhcmUgZ2VuZXJhdGluZyBhIHN0YXRpYyBwYWdlLiBXZSBuZWVkIHRvIGJhaWwgb3V0IG9mIHN0YXRpYyBnZW5lcmF0aW9uXG4gICAgY29uc3QgZXJyID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBfaG9va3NzZXJ2ZXJjb250ZXh0LkR5bmFtaWNTZXJ2ZXJFcnJvcihgUm91dGUgJHtzdG9yZS5yb3V0ZX0gY291bGRuJ3QgYmUgcmVuZGVyZWQgc3RhdGljYWxseSBiZWNhdXNlIGl0IHVzZWQgXFxgJHtleHByZXNzaW9ufVxcYC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9keW5hbWljLXNlcnZlci1lcnJvcmApLCBcIl9fTkVYVF9FUlJPUl9DT0RFXCIsIHtcbiAgICAgICAgdmFsdWU6IFwiRTU1OFwiLFxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gICAgcHJlcmVuZGVyU3RvcmUucmV2YWxpZGF0ZSA9IDA7XG4gICAgc3RvcmUuZHluYW1pY1VzYWdlRGVzY3JpcHRpb24gPSBleHByZXNzaW9uO1xuICAgIHN0b3JlLmR5bmFtaWNVc2FnZVN0YWNrID0gZXJyLnN0YWNrO1xuICAgIHRocm93IGVycjtcbn1cbmZ1bmN0aW9uIHRyYWNrRHluYW1pY0RhdGFJbkR5bmFtaWNSZW5kZXIod29ya1VuaXRTdG9yZSkge1xuICAgIHN3aXRjaCh3b3JrVW5pdFN0b3JlLnR5cGUpe1xuICAgICAgICBjYXNlICdjYWNoZSc6XG4gICAgICAgIGNhc2UgJ3Vuc3RhYmxlLWNhY2hlJzpcbiAgICAgICAgICAgIC8vIEluc2lkZSBjYWNoZSBzY29wZXMsIG1hcmtpbmcgYSBzY29wZSBhcyBkeW5hbWljIGhhcyBubyBlZmZlY3QsXG4gICAgICAgICAgICAvLyBiZWNhdXNlIHRoZSBvdXRlciBjYWNoZSBzY29wZSBjcmVhdGVzIGEgY2FjaGUgYm91bmRhcnkuIFRoaXMgaXNcbiAgICAgICAgICAgIC8vIHN1YnRseSBkaWZmZXJlbnQgZnJvbSByZWFkaW5nIGEgZHluYW1pYyBkYXRhIHNvdXJjZSwgd2hpY2ggaXNcbiAgICAgICAgICAgIC8vIGZvcmJpZGRlbiBpbnNpZGUgYSBjYWNoZSBzY29wZS5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY2FzZSAncHJpdmF0ZS1jYWNoZSc6XG4gICAgICAgICAgICAvLyBBIHByaXZhdGUgY2FjaGUgc2NvcGUgaXMgYWxyZWFkeSBkeW5hbWljIGJ5IGRlZmluaXRpb24uXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNhc2UgJ3ByZXJlbmRlcic6XG4gICAgICAgIGNhc2UgJ3ByZXJlbmRlci1ydW50aW1lJzpcbiAgICAgICAgY2FzZSAncHJlcmVuZGVyLWxlZ2FjeSc6XG4gICAgICAgIGNhc2UgJ3ByZXJlbmRlci1wcHInOlxuICAgICAgICBjYXNlICdwcmVyZW5kZXItY2xpZW50JzpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdyZXF1ZXN0JzpcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgd29ya1VuaXRTdG9yZS51c2VkRHluYW1pYyA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHdvcmtVbml0U3RvcmU7XG4gICAgfVxufVxuZnVuY3Rpb24gYWJvcnRPblN5bmNocm9ub3VzRHluYW1pY0RhdGFBY2Nlc3Mocm91dGUsIGV4cHJlc3Npb24sIHByZXJlbmRlclN0b3JlKSB7XG4gICAgY29uc3QgcmVhc29uID0gYFJvdXRlICR7cm91dGV9IG5lZWRzIHRvIGJhaWwgb3V0IG9mIHByZXJlbmRlcmluZyBhdCB0aGlzIHBvaW50IGJlY2F1c2UgaXQgdXNlZCAke2V4cHJlc3Npb259LmA7XG4gICAgY29uc3QgZXJyb3IgPSBjcmVhdGVQcmVyZW5kZXJJbnRlcnJ1cHRlZEVycm9yKHJlYXNvbik7XG4gICAgcHJlcmVuZGVyU3RvcmUuY29udHJvbGxlci5hYm9ydChlcnJvcik7XG4gICAgY29uc3QgZHluYW1pY1RyYWNraW5nID0gcHJlcmVuZGVyU3RvcmUuZHluYW1pY1RyYWNraW5nO1xuICAgIGlmIChkeW5hbWljVHJhY2tpbmcpIHtcbiAgICAgICAgZHluYW1pY1RyYWNraW5nLmR5bmFtaWNBY2Nlc3Nlcy5wdXNoKHtcbiAgICAgICAgICAgIC8vIFdoZW4gd2UgYXJlbid0IGRlYnVnZ2luZywgd2UgZG9uJ3QgbmVlZCB0byBjcmVhdGUgYW5vdGhlciBlcnJvciBmb3IgdGhlXG4gICAgICAgICAgICAvLyBzdGFjayB0cmFjZS5cbiAgICAgICAgICAgIHN0YWNrOiBkeW5hbWljVHJhY2tpbmcuaXNEZWJ1Z0R5bmFtaWNBY2Nlc3NlcyA/IG5ldyBFcnJvcigpLnN0YWNrIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgZXhwcmVzc2lvblxuICAgICAgICB9KTtcbiAgICB9XG59XG5mdW5jdGlvbiBhYm9ydE9uU3luY2hyb25vdXNQbGF0Zm9ybUlPQWNjZXNzKHJvdXRlLCBleHByZXNzaW9uLCBlcnJvcldpdGhTdGFjaywgcHJlcmVuZGVyU3RvcmUpIHtcbiAgICBjb25zdCBkeW5hbWljVHJhY2tpbmcgPSBwcmVyZW5kZXJTdG9yZS5keW5hbWljVHJhY2tpbmc7XG4gICAgYWJvcnRPblN5bmNocm9ub3VzRHluYW1pY0RhdGFBY2Nlc3Mocm91dGUsIGV4cHJlc3Npb24sIHByZXJlbmRlclN0b3JlKTtcbiAgICAvLyBJdCBpcyBpbXBvcnRhbnQgdGhhdCB3ZSBzZXQgdGhpcyB0cmFja2luZyB2YWx1ZSBhZnRlciBhYm9ydGluZy4gQWJvcnRzIGFyZSBleGVjdXRlZFxuICAgIC8vIHN5bmNocm9ub3VzbHkgZXhjZXB0IGZvciB0aGUgY2FzZSB3aGVyZSB5b3UgYWJvcnQgZHVyaW5nIHJlbmRlciBpdHNlbGYuIEJ5IHNldHRpbmcgdGhpc1xuICAgIC8vIHZhbHVlIGxhdGUgd2UgY2FuIHVzZSBpdCB0byBkZXRlcm1pbmUgaWYgYW55IG9mIHRoZSBhYm9ydGVkIHRhc2tzIGFyZSB0aGUgdGFzayB0aGF0XG4gICAgLy8gY2FsbGVkIHRoZSBzeW5jIElPIGV4cHJlc3Npb24gaW4gdGhlIGZpcnN0IHBsYWNlLlxuICAgIGlmIChkeW5hbWljVHJhY2tpbmcpIHtcbiAgICAgICAgaWYgKGR5bmFtaWNUcmFja2luZy5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrID09PSBudWxsKSB7XG4gICAgICAgICAgICBkeW5hbWljVHJhY2tpbmcuc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayA9IGVycm9yV2l0aFN0YWNrO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gYWJvcnRBbmRUaHJvd09uU3luY2hyb25vdXNSZXF1ZXN0RGF0YUFjY2Vzcyhyb3V0ZSwgZXhwcmVzc2lvbiwgZXJyb3JXaXRoU3RhY2ssIHByZXJlbmRlclN0b3JlKSB7XG4gICAgY29uc3QgcHJlcmVuZGVyU2lnbmFsID0gcHJlcmVuZGVyU3RvcmUuY29udHJvbGxlci5zaWduYWw7XG4gICAgaWYgKHByZXJlbmRlclNpZ25hbC5hYm9ydGVkID09PSBmYWxzZSkge1xuICAgICAgICAvLyBUT0RPIGl0IHdvdWxkIGJlIGJldHRlciB0byBtb3ZlIHRoaXMgYWJvcnRlZCBjaGVjayBpbnRvIHRoZSBjYWxsc2l0ZSBzbyB3ZSBjYW4gYXZvaWQgbWFraW5nXG4gICAgICAgIC8vIHRoZSBlcnJvciBvYmplY3Qgd2hlbiBpdCBpc24ndCByZWxldmFudCB0byB0aGUgYWJvcnRpbmcgb2YgdGhlIHByZXJlbmRlciBob3dldmVyXG4gICAgICAgIC8vIHNpbmNlIHdlIG5lZWQgdGhlIHRocm93IHNlbWFudGljcyByZWdhcmRsZXNzIG9mIHdoZXRoZXIgd2UgYWJvcnQgaXQgaXMgZWFzaWVyIHRvIGxhbmRcbiAgICAgICAgLy8gdGhpcyB3YXkuIFNlZSBob3cgdGhpcyB3YXMgaGFuZGxlZCB3aXRoIGBhYm9ydE9uU3luY2hyb25vdXNQbGF0Zm9ybUlPQWNjZXNzYCBmb3IgYSBjbG9zZXJcbiAgICAgICAgLy8gdG8gaWRlYWwgaW1wbGVtZW50YXRpb25cbiAgICAgICAgYWJvcnRPblN5bmNocm9ub3VzRHluYW1pY0RhdGFBY2Nlc3Mocm91dGUsIGV4cHJlc3Npb24sIHByZXJlbmRlclN0b3JlKTtcbiAgICAgICAgLy8gSXQgaXMgaW1wb3J0YW50IHRoYXQgd2Ugc2V0IHRoaXMgdHJhY2tpbmcgdmFsdWUgYWZ0ZXIgYWJvcnRpbmcuIEFib3J0cyBhcmUgZXhlY3V0ZWRcbiAgICAgICAgLy8gc3luY2hyb25vdXNseSBleGNlcHQgZm9yIHRoZSBjYXNlIHdoZXJlIHlvdSBhYm9ydCBkdXJpbmcgcmVuZGVyIGl0c2VsZi4gQnkgc2V0dGluZyB0aGlzXG4gICAgICAgIC8vIHZhbHVlIGxhdGUgd2UgY2FuIHVzZSBpdCB0byBkZXRlcm1pbmUgaWYgYW55IG9mIHRoZSBhYm9ydGVkIHRhc2tzIGFyZSB0aGUgdGFzayB0aGF0XG4gICAgICAgIC8vIGNhbGxlZCB0aGUgc3luYyBJTyBleHByZXNzaW9uIGluIHRoZSBmaXJzdCBwbGFjZS5cbiAgICAgICAgY29uc3QgZHluYW1pY1RyYWNraW5nID0gcHJlcmVuZGVyU3RvcmUuZHluYW1pY1RyYWNraW5nO1xuICAgICAgICBpZiAoZHluYW1pY1RyYWNraW5nKSB7XG4gICAgICAgICAgICBpZiAoZHluYW1pY1RyYWNraW5nLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2sgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBkeW5hbWljVHJhY2tpbmcuc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayA9IGVycm9yV2l0aFN0YWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHRocm93IGNyZWF0ZVByZXJlbmRlckludGVycnVwdGVkRXJyb3IoYFJvdXRlICR7cm91dGV9IG5lZWRzIHRvIGJhaWwgb3V0IG9mIHByZXJlbmRlcmluZyBhdCB0aGlzIHBvaW50IGJlY2F1c2UgaXQgdXNlZCAke2V4cHJlc3Npb259LmApO1xufVxuZnVuY3Rpb24gUG9zdHBvbmUoeyByZWFzb24sIHJvdXRlIH0pIHtcbiAgICBjb25zdCBwcmVyZW5kZXJTdG9yZSA9IF93b3JrdW5pdGFzeW5jc3RvcmFnZWV4dGVybmFsLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7XG4gICAgY29uc3QgZHluYW1pY1RyYWNraW5nID0gcHJlcmVuZGVyU3RvcmUgJiYgcHJlcmVuZGVyU3RvcmUudHlwZSA9PT0gJ3ByZXJlbmRlci1wcHInID8gcHJlcmVuZGVyU3RvcmUuZHluYW1pY1RyYWNraW5nIDogbnVsbDtcbiAgICBwb3N0cG9uZVdpdGhUcmFja2luZyhyb3V0ZSwgcmVhc29uLCBkeW5hbWljVHJhY2tpbmcpO1xufVxuZnVuY3Rpb24gcG9zdHBvbmVXaXRoVHJhY2tpbmcocm91dGUsIGV4cHJlc3Npb24sIGR5bmFtaWNUcmFja2luZykge1xuICAgIGFzc2VydFBvc3Rwb25lKCk7XG4gICAgaWYgKGR5bmFtaWNUcmFja2luZykge1xuICAgICAgICBkeW5hbWljVHJhY2tpbmcuZHluYW1pY0FjY2Vzc2VzLnB1c2goe1xuICAgICAgICAgICAgLy8gV2hlbiB3ZSBhcmVuJ3QgZGVidWdnaW5nLCB3ZSBkb24ndCBuZWVkIHRvIGNyZWF0ZSBhbm90aGVyIGVycm9yIGZvciB0aGVcbiAgICAgICAgICAgIC8vIHN0YWNrIHRyYWNlLlxuICAgICAgICAgICAgc3RhY2s6IGR5bmFtaWNUcmFja2luZy5pc0RlYnVnRHluYW1pY0FjY2Vzc2VzID8gbmV3IEVycm9yKCkuc3RhY2sgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBleHByZXNzaW9uXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBfcmVhY3QuZGVmYXVsdC51bnN0YWJsZV9wb3N0cG9uZShjcmVhdGVQb3N0cG9uZVJlYXNvbihyb3V0ZSwgZXhwcmVzc2lvbikpO1xufVxuZnVuY3Rpb24gY3JlYXRlUG9zdHBvbmVSZWFzb24ocm91dGUsIGV4cHJlc3Npb24pIHtcbiAgICByZXR1cm4gYFJvdXRlICR7cm91dGV9IG5lZWRzIHRvIGJhaWwgb3V0IG9mIHByZXJlbmRlcmluZyBhdCB0aGlzIHBvaW50IGJlY2F1c2UgaXQgdXNlZCAke2V4cHJlc3Npb259LiBgICsgYFJlYWN0IHRocm93cyB0aGlzIHNwZWNpYWwgb2JqZWN0IHRvIGluZGljYXRlIHdoZXJlLiBJdCBzaG91bGQgbm90IGJlIGNhdWdodCBieSBgICsgYHlvdXIgb3duIHRyeS9jYXRjaC4gTGVhcm4gbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvcHByLWNhdWdodC1lcnJvcmA7XG59XG5mdW5jdGlvbiBpc0R5bmFtaWNQb3N0cG9uZShlcnIpIHtcbiAgICBpZiAodHlwZW9mIGVyciA9PT0gJ29iamVjdCcgJiYgZXJyICE9PSBudWxsICYmIHR5cGVvZiBlcnIubWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIGlzRHluYW1pY1Bvc3Rwb25lUmVhc29uKGVyci5tZXNzYWdlKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gaXNEeW5hbWljUG9zdHBvbmVSZWFzb24ocmVhc29uKSB7XG4gICAgcmV0dXJuIHJlYXNvbi5pbmNsdWRlcygnbmVlZHMgdG8gYmFpbCBvdXQgb2YgcHJlcmVuZGVyaW5nIGF0IHRoaXMgcG9pbnQgYmVjYXVzZSBpdCB1c2VkJykgJiYgcmVhc29uLmluY2x1ZGVzKCdMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9wcHItY2F1Z2h0LWVycm9yJyk7XG59XG5pZiAoaXNEeW5hbWljUG9zdHBvbmVSZWFzb24oY3JlYXRlUG9zdHBvbmVSZWFzb24oJyUlJScsICdeXl4nKSkgPT09IGZhbHNlKSB7XG4gICAgdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBFcnJvcignSW52YXJpYW50OiBpc0R5bmFtaWNQb3N0cG9uZSBtaXNpZGVudGlmaWVkIGEgcG9zdHBvbmUgcmVhc29uLiBUaGlzIGlzIGEgYnVnIGluIE5leHQuanMnKSwgXCJfX05FWFRfRVJST1JfQ09ERVwiLCB7XG4gICAgICAgIHZhbHVlOiBcIkUyOTZcIixcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pO1xufVxuY29uc3QgTkVYVF9QUkVSRU5ERVJfSU5URVJSVVBURUQgPSAnTkVYVF9QUkVSRU5ERVJfSU5URVJSVVBURUQnO1xuZnVuY3Rpb24gY3JlYXRlUHJlcmVuZGVySW50ZXJydXB0ZWRFcnJvcihtZXNzYWdlKSB7XG4gICAgY29uc3QgZXJyb3IgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IEVycm9yKG1lc3NhZ2UpLCBcIl9fTkVYVF9FUlJPUl9DT0RFXCIsIHtcbiAgICAgICAgdmFsdWU6IFwiRTM5NFwiLFxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gICAgZXJyb3IuZGlnZXN0ID0gTkVYVF9QUkVSRU5ERVJfSU5URVJSVVBURUQ7XG4gICAgcmV0dXJuIGVycm9yO1xufVxuZnVuY3Rpb24gaXNQcmVyZW5kZXJJbnRlcnJ1cHRlZEVycm9yKGVycm9yKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBlcnJvciA9PT0gJ29iamVjdCcgJiYgZXJyb3IgIT09IG51bGwgJiYgZXJyb3IuZGlnZXN0ID09PSBORVhUX1BSRVJFTkRFUl9JTlRFUlJVUFRFRCAmJiAnbmFtZScgaW4gZXJyb3IgJiYgJ21lc3NhZ2UnIGluIGVycm9yICYmIGVycm9yIGluc3RhbmNlb2YgRXJyb3I7XG59XG5mdW5jdGlvbiBhY2Nlc3NlZER5bmFtaWNEYXRhKGR5bmFtaWNBY2Nlc3Nlcykge1xuICAgIHJldHVybiBkeW5hbWljQWNjZXNzZXMubGVuZ3RoID4gMDtcbn1cbmZ1bmN0aW9uIGNvbnN1bWVEeW5hbWljQWNjZXNzKHNlcnZlckR5bmFtaWMsIGNsaWVudER5bmFtaWMpIHtcbiAgICAvLyBXZSBtdXRhdGUgYmVjYXVzZSB3ZSBvbmx5IGNhbGwgdGhpcyBvbmNlIHdlIGFyZSBubyBsb25nZXIgd3JpdGluZ1xuICAgIC8vIHRvIHRoZSBkeW5hbWljVHJhY2tpbmdTdGF0ZSBhbmQgaXQncyBtb3JlIGVmZmljaWVudCB0aGFuIGNyZWF0aW5nIGEgbmV3XG4gICAgLy8gYXJyYXkuXG4gICAgc2VydmVyRHluYW1pYy5keW5hbWljQWNjZXNzZXMucHVzaCguLi5jbGllbnREeW5hbWljLmR5bmFtaWNBY2Nlc3Nlcyk7XG4gICAgcmV0dXJuIHNlcnZlckR5bmFtaWMuZHluYW1pY0FjY2Vzc2VzO1xufVxuZnVuY3Rpb24gZm9ybWF0RHluYW1pY0FQSUFjY2Vzc2VzKGR5bmFtaWNBY2Nlc3Nlcykge1xuICAgIHJldHVybiBkeW5hbWljQWNjZXNzZXMuZmlsdGVyKChhY2Nlc3MpPT50eXBlb2YgYWNjZXNzLnN0YWNrID09PSAnc3RyaW5nJyAmJiBhY2Nlc3Muc3RhY2subGVuZ3RoID4gMCkubWFwKCh7IGV4cHJlc3Npb24sIHN0YWNrIH0pPT57XG4gICAgICAgIHN0YWNrID0gc3RhY2suc3BsaXQoJ1xcbicpLy8gUmVtb3ZlIHRoZSBcIkVycm9yOiBcIiBwcmVmaXggZnJvbSB0aGUgZmlyc3QgbGluZSBvZiB0aGUgc3RhY2sgdHJhY2UgYXNcbiAgICAgICAgLy8gd2VsbCBhcyB0aGUgZmlyc3QgNCBsaW5lcyBvZiB0aGUgc3RhY2sgdHJhY2Ugd2hpY2ggaXMgdGhlIGRpc3RhbmNlXG4gICAgICAgIC8vIGZyb20gdGhlIHVzZXIgY29kZSBhbmQgdGhlIGBuZXcgRXJyb3IoKS5zdGFja2AgY2FsbC5cbiAgICAgICAgLnNsaWNlKDQpLmZpbHRlcigobGluZSk9PntcbiAgICAgICAgICAgIC8vIEV4Y2x1ZGUgTmV4dC5qcyBpbnRlcm5hbHMgZnJvbSB0aGUgc3RhY2sgdHJhY2UuXG4gICAgICAgICAgICBpZiAobGluZS5pbmNsdWRlcygnbm9kZV9tb2R1bGVzL25leHQvJykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBFeGNsdWRlIGFub255bW91cyBmdW5jdGlvbnMgZnJvbSB0aGUgc3RhY2sgdHJhY2UuXG4gICAgICAgICAgICBpZiAobGluZS5pbmNsdWRlcygnICg8YW5vbnltb3VzPiknKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEV4Y2x1ZGUgTm9kZS5qcyBpbnRlcm5hbHMgZnJvbSB0aGUgc3RhY2sgdHJhY2UuXG4gICAgICAgICAgICBpZiAobGluZS5pbmNsdWRlcygnIChub2RlOicpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0pLmpvaW4oJ1xcbicpO1xuICAgICAgICByZXR1cm4gYER5bmFtaWMgQVBJIFVzYWdlIERlYnVnIC0gJHtleHByZXNzaW9ufTpcXG4ke3N0YWNrfWA7XG4gICAgfSk7XG59XG5mdW5jdGlvbiBhc3NlcnRQb3N0cG9uZSgpIHtcbiAgICBpZiAoIWhhc1Bvc3Rwb25lKSB7XG4gICAgICAgIHRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgRXJyb3IoYEludmFyaWFudDogUmVhY3QudW5zdGFibGVfcG9zdHBvbmUgaXMgbm90IGRlZmluZWQuIFRoaXMgc3VnZ2VzdHMgdGhlIHdyb25nIHZlcnNpb24gb2YgUmVhY3Qgd2FzIGxvYWRlZC4gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzYCksIFwiX19ORVhUX0VSUk9SX0NPREVcIiwge1xuICAgICAgICAgICAgdmFsdWU6IFwiRTIyNFwiLFxuICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZnVuY3Rpb24gY3JlYXRlUmVuZGVySW5Ccm93c2VyQWJvcnRTaWduYWwoKSB7XG4gICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICBjb250cm9sbGVyLmFib3J0KE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgX2JhaWxvdXR0b2Nzci5CYWlsb3V0VG9DU1JFcnJvcignUmVuZGVyIGluIEJyb3dzZXInKSwgXCJfX05FWFRfRVJST1JfQ09ERVwiLCB7XG4gICAgICAgIHZhbHVlOiBcIkU3MjFcIixcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pKTtcbiAgICByZXR1cm4gY29udHJvbGxlci5zaWduYWw7XG59XG5mdW5jdGlvbiBjcmVhdGVIYW5naW5nSW5wdXRBYm9ydFNpZ25hbCh3b3JrVW5pdFN0b3JlKSB7XG4gICAgc3dpdGNoKHdvcmtVbml0U3RvcmUudHlwZSl7XG4gICAgICAgIGNhc2UgJ3ByZXJlbmRlcic6XG4gICAgICAgIGNhc2UgJ3ByZXJlbmRlci1ydW50aW1lJzpcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgICAgICAgICBpZiAod29ya1VuaXRTdG9yZS5jYWNoZVNpZ25hbCkge1xuICAgICAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgYSBjYWNoZVNpZ25hbCBpdCBtZWFucyB3ZSdyZSBpbiBhIHByb3NwZWN0aXZlIHJlbmRlci4gSWZcbiAgICAgICAgICAgICAgICAvLyB0aGUgaW5wdXQgd2UncmUgd2FpdGluZyBvbiBpcyBjb21pbmcgZnJvbSBhbm90aGVyIGNhY2hlLCB3ZSBkbyB3YW50XG4gICAgICAgICAgICAgICAgLy8gdG8gd2FpdCBmb3IgaXQgc28gdGhhdCB3ZSBjYW4gcmVzb2x2ZSB0aGlzIGNhY2hlIGVudHJ5IHRvby5cbiAgICAgICAgICAgICAgICB3b3JrVW5pdFN0b3JlLmNhY2hlU2lnbmFsLmlucHV0UmVhZHkoKS50aGVuKCgpPT57XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlIHdlJ3JlIGluIHRoZSBmaW5hbCByZW5kZXIgYW5kIHdlIHNob3VsZCBhbHJlYWR5IGhhdmUgYWxsXG4gICAgICAgICAgICAgICAgLy8gb3VyIGNhY2hlcyBmaWxsZWQuXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIHByZXJlbmRlciB1c2VzIHN0YWdlcywgd2UgaGF2ZSB3YWl0IHVudGlsIHRoZSBydW50aW1lIHN0YWdlLFxuICAgICAgICAgICAgICAgIC8vIGF0IHdoaWNoIHBvaW50IGFsbCBydW50aW1lIGlucHV0cyB3aWxsIGJlIHJlc29sdmVkLlxuICAgICAgICAgICAgICAgIC8vIChvdGhlcndpc2UsIGEgcnVudGltZSBwcmVyZW5kZXIgbWlnaHQgY29uc2lkZXIgYGNvb2tpZXMoKWAgaGFuZ2luZ1xuICAgICAgICAgICAgICAgIC8vICBldmVuIHRob3VnaCB0aGV5J2QgcmVzb2x2ZSBpbiB0aGUgbmV4dCB0YXNrLilcbiAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgIC8vIFdlIG1pZ2h0IHN0aWxsIGJlIHdhaXRpbmcgb24gc29tZSBtaWNyb3Rhc2tzIHNvIHdlXG4gICAgICAgICAgICAgICAgLy8gd2FpdCBvbmUgdGljayBiZWZvcmUgZ2l2aW5nIHVwLiBXaGVuIHdlIGdpdmUgdXAsIHdlIHN0aWxsIHdhbnQgdG9cbiAgICAgICAgICAgICAgICAvLyByZW5kZXIgdGhlIGNvbnRlbnQgb2YgdGhpcyBjYWNoZSBhcyBkZWVwbHkgYXMgd2UgY2FuIHNvIHRoYXQgd2UgY2FuXG4gICAgICAgICAgICAgICAgLy8gc3VzcGVuZCBhcyBkZWVwbHkgYXMgcG9zc2libGUgaW4gdGhlIHRyZWUgb3Igbm90IGF0IGFsbCBpZiB3ZSBkb24ndFxuICAgICAgICAgICAgICAgIC8vIGVuZCB1cCB3YWl0aW5nIGZvciB0aGUgaW5wdXQuXG4gICAgICAgICAgICAgICAgY29uc3QgcnVudGltZVN0YWdlUHJvbWlzZSA9ICgwLCBfd29ya3VuaXRhc3luY3N0b3JhZ2VleHRlcm5hbC5nZXRSdW50aW1lU3RhZ2VQcm9taXNlKSh3b3JrVW5pdFN0b3JlKTtcbiAgICAgICAgICAgICAgICBpZiAocnVudGltZVN0YWdlUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgICAgICBydW50aW1lU3RhZ2VQcm9taXNlLnRoZW4oKCk9PigwLCBfc2NoZWR1bGVyLnNjaGVkdWxlT25OZXh0VGljaykoKCk9PmNvbnRyb2xsZXIuYWJvcnQoKSkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICgwLCBfc2NoZWR1bGVyLnNjaGVkdWxlT25OZXh0VGljaykoKCk9PmNvbnRyb2xsZXIuYWJvcnQoKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xsZXIuc2lnbmFsO1xuICAgICAgICBjYXNlICdwcmVyZW5kZXItY2xpZW50JzpcbiAgICAgICAgY2FzZSAncHJlcmVuZGVyLXBwcic6XG4gICAgICAgIGNhc2UgJ3ByZXJlbmRlci1sZWdhY3knOlxuICAgICAgICBjYXNlICdyZXF1ZXN0JzpcbiAgICAgICAgY2FzZSAnY2FjaGUnOlxuICAgICAgICBjYXNlICdwcml2YXRlLWNhY2hlJzpcbiAgICAgICAgY2FzZSAndW5zdGFibGUtY2FjaGUnOlxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHdvcmtVbml0U3RvcmU7XG4gICAgfVxufVxuZnVuY3Rpb24gYW5ub3RhdGVEeW5hbWljQWNjZXNzKGV4cHJlc3Npb24sIHByZXJlbmRlclN0b3JlKSB7XG4gICAgY29uc3QgZHluYW1pY1RyYWNraW5nID0gcHJlcmVuZGVyU3RvcmUuZHluYW1pY1RyYWNraW5nO1xuICAgIGlmIChkeW5hbWljVHJhY2tpbmcpIHtcbiAgICAgICAgZHluYW1pY1RyYWNraW5nLmR5bmFtaWNBY2Nlc3Nlcy5wdXNoKHtcbiAgICAgICAgICAgIHN0YWNrOiBkeW5hbWljVHJhY2tpbmcuaXNEZWJ1Z0R5bmFtaWNBY2Nlc3NlcyA/IG5ldyBFcnJvcigpLnN0YWNrIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgZXhwcmVzc2lvblxuICAgICAgICB9KTtcbiAgICB9XG59XG5mdW5jdGlvbiB1c2VEeW5hbWljUm91dGVQYXJhbXMoZXhwcmVzc2lvbikge1xuICAgIGNvbnN0IHdvcmtTdG9yZSA9IF93b3JrYXN5bmNzdG9yYWdlZXh0ZXJuYWwud29ya0FzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO1xuICAgIGNvbnN0IHdvcmtVbml0U3RvcmUgPSBfd29ya3VuaXRhc3luY3N0b3JhZ2VleHRlcm5hbC53b3JrVW5pdEFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO1xuICAgIGlmICh3b3JrU3RvcmUgJiYgd29ya1VuaXRTdG9yZSkge1xuICAgICAgICBzd2l0Y2god29ya1VuaXRTdG9yZS50eXBlKXtcbiAgICAgICAgICAgIGNhc2UgJ3ByZXJlbmRlci1jbGllbnQnOlxuICAgICAgICAgICAgY2FzZSAncHJlcmVuZGVyJzpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZhbGxiYWNrUGFyYW1zID0gd29ya1VuaXRTdG9yZS5mYWxsYmFja1JvdXRlUGFyYW1zO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZmFsbGJhY2tQYXJhbXMgJiYgZmFsbGJhY2tQYXJhbXMuc2l6ZSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIGFyZSBpbiBhIHByZXJlbmRlciB3aXRoIGNhY2hlQ29tcG9uZW50cyBzZW1hbnRpY3MuIFdlIGFyZSBnb2luZyB0b1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFuZyBoZXJlIGFuZCBuZXZlciByZXNvbHZlLiBUaGlzIHdpbGwgY2F1c2UgdGhlIGN1cnJlbnRseVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVuZGVyaW5nIGNvbXBvbmVudCB0byBlZmZlY3RpdmVseSBiZSBhIGR5bmFtaWMgaG9sZS5cbiAgICAgICAgICAgICAgICAgICAgICAgIF9yZWFjdC5kZWZhdWx0LnVzZSgoMCwgX2R5bmFtaWNyZW5kZXJpbmd1dGlscy5tYWtlSGFuZ2luZ1Byb21pc2UpKHdvcmtVbml0U3RvcmUucmVuZGVyU2lnbmFsLCB3b3JrU3RvcmUucm91dGUsIGV4cHJlc3Npb24pKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdwcmVyZW5kZXItcHByJzpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZhbGxiYWNrUGFyYW1zID0gd29ya1VuaXRTdG9yZS5mYWxsYmFja1JvdXRlUGFyYW1zO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZmFsbGJhY2tQYXJhbXMgJiYgZmFsbGJhY2tQYXJhbXMuc2l6ZSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwb3N0cG9uZVdpdGhUcmFja2luZyh3b3JrU3RvcmUucm91dGUsIGV4cHJlc3Npb24sIHdvcmtVbml0U3RvcmUuZHluYW1pY1RyYWNraW5nKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdwcmVyZW5kZXItcnVudGltZSc6XG4gICAgICAgICAgICAgICAgdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBfaW52YXJpYW50ZXJyb3IuSW52YXJpYW50RXJyb3IoYFxcYCR7ZXhwcmVzc2lvbn1cXGAgd2FzIGNhbGxlZCBkdXJpbmcgYSBydW50aW1lIHByZXJlbmRlci4gTmV4dC5qcyBzaG91bGQgYmUgcHJldmVudGluZyAke2V4cHJlc3Npb259IGZyb20gYmVpbmcgaW5jbHVkZWQgaW4gc2VydmVyIGNvbXBvbmVudHMgc3RhdGljYWxseSwgYnV0IGRpZCBub3QgaW4gdGhpcyBjYXNlLmApLCBcIl9fTkVYVF9FUlJPUl9DT0RFXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiRTc3MVwiLFxuICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjYXNlICdjYWNoZSc6XG4gICAgICAgICAgICBjYXNlICdwcml2YXRlLWNhY2hlJzpcbiAgICAgICAgICAgICAgICB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IF9pbnZhcmlhbnRlcnJvci5JbnZhcmlhbnRFcnJvcihgXFxgJHtleHByZXNzaW9ufVxcYCB3YXMgY2FsbGVkIGluc2lkZSBhIGNhY2hlIHNjb3BlLiBOZXh0LmpzIHNob3VsZCBiZSBwcmV2ZW50aW5nICR7ZXhwcmVzc2lvbn0gZnJvbSBiZWluZyBpbmNsdWRlZCBpbiBzZXJ2ZXIgY29tcG9uZW50cyBzdGF0aWNhbGx5LCBidXQgZGlkIG5vdCBpbiB0aGlzIGNhc2UuYCksIFwiX19ORVhUX0VSUk9SX0NPREVcIiwge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJFNzQ1XCIsXG4gICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNhc2UgJ3ByZXJlbmRlci1sZWdhY3knOlxuICAgICAgICAgICAgY2FzZSAncmVxdWVzdCc6XG4gICAgICAgICAgICBjYXNlICd1bnN0YWJsZS1jYWNoZSc6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHdvcmtVbml0U3RvcmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiB1c2VEeW5hbWljU2VhcmNoUGFyYW1zKGV4cHJlc3Npb24pIHtcbiAgICBjb25zdCB3b3JrU3RvcmUgPSBfd29ya2FzeW5jc3RvcmFnZWV4dGVybmFsLndvcmtBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtcbiAgICBjb25zdCB3b3JrVW5pdFN0b3JlID0gX3dvcmt1bml0YXN5bmNzdG9yYWdlZXh0ZXJuYWwud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtcbiAgICBpZiAoIXdvcmtTdG9yZSkge1xuICAgICAgICAvLyBXZSBhc3N1bWUgcGFnZXMgcm91dGVyIGNvbnRleHQgYW5kIGp1c3QgcmV0dXJuXG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF3b3JrVW5pdFN0b3JlKSB7XG4gICAgICAgICgwLCBfd29ya3VuaXRhc3luY3N0b3JhZ2VleHRlcm5hbC50aHJvd0Zvck1pc3NpbmdSZXF1ZXN0U3RvcmUpKGV4cHJlc3Npb24pO1xuICAgIH1cbiAgICBzd2l0Y2god29ya1VuaXRTdG9yZS50eXBlKXtcbiAgICAgICAgY2FzZSAncHJlcmVuZGVyLWNsaWVudCc6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgX3JlYWN0LmRlZmF1bHQudXNlKCgwLCBfZHluYW1pY3JlbmRlcmluZ3V0aWxzLm1ha2VIYW5naW5nUHJvbWlzZSkod29ya1VuaXRTdG9yZS5yZW5kZXJTaWduYWwsIHdvcmtTdG9yZS5yb3V0ZSwgZXhwcmVzc2lvbikpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlICdwcmVyZW5kZXItbGVnYWN5JzpcbiAgICAgICAgY2FzZSAncHJlcmVuZGVyLXBwcic6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWYgKHdvcmtTdG9yZS5mb3JjZVN0YXRpYykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgX2JhaWxvdXR0b2Nzci5CYWlsb3V0VG9DU1JFcnJvcihleHByZXNzaW9uKSwgXCJfX05FWFRfRVJST1JfQ09ERVwiLCB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIkUzOTRcIixcbiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlICdwcmVyZW5kZXInOlxuICAgICAgICBjYXNlICdwcmVyZW5kZXItcnVudGltZSc6XG4gICAgICAgICAgICB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IF9pbnZhcmlhbnRlcnJvci5JbnZhcmlhbnRFcnJvcihgXFxgJHtleHByZXNzaW9ufVxcYCB3YXMgY2FsbGVkIGZyb20gYSBTZXJ2ZXIgQ29tcG9uZW50LiBOZXh0LmpzIHNob3VsZCBiZSBwcmV2ZW50aW5nICR7ZXhwcmVzc2lvbn0gZnJvbSBiZWluZyBpbmNsdWRlZCBpbiBzZXJ2ZXIgY29tcG9uZW50cyBzdGF0aWNhbGx5LCBidXQgZGlkIG5vdCBpbiB0aGlzIGNhc2UuYCksIFwiX19ORVhUX0VSUk9SX0NPREVcIiwge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBcIkU3OTVcIixcbiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICBjYXNlICdjYWNoZSc6XG4gICAgICAgIGNhc2UgJ3Vuc3RhYmxlLWNhY2hlJzpcbiAgICAgICAgY2FzZSAncHJpdmF0ZS1jYWNoZSc6XG4gICAgICAgICAgICB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IF9pbnZhcmlhbnRlcnJvci5JbnZhcmlhbnRFcnJvcihgXFxgJHtleHByZXNzaW9ufVxcYCB3YXMgY2FsbGVkIGluc2lkZSBhIGNhY2hlIHNjb3BlLiBOZXh0LmpzIHNob3VsZCBiZSBwcmV2ZW50aW5nICR7ZXhwcmVzc2lvbn0gZnJvbSBiZWluZyBpbmNsdWRlZCBpbiBzZXJ2ZXIgY29tcG9uZW50cyBzdGF0aWNhbGx5LCBidXQgZGlkIG5vdCBpbiB0aGlzIGNhc2UuYCksIFwiX19ORVhUX0VSUk9SX0NPREVcIiwge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBcIkU3NDVcIixcbiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICBjYXNlICdyZXF1ZXN0JzpcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHdvcmtVbml0U3RvcmU7XG4gICAgfVxufVxuY29uc3QgaGFzU3VzcGVuc2VSZWdleCA9IC9cXG5cXHMrYXQgU3VzcGVuc2UgXFwoPGFub255bW91cz5cXCkvO1xuLy8gQ29tbW9uIGltcGxpY2l0IGJvZHkgdGFncyB0aGF0IFJlYWN0IHdpbGwgdHJlYXQgYXMgYm9keSB3aGVuIHBsYWNlZCBkaXJlY3RseSBpbiBodG1sXG5jb25zdCBib2R5QW5kSW1wbGljaXRUYWdzID0gJ2JvZHl8ZGl2fG1haW58c2VjdGlvbnxhcnRpY2xlfGFzaWRlfGhlYWRlcnxmb290ZXJ8bmF2fGZvcm18cHxzcGFufGgxfGgyfGgzfGg0fGg1fGg2Jztcbi8vIERldGVjdHMgd2hlbiBSb290TGF5b3V0Qm91bmRhcnkgKG91ciBmcmFtZXdvcmsgbWFya2VyIGNvbXBvbmVudCkgYXBwZWFyc1xuLy8gYWZ0ZXIgU3VzcGVuc2UgaW4gdGhlIGNvbXBvbmVudCBzdGFjaywgaW5kaWNhdGluZyB0aGUgcm9vdCBsYXlvdXQgaXMgd3JhcHBlZFxuLy8gd2l0aGluIGEgU3VzcGVuc2UgYm91bmRhcnkuIEVuc3VyZXMgbm8gYm9keS9odG1sL2ltcGxpY2l0LWJvZHkgY29tcG9uZW50cyBhcmUgaW4gYmV0d2Vlbi5cbi8vXG4vLyBFeGFtcGxlIG1hdGNoZXM6XG4vLyAgIGF0IFN1c3BlbnNlICg8YW5vbnltb3VzPilcbi8vICAgYXQgX19uZXh0X3Jvb3RfbGF5b3V0X2JvdW5kYXJ5X18gKDxhbm9ueW1vdXM+KVxuLy9cbi8vIE9yIHdpdGggb3RoZXIgY29tcG9uZW50cyBpbiBiZXR3ZWVuIChidXQgbm90IGJvZHkvaHRtbC9pbXBsaWNpdC1ib2R5KTpcbi8vICAgYXQgU3VzcGVuc2UgKDxhbm9ueW1vdXM+KVxuLy8gICBhdCBTb21lQ29tcG9uZW50ICg8YW5vbnltb3VzPilcbi8vICAgYXQgX19uZXh0X3Jvb3RfbGF5b3V0X2JvdW5kYXJ5X18gKDxhbm9ueW1vdXM+KVxuY29uc3QgaGFzU3VzcGVuc2VCZWZvcmVSb290TGF5b3V0V2l0aG91dEJvZHlPckltcGxpY2l0Qm9keVJlZ2V4ID0gbmV3IFJlZ0V4cChgXFxcXG5cXFxccythdCBTdXNwZW5zZSBcXFxcKDxhbm9ueW1vdXM+XFxcXCkoPzooPyFcXFxcblxcXFxzK2F0ICg/OiR7Ym9keUFuZEltcGxpY2l0VGFnc30pIFxcXFwoPGFub255bW91cz5cXFxcKSlbXFxcXHNcXFxcU10pKj9cXFxcblxcXFxzK2F0ICR7X2JvdW5kYXJ5Y29uc3RhbnRzLlJPT1RfTEFZT1VUX0JPVU5EQVJZX05BTUV9IFxcXFwoW15cXFxcbl0qXFxcXClgKTtcbmNvbnN0IGhhc01ldGFkYXRhUmVnZXggPSBuZXcgUmVnRXhwKGBcXFxcblxcXFxzK2F0ICR7X2JvdW5kYXJ5Y29uc3RhbnRzLk1FVEFEQVRBX0JPVU5EQVJZX05BTUV9W1xcXFxuXFxcXHNdYCk7XG5jb25zdCBoYXNWaWV3cG9ydFJlZ2V4ID0gbmV3IFJlZ0V4cChgXFxcXG5cXFxccythdCAke19ib3VuZGFyeWNvbnN0YW50cy5WSUVXUE9SVF9CT1VOREFSWV9OQU1FfVtcXFxcblxcXFxzXWApO1xuY29uc3QgaGFzT3V0bGV0UmVnZXggPSBuZXcgUmVnRXhwKGBcXFxcblxcXFxzK2F0ICR7X2JvdW5kYXJ5Y29uc3RhbnRzLk9VVExFVF9CT1VOREFSWV9OQU1FfVtcXFxcblxcXFxzXWApO1xuZnVuY3Rpb24gdHJhY2tBbGxvd2VkRHluYW1pY0FjY2Vzcyh3b3JrU3RvcmUsIGNvbXBvbmVudFN0YWNrLCBkeW5hbWljVmFsaWRhdGlvbiwgY2xpZW50RHluYW1pYykge1xuICAgIGlmIChoYXNPdXRsZXRSZWdleC50ZXN0KGNvbXBvbmVudFN0YWNrKSkge1xuICAgICAgICAvLyBXZSBkb24ndCBuZWVkIHRvIHRyYWNrIHRoYXQgdGhpcyBpcyBkeW5hbWljLiBJdCBpcyBvbmx5IHNvIHdoZW4gc29tZXRoaW5nIGVsc2UgaXMgYWxzbyBkeW5hbWljLlxuICAgICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmIChoYXNNZXRhZGF0YVJlZ2V4LnRlc3QoY29tcG9uZW50U3RhY2spKSB7XG4gICAgICAgIGR5bmFtaWNWYWxpZGF0aW9uLmhhc0R5bmFtaWNNZXRhZGF0YSA9IHRydWU7XG4gICAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKGhhc1ZpZXdwb3J0UmVnZXgudGVzdChjb21wb25lbnRTdGFjaykpIHtcbiAgICAgICAgZHluYW1pY1ZhbGlkYXRpb24uaGFzRHluYW1pY1ZpZXdwb3J0ID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAoaGFzU3VzcGVuc2VCZWZvcmVSb290TGF5b3V0V2l0aG91dEJvZHlPckltcGxpY2l0Qm9keVJlZ2V4LnRlc3QoY29tcG9uZW50U3RhY2spKSB7XG4gICAgICAgIC8vIEZvciBTdXNwZW5zZSB3aXRoaW4gYm9keSwgdGhlIHByZWx1ZGUgd291bGRuJ3QgYmUgZW1wdHkgc28gaXQgd291bGRuJ3QgdmlvbGF0ZSB0aGUgZW1wdHkgc3RhdGljIHNoZWxscyBydWxlLlxuICAgICAgICAvLyBCdXQgaWYgeW91IGhhdmUgU3VzcGVuc2UgYWJvdmUgYm9keSwgdGhlIHByZWx1ZGUgaXMgZW1wdHkgYnV0IHdlIGFsbG93IHRoYXQgYmVjYXVzZSBoYXZpbmcgU3VzcGVuc2VcbiAgICAgICAgLy8gaXMgYW4gZXhwbGljaXQgc2lnbmFsIGZyb20gdGhlIHVzZXIgdGhhdCB0aGV5IGFja25vd2xlZGdlIHRoZSBlbXB0eSBzaGVsbCBhbmQgd2FudCBkeW5hbWljIHJlbmRlcmluZy5cbiAgICAgICAgZHluYW1pY1ZhbGlkYXRpb24uaGFzQWxsb3dlZER5bmFtaWMgPSB0cnVlO1xuICAgICAgICBkeW5hbWljVmFsaWRhdGlvbi5oYXNTdXNwZW5zZUFib3ZlQm9keSA9IHRydWU7XG4gICAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKGhhc1N1c3BlbnNlUmVnZXgudGVzdChjb21wb25lbnRTdGFjaykpIHtcbiAgICAgICAgLy8gdGhpcyBlcnJvciBoYWQgYSBTdXNwZW5zZSBib3VuZGFyeSBhYm92ZSBpdCBzbyB3ZSBkb24ndCBuZWVkIHRvIHJlcG9ydCBpdCBhcyBhIHNvdXJjZVxuICAgICAgICAvLyBvZiBkaXNhbGxvd2VkXG4gICAgICAgIGR5bmFtaWNWYWxpZGF0aW9uLmhhc0FsbG93ZWREeW5hbWljID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAoY2xpZW50RHluYW1pYy5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKSB7XG4gICAgICAgIC8vIFRoaXMgdGFzayB3YXMgdGhlIHRhc2sgdGhhdCBjYWxsZWQgdGhlIHN5bmMgZXJyb3IuXG4gICAgICAgIGR5bmFtaWNWYWxpZGF0aW9uLmR5bmFtaWNFcnJvcnMucHVzaChjbGllbnREeW5hbWljLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2spO1xuICAgICAgICByZXR1cm47XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBSb3V0ZSBcIiR7d29ya1N0b3JlLnJvdXRlfVwiOiBVbmNhY2hlZCBkYXRhIHdhcyBhY2Nlc3NlZCBvdXRzaWRlIG9mIGAgKyAnPFN1c3BlbnNlPi4gVGhpcyBkZWxheXMgdGhlIGVudGlyZSBwYWdlIGZyb20gcmVuZGVyaW5nLCByZXN1bHRpbmcgaW4gYSAnICsgJ3Nsb3cgdXNlciBleHBlcmllbmNlLiBMZWFybiBtb3JlOiAnICsgJ2h0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2Jsb2NraW5nLXJvdXRlJztcbiAgICAgICAgY29uc3QgZXJyb3IgPSBjcmVhdGVFcnJvcldpdGhDb21wb25lbnRPck93bmVyU3RhY2sobWVzc2FnZSwgY29tcG9uZW50U3RhY2spO1xuICAgICAgICBkeW5hbWljVmFsaWRhdGlvbi5keW5hbWljRXJyb3JzLnB1c2goZXJyb3IpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxufVxuZnVuY3Rpb24gdHJhY2tEeW5hbWljSG9sZUluUnVudGltZVNoZWxsKHdvcmtTdG9yZSwgY29tcG9uZW50U3RhY2ssIGR5bmFtaWNWYWxpZGF0aW9uLCBjbGllbnREeW5hbWljKSB7XG4gICAgaWYgKGhhc091dGxldFJlZ2V4LnRlc3QoY29tcG9uZW50U3RhY2spKSB7XG4gICAgICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gdHJhY2sgdGhhdCB0aGlzIGlzIGR5bmFtaWMuIEl0IGlzIG9ubHkgc28gd2hlbiBzb21ldGhpbmcgZWxzZSBpcyBhbHNvIGR5bmFtaWMuXG4gICAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKGhhc01ldGFkYXRhUmVnZXgudGVzdChjb21wb25lbnRTdGFjaykpIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBSb3V0ZSBcIiR7d29ya1N0b3JlLnJvdXRlfVwiOiBVbmNhY2hlZCBkYXRhIG9yIFxcYGNvbm5lY3Rpb24oKVxcYCB3YXMgYWNjZXNzZWQgaW5zaWRlIFxcYGdlbmVyYXRlTWV0YWRhdGFcXGAuIEV4Y2VwdCBmb3IgdGhpcyBpbnN0YW5jZSwgdGhlIHBhZ2Ugd291bGQgaGF2ZSBiZWVuIGVudGlyZWx5IHByZXJlbmRlcmFibGUgd2hpY2ggbWF5IGhhdmUgYmVlbiB0aGUgaW50ZW5kZWQgYmVoYXZpb3IuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1wcmVyZW5kZXItZHluYW1pYy1tZXRhZGF0YWA7XG4gICAgICAgIGNvbnN0IGVycm9yID0gY3JlYXRlRXJyb3JXaXRoQ29tcG9uZW50T3JPd25lclN0YWNrKG1lc3NhZ2UsIGNvbXBvbmVudFN0YWNrKTtcbiAgICAgICAgZHluYW1pY1ZhbGlkYXRpb24uZHluYW1pY01ldGFkYXRhID0gZXJyb3I7XG4gICAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKGhhc1ZpZXdwb3J0UmVnZXgudGVzdChjb21wb25lbnRTdGFjaykpIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBSb3V0ZSBcIiR7d29ya1N0b3JlLnJvdXRlfVwiOiBVbmNhY2hlZCBkYXRhIG9yIFxcYGNvbm5lY3Rpb24oKVxcYCB3YXMgYWNjZXNzZWQgaW5zaWRlIFxcYGdlbmVyYXRlVmlld3BvcnRcXGAuIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtdmlld3BvcnRgO1xuICAgICAgICBjb25zdCBlcnJvciA9IGNyZWF0ZUVycm9yV2l0aENvbXBvbmVudE9yT3duZXJTdGFjayhtZXNzYWdlLCBjb21wb25lbnRTdGFjayk7XG4gICAgICAgIGR5bmFtaWNWYWxpZGF0aW9uLmR5bmFtaWNFcnJvcnMucHVzaChlcnJvcik7XG4gICAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKGhhc1N1c3BlbnNlQmVmb3JlUm9vdExheW91dFdpdGhvdXRCb2R5T3JJbXBsaWNpdEJvZHlSZWdleC50ZXN0KGNvbXBvbmVudFN0YWNrKSkge1xuICAgICAgICAvLyBGb3IgU3VzcGVuc2Ugd2l0aGluIGJvZHksIHRoZSBwcmVsdWRlIHdvdWxkbid0IGJlIGVtcHR5IHNvIGl0IHdvdWxkbid0IHZpb2xhdGUgdGhlIGVtcHR5IHN0YXRpYyBzaGVsbHMgcnVsZS5cbiAgICAgICAgLy8gQnV0IGlmIHlvdSBoYXZlIFN1c3BlbnNlIGFib3ZlIGJvZHksIHRoZSBwcmVsdWRlIGlzIGVtcHR5IGJ1dCB3ZSBhbGxvdyB0aGF0IGJlY2F1c2UgaGF2aW5nIFN1c3BlbnNlXG4gICAgICAgIC8vIGlzIGFuIGV4cGxpY2l0IHNpZ25hbCBmcm9tIHRoZSB1c2VyIHRoYXQgdGhleSBhY2tub3dsZWRnZSB0aGUgZW1wdHkgc2hlbGwgYW5kIHdhbnQgZHluYW1pYyByZW5kZXJpbmcuXG4gICAgICAgIGR5bmFtaWNWYWxpZGF0aW9uLmhhc0FsbG93ZWREeW5hbWljID0gdHJ1ZTtcbiAgICAgICAgZHluYW1pY1ZhbGlkYXRpb24uaGFzU3VzcGVuc2VBYm92ZUJvZHkgPSB0cnVlO1xuICAgICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmIChoYXNTdXNwZW5zZVJlZ2V4LnRlc3QoY29tcG9uZW50U3RhY2spKSB7XG4gICAgICAgIC8vIHRoaXMgZXJyb3IgaGFkIGEgU3VzcGVuc2UgYm91bmRhcnkgYWJvdmUgaXQgc28gd2UgZG9uJ3QgbmVlZCB0byByZXBvcnQgaXQgYXMgYSBzb3VyY2VcbiAgICAgICAgLy8gb2YgZGlzYWxsb3dlZFxuICAgICAgICBkeW5hbWljVmFsaWRhdGlvbi5oYXNBbGxvd2VkRHluYW1pYyA9IHRydWU7XG4gICAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKGNsaWVudER5bmFtaWMuc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjaykge1xuICAgICAgICAvLyBUaGlzIHRhc2sgd2FzIHRoZSB0YXNrIHRoYXQgY2FsbGVkIHRoZSBzeW5jIGVycm9yLlxuICAgICAgICBkeW5hbWljVmFsaWRhdGlvbi5keW5hbWljRXJyb3JzLnB1c2goY2xpZW50RHluYW1pYy5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgUm91dGUgXCIke3dvcmtTdG9yZS5yb3V0ZX1cIjogVW5jYWNoZWQgZGF0YSBvciBcXGBjb25uZWN0aW9uKClcXGAgd2FzIGFjY2Vzc2VkIG91dHNpZGUgb2YgXFxgPFN1c3BlbnNlPlxcYC4gVGhpcyBkZWxheXMgdGhlIGVudGlyZSBwYWdlIGZyb20gcmVuZGVyaW5nLCByZXN1bHRpbmcgaW4gYSBzbG93IHVzZXIgZXhwZXJpZW5jZS4gTGVhcm4gbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvYmxvY2tpbmctcm91dGVgO1xuICAgICAgICBjb25zdCBlcnJvciA9IGNyZWF0ZUVycm9yV2l0aENvbXBvbmVudE9yT3duZXJTdGFjayhtZXNzYWdlLCBjb21wb25lbnRTdGFjayk7XG4gICAgICAgIGR5bmFtaWNWYWxpZGF0aW9uLmR5bmFtaWNFcnJvcnMucHVzaChlcnJvcik7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG59XG5mdW5jdGlvbiB0cmFja0R5bmFtaWNIb2xlSW5TdGF0aWNTaGVsbCh3b3JrU3RvcmUsIGNvbXBvbmVudFN0YWNrLCBkeW5hbWljVmFsaWRhdGlvbiwgY2xpZW50RHluYW1pYykge1xuICAgIGlmIChoYXNPdXRsZXRSZWdleC50ZXN0KGNvbXBvbmVudFN0YWNrKSkge1xuICAgICAgICAvLyBXZSBkb24ndCBuZWVkIHRvIHRyYWNrIHRoYXQgdGhpcyBpcyBkeW5hbWljLiBJdCBpcyBvbmx5IHNvIHdoZW4gc29tZXRoaW5nIGVsc2UgaXMgYWxzbyBkeW5hbWljLlxuICAgICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmIChoYXNNZXRhZGF0YVJlZ2V4LnRlc3QoY29tcG9uZW50U3RhY2spKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgUm91dGUgXCIke3dvcmtTdG9yZS5yb3V0ZX1cIjogUnVudGltZSBkYXRhIHN1Y2ggYXMgXFxgY29va2llcygpXFxgLCBcXGBoZWFkZXJzKClcXGAsIFxcYHBhcmFtc1xcYCwgb3IgXFxgc2VhcmNoUGFyYW1zXFxgIHdhcyBhY2Nlc3NlZCBpbnNpZGUgXFxgZ2VuZXJhdGVNZXRhZGF0YVxcYCBvciB5b3UgaGF2ZSBmaWxlLWJhc2VkIG1ldGFkYXRhIHN1Y2ggYXMgaWNvbnMgdGhhdCBkZXBlbmQgb24gZHluYW1pYyBwYXJhbXMgc2VnbWVudHMuIEV4Y2VwdCBmb3IgdGhpcyBpbnN0YW5jZSwgdGhlIHBhZ2Ugd291bGQgaGF2ZSBiZWVuIGVudGlyZWx5IHByZXJlbmRlcmFibGUgd2hpY2ggbWF5IGhhdmUgYmVlbiB0aGUgaW50ZW5kZWQgYmVoYXZpb3IuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1wcmVyZW5kZXItZHluYW1pYy1tZXRhZGF0YWA7XG4gICAgICAgIGNvbnN0IGVycm9yID0gY3JlYXRlRXJyb3JXaXRoQ29tcG9uZW50T3JPd25lclN0YWNrKG1lc3NhZ2UsIGNvbXBvbmVudFN0YWNrKTtcbiAgICAgICAgZHluYW1pY1ZhbGlkYXRpb24uZHluYW1pY01ldGFkYXRhID0gZXJyb3I7XG4gICAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKGhhc1ZpZXdwb3J0UmVnZXgudGVzdChjb21wb25lbnRTdGFjaykpIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBSb3V0ZSBcIiR7d29ya1N0b3JlLnJvdXRlfVwiOiBSdW50aW1lIGRhdGEgc3VjaCBhcyBcXGBjb29raWVzKClcXGAsIFxcYGhlYWRlcnMoKVxcYCwgXFxgcGFyYW1zXFxgLCBvciBcXGBzZWFyY2hQYXJhbXNcXGAgd2FzIGFjY2Vzc2VkIGluc2lkZSBcXGBnZW5lcmF0ZVZpZXdwb3J0XFxgLiBUaGlzIGRlbGF5cyB0aGUgZW50aXJlIHBhZ2UgZnJvbSByZW5kZXJpbmcsIHJlc3VsdGluZyBpbiBhIHNsb3cgdXNlciBleHBlcmllbmNlLiBMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LXByZXJlbmRlci1keW5hbWljLXZpZXdwb3J0YDtcbiAgICAgICAgY29uc3QgZXJyb3IgPSBjcmVhdGVFcnJvcldpdGhDb21wb25lbnRPck93bmVyU3RhY2sobWVzc2FnZSwgY29tcG9uZW50U3RhY2spO1xuICAgICAgICBkeW5hbWljVmFsaWRhdGlvbi5keW5hbWljRXJyb3JzLnB1c2goZXJyb3IpO1xuICAgICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmIChoYXNTdXNwZW5zZUJlZm9yZVJvb3RMYXlvdXRXaXRob3V0Qm9keU9ySW1wbGljaXRCb2R5UmVnZXgudGVzdChjb21wb25lbnRTdGFjaykpIHtcbiAgICAgICAgLy8gRm9yIFN1c3BlbnNlIHdpdGhpbiBib2R5LCB0aGUgcHJlbHVkZSB3b3VsZG4ndCBiZSBlbXB0eSBzbyBpdCB3b3VsZG4ndCB2aW9sYXRlIHRoZSBlbXB0eSBzdGF0aWMgc2hlbGxzIHJ1bGUuXG4gICAgICAgIC8vIEJ1dCBpZiB5b3UgaGF2ZSBTdXNwZW5zZSBhYm92ZSBib2R5LCB0aGUgcHJlbHVkZSBpcyBlbXB0eSBidXQgd2UgYWxsb3cgdGhhdCBiZWNhdXNlIGhhdmluZyBTdXNwZW5zZVxuICAgICAgICAvLyBpcyBhbiBleHBsaWNpdCBzaWduYWwgZnJvbSB0aGUgdXNlciB0aGF0IHRoZXkgYWNrbm93bGVkZ2UgdGhlIGVtcHR5IHNoZWxsIGFuZCB3YW50IGR5bmFtaWMgcmVuZGVyaW5nLlxuICAgICAgICBkeW5hbWljVmFsaWRhdGlvbi5oYXNBbGxvd2VkRHluYW1pYyA9IHRydWU7XG4gICAgICAgIGR5bmFtaWNWYWxpZGF0aW9uLmhhc1N1c3BlbnNlQWJvdmVCb2R5ID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAoaGFzU3VzcGVuc2VSZWdleC50ZXN0KGNvbXBvbmVudFN0YWNrKSkge1xuICAgICAgICAvLyB0aGlzIGVycm9yIGhhZCBhIFN1c3BlbnNlIGJvdW5kYXJ5IGFib3ZlIGl0IHNvIHdlIGRvbid0IG5lZWQgdG8gcmVwb3J0IGl0IGFzIGEgc291cmNlXG4gICAgICAgIC8vIG9mIGRpc2FsbG93ZWRcbiAgICAgICAgZHluYW1pY1ZhbGlkYXRpb24uaGFzQWxsb3dlZER5bmFtaWMgPSB0cnVlO1xuICAgICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmIChjbGllbnREeW5hbWljLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2spIHtcbiAgICAgICAgLy8gVGhpcyB0YXNrIHdhcyB0aGUgdGFzayB0aGF0IGNhbGxlZCB0aGUgc3luYyBlcnJvci5cbiAgICAgICAgZHluYW1pY1ZhbGlkYXRpb24uZHluYW1pY0Vycm9ycy5wdXNoKGNsaWVudER5bmFtaWMuc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayk7XG4gICAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gYFJvdXRlIFwiJHt3b3JrU3RvcmUucm91dGV9XCI6IFJ1bnRpbWUgZGF0YSBzdWNoIGFzIFxcYGNvb2tpZXMoKVxcYCwgXFxgaGVhZGVycygpXFxgLCBcXGBwYXJhbXNcXGAsIG9yIFxcYHNlYXJjaFBhcmFtc1xcYCB3YXMgYWNjZXNzZWQgb3V0c2lkZSBvZiBcXGA8U3VzcGVuc2U+XFxgLiBUaGlzIGRlbGF5cyB0aGUgZW50aXJlIHBhZ2UgZnJvbSByZW5kZXJpbmcsIHJlc3VsdGluZyBpbiBhIHNsb3cgdXNlciBleHBlcmllbmNlLiBMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9ibG9ja2luZy1yb3V0ZWA7XG4gICAgICAgIGNvbnN0IGVycm9yID0gY3JlYXRlRXJyb3JXaXRoQ29tcG9uZW50T3JPd25lclN0YWNrKG1lc3NhZ2UsIGNvbXBvbmVudFN0YWNrKTtcbiAgICAgICAgZHluYW1pY1ZhbGlkYXRpb24uZHluYW1pY0Vycm9ycy5wdXNoKGVycm9yKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbn1cbi8qKlxuICogSW4gZGV2IG1vZGUsIHdlIHByZWZlciB1c2luZyB0aGUgb3duZXIgc3RhY2ssIG90aGVyd2lzZSB0aGUgcHJvdmlkZWRcbiAqIGNvbXBvbmVudCBzdGFjayBpcyB1c2VkLlxuICovIGZ1bmN0aW9uIGNyZWF0ZUVycm9yV2l0aENvbXBvbmVudE9yT3duZXJTdGFjayhtZXNzYWdlLCBjb21wb25lbnRTdGFjaykge1xuICAgIGNvbnN0IG93bmVyU3RhY2sgPSBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIF9yZWFjdC5kZWZhdWx0LmNhcHR1cmVPd25lclN0YWNrID8gX3JlYWN0LmRlZmF1bHQuY2FwdHVyZU93bmVyU3RhY2soKSA6IG51bGw7XG4gICAgY29uc3QgZXJyb3IgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IEVycm9yKG1lc3NhZ2UpLCBcIl9fTkVYVF9FUlJPUl9DT0RFXCIsIHtcbiAgICAgICAgdmFsdWU6IFwiRTM5NFwiLFxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gICAgLy8gVE9ETyBnbyBiYWNrIHRvIG93bmVyIHN0YWNrIGhlcmUgaWYgYXZhaWxhYmxlLiBUaGlzIGlzIHRlbXBvcmFyaWx5IHVzaW5nIGNvbXBvbmVudFN0YWNrIHRvIGdldCB0aGUgcmlnaHRcbiAgICAvL1xuICAgIGVycm9yLnN0YWNrID0gZXJyb3IubmFtZSArICc6ICcgKyBtZXNzYWdlICsgKG93bmVyU3RhY2sgfHwgY29tcG9uZW50U3RhY2spO1xuICAgIHJldHVybiBlcnJvcjtcbn1cbnZhciBQcmVsdWRlU3RhdGUgPSAvKiNfX1BVUkVfXyovIGZ1bmN0aW9uKFByZWx1ZGVTdGF0ZSkge1xuICAgIFByZWx1ZGVTdGF0ZVtQcmVsdWRlU3RhdGVbXCJGdWxsXCJdID0gMF0gPSBcIkZ1bGxcIjtcbiAgICBQcmVsdWRlU3RhdGVbUHJlbHVkZVN0YXRlW1wiRW1wdHlcIl0gPSAxXSA9IFwiRW1wdHlcIjtcbiAgICBQcmVsdWRlU3RhdGVbUHJlbHVkZVN0YXRlW1wiRXJyb3JlZFwiXSA9IDJdID0gXCJFcnJvcmVkXCI7XG4gICAgcmV0dXJuIFByZWx1ZGVTdGF0ZTtcbn0oe30pO1xuZnVuY3Rpb24gbG9nRGlzYWxsb3dlZER5bmFtaWNFcnJvcih3b3JrU3RvcmUsIGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgaWYgKCF3b3JrU3RvcmUuZGV2KSB7XG4gICAgICAgIGlmICh3b3JrU3RvcmUuaGFzUmVhZGFibGVFcnJvclN0YWNrcykge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgVG8gZ2V0IGEgbW9yZSBkZXRhaWxlZCBzdGFjayB0cmFjZSBhbmQgcGlucG9pbnQgdGhlIGlzc3VlLCBzdGFydCB0aGUgYXBwIGluIGRldmVsb3BtZW50IG1vZGUgYnkgcnVubmluZyBcXGBuZXh0IGRldlxcYCwgdGhlbiBvcGVuIFwiJHt3b3JrU3RvcmUucm91dGV9XCIgaW4geW91ciBicm93c2VyIHRvIGludmVzdGlnYXRlIHRoZSBlcnJvci5gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFRvIGdldCBhIG1vcmUgZGV0YWlsZWQgc3RhY2sgdHJhY2UgYW5kIHBpbnBvaW50IHRoZSBpc3N1ZSwgdHJ5IG9uZSBvZiB0aGUgZm9sbG93aW5nOlxuICAtIFN0YXJ0IHRoZSBhcHAgaW4gZGV2ZWxvcG1lbnQgbW9kZSBieSBydW5uaW5nIFxcYG5leHQgZGV2XFxgLCB0aGVuIG9wZW4gXCIke3dvcmtTdG9yZS5yb3V0ZX1cIiBpbiB5b3VyIGJyb3dzZXIgdG8gaW52ZXN0aWdhdGUgdGhlIGVycm9yLlxuICAtIFJlcnVuIHRoZSBwcm9kdWN0aW9uIGJ1aWxkIHdpdGggXFxgbmV4dCBidWlsZCAtLWRlYnVnLXByZXJlbmRlclxcYCB0byBnZW5lcmF0ZSBiZXR0ZXIgc3RhY2sgdHJhY2VzLmApO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gdGhyb3dJZkRpc2FsbG93ZWREeW5hbWljKHdvcmtTdG9yZSwgcHJlbHVkZSwgZHluYW1pY1ZhbGlkYXRpb24sIHNlcnZlckR5bmFtaWMpIHtcbiAgICBpZiAoc2VydmVyRHluYW1pYy5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKSB7XG4gICAgICAgIGxvZ0Rpc2FsbG93ZWREeW5hbWljRXJyb3Iod29ya1N0b3JlLCBzZXJ2ZXJEeW5hbWljLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2spO1xuICAgICAgICB0aHJvdyBuZXcgX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0LlN0YXRpY0dlbkJhaWxvdXRFcnJvcigpO1xuICAgIH1cbiAgICBpZiAocHJlbHVkZSAhPT0gMCkge1xuICAgICAgICBpZiAoZHluYW1pY1ZhbGlkYXRpb24uaGFzU3VzcGVuc2VBYm92ZUJvZHkpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgcm91dGUgaGFzIG9wdGVkIGludG8gYWxsb3dpbmcgZnVsbHkgZHluYW1pYyByZW5kZXJpbmdcbiAgICAgICAgICAgIC8vIGJ5IGluY2x1ZGluZyBhIFN1c3BlbnNlIGJvdW5kYXJ5IGFib3ZlIHRoZSBib2R5LiBJbiB0aGlzIGNhc2VcbiAgICAgICAgICAgIC8vIGEgbGFjayBvZiBhIHNoZWxsIGlzIG5vdCBjb25zaWRlcmVkIGRpc2FsbG93ZWQgc28gd2Ugc2ltcGx5IHJldHVyblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIFdlIGRpZG4ndCBoYXZlIGFueSBzeW5jIGJhaWxvdXRzIGJ1dCB0aGVyZSBtYXkgYmUgdXNlciBjb2RlIHdoaWNoXG4gICAgICAgIC8vIGJsb2NrZWQgdGhlIHJvb3QuIFdlIHdvdWxkIGhhdmUgY2FwdHVyZWQgdGhlc2UgZHVyaW5nIHRoZSBwcmVyZW5kZXJcbiAgICAgICAgLy8gYW5kIGNhbiBsb2cgdGhlbSBoZXJlIGFuZCB0aGVuIHRlcm1pbmF0ZSB0aGUgYnVpbGQvdmFsaWRhdGluZyByZW5kZXJcbiAgICAgICAgY29uc3QgZHluYW1pY0Vycm9ycyA9IGR5bmFtaWNWYWxpZGF0aW9uLmR5bmFtaWNFcnJvcnM7XG4gICAgICAgIGlmIChkeW5hbWljRXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCBkeW5hbWljRXJyb3JzLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgICAgICAgICBsb2dEaXNhbGxvd2VkRHluYW1pY0Vycm9yKHdvcmtTdG9yZSwgZHluYW1pY0Vycm9yc1tpXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aHJvdyBuZXcgX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0LlN0YXRpY0dlbkJhaWxvdXRFcnJvcigpO1xuICAgICAgICB9XG4gICAgICAgIC8vIElmIHdlIGdvdCB0aGlzIGZhciB0aGVuIHRoZSBvbmx5IG90aGVyIHRoaW5nIHRoYXQgY291bGQgYmUgYmxvY2tpbmdcbiAgICAgICAgLy8gdGhlIHJvb3QgaXMgZHluYW1pYyBWaWV3cG9ydC4gSWYgdGhpcyBpcyBkeW5hbWljIHRoZW5cbiAgICAgICAgLy8geW91IG5lZWQgdG8gb3B0IGludG8gdGhhdCBieSBhZGRpbmcgYSBTdXNwZW5zZSBib3VuZGFyeSBhYm92ZSB0aGUgYm9keVxuICAgICAgICAvLyB0byBpbmRpY2F0ZSB5b3VyIGFyZSBvayB3aXRoIGZ1bGx5IGR5bmFtaWMgcmVuZGVyaW5nLlxuICAgICAgICBpZiAoZHluYW1pY1ZhbGlkYXRpb24uaGFzRHluYW1pY1ZpZXdwb3J0KSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBSb3V0ZSBcIiR7d29ya1N0b3JlLnJvdXRlfVwiIGhhcyBhIFxcYGdlbmVyYXRlVmlld3BvcnRcXGAgdGhhdCBkZXBlbmRzIG9uIFJlcXVlc3QgZGF0YSAoXFxgY29va2llcygpXFxgLCBldGMuLi4pIG9yIHVuY2FjaGVkIGV4dGVybmFsIGRhdGEgKFxcYGZldGNoKC4uLilcXGAsIGV0Yy4uLikgd2l0aG91dCBleHBsaWNpdGx5IGFsbG93aW5nIGZ1bGx5IGR5bmFtaWMgcmVuZGVyaW5nLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtdmlld3BvcnRgKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBfc3RhdGljZ2VuZXJhdGlvbmJhaWxvdXQuU3RhdGljR2VuQmFpbG91dEVycm9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByZWx1ZGUgPT09IDEpIHtcbiAgICAgICAgICAgIC8vIElmIHdlIGV2ZXIgZ2V0IHRoaXMgZmFyIHRoZW4gd2UgbWVzc2VkIHVwIHRoZSB0cmFja2luZyBvZiBpbnZhbGlkIGR5bmFtaWMuXG4gICAgICAgICAgICAvLyBXZSBzdGlsbCBhZGhlcmUgdG8gdGhlIGNvbnN0cmFpbnQgdGhhdCB5b3UgbXVzdCBwcm9kdWNlIGEgc2hlbGwgYnV0IGludml0ZSB0aGVcbiAgICAgICAgICAgIC8vIHVzZXIgdG8gcmVwb3J0IHRoaXMgYXMgYSBidWcgaW4gTmV4dC5qcy5cbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFJvdXRlIFwiJHt3b3JrU3RvcmUucm91dGV9XCIgZGlkIG5vdCBwcm9kdWNlIGEgc3RhdGljIHNoZWxsIGFuZCBOZXh0LmpzIHdhcyB1bmFibGUgdG8gZGV0ZXJtaW5lIGEgcmVhc29uLiBUaGlzIGlzIGEgYnVnIGluIE5leHQuanMuYCk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0LlN0YXRpY0dlbkJhaWxvdXRFcnJvcigpO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGR5bmFtaWNWYWxpZGF0aW9uLmhhc0FsbG93ZWREeW5hbWljID09PSBmYWxzZSAmJiBkeW5hbWljVmFsaWRhdGlvbi5oYXNEeW5hbWljTWV0YWRhdGEpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFJvdXRlIFwiJHt3b3JrU3RvcmUucm91dGV9XCIgaGFzIGEgXFxgZ2VuZXJhdGVNZXRhZGF0YVxcYCB0aGF0IGRlcGVuZHMgb24gUmVxdWVzdCBkYXRhIChcXGBjb29raWVzKClcXGAsIGV0Yy4uLikgb3IgdW5jYWNoZWQgZXh0ZXJuYWwgZGF0YSAoXFxgZmV0Y2goLi4uKVxcYCwgZXRjLi4uKSB3aGVuIHRoZSByZXN0IG9mIHRoZSByb3V0ZSBkb2VzIG5vdC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LXByZXJlbmRlci1keW5hbWljLW1ldGFkYXRhYCk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0LlN0YXRpY0dlbkJhaWxvdXRFcnJvcigpO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0U3RhdGljU2hlbGxEaXNhbGxvd2VkRHluYW1pY1JlYXNvbnMod29ya1N0b3JlLCBwcmVsdWRlLCBkeW5hbWljVmFsaWRhdGlvbikge1xuICAgIGlmIChkeW5hbWljVmFsaWRhdGlvbi5oYXNTdXNwZW5zZUFib3ZlQm9keSkge1xuICAgICAgICAvLyBUaGlzIHJvdXRlIGhhcyBvcHRlZCBpbnRvIGFsbG93aW5nIGZ1bGx5IGR5bmFtaWMgcmVuZGVyaW5nXG4gICAgICAgIC8vIGJ5IGluY2x1ZGluZyBhIFN1c3BlbnNlIGJvdW5kYXJ5IGFib3ZlIHRoZSBib2R5LiBJbiB0aGlzIGNhc2VcbiAgICAgICAgLy8gYSBsYWNrIG9mIGEgc2hlbGwgaXMgbm90IGNvbnNpZGVyZWQgZGlzYWxsb3dlZCBzbyB3ZSBzaW1wbHkgcmV0dXJuXG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgaWYgKHByZWx1ZGUgIT09IDApIHtcbiAgICAgICAgLy8gV2UgZGlkbid0IGhhdmUgYW55IHN5bmMgYmFpbG91dHMgYnV0IHRoZXJlIG1heSBiZSB1c2VyIGNvZGUgd2hpY2hcbiAgICAgICAgLy8gYmxvY2tlZCB0aGUgcm9vdC4gV2Ugd291bGQgaGF2ZSBjYXB0dXJlZCB0aGVzZSBkdXJpbmcgdGhlIHByZXJlbmRlclxuICAgICAgICAvLyBhbmQgY2FuIGxvZyB0aGVtIGhlcmUgYW5kIHRoZW4gdGVybWluYXRlIHRoZSBidWlsZC92YWxpZGF0aW5nIHJlbmRlclxuICAgICAgICBjb25zdCBkeW5hbWljRXJyb3JzID0gZHluYW1pY1ZhbGlkYXRpb24uZHluYW1pY0Vycm9ycztcbiAgICAgICAgaWYgKGR5bmFtaWNFcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGR5bmFtaWNFcnJvcnM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByZWx1ZGUgPT09IDEpIHtcbiAgICAgICAgICAgIC8vIElmIHdlIGV2ZXIgZ2V0IHRoaXMgZmFyIHRoZW4gd2UgbWVzc2VkIHVwIHRoZSB0cmFja2luZyBvZiBpbnZhbGlkIGR5bmFtaWMuXG4gICAgICAgICAgICAvLyBXZSBzdGlsbCBhZGhlcmUgdG8gdGhlIGNvbnN0cmFpbnQgdGhhdCB5b3UgbXVzdCBwcm9kdWNlIGEgc2hlbGwgYnV0IGludml0ZSB0aGVcbiAgICAgICAgICAgIC8vIHVzZXIgdG8gcmVwb3J0IHRoaXMgYXMgYSBidWcgaW4gTmV4dC5qcy5cbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBfaW52YXJpYW50ZXJyb3IuSW52YXJpYW50RXJyb3IoYFJvdXRlIFwiJHt3b3JrU3RvcmUucm91dGV9XCIgZGlkIG5vdCBwcm9kdWNlIGEgc3RhdGljIHNoZWxsIGFuZCBOZXh0LmpzIHdhcyB1bmFibGUgdG8gZGV0ZXJtaW5lIGEgcmVhc29uLmApLCBcIl9fTkVYVF9FUlJPUl9DT0RFXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiRTkzNlwiLFxuICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICAvLyBXZSBoYXZlIGEgcHJlbHVkZSBidXQgd2UgbWlnaHQgc3RpbGwgaGF2ZSBkeW5hbWljIG1ldGFkYXRhIHdpdGhvdXQgYW55IG90aGVyIGR5bmFtaWMgYWNjZXNzXG4gICAgICAgIGlmIChkeW5hbWljVmFsaWRhdGlvbi5oYXNBbGxvd2VkRHluYW1pYyA9PT0gZmFsc2UgJiYgZHluYW1pY1ZhbGlkYXRpb24uZHluYW1pY0Vycm9ycy5sZW5ndGggPT09IDAgJiYgZHluYW1pY1ZhbGlkYXRpb24uZHluYW1pY01ldGFkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIGR5bmFtaWNWYWxpZGF0aW9uLmR5bmFtaWNNZXRhZGF0YVxuICAgICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBXZSBoYWQgYSBub24tZW1wdHkgcHJlbHVkZSBhbmQgdGhlcmUgYXJlIG5vIGR5bmFtaWMgaG9sZXNcbiAgICByZXR1cm4gW107XG59XG5mdW5jdGlvbiBkZWxheVVudGlsUnVudGltZVN0YWdlKHByZXJlbmRlclN0b3JlLCByZXN1bHQpIHtcbiAgICBpZiAocHJlcmVuZGVyU3RvcmUucnVudGltZVN0YWdlUHJvbWlzZSkge1xuICAgICAgICByZXR1cm4gcHJlcmVuZGVyU3RvcmUucnVudGltZVN0YWdlUHJvbWlzZS50aGVuKCgpPT5yZXN1bHQpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1keW5hbWljLXJlbmRlcmluZy5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/dynamic-rendering.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/staged-rendering.js":
|
||
/*!*********************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/staged-rendering.js ***!
|
||
\*********************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RenderStage: function() {\n return RenderStage;\n },\n StagedRenderingController: function() {\n return StagedRenderingController;\n }\n});\nconst _invarianterror = __webpack_require__(/*! ../../shared/lib/invariant-error */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/invariant-error.js\");\nconst _promisewithresolvers = __webpack_require__(/*! ../../shared/lib/promise-with-resolvers */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/promise-with-resolvers.js\");\nvar RenderStage = /*#__PURE__*/ function(RenderStage) {\n RenderStage[RenderStage[\"Before\"] = 1] = \"Before\";\n RenderStage[RenderStage[\"Static\"] = 2] = \"Static\";\n RenderStage[RenderStage[\"Runtime\"] = 3] = \"Runtime\";\n RenderStage[RenderStage[\"Dynamic\"] = 4] = \"Dynamic\";\n RenderStage[RenderStage[\"Abandoned\"] = 5] = \"Abandoned\";\n return RenderStage;\n}({});\nclass StagedRenderingController {\n constructor(abortSignal = null, hasRuntimePrefetch){\n this.abortSignal = abortSignal;\n this.hasRuntimePrefetch = hasRuntimePrefetch;\n this.currentStage = 1;\n this.staticInterruptReason = null;\n this.runtimeInterruptReason = null;\n this.staticStageEndTime = Infinity;\n this.runtimeStageEndTime = Infinity;\n this.runtimeStageListeners = [];\n this.dynamicStageListeners = [];\n this.runtimeStagePromise = (0, _promisewithresolvers.createPromiseWithResolvers)();\n this.dynamicStagePromise = (0, _promisewithresolvers.createPromiseWithResolvers)();\n this.mayAbandon = false;\n if (abortSignal) {\n abortSignal.addEventListener('abort', ()=>{\n const { reason } = abortSignal;\n if (this.currentStage < 3) {\n this.runtimeStagePromise.promise.catch(ignoreReject) // avoid unhandled rejections\n ;\n this.runtimeStagePromise.reject(reason);\n }\n if (this.currentStage < 4 || this.currentStage === 5) {\n this.dynamicStagePromise.promise.catch(ignoreReject) // avoid unhandled rejections\n ;\n this.dynamicStagePromise.reject(reason);\n }\n }, {\n once: true\n });\n this.mayAbandon = true;\n }\n }\n onStage(stage, callback) {\n if (this.currentStage >= stage) {\n callback();\n } else if (stage === 3) {\n this.runtimeStageListeners.push(callback);\n } else if (stage === 4) {\n this.dynamicStageListeners.push(callback);\n } else {\n // This should never happen\n throw Object.defineProperty(new _invarianterror.InvariantError(`Invalid render stage: ${stage}`), \"__NEXT_ERROR_CODE\", {\n value: \"E881\",\n enumerable: false,\n configurable: true\n });\n }\n }\n canSyncInterrupt() {\n // If we haven't started the render yet, it can't be interrupted.\n if (this.currentStage === 1) {\n return false;\n }\n const boundaryStage = this.hasRuntimePrefetch ? 4 : 3;\n return this.currentStage < boundaryStage;\n }\n syncInterruptCurrentStageWithReason(reason) {\n if (this.currentStage === 1) {\n return;\n }\n // If Sync IO occurs during the initial (abandonable) render, we'll retry it,\n // so we want a slightly different flow.\n // See the implementation of `abandonRenderImpl` for more explanation.\n if (this.mayAbandon) {\n return this.abandonRenderImpl();\n }\n // If we're in the final render, we cannot abandon it. We need to advance to the Dynamic stage\n // and capture the interruption reason.\n switch(this.currentStage){\n case 2:\n {\n this.staticInterruptReason = reason;\n this.advanceStage(4);\n return;\n }\n case 3:\n {\n // We only error for Sync IO in the runtime stage if the route\n // is configured to use runtime prefetching.\n // We do this to reflect the fact that during a runtime prefetch,\n // Sync IO aborts aborts the render.\n // Note that `canSyncInterrupt` should prevent us from getting here at all\n // if runtime prefetching isn't enabled.\n if (this.hasRuntimePrefetch) {\n this.runtimeInterruptReason = reason;\n this.advanceStage(4);\n }\n return;\n }\n case 4:\n case 5:\n default:\n }\n }\n getStaticInterruptReason() {\n return this.staticInterruptReason;\n }\n getRuntimeInterruptReason() {\n return this.runtimeInterruptReason;\n }\n getStaticStageEndTime() {\n return this.staticStageEndTime;\n }\n getRuntimeStageEndTime() {\n return this.runtimeStageEndTime;\n }\n abandonRender() {\n if (!this.mayAbandon) {\n throw Object.defineProperty(new _invarianterror.InvariantError('`abandonRender` called on a stage controller that cannot be abandoned.'), \"__NEXT_ERROR_CODE\", {\n value: \"E938\",\n enumerable: false,\n configurable: true\n });\n }\n this.abandonRenderImpl();\n }\n abandonRenderImpl() {\n // In staged rendering, only the initial render is abandonable.\n // We can abandon the initial render if\n // 1. We notice a cache miss, and need to wait for caches to fill\n // 2. A sync IO error occurs, and the render should be interrupted\n // (this might be a lazy intitialization of a module,\n // so we still want to restart in this case and see if it still occurs)\n // In either case, we'll be doing another render after this one,\n // so we only want to unblock the Runtime stage, not Dynamic, because\n // unblocking the dynamic stage would likely lead to wasted (uncached) IO.\n const { currentStage } = this;\n switch(currentStage){\n case 2:\n {\n this.currentStage = 5;\n this.resolveRuntimeStage();\n return;\n }\n case 3:\n {\n this.currentStage = 5;\n return;\n }\n case 4:\n case 1:\n case 5:\n break;\n default:\n {\n currentStage;\n }\n }\n }\n advanceStage(stage) {\n // If we're already at the target stage or beyond, do nothing.\n // (this can happen e.g. if sync IO advanced us to the dynamic stage)\n if (stage <= this.currentStage) {\n return;\n }\n let currentStage = this.currentStage;\n this.currentStage = stage;\n if (currentStage < 3 && stage >= 3) {\n this.staticStageEndTime = performance.now() + performance.timeOrigin;\n this.resolveRuntimeStage();\n }\n if (currentStage < 4 && stage >= 4) {\n this.runtimeStageEndTime = performance.now() + performance.timeOrigin;\n this.resolveDynamicStage();\n return;\n }\n }\n /** Fire the `onStage` listeners for the runtime stage and unblock any promises waiting for it. */ resolveRuntimeStage() {\n const runtimeListeners = this.runtimeStageListeners;\n for(let i = 0; i < runtimeListeners.length; i++){\n runtimeListeners[i]();\n }\n runtimeListeners.length = 0;\n this.runtimeStagePromise.resolve();\n }\n /** Fire the `onStage` listeners for the dynamic stage and unblock any promises waiting for it. */ resolveDynamicStage() {\n const dynamicListeners = this.dynamicStageListeners;\n for(let i = 0; i < dynamicListeners.length; i++){\n dynamicListeners[i]();\n }\n dynamicListeners.length = 0;\n this.dynamicStagePromise.resolve();\n }\n getStagePromise(stage) {\n switch(stage){\n case 3:\n {\n return this.runtimeStagePromise.promise;\n }\n case 4:\n {\n return this.dynamicStagePromise.promise;\n }\n default:\n {\n stage;\n throw Object.defineProperty(new _invarianterror.InvariantError(`Invalid render stage: ${stage}`), \"__NEXT_ERROR_CODE\", {\n value: \"E881\",\n enumerable: false,\n configurable: true\n });\n }\n }\n }\n waitForStage(stage) {\n return this.getStagePromise(stage);\n }\n delayUntilStage(stage, displayName, resolvedValue) {\n const ioTriggerPromise = this.getStagePromise(stage);\n const promise = makeDevtoolsIOPromiseFromIOTrigger(ioTriggerPromise, displayName, resolvedValue);\n // Analogously to `makeHangingPromise`, we might reject this promise if the signal is invoked.\n // (e.g. in the case where we don't want want the render to proceed to the dynamic stage and abort it).\n // We shouldn't consider this an unhandled rejection, so we attach a noop catch handler here to suppress this warning.\n if (this.abortSignal) {\n promise.catch(ignoreReject);\n }\n return promise;\n }\n}\nfunction ignoreReject() {}\n// TODO(restart-on-cache-miss): the layering of `delayUntilStage`,\n// `makeDevtoolsIOPromiseFromIOTrigger` and and `makeDevtoolsIOAwarePromise`\n// is confusing, we should clean it up.\nfunction makeDevtoolsIOPromiseFromIOTrigger(ioTrigger, displayName, resolvedValue) {\n // If we create a `new Promise` and give it a displayName\n // (with no userspace code above us in the stack)\n // React Devtools will use it as the IO cause when determining \"suspended by\".\n // In particular, it should shadow any inner IO that resolved/rejected the promise\n // (in case of staged rendering, this will be the `setTimeout` that triggers the relevant stage)\n const promise = new Promise((resolve, reject)=>{\n ioTrigger.then(resolve.bind(null, resolvedValue), reject);\n });\n if (displayName !== undefined) {\n // @ts-expect-error\n promise.displayName = displayName;\n }\n return promise;\n}\n\n//# sourceMappingURL=staged-rendering.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9zdGFnZWQtcmVuZGVyaW5nLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQUdMO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELHdCQUF3QixtQkFBTyxDQUFDLHVQQUFrQztBQUNsRSw4QkFBOEIsbUJBQU8sQ0FBQyxxUUFBeUM7QUFDL0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixTQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7QUFDVjtBQUNBLFVBQVU7QUFDVjtBQUNBLG9HQUFvRyxNQUFNO0FBQzFHO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsZUFBZTtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsNkJBQTZCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLDZCQUE2QjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0R0FBNEcsTUFBTTtBQUNsSDtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9zdGFnZWQtcmVuZGVyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgUmVuZGVyU3RhZ2U6IG51bGwsXG4gICAgU3RhZ2VkUmVuZGVyaW5nQ29udHJvbGxlcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBSZW5kZXJTdGFnZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSZW5kZXJTdGFnZTtcbiAgICB9LFxuICAgIFN0YWdlZFJlbmRlcmluZ0NvbnRyb2xsZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU3RhZ2VkUmVuZGVyaW5nQ29udHJvbGxlcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnZhcmlhbnRlcnJvciA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL2ludmFyaWFudC1lcnJvclwiKTtcbmNvbnN0IF9wcm9taXNld2l0aHJlc29sdmVycyA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL3Byb21pc2Utd2l0aC1yZXNvbHZlcnNcIik7XG52YXIgUmVuZGVyU3RhZ2UgPSAvKiNfX1BVUkVfXyovIGZ1bmN0aW9uKFJlbmRlclN0YWdlKSB7XG4gICAgUmVuZGVyU3RhZ2VbUmVuZGVyU3RhZ2VbXCJCZWZvcmVcIl0gPSAxXSA9IFwiQmVmb3JlXCI7XG4gICAgUmVuZGVyU3RhZ2VbUmVuZGVyU3RhZ2VbXCJTdGF0aWNcIl0gPSAyXSA9IFwiU3RhdGljXCI7XG4gICAgUmVuZGVyU3RhZ2VbUmVuZGVyU3RhZ2VbXCJSdW50aW1lXCJdID0gM10gPSBcIlJ1bnRpbWVcIjtcbiAgICBSZW5kZXJTdGFnZVtSZW5kZXJTdGFnZVtcIkR5bmFtaWNcIl0gPSA0XSA9IFwiRHluYW1pY1wiO1xuICAgIFJlbmRlclN0YWdlW1JlbmRlclN0YWdlW1wiQWJhbmRvbmVkXCJdID0gNV0gPSBcIkFiYW5kb25lZFwiO1xuICAgIHJldHVybiBSZW5kZXJTdGFnZTtcbn0oe30pO1xuY2xhc3MgU3RhZ2VkUmVuZGVyaW5nQ29udHJvbGxlciB7XG4gICAgY29uc3RydWN0b3IoYWJvcnRTaWduYWwgPSBudWxsLCBoYXNSdW50aW1lUHJlZmV0Y2gpe1xuICAgICAgICB0aGlzLmFib3J0U2lnbmFsID0gYWJvcnRTaWduYWw7XG4gICAgICAgIHRoaXMuaGFzUnVudGltZVByZWZldGNoID0gaGFzUnVudGltZVByZWZldGNoO1xuICAgICAgICB0aGlzLmN1cnJlbnRTdGFnZSA9IDE7XG4gICAgICAgIHRoaXMuc3RhdGljSW50ZXJydXB0UmVhc29uID0gbnVsbDtcbiAgICAgICAgdGhpcy5ydW50aW1lSW50ZXJydXB0UmVhc29uID0gbnVsbDtcbiAgICAgICAgdGhpcy5zdGF0aWNTdGFnZUVuZFRpbWUgPSBJbmZpbml0eTtcbiAgICAgICAgdGhpcy5ydW50aW1lU3RhZ2VFbmRUaW1lID0gSW5maW5pdHk7XG4gICAgICAgIHRoaXMucnVudGltZVN0YWdlTGlzdGVuZXJzID0gW107XG4gICAgICAgIHRoaXMuZHluYW1pY1N0YWdlTGlzdGVuZXJzID0gW107XG4gICAgICAgIHRoaXMucnVudGltZVN0YWdlUHJvbWlzZSA9ICgwLCBfcHJvbWlzZXdpdGhyZXNvbHZlcnMuY3JlYXRlUHJvbWlzZVdpdGhSZXNvbHZlcnMpKCk7XG4gICAgICAgIHRoaXMuZHluYW1pY1N0YWdlUHJvbWlzZSA9ICgwLCBfcHJvbWlzZXdpdGhyZXNvbHZlcnMuY3JlYXRlUHJvbWlzZVdpdGhSZXNvbHZlcnMpKCk7XG4gICAgICAgIHRoaXMubWF5QWJhbmRvbiA9IGZhbHNlO1xuICAgICAgICBpZiAoYWJvcnRTaWduYWwpIHtcbiAgICAgICAgICAgIGFib3J0U2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgKCk9PntcbiAgICAgICAgICAgICAgICBjb25zdCB7IHJlYXNvbiB9ID0gYWJvcnRTaWduYWw7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudFN0YWdlIDwgMykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJ1bnRpbWVTdGFnZVByb21pc2UucHJvbWlzZS5jYXRjaChpZ25vcmVSZWplY3QpIC8vIGF2b2lkIHVuaGFuZGxlZCByZWplY3Rpb25zXG4gICAgICAgICAgICAgICAgICAgIDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ydW50aW1lU3RhZ2VQcm9taXNlLnJlamVjdChyZWFzb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50U3RhZ2UgPCA0IHx8IHRoaXMuY3VycmVudFN0YWdlID09PSA1KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHluYW1pY1N0YWdlUHJvbWlzZS5wcm9taXNlLmNhdGNoKGlnbm9yZVJlamVjdCkgLy8gYXZvaWQgdW5oYW5kbGVkIHJlamVjdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmR5bmFtaWNTdGFnZVByb21pc2UucmVqZWN0KHJlYXNvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIG9uY2U6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5tYXlBYmFuZG9uID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvblN0YWdlKHN0YWdlLCBjYWxsYmFjaykge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50U3RhZ2UgPj0gc3RhZ2UpIHtcbiAgICAgICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoc3RhZ2UgPT09IDMpIHtcbiAgICAgICAgICAgIHRoaXMucnVudGltZVN0YWdlTGlzdGVuZXJzLnB1c2goY2FsbGJhY2spO1xuICAgICAgICB9IGVsc2UgaWYgKHN0YWdlID09PSA0KSB7XG4gICAgICAgICAgICB0aGlzLmR5bmFtaWNTdGFnZUxpc3RlbmVycy5wdXNoKGNhbGxiYWNrKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIFRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlblxuICAgICAgICAgICAgdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBfaW52YXJpYW50ZXJyb3IuSW52YXJpYW50RXJyb3IoYEludmFsaWQgcmVuZGVyIHN0YWdlOiAke3N0YWdlfWApLCBcIl9fTkVYVF9FUlJPUl9DT0RFXCIsIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogXCJFODgxXCIsXG4gICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjYW5TeW5jSW50ZXJydXB0KCkge1xuICAgICAgICAvLyBJZiB3ZSBoYXZlbid0IHN0YXJ0ZWQgdGhlIHJlbmRlciB5ZXQsIGl0IGNhbid0IGJlIGludGVycnVwdGVkLlxuICAgICAgICBpZiAodGhpcy5jdXJyZW50U3RhZ2UgPT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBib3VuZGFyeVN0YWdlID0gdGhpcy5oYXNSdW50aW1lUHJlZmV0Y2ggPyA0IDogMztcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFN0YWdlIDwgYm91bmRhcnlTdGFnZTtcbiAgICB9XG4gICAgc3luY0ludGVycnVwdEN1cnJlbnRTdGFnZVdpdGhSZWFzb24ocmVhc29uKSB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRTdGFnZSA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIElmIFN5bmMgSU8gb2NjdXJzIGR1cmluZyB0aGUgaW5pdGlhbCAoYWJhbmRvbmFibGUpIHJlbmRlciwgd2UnbGwgcmV0cnkgaXQsXG4gICAgICAgIC8vIHNvIHdlIHdhbnQgYSBzbGlnaHRseSBkaWZmZXJlbnQgZmxvdy5cbiAgICAgICAgLy8gU2VlIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBgYWJhbmRvblJlbmRlckltcGxgIGZvciBtb3JlIGV4cGxhbmF0aW9uLlxuICAgICAgICBpZiAodGhpcy5tYXlBYmFuZG9uKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hYmFuZG9uUmVuZGVySW1wbCgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIElmIHdlJ3JlIGluIHRoZSBmaW5hbCByZW5kZXIsIHdlIGNhbm5vdCBhYmFuZG9uIGl0LiBXZSBuZWVkIHRvIGFkdmFuY2UgdG8gdGhlIER5bmFtaWMgc3RhZ2VcbiAgICAgICAgLy8gYW5kIGNhcHR1cmUgdGhlIGludGVycnVwdGlvbiByZWFzb24uXG4gICAgICAgIHN3aXRjaCh0aGlzLmN1cnJlbnRTdGFnZSl7XG4gICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRpY0ludGVycnVwdFJlYXNvbiA9IHJlYXNvbjtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZHZhbmNlU3RhZ2UoNCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAvLyBXZSBvbmx5IGVycm9yIGZvciBTeW5jIElPIGluIHRoZSBydW50aW1lIHN0YWdlIGlmIHRoZSByb3V0ZVxuICAgICAgICAgICAgICAgICAgICAvLyBpcyBjb25maWd1cmVkIHRvIHVzZSBydW50aW1lIHByZWZldGNoaW5nLlxuICAgICAgICAgICAgICAgICAgICAvLyBXZSBkbyB0aGlzIHRvIHJlZmxlY3QgdGhlIGZhY3QgdGhhdCBkdXJpbmcgYSBydW50aW1lIHByZWZldGNoLFxuICAgICAgICAgICAgICAgICAgICAvLyBTeW5jIElPIGFib3J0cyBhYm9ydHMgdGhlIHJlbmRlci5cbiAgICAgICAgICAgICAgICAgICAgLy8gTm90ZSB0aGF0IGBjYW5TeW5jSW50ZXJydXB0YCBzaG91bGQgcHJldmVudCB1cyBmcm9tIGdldHRpbmcgaGVyZSBhdCBhbGxcbiAgICAgICAgICAgICAgICAgICAgLy8gaWYgcnVudGltZSBwcmVmZXRjaGluZyBpc24ndCBlbmFibGVkLlxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNSdW50aW1lUHJlZmV0Y2gpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucnVudGltZUludGVycnVwdFJlYXNvbiA9IHJlYXNvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWR2YW5jZVN0YWdlKDQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICB9XG4gICAgfVxuICAgIGdldFN0YXRpY0ludGVycnVwdFJlYXNvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGljSW50ZXJydXB0UmVhc29uO1xuICAgIH1cbiAgICBnZXRSdW50aW1lSW50ZXJydXB0UmVhc29uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ydW50aW1lSW50ZXJydXB0UmVhc29uO1xuICAgIH1cbiAgICBnZXRTdGF0aWNTdGFnZUVuZFRpbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRpY1N0YWdlRW5kVGltZTtcbiAgICB9XG4gICAgZ2V0UnVudGltZVN0YWdlRW5kVGltZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucnVudGltZVN0YWdlRW5kVGltZTtcbiAgICB9XG4gICAgYWJhbmRvblJlbmRlcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLm1heUFiYW5kb24pIHtcbiAgICAgICAgICAgIHRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgX2ludmFyaWFudGVycm9yLkludmFyaWFudEVycm9yKCdgYWJhbmRvblJlbmRlcmAgY2FsbGVkIG9uIGEgc3RhZ2UgY29udHJvbGxlciB0aGF0IGNhbm5vdCBiZSBhYmFuZG9uZWQuJyksIFwiX19ORVhUX0VSUk9SX0NPREVcIiwge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBcIkU5MzhcIixcbiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWJhbmRvblJlbmRlckltcGwoKTtcbiAgICB9XG4gICAgYWJhbmRvblJlbmRlckltcGwoKSB7XG4gICAgICAgIC8vIEluIHN0YWdlZCByZW5kZXJpbmcsIG9ubHkgdGhlIGluaXRpYWwgcmVuZGVyIGlzIGFiYW5kb25hYmxlLlxuICAgICAgICAvLyBXZSBjYW4gYWJhbmRvbiB0aGUgaW5pdGlhbCByZW5kZXIgaWZcbiAgICAgICAgLy8gICAxLiBXZSBub3RpY2UgYSBjYWNoZSBtaXNzLCBhbmQgbmVlZCB0byB3YWl0IGZvciBjYWNoZXMgdG8gZmlsbFxuICAgICAgICAvLyAgIDIuIEEgc3luYyBJTyBlcnJvciBvY2N1cnMsIGFuZCB0aGUgcmVuZGVyIHNob3VsZCBiZSBpbnRlcnJ1cHRlZFxuICAgICAgICAvLyAgICAgICh0aGlzIG1pZ2h0IGJlIGEgbGF6eSBpbnRpdGlhbGl6YXRpb24gb2YgYSBtb2R1bGUsXG4gICAgICAgIC8vICAgICAgIHNvIHdlIHN0aWxsIHdhbnQgdG8gcmVzdGFydCBpbiB0aGlzIGNhc2UgYW5kIHNlZSBpZiBpdCBzdGlsbCBvY2N1cnMpXG4gICAgICAgIC8vIEluIGVpdGhlciBjYXNlLCB3ZSdsbCBiZSBkb2luZyBhbm90aGVyIHJlbmRlciBhZnRlciB0aGlzIG9uZSxcbiAgICAgICAgLy8gc28gd2Ugb25seSB3YW50IHRvIHVuYmxvY2sgdGhlIFJ1bnRpbWUgc3RhZ2UsIG5vdCBEeW5hbWljLCBiZWNhdXNlXG4gICAgICAgIC8vIHVuYmxvY2tpbmcgdGhlIGR5bmFtaWMgc3RhZ2Ugd291bGQgbGlrZWx5IGxlYWQgdG8gd2FzdGVkICh1bmNhY2hlZCkgSU8uXG4gICAgICAgIGNvbnN0IHsgY3VycmVudFN0YWdlIH0gPSB0aGlzO1xuICAgICAgICBzd2l0Y2goY3VycmVudFN0YWdlKXtcbiAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFN0YWdlID0gNTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNvbHZlUnVudGltZVN0YWdlKCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRTdGFnZSA9IDU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudFN0YWdlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBhZHZhbmNlU3RhZ2Uoc3RhZ2UpIHtcbiAgICAgICAgLy8gSWYgd2UncmUgYWxyZWFkeSBhdCB0aGUgdGFyZ2V0IHN0YWdlIG9yIGJleW9uZCwgZG8gbm90aGluZy5cbiAgICAgICAgLy8gKHRoaXMgY2FuIGhhcHBlbiBlLmcuIGlmIHN5bmMgSU8gYWR2YW5jZWQgdXMgdG8gdGhlIGR5bmFtaWMgc3RhZ2UpXG4gICAgICAgIGlmIChzdGFnZSA8PSB0aGlzLmN1cnJlbnRTdGFnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjdXJyZW50U3RhZ2UgPSB0aGlzLmN1cnJlbnRTdGFnZTtcbiAgICAgICAgdGhpcy5jdXJyZW50U3RhZ2UgPSBzdGFnZTtcbiAgICAgICAgaWYgKGN1cnJlbnRTdGFnZSA8IDMgJiYgc3RhZ2UgPj0gMykge1xuICAgICAgICAgICAgdGhpcy5zdGF0aWNTdGFnZUVuZFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKSArIHBlcmZvcm1hbmNlLnRpbWVPcmlnaW47XG4gICAgICAgICAgICB0aGlzLnJlc29sdmVSdW50aW1lU3RhZ2UoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY3VycmVudFN0YWdlIDwgNCAmJiBzdGFnZSA+PSA0KSB7XG4gICAgICAgICAgICB0aGlzLnJ1bnRpbWVTdGFnZUVuZFRpbWUgPSBwZXJmb3JtYW5jZS5ub3coKSArIHBlcmZvcm1hbmNlLnRpbWVPcmlnaW47XG4gICAgICAgICAgICB0aGlzLnJlc29sdmVEeW5hbWljU3RhZ2UoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKiogRmlyZSB0aGUgYG9uU3RhZ2VgIGxpc3RlbmVycyBmb3IgdGhlIHJ1bnRpbWUgc3RhZ2UgYW5kIHVuYmxvY2sgYW55IHByb21pc2VzIHdhaXRpbmcgZm9yIGl0LiAqLyByZXNvbHZlUnVudGltZVN0YWdlKCkge1xuICAgICAgICBjb25zdCBydW50aW1lTGlzdGVuZXJzID0gdGhpcy5ydW50aW1lU3RhZ2VMaXN0ZW5lcnM7XG4gICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCBydW50aW1lTGlzdGVuZXJzLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgICAgIHJ1bnRpbWVMaXN0ZW5lcnNbaV0oKTtcbiAgICAgICAgfVxuICAgICAgICBydW50aW1lTGlzdGVuZXJzLmxlbmd0aCA9IDA7XG4gICAgICAgIHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuICAgIC8qKiBGaXJlIHRoZSBgb25TdGFnZWAgbGlzdGVuZXJzIGZvciB0aGUgZHluYW1pYyBzdGFnZSBhbmQgdW5ibG9jayBhbnkgcHJvbWlzZXMgd2FpdGluZyBmb3IgaXQuICovIHJlc29sdmVEeW5hbWljU3RhZ2UoKSB7XG4gICAgICAgIGNvbnN0IGR5bmFtaWNMaXN0ZW5lcnMgPSB0aGlzLmR5bmFtaWNTdGFnZUxpc3RlbmVycztcbiAgICAgICAgZm9yKGxldCBpID0gMDsgaSA8IGR5bmFtaWNMaXN0ZW5lcnMubGVuZ3RoOyBpKyspe1xuICAgICAgICAgICAgZHluYW1pY0xpc3RlbmVyc1tpXSgpO1xuICAgICAgICB9XG4gICAgICAgIGR5bmFtaWNMaXN0ZW5lcnMubGVuZ3RoID0gMDtcbiAgICAgICAgdGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnJlc29sdmUoKTtcbiAgICB9XG4gICAgZ2V0U3RhZ2VQcm9taXNlKHN0YWdlKSB7XG4gICAgICAgIHN3aXRjaChzdGFnZSl7XG4gICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5ydW50aW1lU3RhZ2VQcm9taXNlLnByb21pc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSA0OlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZHluYW1pY1N0YWdlUHJvbWlzZS5wcm9taXNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBzdGFnZTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBfaW52YXJpYW50ZXJyb3IuSW52YXJpYW50RXJyb3IoYEludmFsaWQgcmVuZGVyIHN0YWdlOiAke3N0YWdlfWApLCBcIl9fTkVYVF9FUlJPUl9DT0RFXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIkU4ODFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICB3YWl0Rm9yU3RhZ2Uoc3RhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3RhZ2VQcm9taXNlKHN0YWdlKTtcbiAgICB9XG4gICAgZGVsYXlVbnRpbFN0YWdlKHN0YWdlLCBkaXNwbGF5TmFtZSwgcmVzb2x2ZWRWYWx1ZSkge1xuICAgICAgICBjb25zdCBpb1RyaWdnZXJQcm9taXNlID0gdGhpcy5nZXRTdGFnZVByb21pc2Uoc3RhZ2UpO1xuICAgICAgICBjb25zdCBwcm9taXNlID0gbWFrZURldnRvb2xzSU9Qcm9taXNlRnJvbUlPVHJpZ2dlcihpb1RyaWdnZXJQcm9taXNlLCBkaXNwbGF5TmFtZSwgcmVzb2x2ZWRWYWx1ZSk7XG4gICAgICAgIC8vIEFuYWxvZ291c2x5IHRvIGBtYWtlSGFuZ2luZ1Byb21pc2VgLCB3ZSBtaWdodCByZWplY3QgdGhpcyBwcm9taXNlIGlmIHRoZSBzaWduYWwgaXMgaW52b2tlZC5cbiAgICAgICAgLy8gKGUuZy4gaW4gdGhlIGNhc2Ugd2hlcmUgd2UgZG9uJ3Qgd2FudCB3YW50IHRoZSByZW5kZXIgdG8gcHJvY2VlZCB0byB0aGUgZHluYW1pYyBzdGFnZSBhbmQgYWJvcnQgaXQpLlxuICAgICAgICAvLyBXZSBzaG91bGRuJ3QgY29uc2lkZXIgdGhpcyBhbiB1bmhhbmRsZWQgcmVqZWN0aW9uLCBzbyB3ZSBhdHRhY2ggYSBub29wIGNhdGNoIGhhbmRsZXIgaGVyZSB0byBzdXBwcmVzcyB0aGlzIHdhcm5pbmcuXG4gICAgICAgIGlmICh0aGlzLmFib3J0U2lnbmFsKSB7XG4gICAgICAgICAgICBwcm9taXNlLmNhdGNoKGlnbm9yZVJlamVjdCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByb21pc2U7XG4gICAgfVxufVxuZnVuY3Rpb24gaWdub3JlUmVqZWN0KCkge31cbi8vIFRPRE8ocmVzdGFydC1vbi1jYWNoZS1taXNzKTogdGhlIGxheWVyaW5nIG9mIGBkZWxheVVudGlsU3RhZ2VgLFxuLy8gYG1ha2VEZXZ0b29sc0lPUHJvbWlzZUZyb21JT1RyaWdnZXJgIGFuZCBhbmQgYG1ha2VEZXZ0b29sc0lPQXdhcmVQcm9taXNlYFxuLy8gaXMgY29uZnVzaW5nLCB3ZSBzaG91bGQgY2xlYW4gaXQgdXAuXG5mdW5jdGlvbiBtYWtlRGV2dG9vbHNJT1Byb21pc2VGcm9tSU9UcmlnZ2VyKGlvVHJpZ2dlciwgZGlzcGxheU5hbWUsIHJlc29sdmVkVmFsdWUpIHtcbiAgICAvLyBJZiB3ZSBjcmVhdGUgYSBgbmV3IFByb21pc2VgIGFuZCBnaXZlIGl0IGEgZGlzcGxheU5hbWVcbiAgICAvLyAod2l0aCBubyB1c2Vyc3BhY2UgY29kZSBhYm92ZSB1cyBpbiB0aGUgc3RhY2spXG4gICAgLy8gUmVhY3QgRGV2dG9vbHMgd2lsbCB1c2UgaXQgYXMgdGhlIElPIGNhdXNlIHdoZW4gZGV0ZXJtaW5pbmcgXCJzdXNwZW5kZWQgYnlcIi5cbiAgICAvLyBJbiBwYXJ0aWN1bGFyLCBpdCBzaG91bGQgc2hhZG93IGFueSBpbm5lciBJTyB0aGF0IHJlc29sdmVkL3JlamVjdGVkIHRoZSBwcm9taXNlXG4gICAgLy8gKGluIGNhc2Ugb2Ygc3RhZ2VkIHJlbmRlcmluZywgdGhpcyB3aWxsIGJlIHRoZSBgc2V0VGltZW91dGAgdGhhdCB0cmlnZ2VycyB0aGUgcmVsZXZhbnQgc3RhZ2UpXG4gICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpPT57XG4gICAgICAgIGlvVHJpZ2dlci50aGVuKHJlc29sdmUuYmluZChudWxsLCByZXNvbHZlZFZhbHVlKSwgcmVqZWN0KTtcbiAgICB9KTtcbiAgICBpZiAoZGlzcGxheU5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgIHByb21pc2UuZGlzcGxheU5hbWUgPSBkaXNwbGF5TmFtZTtcbiAgICB9XG4gICAgcmV0dXJuIHByb21pc2U7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0YWdlZC1yZW5kZXJpbmcuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/staged-rendering.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/dynamic-rendering-utils.js":
|
||
/*!*****************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/dynamic-rendering-utils.js ***!
|
||
\*****************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isHangingPromiseRejectionError: function() {\n return isHangingPromiseRejectionError;\n },\n makeDevtoolsIOAwarePromise: function() {\n return makeDevtoolsIOAwarePromise;\n },\n makeHangingPromise: function() {\n return makeHangingPromise;\n }\n});\nfunction isHangingPromiseRejectionError(err) {\n if (typeof err !== 'object' || err === null || !('digest' in err)) {\n return false;\n }\n return err.digest === HANGING_PROMISE_REJECTION;\n}\nconst HANGING_PROMISE_REJECTION = 'HANGING_PROMISE_REJECTION';\nclass HangingPromiseRejectionError extends Error {\n constructor(route, expression){\n super(`During prerendering, ${expression} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${expression} to a different context by using \\`setTimeout\\`, \\`after\\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route \"${route}\".`), this.route = route, this.expression = expression, this.digest = HANGING_PROMISE_REJECTION;\n }\n}\nconst abortListenersBySignal = new WeakMap();\nfunction makeHangingPromise(signal, route, expression) {\n if (signal.aborted) {\n return Promise.reject(new HangingPromiseRejectionError(route, expression));\n } else {\n const hangingPromise = new Promise((_, reject)=>{\n const boundRejection = reject.bind(null, new HangingPromiseRejectionError(route, expression));\n let currentListeners = abortListenersBySignal.get(signal);\n if (currentListeners) {\n currentListeners.push(boundRejection);\n } else {\n const listeners = [\n boundRejection\n ];\n abortListenersBySignal.set(signal, listeners);\n signal.addEventListener('abort', ()=>{\n for(let i = 0; i < listeners.length; i++){\n listeners[i]();\n }\n }, {\n once: true\n });\n }\n });\n // We are fine if no one actually awaits this promise. We shouldn't consider this an unhandled rejection so\n // we attach a noop catch handler here to suppress this warning. If you actually await somewhere or construct\n // your own promise out of it you'll need to ensure you handle the error when it rejects.\n hangingPromise.catch(ignoreReject);\n return hangingPromise;\n }\n}\nfunction ignoreReject() {}\nfunction makeDevtoolsIOAwarePromise(underlying, requestStore, stage) {\n if (requestStore.stagedRendering) {\n // We resolve each stage in a timeout, so React DevTools will pick this up as IO.\n return requestStore.stagedRendering.delayUntilStage(stage, undefined, underlying);\n }\n // in React DevTools if we resolve in a setTimeout we will observe\n // the promise resolution as something that can suspend a boundary or root.\n return new Promise((resolve)=>{\n // Must use setTimeout to be considered IO React DevTools. setImmediate will not work.\n setTimeout(()=>{\n resolve(underlying);\n }, 0);\n });\n}\n\n//# sourceMappingURL=dynamic-rendering-utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZHluYW1pYy1yZW5kZXJpbmctdXRpbHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBSUw7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0MsWUFBWSxzR0FBc0csWUFBWSwrS0FBK0ssTUFBTTtBQUN6VjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DLHNCQUFzQjtBQUN6RDtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDs7QUFFQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZHluYW1pYy1yZW5kZXJpbmctdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBpc0hhbmdpbmdQcm9taXNlUmVqZWN0aW9uRXJyb3I6IG51bGwsXG4gICAgbWFrZURldnRvb2xzSU9Bd2FyZVByb21pc2U6IG51bGwsXG4gICAgbWFrZUhhbmdpbmdQcm9taXNlOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGlzSGFuZ2luZ1Byb21pc2VSZWplY3Rpb25FcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0hhbmdpbmdQcm9taXNlUmVqZWN0aW9uRXJyb3I7XG4gICAgfSxcbiAgICBtYWtlRGV2dG9vbHNJT0F3YXJlUHJvbWlzZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBtYWtlRGV2dG9vbHNJT0F3YXJlUHJvbWlzZTtcbiAgICB9LFxuICAgIG1ha2VIYW5naW5nUHJvbWlzZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBtYWtlSGFuZ2luZ1Byb21pc2U7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBpc0hhbmdpbmdQcm9taXNlUmVqZWN0aW9uRXJyb3IoZXJyKSB7XG4gICAgaWYgKHR5cGVvZiBlcnIgIT09ICdvYmplY3QnIHx8IGVyciA9PT0gbnVsbCB8fCAhKCdkaWdlc3QnIGluIGVycikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZXJyLmRpZ2VzdCA9PT0gSEFOR0lOR19QUk9NSVNFX1JFSkVDVElPTjtcbn1cbmNvbnN0IEhBTkdJTkdfUFJPTUlTRV9SRUpFQ1RJT04gPSAnSEFOR0lOR19QUk9NSVNFX1JFSkVDVElPTic7XG5jbGFzcyBIYW5naW5nUHJvbWlzZVJlamVjdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHJvdXRlLCBleHByZXNzaW9uKXtcbiAgICAgICAgc3VwZXIoYER1cmluZyBwcmVyZW5kZXJpbmcsICR7ZXhwcmVzc2lvbn0gcmVqZWN0cyB3aGVuIHRoZSBwcmVyZW5kZXIgaXMgY29tcGxldGUuIFR5cGljYWxseSB0aGVzZSBlcnJvcnMgYXJlIGhhbmRsZWQgYnkgUmVhY3QgYnV0IGlmIHlvdSBtb3ZlICR7ZXhwcmVzc2lvbn0gdG8gYSBkaWZmZXJlbnQgY29udGV4dCBieSB1c2luZyBcXGBzZXRUaW1lb3V0XFxgLCBcXGBhZnRlclxcYCwgb3Igc2ltaWxhciBmdW5jdGlvbnMgeW91IG1heSBvYnNlcnZlIHRoaXMgZXJyb3IgYW5kIHlvdSBzaG91bGQgaGFuZGxlIGl0IGluIHRoYXQgY29udGV4dC4gVGhpcyBvY2N1cnJlZCBhdCByb3V0ZSBcIiR7cm91dGV9XCIuYCksIHRoaXMucm91dGUgPSByb3V0ZSwgdGhpcy5leHByZXNzaW9uID0gZXhwcmVzc2lvbiwgdGhpcy5kaWdlc3QgPSBIQU5HSU5HX1BST01JU0VfUkVKRUNUSU9OO1xuICAgIH1cbn1cbmNvbnN0IGFib3J0TGlzdGVuZXJzQnlTaWduYWwgPSBuZXcgV2Vha01hcCgpO1xuZnVuY3Rpb24gbWFrZUhhbmdpbmdQcm9taXNlKHNpZ25hbCwgcm91dGUsIGV4cHJlc3Npb24pIHtcbiAgICBpZiAoc2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBIYW5naW5nUHJvbWlzZVJlamVjdGlvbkVycm9yKHJvdXRlLCBleHByZXNzaW9uKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgaGFuZ2luZ1Byb21pc2UgPSBuZXcgUHJvbWlzZSgoXywgcmVqZWN0KT0+e1xuICAgICAgICAgICAgY29uc3QgYm91bmRSZWplY3Rpb24gPSByZWplY3QuYmluZChudWxsLCBuZXcgSGFuZ2luZ1Byb21pc2VSZWplY3Rpb25FcnJvcihyb3V0ZSwgZXhwcmVzc2lvbikpO1xuICAgICAgICAgICAgbGV0IGN1cnJlbnRMaXN0ZW5lcnMgPSBhYm9ydExpc3RlbmVyc0J5U2lnbmFsLmdldChzaWduYWwpO1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRMaXN0ZW5lcnMpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50TGlzdGVuZXJzLnB1c2goYm91bmRSZWplY3Rpb24pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsaXN0ZW5lcnMgPSBbXG4gICAgICAgICAgICAgICAgICAgIGJvdW5kUmVqZWN0aW9uXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICBhYm9ydExpc3RlbmVyc0J5U2lnbmFsLnNldChzaWduYWwsIGxpc3RlbmVycyk7XG4gICAgICAgICAgICAgICAgc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgKCk9PntcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBpID0gMDsgaSA8IGxpc3RlbmVycy5sZW5ndGg7IGkrKyl7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0ZW5lcnNbaV0oKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICAgICAgb25jZTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgLy8gV2UgYXJlIGZpbmUgaWYgbm8gb25lIGFjdHVhbGx5IGF3YWl0cyB0aGlzIHByb21pc2UuIFdlIHNob3VsZG4ndCBjb25zaWRlciB0aGlzIGFuIHVuaGFuZGxlZCByZWplY3Rpb24gc29cbiAgICAgICAgLy8gd2UgYXR0YWNoIGEgbm9vcCBjYXRjaCBoYW5kbGVyIGhlcmUgdG8gc3VwcHJlc3MgdGhpcyB3YXJuaW5nLiBJZiB5b3UgYWN0dWFsbHkgYXdhaXQgc29tZXdoZXJlIG9yIGNvbnN0cnVjdFxuICAgICAgICAvLyB5b3VyIG93biBwcm9taXNlIG91dCBvZiBpdCB5b3UnbGwgbmVlZCB0byBlbnN1cmUgeW91IGhhbmRsZSB0aGUgZXJyb3Igd2hlbiBpdCByZWplY3RzLlxuICAgICAgICBoYW5naW5nUHJvbWlzZS5jYXRjaChpZ25vcmVSZWplY3QpO1xuICAgICAgICByZXR1cm4gaGFuZ2luZ1Byb21pc2U7XG4gICAgfVxufVxuZnVuY3Rpb24gaWdub3JlUmVqZWN0KCkge31cbmZ1bmN0aW9uIG1ha2VEZXZ0b29sc0lPQXdhcmVQcm9taXNlKHVuZGVybHlpbmcsIHJlcXVlc3RTdG9yZSwgc3RhZ2UpIHtcbiAgICBpZiAocmVxdWVzdFN0b3JlLnN0YWdlZFJlbmRlcmluZykge1xuICAgICAgICAvLyBXZSByZXNvbHZlIGVhY2ggc3RhZ2UgaW4gYSB0aW1lb3V0LCBzbyBSZWFjdCBEZXZUb29scyB3aWxsIHBpY2sgdGhpcyB1cCBhcyBJTy5cbiAgICAgICAgcmV0dXJuIHJlcXVlc3RTdG9yZS5zdGFnZWRSZW5kZXJpbmcuZGVsYXlVbnRpbFN0YWdlKHN0YWdlLCB1bmRlZmluZWQsIHVuZGVybHlpbmcpO1xuICAgIH1cbiAgICAvLyBpbiBSZWFjdCBEZXZUb29scyBpZiB3ZSByZXNvbHZlIGluIGEgc2V0VGltZW91dCB3ZSB3aWxsIG9ic2VydmVcbiAgICAvLyB0aGUgcHJvbWlzZSByZXNvbHV0aW9uIGFzIHNvbWV0aGluZyB0aGF0IGNhbiBzdXNwZW5kIGEgYm91bmRhcnkgb3Igcm9vdC5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpPT57XG4gICAgICAgIC8vIE11c3QgdXNlIHNldFRpbWVvdXQgdG8gYmUgY29uc2lkZXJlZCBJTyBSZWFjdCBEZXZUb29scy4gc2V0SW1tZWRpYXRlIHdpbGwgbm90IHdvcmsuXG4gICAgICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgICAgICAgIHJlc29sdmUodW5kZXJseWluZyk7XG4gICAgICAgIH0sIDApO1xuICAgIH0pO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1keW5hbWljLXJlbmRlcmluZy11dGlscy5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/dynamic-rendering-utils.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/request/connection.js":
|
||
/*!************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/request/connection.js ***!
|
||
\************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"connection\", ({\n enumerable: true,\n get: function() {\n return connection;\n }\n}));\nconst _workasyncstorageexternal = __webpack_require__(/*! ../app-render/work-async-storage.external */ \"(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-async-storage.external.js\");\nconst _workunitasyncstorageexternal = __webpack_require__(/*! ../app-render/work-unit-async-storage.external */ \"(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js\");\nconst _dynamicrendering = __webpack_require__(/*! ../app-render/dynamic-rendering */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/dynamic-rendering.js\");\nconst _staticgenerationbailout = __webpack_require__(/*! ../../client/components/static-generation-bailout */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/components/static-generation-bailout.js\");\nconst _dynamicrenderingutils = __webpack_require__(/*! ../dynamic-rendering-utils */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/dynamic-rendering-utils.js\");\nconst _utils = __webpack_require__(/*! ./utils */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/request/utils.js\");\nconst _stagedrendering = __webpack_require__(/*! ../app-render/staged-rendering */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/staged-rendering.js\");\nfunction connection() {\n const callingExpression = 'connection';\n const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();\n const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();\n if (workStore) {\n if (workUnitStore && workUnitStore.phase === 'after' && !(0, _utils.isRequestAPICallableInsideAfter)()) {\n throw Object.defineProperty(new Error(`Route ${workStore.route} used \\`connection()\\` inside \\`after()\\`. The \\`connection()\\` function is used to indicate the subsequent code must only run when there is an actual Request, but \\`after()\\` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`), \"__NEXT_ERROR_CODE\", {\n value: \"E827\",\n enumerable: false,\n configurable: true\n });\n }\n if (workStore.forceStatic) {\n // When using forceStatic, we override all other logic and always just\n // return a resolving promise without tracking.\n return Promise.resolve(undefined);\n }\n if (workStore.dynamicShouldError) {\n throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError(`Route ${workStore.route} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`connection()\\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`), \"__NEXT_ERROR_CODE\", {\n value: \"E847\",\n enumerable: false,\n configurable: true\n });\n }\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'cache':\n {\n const error = Object.defineProperty(new Error(`Route ${workStore.route} used \\`connection()\\` inside \"use cache\". The \\`connection()\\` function is used to indicate the subsequent code must only run when there is an actual request, but caches must be able to be produced before a request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`), \"__NEXT_ERROR_CODE\", {\n value: \"E841\",\n enumerable: false,\n configurable: true\n });\n Error.captureStackTrace(error, connection);\n workStore.invalidDynamicUsageError ??= error;\n throw error;\n }\n case 'private-cache':\n {\n // It might not be intuitive to throw for private caches as well, but\n // we don't consider runtime prefetches as \"actual requests\" (in the\n // navigation sense), despite allowing them to read cookies.\n const error = Object.defineProperty(new Error(`Route ${workStore.route} used \\`connection()\\` inside \"use cache: private\". The \\`connection()\\` function is used to indicate the subsequent code must only run when there is an actual navigation request, but caches must be able to be produced before a navigation request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`), \"__NEXT_ERROR_CODE\", {\n value: \"E837\",\n enumerable: false,\n configurable: true\n });\n Error.captureStackTrace(error, connection);\n workStore.invalidDynamicUsageError ??= error;\n throw error;\n }\n case 'unstable-cache':\n throw Object.defineProperty(new Error(`Route ${workStore.route} used \\`connection()\\` inside a function cached with \\`unstable_cache()\\`. The \\`connection()\\` function is used to indicate the subsequent code must only run when there is an actual Request, but caches must be able to be produced before a Request so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`), \"__NEXT_ERROR_CODE\", {\n value: \"E840\",\n enumerable: false,\n configurable: true\n });\n case 'prerender':\n case 'prerender-client':\n case 'prerender-runtime':\n // We return a promise that never resolves to allow the prerender to\n // stall at this point.\n return (0, _dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal, workStore.route, '`connection()`');\n case 'prerender-ppr':\n // We use React's postpone API to interrupt rendering here to create a\n // dynamic hole\n return (0, _dynamicrendering.postponeWithTracking)(workStore.route, 'connection', workUnitStore.dynamicTracking);\n case 'prerender-legacy':\n // We throw an error here to interrupt prerendering to mark the route\n // as dynamic\n return (0, _dynamicrendering.throwToInterruptStaticGeneration)('connection', workStore, workUnitStore);\n case 'request':\n (0, _dynamicrendering.trackDynamicDataInDynamicRender)(workUnitStore);\n if (true) {\n // Semantically we only need the dev tracking when running in `next dev`\n // but since you would never use next dev with production NODE_ENV we use this\n // as a proxy so we can statically exclude this code from production builds.\n if (workUnitStore.asyncApiPromises) {\n return workUnitStore.asyncApiPromises.connection;\n }\n return (0, _dynamicrenderingutils.makeDevtoolsIOAwarePromise)(undefined, workUnitStore, _stagedrendering.RenderStage.Dynamic);\n } else {}\n default:\n workUnitStore;\n }\n }\n }\n // If we end up here, there was no work store or work unit store present.\n (0, _workunitasyncstorageexternal.throwForMissingRequestStore)(callingExpression);\n} //# sourceMappingURL=connection.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvcmVxdWVzdC9jb25uZWN0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7OENBdUJnQkE7OztlQUFBQTs7O3NEQXZCaUI7MERBSTFCOzhDQUtBO3FEQUMrQjttREFJL0I7bUNBQ3lDOzZDQUNwQjtBQU9yQixTQUFTQTtJQUNkLE1BQU1DLG9CQUFvQjtJQUMxQixNQUFNQyxZQUFZQywwQkFBQUEsZ0JBQWdCLENBQUNDLFFBQVE7SUFDM0MsTUFBTUMsZ0JBQWdCQyw4QkFBQUEsb0JBQW9CLENBQUNGLFFBQVE7SUFFbkQsSUFBSUYsV0FBVztRQUNiLElBQ0VHLGlCQUNBQSxjQUFjRSxLQUFLLEtBQUssV0FDeEIsQ0FBQ0MsQ0FBQUEsR0FBQUEsT0FBQUEsK0JBQUFBLEtBQ0Q7WUFDQSxNQUFNLHFCQUVMLENBRkssSUFBSUMsTUFDUixDQUFDLE1BQU0sRUFBRVAsVUFBVVEsS0FBSyxDQUFDLCtVQUErVSxDQUFDLEdBRHJXO3VCQUFBOzRCQUFBOzhCQUFBO1lBRU47UUFDRjtRQUVBLElBQUlSLFVBQVVTLFdBQVcsRUFBRTtZQUN6QixzRUFBc0U7WUFDdEUsK0NBQStDO1lBQy9DLE9BQU9DLFFBQVFDLE9BQU8sQ0FBQ0M7UUFDekI7UUFFQSxJQUFJWixVQUFVYSxrQkFBa0IsRUFBRTtZQUNoQyxNQUFNLHFCQUVMLENBRkssSUFBSUMseUJBQUFBLHFCQUFxQixDQUM3QixDQUFDLE1BQU0sRUFBRWQsVUFBVVEsS0FBSyxDQUFDLHNOQUFzTixDQUFDLEdBRDVPO3VCQUFBOzRCQUFBOzhCQUFBO1lBRU47UUFDRjtRQUVBLElBQUlMLGVBQWU7WUFDakIsT0FBUUEsY0FBY1ksSUFBSTtnQkFDeEIsS0FBSztvQkFBUzt3QkFDWixNQUFNQyxRQUFRLHFCQUViLENBRmEsSUFBSVQsTUFDaEIsQ0FBQyxNQUFNLEVBQUVQLFVBQVVRLEtBQUssQ0FBQyxzVkFBc1YsQ0FBQyxHQURwVzttQ0FBQTt3Q0FBQTswQ0FBQTt3QkFFZDt3QkFDQUQsTUFBTVUsaUJBQWlCLENBQUNELE9BQU9sQjt3QkFDL0JFLFVBQVVrQix3QkFBd0IsS0FBS0Y7d0JBQ3ZDLE1BQU1BO29CQUNSO2dCQUNBLEtBQUs7b0JBQWlCO3dCQUNwQixxRUFBcUU7d0JBQ3JFLG9FQUFvRTt3QkFDcEUsNERBQTREO3dCQUM1RCxNQUFNQSxRQUFRLHFCQUViLENBRmEsSUFBSVQsTUFDaEIsQ0FBQyxNQUFNLEVBQUVQLFVBQVVRLEtBQUssQ0FBQyxxWEFBcVgsQ0FBQyxHQURuWTttQ0FBQTt3Q0FBQTswQ0FBQTt3QkFFZDt3QkFDQUQsTUFBTVUsaUJBQWlCLENBQUNELE9BQU9sQjt3QkFDL0JFLFVBQVVrQix3QkFBd0IsS0FBS0Y7d0JBQ3ZDLE1BQU1BO29CQUNSO2dCQUNBLEtBQUs7b0JBQ0gsTUFBTSxxQkFFTCxDQUZLLElBQUlULE1BQ1IsQ0FBQyxNQUFNLEVBQUVQLFVBQVVRLEtBQUssQ0FBQyw2WEFBNlgsQ0FBQyxHQURuWjsrQkFBQTtvQ0FBQTtzQ0FBQTtvQkFFTjtnQkFDRixLQUFLO2dCQUNMLEtBQUs7Z0JBQ0wsS0FBSztvQkFDSCxvRUFBb0U7b0JBQ3BFLHVCQUF1QjtvQkFDdkIsT0FBT1csQ0FBQUEsR0FBQUEsdUJBQUFBLGtCQUFBQSxFQUNMaEIsY0FBY2lCLFlBQVksRUFDMUJwQixVQUFVUSxLQUFLLEVBQ2Y7Z0JBRUosS0FBSztvQkFDSCxzRUFBc0U7b0JBQ3RFLGVBQWU7b0JBQ2YsT0FBT2EsQ0FBQUEsR0FBQUEsa0JBQUFBLG9CQUFBQSxFQUNMckIsVUFBVVEsS0FBSyxFQUNmLGNBQ0FMLGNBQWNtQixlQUFlO2dCQUVqQyxLQUFLO29CQUNILHFFQUFxRTtvQkFDckUsYUFBYTtvQkFDYixPQUFPQyxDQUFBQSxHQUFBQSxrQkFBQUEsZ0NBQUFBLEVBQ0wsY0FDQXZCLFdBQ0FHO2dCQUVKLEtBQUs7b0JBQ0hxQixDQUFBQSxHQUFBQSxrQkFBQUEsK0JBQUFBLEVBQWdDckI7b0JBQ2hDLElBQUlzQixJQUFvQixFQUFvQjt3QkFDMUMsd0VBQXdFO3dCQUN4RSw4RUFBOEU7d0JBQzlFLDRFQUE0RTt3QkFDNUUsSUFBSXRCLGNBQWN5QixnQkFBZ0IsRUFBRTs0QkFDbEMsT0FBT3pCLGNBQWN5QixnQkFBZ0IsQ0FBQzlCLFVBQVU7d0JBQ2xEO3dCQUNBLE9BQU8rQixDQUFBQSxHQUFBQSx1QkFBQUEsMEJBQUFBLEVBQ0xqQixXQUNBVCxlQUNBMkIsaUJBQUFBLFdBQVcsQ0FBQ0MsT0FBTztvQkFFdkIsT0FBTyxFQUVOO2dCQUNIO29CQUNFNUI7WUFDSjtRQUNGO0lBQ0Y7SUFFQSx5RUFBeUU7SUFDekU2QixDQUFBQSxHQUFBQSw4QkFBQUEsMkJBQUFBLEVBQTRCakM7QUFDOUIiLCJzb3VyY2VzIjpbIi9Vc2Vycy9zcmMvc2VydmVyL3JlcXVlc3QvY29ubmVjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB3b3JrQXN5bmNTdG9yYWdlIH0gZnJvbSAnLi4vYXBwLXJlbmRlci93b3JrLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWwnXG5pbXBvcnQge1xuICB0aHJvd0Zvck1pc3NpbmdSZXF1ZXN0U3RvcmUsXG4gIHdvcmtVbml0QXN5bmNTdG9yYWdlLFxufSBmcm9tICcuLi9hcHAtcmVuZGVyL3dvcmstdW5pdC1hc3luYy1zdG9yYWdlLmV4dGVybmFsJ1xuaW1wb3J0IHtcbiAgcG9zdHBvbmVXaXRoVHJhY2tpbmcsXG4gIHRocm93VG9JbnRlcnJ1cHRTdGF0aWNHZW5lcmF0aW9uLFxuICB0cmFja0R5bmFtaWNEYXRhSW5EeW5hbWljUmVuZGVyLFxufSBmcm9tICcuLi9hcHAtcmVuZGVyL2R5bmFtaWMtcmVuZGVyaW5nJ1xuaW1wb3J0IHsgU3RhdGljR2VuQmFpbG91dEVycm9yIH0gZnJvbSAnLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvc3RhdGljLWdlbmVyYXRpb24tYmFpbG91dCdcbmltcG9ydCB7XG4gIG1ha2VIYW5naW5nUHJvbWlzZSxcbiAgbWFrZURldnRvb2xzSU9Bd2FyZVByb21pc2UsXG59IGZyb20gJy4uL2R5bmFtaWMtcmVuZGVyaW5nLXV0aWxzJ1xuaW1wb3J0IHsgaXNSZXF1ZXN0QVBJQ2FsbGFibGVJbnNpZGVBZnRlciB9IGZyb20gJy4vdXRpbHMnXG5pbXBvcnQgeyBSZW5kZXJTdGFnZSB9IGZyb20gJy4uL2FwcC1yZW5kZXIvc3RhZ2VkLXJlbmRlcmluZydcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGFsbG93cyB5b3UgdG8gaW5kaWNhdGUgdGhhdCB5b3UgcmVxdWlyZSBhbiBhY3R1YWwgdXNlciBSZXF1ZXN0IGJlZm9yZSBjb250aW51aW5nLlxuICpcbiAqIER1cmluZyBwcmVyZW5kZXJpbmcgaXQgd2lsbCBuZXZlciByZXNvbHZlIGFuZCBkdXJpbmcgcmVuZGVyaW5nIGl0IHJlc29sdmVzIGltbWVkaWF0ZWx5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29ubmVjdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgY2FsbGluZ0V4cHJlc3Npb24gPSAnY29ubmVjdGlvbidcbiAgY29uc3Qgd29ya1N0b3JlID0gd29ya0FzeW5jU3RvcmFnZS5nZXRTdG9yZSgpXG4gIGNvbnN0IHdvcmtVbml0U3RvcmUgPSB3b3JrVW5pdEFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpXG5cbiAgaWYgKHdvcmtTdG9yZSkge1xuICAgIGlmIChcbiAgICAgIHdvcmtVbml0U3RvcmUgJiZcbiAgICAgIHdvcmtVbml0U3RvcmUucGhhc2UgPT09ICdhZnRlcicgJiZcbiAgICAgICFpc1JlcXVlc3RBUElDYWxsYWJsZUluc2lkZUFmdGVyKClcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFJvdXRlICR7d29ya1N0b3JlLnJvdXRlfSB1c2VkIFxcYGNvbm5lY3Rpb24oKVxcYCBpbnNpZGUgXFxgYWZ0ZXIoKVxcYC4gVGhlIFxcYGNvbm5lY3Rpb24oKVxcYCBmdW5jdGlvbiBpcyB1c2VkIHRvIGluZGljYXRlIHRoZSBzdWJzZXF1ZW50IGNvZGUgbXVzdCBvbmx5IHJ1biB3aGVuIHRoZXJlIGlzIGFuIGFjdHVhbCBSZXF1ZXN0LCBidXQgXFxgYWZ0ZXIoKVxcYCBleGVjdXRlcyBhZnRlciB0aGUgcmVxdWVzdCwgc28gdGhpcyBmdW5jdGlvbiBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIHNjb3BlLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2NhbmFyeS9hcHAvYXBpLXJlZmVyZW5jZS9mdW5jdGlvbnMvYWZ0ZXJgXG4gICAgICApXG4gICAgfVxuXG4gICAgaWYgKHdvcmtTdG9yZS5mb3JjZVN0YXRpYykge1xuICAgICAgLy8gV2hlbiB1c2luZyBmb3JjZVN0YXRpYywgd2Ugb3ZlcnJpZGUgYWxsIG90aGVyIGxvZ2ljIGFuZCBhbHdheXMganVzdFxuICAgICAgLy8gcmV0dXJuIGEgcmVzb2x2aW5nIHByb21pc2Ugd2l0aG91dCB0cmFja2luZy5cbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodW5kZWZpbmVkKVxuICAgIH1cblxuICAgIGlmICh3b3JrU3RvcmUuZHluYW1pY1Nob3VsZEVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgU3RhdGljR2VuQmFpbG91dEVycm9yKFxuICAgICAgICBgUm91dGUgJHt3b3JrU3RvcmUucm91dGV9IHdpdGggXFxgZHluYW1pYyA9IFwiZXJyb3JcIlxcYCBjb3VsZG4ndCBiZSByZW5kZXJlZCBzdGF0aWNhbGx5IGJlY2F1c2UgaXQgdXNlZCBcXGBjb25uZWN0aW9uKClcXGAuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcmVuZGVyaW5nL3N0YXRpYy1hbmQtZHluYW1pYyNkeW5hbWljLXJlbmRlcmluZ2BcbiAgICAgIClcbiAgICB9XG5cbiAgICBpZiAod29ya1VuaXRTdG9yZSkge1xuICAgICAgc3dpdGNoICh3b3JrVW5pdFN0b3JlLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnY2FjaGUnOiB7XG4gICAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgUm91dGUgJHt3b3JrU3RvcmUucm91dGV9IHVzZWQgXFxgY29ubmVjdGlvbigpXFxgIGluc2lkZSBcInVzZSBjYWNoZVwiLiBUaGUgXFxgY29ubmVjdGlvbigpXFxgIGZ1bmN0aW9uIGlzIHVzZWQgdG8gaW5kaWNhdGUgdGhlIHN1YnNlcXVlbnQgY29kZSBtdXN0IG9ubHkgcnVuIHdoZW4gdGhlcmUgaXMgYW4gYWN0dWFsIHJlcXVlc3QsIGJ1dCBjYWNoZXMgbXVzdCBiZSBhYmxlIHRvIGJlIHByb2R1Y2VkIGJlZm9yZSBhIHJlcXVlc3QsIHNvIHRoaXMgZnVuY3Rpb24gaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBzY29wZS4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LXJlcXVlc3QtaW4tdXNlLWNhY2hlYFxuICAgICAgICAgIClcbiAgICAgICAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShlcnJvciwgY29ubmVjdGlvbilcbiAgICAgICAgICB3b3JrU3RvcmUuaW52YWxpZER5bmFtaWNVc2FnZUVycm9yID8/PSBlcnJvclxuICAgICAgICAgIHRocm93IGVycm9yXG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAncHJpdmF0ZS1jYWNoZSc6IHtcbiAgICAgICAgICAvLyBJdCBtaWdodCBub3QgYmUgaW50dWl0aXZlIHRvIHRocm93IGZvciBwcml2YXRlIGNhY2hlcyBhcyB3ZWxsLCBidXRcbiAgICAgICAgICAvLyB3ZSBkb24ndCBjb25zaWRlciBydW50aW1lIHByZWZldGNoZXMgYXMgXCJhY3R1YWwgcmVxdWVzdHNcIiAoaW4gdGhlXG4gICAgICAgICAgLy8gbmF2aWdhdGlvbiBzZW5zZSksIGRlc3BpdGUgYWxsb3dpbmcgdGhlbSB0byByZWFkIGNvb2tpZXMuXG4gICAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgUm91dGUgJHt3b3JrU3RvcmUucm91dGV9IHVzZWQgXFxgY29ubmVjdGlvbigpXFxgIGluc2lkZSBcInVzZSBjYWNoZTogcHJpdmF0ZVwiLiBUaGUgXFxgY29ubmVjdGlvbigpXFxgIGZ1bmN0aW9uIGlzIHVzZWQgdG8gaW5kaWNhdGUgdGhlIHN1YnNlcXVlbnQgY29kZSBtdXN0IG9ubHkgcnVuIHdoZW4gdGhlcmUgaXMgYW4gYWN0dWFsIG5hdmlnYXRpb24gcmVxdWVzdCwgYnV0IGNhY2hlcyBtdXN0IGJlIGFibGUgdG8gYmUgcHJvZHVjZWQgYmVmb3JlIGEgbmF2aWdhdGlvbiByZXF1ZXN0LCBzbyB0aGlzIGZ1bmN0aW9uIGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgc2NvcGUuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1yZXF1ZXN0LWluLXVzZS1jYWNoZWBcbiAgICAgICAgICApXG4gICAgICAgICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UoZXJyb3IsIGNvbm5lY3Rpb24pXG4gICAgICAgICAgd29ya1N0b3JlLmludmFsaWREeW5hbWljVXNhZ2VFcnJvciA/Pz0gZXJyb3JcbiAgICAgICAgICB0aHJvdyBlcnJvclxuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3Vuc3RhYmxlLWNhY2hlJzpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgUm91dGUgJHt3b3JrU3RvcmUucm91dGV9IHVzZWQgXFxgY29ubmVjdGlvbigpXFxgIGluc2lkZSBhIGZ1bmN0aW9uIGNhY2hlZCB3aXRoIFxcYHVuc3RhYmxlX2NhY2hlKClcXGAuIFRoZSBcXGBjb25uZWN0aW9uKClcXGAgZnVuY3Rpb24gaXMgdXNlZCB0byBpbmRpY2F0ZSB0aGUgc3Vic2VxdWVudCBjb2RlIG11c3Qgb25seSBydW4gd2hlbiB0aGVyZSBpcyBhbiBhY3R1YWwgUmVxdWVzdCwgYnV0IGNhY2hlcyBtdXN0IGJlIGFibGUgdG8gYmUgcHJvZHVjZWQgYmVmb3JlIGEgUmVxdWVzdCBzbyB0aGlzIGZ1bmN0aW9uIGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgc2NvcGUuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2FwaS1yZWZlcmVuY2UvZnVuY3Rpb25zL3Vuc3RhYmxlX2NhY2hlYFxuICAgICAgICAgIClcbiAgICAgICAgY2FzZSAncHJlcmVuZGVyJzpcbiAgICAgICAgY2FzZSAncHJlcmVuZGVyLWNsaWVudCc6XG4gICAgICAgIGNhc2UgJ3ByZXJlbmRlci1ydW50aW1lJzpcbiAgICAgICAgICAvLyBXZSByZXR1cm4gYSBwcm9taXNlIHRoYXQgbmV2ZXIgcmVzb2x2ZXMgdG8gYWxsb3cgdGhlIHByZXJlbmRlciB0b1xuICAgICAgICAgIC8vIHN0YWxsIGF0IHRoaXMgcG9pbnQuXG4gICAgICAgICAgcmV0dXJuIG1ha2VIYW5naW5nUHJvbWlzZShcbiAgICAgICAgICAgIHdvcmtVbml0U3RvcmUucmVuZGVyU2lnbmFsLFxuICAgICAgICAgICAgd29ya1N0b3JlLnJvdXRlLFxuICAgICAgICAgICAgJ2Bjb25uZWN0aW9uKClgJ1xuICAgICAgICAgIClcbiAgICAgICAgY2FzZSAncHJlcmVuZGVyLXBwcic6XG4gICAgICAgICAgLy8gV2UgdXNlIFJlYWN0J3MgcG9zdHBvbmUgQVBJIHRvIGludGVycnVwdCByZW5kZXJpbmcgaGVyZSB0byBjcmVhdGUgYVxuICAgICAgICAgIC8vIGR5bmFtaWMgaG9sZVxuICAgICAgICAgIHJldHVybiBwb3N0cG9uZVdpdGhUcmFja2luZyhcbiAgICAgICAgICAgIHdvcmtTdG9yZS5yb3V0ZSxcbiAgICAgICAgICAgICdjb25uZWN0aW9uJyxcbiAgICAgICAgICAgIHdvcmtVbml0U3RvcmUuZHluYW1pY1RyYWNraW5nXG4gICAgICAgICAgKVxuICAgICAgICBjYXNlICdwcmVyZW5kZXItbGVnYWN5JzpcbiAgICAgICAgICAvLyBXZSB0aHJvdyBhbiBlcnJvciBoZXJlIHRvIGludGVycnVwdCBwcmVyZW5kZXJpbmcgdG8gbWFyayB0aGUgcm91dGVcbiAgICAgICAgICAvLyBhcyBkeW5hbWljXG4gICAgICAgICAgcmV0dXJuIHRocm93VG9JbnRlcnJ1cHRTdGF0aWNHZW5lcmF0aW9uKFxuICAgICAgICAgICAgJ2Nvbm5lY3Rpb24nLFxuICAgICAgICAgICAgd29ya1N0b3JlLFxuICAgICAgICAgICAgd29ya1VuaXRTdG9yZVxuICAgICAgICAgIClcbiAgICAgICAgY2FzZSAncmVxdWVzdCc6XG4gICAgICAgICAgdHJhY2tEeW5hbWljRGF0YUluRHluYW1pY1JlbmRlcih3b3JrVW5pdFN0b3JlKVxuICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50Jykge1xuICAgICAgICAgICAgLy8gU2VtYW50aWNhbGx5IHdlIG9ubHkgbmVlZCB0aGUgZGV2IHRyYWNraW5nIHdoZW4gcnVubmluZyBpbiBgbmV4dCBkZXZgXG4gICAgICAgICAgICAvLyBidXQgc2luY2UgeW91IHdvdWxkIG5ldmVyIHVzZSBuZXh0IGRldiB3aXRoIHByb2R1Y3Rpb24gTk9ERV9FTlYgd2UgdXNlIHRoaXNcbiAgICAgICAgICAgIC8vIGFzIGEgcHJveHkgc28gd2UgY2FuIHN0YXRpY2FsbHkgZXhjbHVkZSB0aGlzIGNvZGUgZnJvbSBwcm9kdWN0aW9uIGJ1aWxkcy5cbiAgICAgICAgICAgIGlmICh3b3JrVW5pdFN0b3JlLmFzeW5jQXBpUHJvbWlzZXMpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHdvcmtVbml0U3RvcmUuYXN5bmNBcGlQcm9taXNlcy5jb25uZWN0aW9uXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbWFrZURldnRvb2xzSU9Bd2FyZVByb21pc2UoXG4gICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgd29ya1VuaXRTdG9yZSxcbiAgICAgICAgICAgICAgUmVuZGVyU3RhZ2UuRHluYW1pY1xuICAgICAgICAgICAgKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHVuZGVmaW5lZClcbiAgICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgd29ya1VuaXRTdG9yZSBzYXRpc2ZpZXMgbmV2ZXJcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSBlbmQgdXAgaGVyZSwgdGhlcmUgd2FzIG5vIHdvcmsgc3RvcmUgb3Igd29yayB1bml0IHN0b3JlIHByZXNlbnQuXG4gIHRocm93Rm9yTWlzc2luZ1JlcXVlc3RTdG9yZShjYWxsaW5nRXhwcmVzc2lvbilcbn1cbiJdLCJuYW1lcyI6WyJjb25uZWN0aW9uIiwiY2FsbGluZ0V4cHJlc3Npb24iLCJ3b3JrU3RvcmUiLCJ3b3JrQXN5bmNTdG9yYWdlIiwiZ2V0U3RvcmUiLCJ3b3JrVW5pdFN0b3JlIiwid29ya1VuaXRBc3luY1N0b3JhZ2UiLCJwaGFzZSIsImlzUmVxdWVzdEFQSUNhbGxhYmxlSW5zaWRlQWZ0ZXIiLCJFcnJvciIsInJvdXRlIiwiZm9yY2VTdGF0aWMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInVuZGVmaW5lZCIsImR5bmFtaWNTaG91bGRFcnJvciIsIlN0YXRpY0dlbkJhaWxvdXRFcnJvciIsInR5cGUiLCJlcnJvciIsImNhcHR1cmVTdGFja1RyYWNlIiwiaW52YWxpZER5bmFtaWNVc2FnZUVycm9yIiwibWFrZUhhbmdpbmdQcm9taXNlIiwicmVuZGVyU2lnbmFsIiwicG9zdHBvbmVXaXRoVHJhY2tpbmciLCJkeW5hbWljVHJhY2tpbmciLCJ0aHJvd1RvSW50ZXJydXB0U3RhdGljR2VuZXJhdGlvbiIsInRyYWNrRHluYW1pY0RhdGFJbkR5bmFtaWNSZW5kZXIiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJhc3luY0FwaVByb21pc2VzIiwibWFrZURldnRvb2xzSU9Bd2FyZVByb21pc2UiLCJSZW5kZXJTdGFnZSIsIkR5bmFtaWMiLCJ0aHJvd0Zvck1pc3NpbmdSZXF1ZXN0U3RvcmUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/request/connection.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/request/utils.js":
|
||
/*!*******************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/request/utils.js ***!
|
||
\*******************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isRequestAPICallableInsideAfter: function() {\n return isRequestAPICallableInsideAfter;\n },\n throwForSearchParamsAccessInUseCache: function() {\n return throwForSearchParamsAccessInUseCache;\n },\n throwWithStaticGenerationBailoutErrorWithDynamicError: function() {\n return throwWithStaticGenerationBailoutErrorWithDynamicError;\n }\n});\nconst _staticgenerationbailout = __webpack_require__(/*! ../../client/components/static-generation-bailout */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/components/static-generation-bailout.js\");\nconst _aftertaskasyncstorageexternal = __webpack_require__(/*! ../app-render/after-task-async-storage.external */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/after-task-async-storage.external.js\");\nfunction throwWithStaticGenerationBailoutErrorWithDynamicError(route, expression) {\n throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError(`Route ${route} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`), \"__NEXT_ERROR_CODE\", {\n value: \"E543\",\n enumerable: false,\n configurable: true\n });\n}\nfunction throwForSearchParamsAccessInUseCache(workStore, constructorOpt) {\n const error = Object.defineProperty(new Error(`Route ${workStore.route} used \\`searchParams\\` inside \"use cache\". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \\`searchParams\\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`), \"__NEXT_ERROR_CODE\", {\n value: \"E842\",\n enumerable: false,\n configurable: true\n });\n Error.captureStackTrace(error, constructorOpt);\n workStore.invalidDynamicUsageError ??= error;\n throw error;\n}\nfunction isRequestAPICallableInsideAfter() {\n const afterTaskStore = _aftertaskasyncstorageexternal.afterTaskAsyncStorage.getStore();\n return (afterTaskStore == null ? void 0 : afterTaskStore.rootTaskSpawnPhase) === 'action';\n} //# sourceMappingURL=utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvcmVxdWVzdC91dGlscy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUEyQmdCQSwrQkFBK0I7ZUFBL0JBOztJQWRBQyxvQ0FBb0M7ZUFBcENBOztJQVRBQyxxREFBcUQ7ZUFBckRBOzs7cURBSnNCOzJEQUNBO0FBRy9CLFNBQVNBLHNEQUNkQyxLQUFhLEVBQ2JDLFVBQWtCO0lBRWxCLE1BQU0scUJBRUwsQ0FGSyxJQUFJQyx5QkFBQUEscUJBQXFCLENBQzdCLENBQUMsTUFBTSxFQUFFRixNQUFNLDRFQUE0RSxFQUFFQyxXQUFXLDBIQUEwSCxDQUFDLEdBRC9OO2VBQUE7b0JBQUE7c0JBQUE7SUFFTjtBQUNGO0FBRU8sU0FBU0gscUNBQ2RLLFNBQW9CLEVBQ3BCQyxjQUF3QjtJQUV4QixNQUFNQyxRQUFRLHFCQUViLENBRmEsSUFBSUMsTUFDaEIsQ0FBQyxNQUFNLEVBQUVILFVBQVVILEtBQUssQ0FBQywyWEFBMlgsQ0FBQyxHQUR6WTtlQUFBO29CQUFBO3NCQUFBO0lBRWQ7SUFFQU0sTUFBTUMsaUJBQWlCLENBQUNGLE9BQU9EO0lBQy9CRCxVQUFVSyx3QkFBd0IsS0FBS0g7SUFFdkMsTUFBTUE7QUFDUjtBQUVPLFNBQVNSO0lBQ2QsTUFBTVksaUJBQWlCQywrQkFBQUEscUJBQXFCLENBQUNDLFFBQVE7SUFDckQsT0FBT0YsQ0FBQUEsa0JBQUFBLE9BQUFBLEtBQUFBLElBQUFBLGVBQWdCRyxrQkFBQUEsTUFBdUI7QUFDaEQiLCJzb3VyY2VzIjpbIi9Vc2Vycy9zcmMvc2VydmVyL3JlcXVlc3QvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhdGljR2VuQmFpbG91dEVycm9yIH0gZnJvbSAnLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvc3RhdGljLWdlbmVyYXRpb24tYmFpbG91dCdcbmltcG9ydCB7IGFmdGVyVGFza0FzeW5jU3RvcmFnZSB9IGZyb20gJy4uL2FwcC1yZW5kZXIvYWZ0ZXItdGFzay1hc3luYy1zdG9yYWdlLmV4dGVybmFsJ1xuaW1wb3J0IHR5cGUgeyBXb3JrU3RvcmUgfSBmcm9tICcuLi9hcHAtcmVuZGVyL3dvcmstYXN5bmMtc3RvcmFnZS5leHRlcm5hbCdcblxuZXhwb3J0IGZ1bmN0aW9uIHRocm93V2l0aFN0YXRpY0dlbmVyYXRpb25CYWlsb3V0RXJyb3JXaXRoRHluYW1pY0Vycm9yKFxuICByb3V0ZTogc3RyaW5nLFxuICBleHByZXNzaW9uOiBzdHJpbmdcbik6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IFN0YXRpY0dlbkJhaWxvdXRFcnJvcihcbiAgICBgUm91dGUgJHtyb3V0ZX0gd2l0aCBcXGBkeW5hbWljID0gXCJlcnJvclwiXFxgIGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkICR7ZXhwcmVzc2lvbn0uIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcmVuZGVyaW5nL3N0YXRpYy1hbmQtZHluYW1pYyNkeW5hbWljLXJlbmRlcmluZ2BcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdGhyb3dGb3JTZWFyY2hQYXJhbXNBY2Nlc3NJblVzZUNhY2hlKFxuICB3b3JrU3RvcmU6IFdvcmtTdG9yZSxcbiAgY29uc3RydWN0b3JPcHQ6IEZ1bmN0aW9uXG4pOiBuZXZlciB7XG4gIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKFxuICAgIGBSb3V0ZSAke3dvcmtTdG9yZS5yb3V0ZX0gdXNlZCBcXGBzZWFyY2hQYXJhbXNcXGAgaW5zaWRlIFwidXNlIGNhY2hlXCIuIEFjY2Vzc2luZyBkeW5hbWljIHJlcXVlc3QgZGF0YSBpbnNpZGUgYSBjYWNoZSBzY29wZSBpcyBub3Qgc3VwcG9ydGVkLiBJZiB5b3UgbmVlZCBzb21lIHNlYXJjaCBwYXJhbXMgaW5zaWRlIGEgY2FjaGVkIGZ1bmN0aW9uIGF3YWl0IFxcYHNlYXJjaFBhcmFtc1xcYCBvdXRzaWRlIG9mIHRoZSBjYWNoZWQgZnVuY3Rpb24gYW5kIHBhc3Mgb25seSB0aGUgcmVxdWlyZWQgc2VhcmNoIHBhcmFtcyBhcyBhcmd1bWVudHMgdG8gdGhlIGNhY2hlZCBmdW5jdGlvbi4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LXJlcXVlc3QtaW4tdXNlLWNhY2hlYFxuICApXG5cbiAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UoZXJyb3IsIGNvbnN0cnVjdG9yT3B0KVxuICB3b3JrU3RvcmUuaW52YWxpZER5bmFtaWNVc2FnZUVycm9yID8/PSBlcnJvclxuXG4gIHRocm93IGVycm9yXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1JlcXVlc3RBUElDYWxsYWJsZUluc2lkZUFmdGVyKCkge1xuICBjb25zdCBhZnRlclRhc2tTdG9yZSA9IGFmdGVyVGFza0FzeW5jU3RvcmFnZS5nZXRTdG9yZSgpXG4gIHJldHVybiBhZnRlclRhc2tTdG9yZT8ucm9vdFRhc2tTcGF3blBoYXNlID09PSAnYWN0aW9uJ1xufVxuIl0sIm5hbWVzIjpbImlzUmVxdWVzdEFQSUNhbGxhYmxlSW5zaWRlQWZ0ZXIiLCJ0aHJvd0ZvclNlYXJjaFBhcmFtc0FjY2Vzc0luVXNlQ2FjaGUiLCJ0aHJvd1dpdGhTdGF0aWNHZW5lcmF0aW9uQmFpbG91dEVycm9yV2l0aER5bmFtaWNFcnJvciIsInJvdXRlIiwiZXhwcmVzc2lvbiIsIlN0YXRpY0dlbkJhaWxvdXRFcnJvciIsIndvcmtTdG9yZSIsImNvbnN0cnVjdG9yT3B0IiwiZXJyb3IiLCJFcnJvciIsImNhcHR1cmVTdGFja1RyYWNlIiwiaW52YWxpZER5bmFtaWNVc2FnZUVycm9yIiwiYWZ0ZXJUYXNrU3RvcmUiLCJhZnRlclRhc2tBc3luY1N0b3JhZ2UiLCJnZXRTdG9yZSIsInJvb3RUYXNrU3Bhd25QaGFzZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/request/utils.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/error.js":
|
||
/*!***************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/error.js ***!
|
||
\***************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n PageSignatureError: function() {\n return PageSignatureError;\n },\n RemovedPageError: function() {\n return RemovedPageError;\n },\n RemovedUAError: function() {\n return RemovedUAError;\n }\n});\nclass PageSignatureError extends Error {\n constructor({ page }){\n super(`The middleware \"${page}\" accepts an async API directly with the form:\n \n export function middleware(request, event) {\n return NextResponse.redirect('/new-location')\n }\n \n Read more: https://nextjs.org/docs/messages/middleware-new-signature\n `);\n }\n}\nclass RemovedPageError extends Error {\n constructor(){\n super(`The request.page has been deprecated in favour of \\`URLPattern\\`.\n Read more: https://nextjs.org/docs/messages/middleware-request-page\n `);\n }\n}\nclass RemovedUAError extends Error {\n constructor(){\n super(`The request.ua has been removed in favour of \\`userAgent\\` function.\n Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n `);\n }\n}\n\n//# sourceMappingURL=error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL2Vycm9yLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQUlMO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxrQkFBa0IsTUFBTTtBQUN4QixpQ0FBaUMsS0FBSztBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL25leHRAMTYuMS42X0BiYWJlbCtjb3JlQDcuMjkuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjFfcmVhY3QtZG9tQDE5LjIuNF9yZWFjdEAxOS4yLjRfX3JlYWN0QDE5LjIuNF9zYXNzQDEuOTguMC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvZXJyb3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBQYWdlU2lnbmF0dXJlRXJyb3I6IG51bGwsXG4gICAgUmVtb3ZlZFBhZ2VFcnJvcjogbnVsbCxcbiAgICBSZW1vdmVkVUFFcnJvcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBQYWdlU2lnbmF0dXJlRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUGFnZVNpZ25hdHVyZUVycm9yO1xuICAgIH0sXG4gICAgUmVtb3ZlZFBhZ2VFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSZW1vdmVkUGFnZUVycm9yO1xuICAgIH0sXG4gICAgUmVtb3ZlZFVBRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUmVtb3ZlZFVBRXJyb3I7XG4gICAgfVxufSk7XG5jbGFzcyBQYWdlU2lnbmF0dXJlRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBwYWdlIH0pe1xuICAgICAgICBzdXBlcihgVGhlIG1pZGRsZXdhcmUgXCIke3BhZ2V9XCIgYWNjZXB0cyBhbiBhc3luYyBBUEkgZGlyZWN0bHkgd2l0aCB0aGUgZm9ybTpcbiAgXG4gIGV4cG9ydCBmdW5jdGlvbiBtaWRkbGV3YXJlKHJlcXVlc3QsIGV2ZW50KSB7XG4gICAgcmV0dXJuIE5leHRSZXNwb25zZS5yZWRpcmVjdCgnL25ldy1sb2NhdGlvbicpXG4gIH1cbiAgXG4gIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbWlkZGxld2FyZS1uZXctc2lnbmF0dXJlXG4gIGApO1xuICAgIH1cbn1cbmNsYXNzIFJlbW92ZWRQYWdlRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IoKXtcbiAgICAgICAgc3VwZXIoYFRoZSByZXF1ZXN0LnBhZ2UgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgXFxgVVJMUGF0dGVyblxcYC5cbiAgUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9taWRkbGV3YXJlLXJlcXVlc3QtcGFnZVxuICBgKTtcbiAgICB9XG59XG5jbGFzcyBSZW1vdmVkVUFFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcigpe1xuICAgICAgICBzdXBlcihgVGhlIHJlcXVlc3QudWEgaGFzIGJlZW4gcmVtb3ZlZCBpbiBmYXZvdXIgb2YgXFxgdXNlckFnZW50XFxgIGZ1bmN0aW9uLlxuICBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL21pZGRsZXdhcmUtcGFyc2UtdXNlci1hZ2VudFxuICBgKTtcbiAgICB9XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVycm9yLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/error.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/exports/index.js":
|
||
/*!***********************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/exports/index.js ***!
|
||
\***********************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("// Alias index file of next/server for edge runtime for tree-shaking purpose\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ImageResponse: function() {\n return _imageresponse.ImageResponse;\n },\n NextRequest: function() {\n return _request.NextRequest;\n },\n NextResponse: function() {\n return _response.NextResponse;\n },\n URLPattern: function() {\n return _urlpattern.URLPattern;\n },\n after: function() {\n return _after.after;\n },\n connection: function() {\n return _connection.connection;\n },\n userAgent: function() {\n return _useragent.userAgent;\n },\n userAgentFromString: function() {\n return _useragent.userAgentFromString;\n }\n});\nconst _imageresponse = __webpack_require__(/*! ../spec-extension/image-response */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/image-response.js\");\nconst _request = __webpack_require__(/*! ../spec-extension/request */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/request.js\");\nconst _response = __webpack_require__(/*! ../spec-extension/response */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/response.js\");\nconst _useragent = __webpack_require__(/*! ../spec-extension/user-agent */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/user-agent.js\");\nconst _urlpattern = __webpack_require__(/*! ../spec-extension/url-pattern */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/url-pattern.js\");\nconst _after = __webpack_require__(/*! ../../after */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/after/index.js\");\nconst _connection = __webpack_require__(/*! ../../request/connection */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/request/connection.js\");\n\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL2V4cG9ydHMvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FTTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx1QkFBdUIsbUJBQU8sQ0FBQyxxUUFBa0M7QUFDakUsaUJBQWlCLG1CQUFPLENBQUMsdVBBQTJCO0FBQ3BELGtCQUFrQixtQkFBTyxDQUFDLHlQQUE0QjtBQUN0RCxtQkFBbUIsbUJBQU8sQ0FBQyw2UEFBOEI7QUFDekQsb0JBQW9CLG1CQUFPLENBQUMsK1BBQStCO0FBQzNELGVBQWUsbUJBQU8sQ0FBQywwTkFBYTtBQUNwQyxvQkFBb0IsbUJBQU8sQ0FBQyw4T0FBMEI7O0FBRXREIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL25leHRAMTYuMS42X0BiYWJlbCtjb3JlQDcuMjkuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjFfcmVhY3QtZG9tQDE5LjIuNF9yZWFjdEAxOS4yLjRfX3JlYWN0QDE5LjIuNF9zYXNzQDEuOTguMC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvZXhwb3J0cy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbGlhcyBpbmRleCBmaWxlIG9mIG5leHQvc2VydmVyIGZvciBlZGdlIHJ1bnRpbWUgZm9yIHRyZWUtc2hha2luZyBwdXJwb3NlXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIEltYWdlUmVzcG9uc2U6IG51bGwsXG4gICAgTmV4dFJlcXVlc3Q6IG51bGwsXG4gICAgTmV4dFJlc3BvbnNlOiBudWxsLFxuICAgIFVSTFBhdHRlcm46IG51bGwsXG4gICAgYWZ0ZXI6IG51bGwsXG4gICAgY29ubmVjdGlvbjogbnVsbCxcbiAgICB1c2VyQWdlbnQ6IG51bGwsXG4gICAgdXNlckFnZW50RnJvbVN0cmluZzogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBJbWFnZVJlc3BvbnNlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9pbWFnZXJlc3BvbnNlLkltYWdlUmVzcG9uc2U7XG4gICAgfSxcbiAgICBOZXh0UmVxdWVzdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfcmVxdWVzdC5OZXh0UmVxdWVzdDtcbiAgICB9LFxuICAgIE5leHRSZXNwb25zZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfcmVzcG9uc2UuTmV4dFJlc3BvbnNlO1xuICAgIH0sXG4gICAgVVJMUGF0dGVybjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfdXJscGF0dGVybi5VUkxQYXR0ZXJuO1xuICAgIH0sXG4gICAgYWZ0ZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2FmdGVyLmFmdGVyO1xuICAgIH0sXG4gICAgY29ubmVjdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfY29ubmVjdGlvbi5jb25uZWN0aW9uO1xuICAgIH0sXG4gICAgdXNlckFnZW50OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF91c2VyYWdlbnQudXNlckFnZW50O1xuICAgIH0sXG4gICAgdXNlckFnZW50RnJvbVN0cmluZzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfdXNlcmFnZW50LnVzZXJBZ2VudEZyb21TdHJpbmc7XG4gICAgfVxufSk7XG5jb25zdCBfaW1hZ2VyZXNwb25zZSA9IHJlcXVpcmUoXCIuLi9zcGVjLWV4dGVuc2lvbi9pbWFnZS1yZXNwb25zZVwiKTtcbmNvbnN0IF9yZXF1ZXN0ID0gcmVxdWlyZShcIi4uL3NwZWMtZXh0ZW5zaW9uL3JlcXVlc3RcIik7XG5jb25zdCBfcmVzcG9uc2UgPSByZXF1aXJlKFwiLi4vc3BlYy1leHRlbnNpb24vcmVzcG9uc2VcIik7XG5jb25zdCBfdXNlcmFnZW50ID0gcmVxdWlyZShcIi4uL3NwZWMtZXh0ZW5zaW9uL3VzZXItYWdlbnRcIik7XG5jb25zdCBfdXJscGF0dGVybiA9IHJlcXVpcmUoXCIuLi9zcGVjLWV4dGVuc2lvbi91cmwtcGF0dGVyblwiKTtcbmNvbnN0IF9hZnRlciA9IHJlcXVpcmUoXCIuLi8uLi9hZnRlclwiKTtcbmNvbnN0IF9jb25uZWN0aW9uID0gcmVxdWlyZShcIi4uLy4uL3JlcXVlc3QvY29ubmVjdGlvblwiKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/exports/index.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/next-url.js":
|
||
/*!******************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/next-url.js ***!
|
||
\******************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"NextURL\", ({\n enumerable: true,\n get: function() {\n return NextURL;\n }\n}));\nconst _detectdomainlocale = __webpack_require__(/*! ../../shared/lib/i18n/detect-domain-locale */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js\");\nconst _formatnextpathnameinfo = __webpack_require__(/*! ../../shared/lib/router/utils/format-next-pathname-info */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js\");\nconst _gethostname = __webpack_require__(/*! ../../shared/lib/get-hostname */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/get-hostname.js\");\nconst _getnextpathnameinfo = __webpack_require__(/*! ../../shared/lib/router/utils/get-next-pathname-info */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js\");\nconst REGEX_LOCALHOST_HOSTNAME = /(?!^https?:\\/\\/)(127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\\[::1\\]|localhost)/;\nfunction parseURL(url, base) {\n return new URL(String(url).replace(REGEX_LOCALHOST_HOSTNAME, 'localhost'), base && String(base).replace(REGEX_LOCALHOST_HOSTNAME, 'localhost'));\n}\nconst Internal = Symbol('NextURLInternal');\nclass NextURL {\n constructor(input, baseOrOpts, opts){\n let base;\n let options;\n if (typeof baseOrOpts === 'object' && 'pathname' in baseOrOpts || typeof baseOrOpts === 'string') {\n base = baseOrOpts;\n options = opts || {};\n } else {\n options = opts || baseOrOpts || {};\n }\n this[Internal] = {\n url: parseURL(input, base ?? options.base),\n options: options,\n basePath: ''\n };\n this.analyze();\n }\n analyze() {\n var _this_Internal_options_nextConfig_i18n, _this_Internal_options_nextConfig, _this_Internal_domainLocale, _this_Internal_options_nextConfig_i18n1, _this_Internal_options_nextConfig1;\n const info = (0, _getnextpathnameinfo.getNextPathnameInfo)(this[Internal].url.pathname, {\n nextConfig: this[Internal].options.nextConfig,\n parseData: !undefined,\n i18nProvider: this[Internal].options.i18nProvider\n });\n const hostname = (0, _gethostname.getHostname)(this[Internal].url, this[Internal].options.headers);\n this[Internal].domainLocale = this[Internal].options.i18nProvider ? this[Internal].options.i18nProvider.detectDomainLocale(hostname) : (0, _detectdomainlocale.detectDomainLocale)((_this_Internal_options_nextConfig = this[Internal].options.nextConfig) == null ? void 0 : (_this_Internal_options_nextConfig_i18n = _this_Internal_options_nextConfig.i18n) == null ? void 0 : _this_Internal_options_nextConfig_i18n.domains, hostname);\n const defaultLocale = ((_this_Internal_domainLocale = this[Internal].domainLocale) == null ? void 0 : _this_Internal_domainLocale.defaultLocale) || ((_this_Internal_options_nextConfig1 = this[Internal].options.nextConfig) == null ? void 0 : (_this_Internal_options_nextConfig_i18n1 = _this_Internal_options_nextConfig1.i18n) == null ? void 0 : _this_Internal_options_nextConfig_i18n1.defaultLocale);\n this[Internal].url.pathname = info.pathname;\n this[Internal].defaultLocale = defaultLocale;\n this[Internal].basePath = info.basePath ?? '';\n this[Internal].buildId = info.buildId;\n this[Internal].locale = info.locale ?? defaultLocale;\n this[Internal].trailingSlash = info.trailingSlash;\n }\n formatPathname() {\n return (0, _formatnextpathnameinfo.formatNextPathnameInfo)({\n basePath: this[Internal].basePath,\n buildId: this[Internal].buildId,\n defaultLocale: !this[Internal].options.forceLocale ? this[Internal].defaultLocale : undefined,\n locale: this[Internal].locale,\n pathname: this[Internal].url.pathname,\n trailingSlash: this[Internal].trailingSlash\n });\n }\n formatSearch() {\n return this[Internal].url.search;\n }\n get buildId() {\n return this[Internal].buildId;\n }\n set buildId(buildId) {\n this[Internal].buildId = buildId;\n }\n get locale() {\n return this[Internal].locale ?? '';\n }\n set locale(locale) {\n var _this_Internal_options_nextConfig_i18n, _this_Internal_options_nextConfig;\n if (!this[Internal].locale || !((_this_Internal_options_nextConfig = this[Internal].options.nextConfig) == null ? void 0 : (_this_Internal_options_nextConfig_i18n = _this_Internal_options_nextConfig.i18n) == null ? void 0 : _this_Internal_options_nextConfig_i18n.locales.includes(locale))) {\n throw Object.defineProperty(new TypeError(`The NextURL configuration includes no locale \"${locale}\"`), \"__NEXT_ERROR_CODE\", {\n value: \"E597\",\n enumerable: false,\n configurable: true\n });\n }\n this[Internal].locale = locale;\n }\n get defaultLocale() {\n return this[Internal].defaultLocale;\n }\n get domainLocale() {\n return this[Internal].domainLocale;\n }\n get searchParams() {\n return this[Internal].url.searchParams;\n }\n get host() {\n return this[Internal].url.host;\n }\n set host(value) {\n this[Internal].url.host = value;\n }\n get hostname() {\n return this[Internal].url.hostname;\n }\n set hostname(value) {\n this[Internal].url.hostname = value;\n }\n get port() {\n return this[Internal].url.port;\n }\n set port(value) {\n this[Internal].url.port = value;\n }\n get protocol() {\n return this[Internal].url.protocol;\n }\n set protocol(value) {\n this[Internal].url.protocol = value;\n }\n get href() {\n const pathname = this.formatPathname();\n const search = this.formatSearch();\n return `${this.protocol}//${this.host}${pathname}${search}${this.hash}`;\n }\n set href(url) {\n this[Internal].url = parseURL(url);\n this.analyze();\n }\n get origin() {\n return this[Internal].url.origin;\n }\n get pathname() {\n return this[Internal].url.pathname;\n }\n set pathname(value) {\n this[Internal].url.pathname = value;\n }\n get hash() {\n return this[Internal].url.hash;\n }\n set hash(value) {\n this[Internal].url.hash = value;\n }\n get search() {\n return this[Internal].url.search;\n }\n set search(value) {\n this[Internal].url.search = value;\n }\n get password() {\n return this[Internal].url.password;\n }\n set password(value) {\n this[Internal].url.password = value;\n }\n get username() {\n return this[Internal].url.username;\n }\n set username(value) {\n this[Internal].url.username = value;\n }\n get basePath() {\n return this[Internal].basePath;\n }\n set basePath(value) {\n this[Internal].basePath = value.startsWith('/') ? value : `/${value}`;\n }\n toString() {\n return this.href;\n }\n toJSON() {\n return this.href;\n }\n [Symbol.for('edge-runtime.inspect.custom')]() {\n return {\n href: this.href,\n origin: this.origin,\n protocol: this.protocol,\n username: this.username,\n password: this.password,\n host: this.host,\n hostname: this.hostname,\n port: this.port,\n pathname: this.pathname,\n search: this.search,\n searchParams: this.searchParams,\n hash: this.hash\n };\n }\n clone() {\n return new NextURL(String(this), this[Internal].options);\n }\n}\n\n//# sourceMappingURL=next-url.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL25leHQtdXJsLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsMkNBQTBDO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsNEJBQTRCLG1CQUFPLENBQUMsMlFBQTRDO0FBQ2hGLGdDQUFnQyxtQkFBTyxDQUFDLHFTQUF5RDtBQUNqRyxxQkFBcUIsbUJBQU8sQ0FBQyxpUEFBK0I7QUFDNUQsNkJBQTZCLG1CQUFPLENBQUMsK1JBQXNEO0FBQzNGLHFHQUFxRyxFQUFFO0FBQ3ZHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsU0FBOEM7QUFDdEU7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUdBQXVHLE9BQU87QUFDOUc7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixjQUFjLElBQUksVUFBVSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVTtBQUM5RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzRUFBc0UsTUFBTTtBQUM1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9uZXh0LXVybC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIk5leHRVUkxcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5leHRVUkw7XG4gICAgfVxufSk7XG5jb25zdCBfZGV0ZWN0ZG9tYWlubG9jYWxlID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvaTE4bi9kZXRlY3QtZG9tYWluLWxvY2FsZVwiKTtcbmNvbnN0IF9mb3JtYXRuZXh0cGF0aG5hbWVpbmZvID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC1uZXh0LXBhdGhuYW1lLWluZm9cIik7XG5jb25zdCBfZ2V0aG9zdG5hbWUgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9nZXQtaG9zdG5hbWVcIik7XG5jb25zdCBfZ2V0bmV4dHBhdGhuYW1laW5mbyA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9nZXQtbmV4dC1wYXRobmFtZS1pbmZvXCIpO1xuY29uc3QgUkVHRVhfTE9DQUxIT1NUX0hPU1ROQU1FID0gLyg/IV5odHRwcz86XFwvXFwvKSgxMjcoPzpcXC4oPzoyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pKXszfXxcXFs6OjFcXF18bG9jYWxob3N0KS87XG5mdW5jdGlvbiBwYXJzZVVSTCh1cmwsIGJhc2UpIHtcbiAgICByZXR1cm4gbmV3IFVSTChTdHJpbmcodXJsKS5yZXBsYWNlKFJFR0VYX0xPQ0FMSE9TVF9IT1NUTkFNRSwgJ2xvY2FsaG9zdCcpLCBiYXNlICYmIFN0cmluZyhiYXNlKS5yZXBsYWNlKFJFR0VYX0xPQ0FMSE9TVF9IT1NUTkFNRSwgJ2xvY2FsaG9zdCcpKTtcbn1cbmNvbnN0IEludGVybmFsID0gU3ltYm9sKCdOZXh0VVJMSW50ZXJuYWwnKTtcbmNsYXNzIE5leHRVUkwge1xuICAgIGNvbnN0cnVjdG9yKGlucHV0LCBiYXNlT3JPcHRzLCBvcHRzKXtcbiAgICAgICAgbGV0IGJhc2U7XG4gICAgICAgIGxldCBvcHRpb25zO1xuICAgICAgICBpZiAodHlwZW9mIGJhc2VPck9wdHMgPT09ICdvYmplY3QnICYmICdwYXRobmFtZScgaW4gYmFzZU9yT3B0cyB8fCB0eXBlb2YgYmFzZU9yT3B0cyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGJhc2UgPSBiYXNlT3JPcHRzO1xuICAgICAgICAgICAgb3B0aW9ucyA9IG9wdHMgfHwge307XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvcHRpb25zID0gb3B0cyB8fCBiYXNlT3JPcHRzIHx8IHt9O1xuICAgICAgICB9XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdID0ge1xuICAgICAgICAgICAgdXJsOiBwYXJzZVVSTChpbnB1dCwgYmFzZSA/PyBvcHRpb25zLmJhc2UpLFxuICAgICAgICAgICAgb3B0aW9uczogb3B0aW9ucyxcbiAgICAgICAgICAgIGJhc2VQYXRoOiAnJ1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmFuYWx5emUoKTtcbiAgICB9XG4gICAgYW5hbHl6ZSgpIHtcbiAgICAgICAgdmFyIF90aGlzX0ludGVybmFsX29wdGlvbnNfbmV4dENvbmZpZ19pMThuLCBfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWcsIF90aGlzX0ludGVybmFsX2RvbWFpbkxvY2FsZSwgX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnX2kxOG4xLCBfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWcxO1xuICAgICAgICBjb25zdCBpbmZvID0gKDAsIF9nZXRuZXh0cGF0aG5hbWVpbmZvLmdldE5leHRQYXRobmFtZUluZm8pKHRoaXNbSW50ZXJuYWxdLnVybC5wYXRobmFtZSwge1xuICAgICAgICAgICAgbmV4dENvbmZpZzogdGhpc1tJbnRlcm5hbF0ub3B0aW9ucy5uZXh0Q29uZmlnLFxuICAgICAgICAgICAgcGFyc2VEYXRhOiAhcHJvY2Vzcy5lbnYuX19ORVhUX05PX01JRERMRVdBUkVfVVJMX05PUk1BTElaRSxcbiAgICAgICAgICAgIGkxOG5Qcm92aWRlcjogdGhpc1tJbnRlcm5hbF0ub3B0aW9ucy5pMThuUHJvdmlkZXJcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGhvc3RuYW1lID0gKDAsIF9nZXRob3N0bmFtZS5nZXRIb3N0bmFtZSkodGhpc1tJbnRlcm5hbF0udXJsLCB0aGlzW0ludGVybmFsXS5vcHRpb25zLmhlYWRlcnMpO1xuICAgICAgICB0aGlzW0ludGVybmFsXS5kb21haW5Mb2NhbGUgPSB0aGlzW0ludGVybmFsXS5vcHRpb25zLmkxOG5Qcm92aWRlciA/IHRoaXNbSW50ZXJuYWxdLm9wdGlvbnMuaTE4blByb3ZpZGVyLmRldGVjdERvbWFpbkxvY2FsZShob3N0bmFtZSkgOiAoMCwgX2RldGVjdGRvbWFpbmxvY2FsZS5kZXRlY3REb21haW5Mb2NhbGUpKChfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWcgPSB0aGlzW0ludGVybmFsXS5vcHRpb25zLm5leHRDb25maWcpID09IG51bGwgPyB2b2lkIDAgOiAoX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnX2kxOG4gPSBfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWcuaTE4bikgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzX0ludGVybmFsX29wdGlvbnNfbmV4dENvbmZpZ19pMThuLmRvbWFpbnMsIGhvc3RuYW1lKTtcbiAgICAgICAgY29uc3QgZGVmYXVsdExvY2FsZSA9ICgoX3RoaXNfSW50ZXJuYWxfZG9tYWluTG9jYWxlID0gdGhpc1tJbnRlcm5hbF0uZG9tYWluTG9jYWxlKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXNfSW50ZXJuYWxfZG9tYWluTG9jYWxlLmRlZmF1bHRMb2NhbGUpIHx8ICgoX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnMSA9IHRoaXNbSW50ZXJuYWxdLm9wdGlvbnMubmV4dENvbmZpZykgPT0gbnVsbCA/IHZvaWQgMCA6IChfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWdfaTE4bjEgPSBfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWcxLmkxOG4pID09IG51bGwgPyB2b2lkIDAgOiBfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWdfaTE4bjEuZGVmYXVsdExvY2FsZSk7XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdLnVybC5wYXRobmFtZSA9IGluZm8ucGF0aG5hbWU7XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdLmRlZmF1bHRMb2NhbGUgPSBkZWZhdWx0TG9jYWxlO1xuICAgICAgICB0aGlzW0ludGVybmFsXS5iYXNlUGF0aCA9IGluZm8uYmFzZVBhdGggPz8gJyc7XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdLmJ1aWxkSWQgPSBpbmZvLmJ1aWxkSWQ7XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdLmxvY2FsZSA9IGluZm8ubG9jYWxlID8/IGRlZmF1bHRMb2NhbGU7XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdLnRyYWlsaW5nU2xhc2ggPSBpbmZvLnRyYWlsaW5nU2xhc2g7XG4gICAgfVxuICAgIGZvcm1hdFBhdGhuYW1lKCkge1xuICAgICAgICByZXR1cm4gKDAsIF9mb3JtYXRuZXh0cGF0aG5hbWVpbmZvLmZvcm1hdE5leHRQYXRobmFtZUluZm8pKHtcbiAgICAgICAgICAgIGJhc2VQYXRoOiB0aGlzW0ludGVybmFsXS5iYXNlUGF0aCxcbiAgICAgICAgICAgIGJ1aWxkSWQ6IHRoaXNbSW50ZXJuYWxdLmJ1aWxkSWQsXG4gICAgICAgICAgICBkZWZhdWx0TG9jYWxlOiAhdGhpc1tJbnRlcm5hbF0ub3B0aW9ucy5mb3JjZUxvY2FsZSA/IHRoaXNbSW50ZXJuYWxdLmRlZmF1bHRMb2NhbGUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBsb2NhbGU6IHRoaXNbSW50ZXJuYWxdLmxvY2FsZSxcbiAgICAgICAgICAgIHBhdGhuYW1lOiB0aGlzW0ludGVybmFsXS51cmwucGF0aG5hbWUsXG4gICAgICAgICAgICB0cmFpbGluZ1NsYXNoOiB0aGlzW0ludGVybmFsXS50cmFpbGluZ1NsYXNoXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBmb3JtYXRTZWFyY2goKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS51cmwuc2VhcmNoO1xuICAgIH1cbiAgICBnZXQgYnVpbGRJZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSW50ZXJuYWxdLmJ1aWxkSWQ7XG4gICAgfVxuICAgIHNldCBidWlsZElkKGJ1aWxkSWQpIHtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0uYnVpbGRJZCA9IGJ1aWxkSWQ7XG4gICAgfVxuICAgIGdldCBsb2NhbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS5sb2NhbGUgPz8gJyc7XG4gICAgfVxuICAgIHNldCBsb2NhbGUobG9jYWxlKSB7XG4gICAgICAgIHZhciBfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWdfaTE4biwgX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnO1xuICAgICAgICBpZiAoIXRoaXNbSW50ZXJuYWxdLmxvY2FsZSB8fCAhKChfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWcgPSB0aGlzW0ludGVybmFsXS5vcHRpb25zLm5leHRDb25maWcpID09IG51bGwgPyB2b2lkIDAgOiAoX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnX2kxOG4gPSBfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWcuaTE4bikgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzX0ludGVybmFsX29wdGlvbnNfbmV4dENvbmZpZ19pMThuLmxvY2FsZXMuaW5jbHVkZXMobG9jYWxlKSkpIHtcbiAgICAgICAgICAgIHRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgVHlwZUVycm9yKGBUaGUgTmV4dFVSTCBjb25maWd1cmF0aW9uIGluY2x1ZGVzIG5vIGxvY2FsZSBcIiR7bG9jYWxlfVwiYCksIFwiX19ORVhUX0VSUk9SX0NPREVcIiwge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBcIkU1OTdcIixcbiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdLmxvY2FsZSA9IGxvY2FsZTtcbiAgICB9XG4gICAgZ2V0IGRlZmF1bHRMb2NhbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS5kZWZhdWx0TG9jYWxlO1xuICAgIH1cbiAgICBnZXQgZG9tYWluTG9jYWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJbnRlcm5hbF0uZG9tYWluTG9jYWxlO1xuICAgIH1cbiAgICBnZXQgc2VhcmNoUGFyYW1zKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJbnRlcm5hbF0udXJsLnNlYXJjaFBhcmFtcztcbiAgICB9XG4gICAgZ2V0IGhvc3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS51cmwuaG9zdDtcbiAgICB9XG4gICAgc2V0IGhvc3QodmFsdWUpIHtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0udXJsLmhvc3QgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IGhvc3RuYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJbnRlcm5hbF0udXJsLmhvc3RuYW1lO1xuICAgIH1cbiAgICBzZXQgaG9zdG5hbWUodmFsdWUpIHtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0udXJsLmhvc3RuYW1lID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBwb3J0KCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJbnRlcm5hbF0udXJsLnBvcnQ7XG4gICAgfVxuICAgIHNldCBwb3J0KHZhbHVlKSB7XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdLnVybC5wb3J0ID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBwcm90b2NvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSW50ZXJuYWxdLnVybC5wcm90b2NvbDtcbiAgICB9XG4gICAgc2V0IHByb3RvY29sKHZhbHVlKSB7XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdLnVybC5wcm90b2NvbCA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgaHJlZigpIHtcbiAgICAgICAgY29uc3QgcGF0aG5hbWUgPSB0aGlzLmZvcm1hdFBhdGhuYW1lKCk7XG4gICAgICAgIGNvbnN0IHNlYXJjaCA9IHRoaXMuZm9ybWF0U2VhcmNoKCk7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLnByb3RvY29sfS8vJHt0aGlzLmhvc3R9JHtwYXRobmFtZX0ke3NlYXJjaH0ke3RoaXMuaGFzaH1gO1xuICAgIH1cbiAgICBzZXQgaHJlZih1cmwpIHtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0udXJsID0gcGFyc2VVUkwodXJsKTtcbiAgICAgICAgdGhpcy5hbmFseXplKCk7XG4gICAgfVxuICAgIGdldCBvcmlnaW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS51cmwub3JpZ2luO1xuICAgIH1cbiAgICBnZXQgcGF0aG5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS51cmwucGF0aG5hbWU7XG4gICAgfVxuICAgIHNldCBwYXRobmFtZSh2YWx1ZSkge1xuICAgICAgICB0aGlzW0ludGVybmFsXS51cmwucGF0aG5hbWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IGhhc2goKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS51cmwuaGFzaDtcbiAgICB9XG4gICAgc2V0IGhhc2godmFsdWUpIHtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0udXJsLmhhc2ggPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHNlYXJjaCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSW50ZXJuYWxdLnVybC5zZWFyY2g7XG4gICAgfVxuICAgIHNldCBzZWFyY2godmFsdWUpIHtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0udXJsLnNlYXJjaCA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgcGFzc3dvcmQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS51cmwucGFzc3dvcmQ7XG4gICAgfVxuICAgIHNldCBwYXNzd29yZCh2YWx1ZSkge1xuICAgICAgICB0aGlzW0ludGVybmFsXS51cmwucGFzc3dvcmQgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHVzZXJuYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJbnRlcm5hbF0udXJsLnVzZXJuYW1lO1xuICAgIH1cbiAgICBzZXQgdXNlcm5hbWUodmFsdWUpIHtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0udXJsLnVzZXJuYW1lID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBiYXNlUGF0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSW50ZXJuYWxdLmJhc2VQYXRoO1xuICAgIH1cbiAgICBzZXQgYmFzZVBhdGgodmFsdWUpIHtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0uYmFzZVBhdGggPSB2YWx1ZS5zdGFydHNXaXRoKCcvJykgPyB2YWx1ZSA6IGAvJHt2YWx1ZX1gO1xuICAgIH1cbiAgICB0b1N0cmluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHJlZjtcbiAgICB9XG4gICAgdG9KU09OKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ocmVmO1xuICAgIH1cbiAgICBbU3ltYm9sLmZvcignZWRnZS1ydW50aW1lLmluc3BlY3QuY3VzdG9tJyldKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaHJlZjogdGhpcy5ocmVmLFxuICAgICAgICAgICAgb3JpZ2luOiB0aGlzLm9yaWdpbixcbiAgICAgICAgICAgIHByb3RvY29sOiB0aGlzLnByb3RvY29sLFxuICAgICAgICAgICAgdXNlcm5hbWU6IHRoaXMudXNlcm5hbWUsXG4gICAgICAgICAgICBwYXNzd29yZDogdGhpcy5wYXNzd29yZCxcbiAgICAgICAgICAgIGhvc3Q6IHRoaXMuaG9zdCxcbiAgICAgICAgICAgIGhvc3RuYW1lOiB0aGlzLmhvc3RuYW1lLFxuICAgICAgICAgICAgcG9ydDogdGhpcy5wb3J0LFxuICAgICAgICAgICAgcGF0aG5hbWU6IHRoaXMucGF0aG5hbWUsXG4gICAgICAgICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoLFxuICAgICAgICAgICAgc2VhcmNoUGFyYW1zOiB0aGlzLnNlYXJjaFBhcmFtcyxcbiAgICAgICAgICAgIGhhc2g6IHRoaXMuaGFzaFxuICAgICAgICB9O1xuICAgIH1cbiAgICBjbG9uZSgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBOZXh0VVJMKFN0cmluZyh0aGlzKSwgdGhpc1tJbnRlcm5hbF0ub3B0aW9ucyk7XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1uZXh0LXVybC5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/next-url.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js":
|
||
/*!*****************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js ***!
|
||
\*****************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ReflectAdapter\", ({\n enumerable: true,\n get: function() {\n return ReflectAdapter;\n }\n}));\nclass ReflectAdapter {\n static get(target, prop, receiver) {\n const value = Reflect.get(target, prop, receiver);\n if (typeof value === 'function') {\n return value.bind(target);\n }\n return value;\n }\n static set(target, prop, value, receiver) {\n return Reflect.set(target, prop, value, receiver);\n }\n static has(target, prop) {\n return Reflect.has(target, prop);\n }\n static deleteProperty(target, prop) {\n return Reflect.deleteProperty(target, prop);\n }\n}\n\n//# sourceMappingURL=reflect.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL2FkYXB0ZXJzL3JlZmxlY3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixrREFBaUQ7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9hZGFwdGVycy9yZWZsZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiUmVmbGVjdEFkYXB0ZXJcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3RBZGFwdGVyO1xuICAgIH1cbn0pO1xuY2xhc3MgUmVmbGVjdEFkYXB0ZXIge1xuICAgIHN0YXRpYyBnZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcikge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpO1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUuYmluZCh0YXJnZXQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgc3RhdGljIHNldCh0YXJnZXQsIHByb3AsIHZhbHVlLCByZWNlaXZlcikge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5zZXQodGFyZ2V0LCBwcm9wLCB2YWx1ZSwgcmVjZWl2ZXIpO1xuICAgIH1cbiAgICBzdGF0aWMgaGFzKHRhcmdldCwgcHJvcCkge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5oYXModGFyZ2V0LCBwcm9wKTtcbiAgICB9XG4gICAgc3RhdGljIGRlbGV0ZVByb3BlcnR5KHRhcmdldCwgcHJvcCkge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5kZWxldGVQcm9wZXJ0eSh0YXJnZXQsIHByb3ApO1xuICAgIH1cbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVmbGVjdC5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/cookies.js":
|
||
/*!********************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/cookies.js ***!
|
||
\********************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RequestCookies: function() {\n return _cookies.RequestCookies;\n },\n ResponseCookies: function() {\n return _cookies.ResponseCookies;\n },\n stringifyCookie: function() {\n return _cookies.stringifyCookie;\n }\n});\nconst _cookies = __webpack_require__(/*! next/dist/compiled/@edge-runtime/cookies */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js\");\n\n//# sourceMappingURL=cookies.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL2Nvb2tpZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBSUw7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxpQkFBaUIsbUJBQU8sQ0FBQyx5UUFBMEM7O0FBRW5FIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL25leHRAMTYuMS42X0BiYWJlbCtjb3JlQDcuMjkuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjFfcmVhY3QtZG9tQDE5LjIuNF9yZWFjdEAxOS4yLjRfX3JlYWN0QDE5LjIuNF9zYXNzQDEuOTguMC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vY29va2llcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIFJlcXVlc3RDb29raWVzOiBudWxsLFxuICAgIFJlc3BvbnNlQ29va2llczogbnVsbCxcbiAgICBzdHJpbmdpZnlDb29raWU6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUmVxdWVzdENvb2tpZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2Nvb2tpZXMuUmVxdWVzdENvb2tpZXM7XG4gICAgfSxcbiAgICBSZXNwb25zZUNvb2tpZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2Nvb2tpZXMuUmVzcG9uc2VDb29raWVzO1xuICAgIH0sXG4gICAgc3RyaW5naWZ5Q29va2llOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9jb29raWVzLnN0cmluZ2lmeUNvb2tpZTtcbiAgICB9XG59KTtcbmNvbnN0IF9jb29raWVzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9AZWRnZS1ydW50aW1lL2Nvb2tpZXNcIik7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvb2tpZXMuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/cookies.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/image-response.js":
|
||
/*!***************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/image-response.js ***!
|
||
\***************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("/**\n * @deprecated ImageResponse moved from \"next/server\" to \"next/og\" since Next.js 14, please import from \"next/og\" instead.\n * Migration with codemods: https://nextjs.org/docs/app/building-your-application/upgrading/codemods#next-og-import\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ImageResponse\", ({\n enumerable: true,\n get: function() {\n return ImageResponse;\n }\n}));\nfunction ImageResponse() {\n throw Object.defineProperty(new Error('ImageResponse moved from \"next/server\" to \"next/og\" since Next.js 14, please import from \"next/og\" instead'), \"__NEXT_ERROR_CODE\", {\n value: \"E183\",\n enumerable: false,\n configurable: true\n });\n}\n\n//# sourceMappingURL=image-response.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL2ltYWdlLXJlc3BvbnNlLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBLElBQWlCO0FBQ2pCLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLGlEQUFnRDtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUEiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9pbWFnZS1yZXNwb25zZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXByZWNhdGVkIEltYWdlUmVzcG9uc2UgbW92ZWQgZnJvbSBcIm5leHQvc2VydmVyXCIgdG8gXCJuZXh0L29nXCIgc2luY2UgTmV4dC5qcyAxNCwgcGxlYXNlIGltcG9ydCBmcm9tIFwibmV4dC9vZ1wiIGluc3RlYWQuXG4gKiBNaWdyYXRpb24gd2l0aCBjb2RlbW9kczogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vdXBncmFkaW5nL2NvZGVtb2RzI25leHQtb2ctaW1wb3J0XG4gKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbWFnZVJlc3BvbnNlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBJbWFnZVJlc3BvbnNlO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gSW1hZ2VSZXNwb25zZSgpIHtcbiAgICB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IEVycm9yKCdJbWFnZVJlc3BvbnNlIG1vdmVkIGZyb20gXCJuZXh0L3NlcnZlclwiIHRvIFwibmV4dC9vZ1wiIHNpbmNlIE5leHQuanMgMTQsIHBsZWFzZSBpbXBvcnQgZnJvbSBcIm5leHQvb2dcIiBpbnN0ZWFkJyksIFwiX19ORVhUX0VSUk9SX0NPREVcIiwge1xuICAgICAgICB2YWx1ZTogXCJFMTgzXCIsXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICB9KTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW1hZ2UtcmVzcG9uc2UuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/image-response.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/request.js":
|
||
/*!********************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/request.js ***!
|
||
\********************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n INTERNALS: function() {\n return INTERNALS;\n },\n NextRequest: function() {\n return NextRequest;\n }\n});\nconst _nexturl = __webpack_require__(/*! ../next-url */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/next-url.js\");\nconst _utils = __webpack_require__(/*! ../utils */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/utils.js\");\nconst _error = __webpack_require__(/*! ../error */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/error.js\");\nconst _cookies = __webpack_require__(/*! ./cookies */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/cookies.js\");\nconst INTERNALS = Symbol('internal request');\nclass NextRequest extends Request {\n constructor(input, init = {}){\n const url = typeof input !== 'string' && 'url' in input ? input.url : String(input);\n (0, _utils.validateURL)(url);\n // node Request instance requires duplex option when a body\n // is present or it errors, we don't handle this for\n // Request being passed in since it would have already\n // errored if this wasn't configured\n if (true) {\n if (init.body && init.duplex !== 'half') {\n init.duplex = 'half';\n }\n }\n if (input instanceof Request) super(input, init);\n else super(url, init);\n const nextUrl = new _nexturl.NextURL(url, {\n headers: (0, _utils.toNodeOutgoingHttpHeaders)(this.headers),\n nextConfig: init.nextConfig\n });\n this[INTERNALS] = {\n cookies: new _cookies.RequestCookies(this.headers),\n nextUrl,\n url: false ? 0 : nextUrl.toString()\n };\n }\n [Symbol.for('edge-runtime.inspect.custom')]() {\n return {\n cookies: this.cookies,\n nextUrl: this.nextUrl,\n url: this.url,\n // rest of props come from Request\n bodyUsed: this.bodyUsed,\n cache: this.cache,\n credentials: this.credentials,\n destination: this.destination,\n headers: Object.fromEntries(this.headers),\n integrity: this.integrity,\n keepalive: this.keepalive,\n method: this.method,\n mode: this.mode,\n redirect: this.redirect,\n referrer: this.referrer,\n referrerPolicy: this.referrerPolicy,\n signal: this.signal\n };\n }\n get cookies() {\n return this[INTERNALS].cookies;\n }\n get nextUrl() {\n return this[INTERNALS].nextUrl;\n }\n /**\n * @deprecated\n * `page` has been deprecated in favour of `URLPattern`.\n * Read more: https://nextjs.org/docs/messages/middleware-request-page\n */ get page() {\n throw new _error.RemovedPageError();\n }\n /**\n * @deprecated\n * `ua` has been removed in favour of \\`userAgent\\` function.\n * Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n */ get ua() {\n throw new _error.RemovedUAError();\n }\n get url() {\n return this[INTERNALS].url;\n }\n}\n\n//# sourceMappingURL=request.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL3JlcXVlc3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBR0w7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsaUJBQWlCLG1CQUFPLENBQUMsMk5BQWE7QUFDdEMsZUFBZSxtQkFBTyxDQUFDLHFOQUFVO0FBQ2pDLGVBQWUsbUJBQU8sQ0FBQyxxTkFBVTtBQUNqQyxpQkFBaUIsbUJBQU8sQ0FBQyx1T0FBVztBQUNwQztBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksSUFBbUM7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixNQUE4QyxHQUFHLENBQUc7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL3JlcXVlc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBJTlRFUk5BTFM6IG51bGwsXG4gICAgTmV4dFJlcXVlc3Q6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgSU5URVJOQUxTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIElOVEVSTkFMUztcbiAgICB9LFxuICAgIE5leHRSZXF1ZXN0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5leHRSZXF1ZXN0O1xuICAgIH1cbn0pO1xuY29uc3QgX25leHR1cmwgPSByZXF1aXJlKFwiLi4vbmV4dC11cmxcIik7XG5jb25zdCBfdXRpbHMgPSByZXF1aXJlKFwiLi4vdXRpbHNcIik7XG5jb25zdCBfZXJyb3IgPSByZXF1aXJlKFwiLi4vZXJyb3JcIik7XG5jb25zdCBfY29va2llcyA9IHJlcXVpcmUoXCIuL2Nvb2tpZXNcIik7XG5jb25zdCBJTlRFUk5BTFMgPSBTeW1ib2woJ2ludGVybmFsIHJlcXVlc3QnKTtcbmNsYXNzIE5leHRSZXF1ZXN0IGV4dGVuZHMgUmVxdWVzdCB7XG4gICAgY29uc3RydWN0b3IoaW5wdXQsIGluaXQgPSB7fSl7XG4gICAgICAgIGNvbnN0IHVybCA9IHR5cGVvZiBpbnB1dCAhPT0gJ3N0cmluZycgJiYgJ3VybCcgaW4gaW5wdXQgPyBpbnB1dC51cmwgOiBTdHJpbmcoaW5wdXQpO1xuICAgICAgICAoMCwgX3V0aWxzLnZhbGlkYXRlVVJMKSh1cmwpO1xuICAgICAgICAvLyBub2RlIFJlcXVlc3QgaW5zdGFuY2UgcmVxdWlyZXMgZHVwbGV4IG9wdGlvbiB3aGVuIGEgYm9keVxuICAgICAgICAvLyBpcyBwcmVzZW50IG9yIGl0IGVycm9ycywgd2UgZG9uJ3QgaGFuZGxlIHRoaXMgZm9yXG4gICAgICAgIC8vIFJlcXVlc3QgYmVpbmcgcGFzc2VkIGluIHNpbmNlIGl0IHdvdWxkIGhhdmUgYWxyZWFkeVxuICAgICAgICAvLyBlcnJvcmVkIGlmIHRoaXMgd2Fzbid0IGNvbmZpZ3VyZWRcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gJ2VkZ2UnKSB7XG4gICAgICAgICAgICBpZiAoaW5pdC5ib2R5ICYmIGluaXQuZHVwbGV4ICE9PSAnaGFsZicpIHtcbiAgICAgICAgICAgICAgICBpbml0LmR1cGxleCA9ICdoYWxmJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5wdXQgaW5zdGFuY2VvZiBSZXF1ZXN0KSBzdXBlcihpbnB1dCwgaW5pdCk7XG4gICAgICAgIGVsc2Ugc3VwZXIodXJsLCBpbml0KTtcbiAgICAgICAgY29uc3QgbmV4dFVybCA9IG5ldyBfbmV4dHVybC5OZXh0VVJMKHVybCwge1xuICAgICAgICAgICAgaGVhZGVyczogKDAsIF91dGlscy50b05vZGVPdXRnb2luZ0h0dHBIZWFkZXJzKSh0aGlzLmhlYWRlcnMpLFxuICAgICAgICAgICAgbmV4dENvbmZpZzogaW5pdC5uZXh0Q29uZmlnXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzW0lOVEVSTkFMU10gPSB7XG4gICAgICAgICAgICBjb29raWVzOiBuZXcgX2Nvb2tpZXMuUmVxdWVzdENvb2tpZXModGhpcy5oZWFkZXJzKSxcbiAgICAgICAgICAgIG5leHRVcmwsXG4gICAgICAgICAgICB1cmw6IHByb2Nlc3MuZW52Ll9fTkVYVF9OT19NSURETEVXQVJFX1VSTF9OT1JNQUxJWkUgPyB1cmwgOiBuZXh0VXJsLnRvU3RyaW5nKClcbiAgICAgICAgfTtcbiAgICB9XG4gICAgW1N5bWJvbC5mb3IoJ2VkZ2UtcnVudGltZS5pbnNwZWN0LmN1c3RvbScpXSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvb2tpZXM6IHRoaXMuY29va2llcyxcbiAgICAgICAgICAgIG5leHRVcmw6IHRoaXMubmV4dFVybCxcbiAgICAgICAgICAgIHVybDogdGhpcy51cmwsXG4gICAgICAgICAgICAvLyByZXN0IG9mIHByb3BzIGNvbWUgZnJvbSBSZXF1ZXN0XG4gICAgICAgICAgICBib2R5VXNlZDogdGhpcy5ib2R5VXNlZCxcbiAgICAgICAgICAgIGNhY2hlOiB0aGlzLmNhY2hlLFxuICAgICAgICAgICAgY3JlZGVudGlhbHM6IHRoaXMuY3JlZGVudGlhbHMsXG4gICAgICAgICAgICBkZXN0aW5hdGlvbjogdGhpcy5kZXN0aW5hdGlvbixcbiAgICAgICAgICAgIGhlYWRlcnM6IE9iamVjdC5mcm9tRW50cmllcyh0aGlzLmhlYWRlcnMpLFxuICAgICAgICAgICAgaW50ZWdyaXR5OiB0aGlzLmludGVncml0eSxcbiAgICAgICAgICAgIGtlZXBhbGl2ZTogdGhpcy5rZWVwYWxpdmUsXG4gICAgICAgICAgICBtZXRob2Q6IHRoaXMubWV0aG9kLFxuICAgICAgICAgICAgbW9kZTogdGhpcy5tb2RlLFxuICAgICAgICAgICAgcmVkaXJlY3Q6IHRoaXMucmVkaXJlY3QsXG4gICAgICAgICAgICByZWZlcnJlcjogdGhpcy5yZWZlcnJlcixcbiAgICAgICAgICAgIHJlZmVycmVyUG9saWN5OiB0aGlzLnJlZmVycmVyUG9saWN5LFxuICAgICAgICAgICAgc2lnbmFsOiB0aGlzLnNpZ25hbFxuICAgICAgICB9O1xuICAgIH1cbiAgICBnZXQgY29va2llcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSU5URVJOQUxTXS5jb29raWVzO1xuICAgIH1cbiAgICBnZXQgbmV4dFVybCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSU5URVJOQUxTXS5uZXh0VXJsO1xuICAgIH1cbiAgICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogYHBhZ2VgIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIGBVUkxQYXR0ZXJuYC5cbiAgICogUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9taWRkbGV3YXJlLXJlcXVlc3QtcGFnZVxuICAgKi8gZ2V0IHBhZ2UoKSB7XG4gICAgICAgIHRocm93IG5ldyBfZXJyb3IuUmVtb3ZlZFBhZ2VFcnJvcigpO1xuICAgIH1cbiAgICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogYHVhYCBoYXMgYmVlbiByZW1vdmVkIGluIGZhdm91ciBvZiBcXGB1c2VyQWdlbnRcXGAgZnVuY3Rpb24uXG4gICAqIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbWlkZGxld2FyZS1wYXJzZS11c2VyLWFnZW50XG4gICAqLyBnZXQgdWEoKSB7XG4gICAgICAgIHRocm93IG5ldyBfZXJyb3IuUmVtb3ZlZFVBRXJyb3IoKTtcbiAgICB9XG4gICAgZ2V0IHVybCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSU5URVJOQUxTXS51cmw7XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZXF1ZXN0LmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/request.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/response.js":
|
||
/*!*********************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/response.js ***!
|
||
\*********************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"NextResponse\", ({\n enumerable: true,\n get: function() {\n return NextResponse;\n }\n}));\nconst _cookies = __webpack_require__(/*! ../../web/spec-extension/cookies */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/cookies.js\");\nconst _nexturl = __webpack_require__(/*! ../next-url */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/next-url.js\");\nconst _utils = __webpack_require__(/*! ../utils */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/utils.js\");\nconst _reflect = __webpack_require__(/*! ./adapters/reflect */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js\");\nconst _cookies1 = __webpack_require__(/*! ./cookies */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/cookies.js\");\nconst INTERNALS = Symbol('internal response');\nconst REDIRECTS = new Set([\n 301,\n 302,\n 303,\n 307,\n 308\n]);\nfunction handleMiddlewareField(init, headers) {\n var _init_request;\n if (init == null ? void 0 : (_init_request = init.request) == null ? void 0 : _init_request.headers) {\n if (!(init.request.headers instanceof Headers)) {\n throw Object.defineProperty(new Error('request.headers must be an instance of Headers'), \"__NEXT_ERROR_CODE\", {\n value: \"E119\",\n enumerable: false,\n configurable: true\n });\n }\n const keys = [];\n for (const [key, value] of init.request.headers){\n headers.set('x-middleware-request-' + key, value);\n keys.push(key);\n }\n headers.set('x-middleware-override-headers', keys.join(','));\n }\n}\nclass NextResponse extends Response {\n constructor(body, init = {}){\n super(body, init);\n const headers = this.headers;\n const cookies = new _cookies1.ResponseCookies(headers);\n const cookiesProxy = new Proxy(cookies, {\n get (target, prop, receiver) {\n switch(prop){\n case 'delete':\n case 'set':\n {\n return (...args)=>{\n const result = Reflect.apply(target[prop], target, args);\n const newHeaders = new Headers(headers);\n if (result instanceof _cookies1.ResponseCookies) {\n headers.set('x-middleware-set-cookie', result.getAll().map((cookie)=>(0, _cookies.stringifyCookie)(cookie)).join(','));\n }\n handleMiddlewareField(init, newHeaders);\n return result;\n };\n }\n default:\n return _reflect.ReflectAdapter.get(target, prop, receiver);\n }\n }\n });\n this[INTERNALS] = {\n cookies: cookiesProxy,\n url: init.url ? new _nexturl.NextURL(init.url, {\n headers: (0, _utils.toNodeOutgoingHttpHeaders)(headers),\n nextConfig: init.nextConfig\n }) : undefined\n };\n }\n [Symbol.for('edge-runtime.inspect.custom')]() {\n return {\n cookies: this.cookies,\n url: this.url,\n // rest of props come from Response\n body: this.body,\n bodyUsed: this.bodyUsed,\n headers: Object.fromEntries(this.headers),\n ok: this.ok,\n redirected: this.redirected,\n status: this.status,\n statusText: this.statusText,\n type: this.type\n };\n }\n get cookies() {\n return this[INTERNALS].cookies;\n }\n static json(body, init) {\n const response = Response.json(body, init);\n return new NextResponse(response.body, response);\n }\n static redirect(url, init) {\n const status = typeof init === 'number' ? init : (init == null ? void 0 : init.status) ?? 307;\n if (!REDIRECTS.has(status)) {\n throw Object.defineProperty(new RangeError('Failed to execute \"redirect\" on \"response\": Invalid status code'), \"__NEXT_ERROR_CODE\", {\n value: \"E529\",\n enumerable: false,\n configurable: true\n });\n }\n const initObj = typeof init === 'object' ? init : {};\n const headers = new Headers(initObj == null ? void 0 : initObj.headers);\n headers.set('Location', (0, _utils.validateURL)(url));\n return new NextResponse(null, {\n ...initObj,\n headers,\n status\n });\n }\n static rewrite(destination, init) {\n const headers = new Headers(init == null ? void 0 : init.headers);\n headers.set('x-middleware-rewrite', (0, _utils.validateURL)(destination));\n handleMiddlewareField(init, headers);\n return new NextResponse(null, {\n ...init,\n headers\n });\n }\n static next(init) {\n const headers = new Headers(init == null ? void 0 : init.headers);\n headers.set('x-middleware-next', '1');\n handleMiddlewareField(init, headers);\n return new NextResponse(null, {\n ...init,\n headers\n });\n }\n}\n\n//# sourceMappingURL=response.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL3Jlc3BvbnNlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsZ0RBQStDO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsaUJBQWlCLG1CQUFPLENBQUMsOFBBQWtDO0FBQzNELGlCQUFpQixtQkFBTyxDQUFDLDJOQUFhO0FBQ3RDLGVBQWUsbUJBQU8sQ0FBQyxxTkFBVTtBQUNqQyxpQkFBaUIsbUJBQU8sQ0FBQyx5UEFBb0I7QUFDN0Msa0JBQWtCLG1CQUFPLENBQUMsdU9BQVc7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9yZXNwb25zZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIk5leHRSZXNwb25zZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTmV4dFJlc3BvbnNlO1xuICAgIH1cbn0pO1xuY29uc3QgX2Nvb2tpZXMgPSByZXF1aXJlKFwiLi4vLi4vd2ViL3NwZWMtZXh0ZW5zaW9uL2Nvb2tpZXNcIik7XG5jb25zdCBfbmV4dHVybCA9IHJlcXVpcmUoXCIuLi9uZXh0LXVybFwiKTtcbmNvbnN0IF91dGlscyA9IHJlcXVpcmUoXCIuLi91dGlsc1wiKTtcbmNvbnN0IF9yZWZsZWN0ID0gcmVxdWlyZShcIi4vYWRhcHRlcnMvcmVmbGVjdFwiKTtcbmNvbnN0IF9jb29raWVzMSA9IHJlcXVpcmUoXCIuL2Nvb2tpZXNcIik7XG5jb25zdCBJTlRFUk5BTFMgPSBTeW1ib2woJ2ludGVybmFsIHJlc3BvbnNlJyk7XG5jb25zdCBSRURJUkVDVFMgPSBuZXcgU2V0KFtcbiAgICAzMDEsXG4gICAgMzAyLFxuICAgIDMwMyxcbiAgICAzMDcsXG4gICAgMzA4XG5dKTtcbmZ1bmN0aW9uIGhhbmRsZU1pZGRsZXdhcmVGaWVsZChpbml0LCBoZWFkZXJzKSB7XG4gICAgdmFyIF9pbml0X3JlcXVlc3Q7XG4gICAgaWYgKGluaXQgPT0gbnVsbCA/IHZvaWQgMCA6IChfaW5pdF9yZXF1ZXN0ID0gaW5pdC5yZXF1ZXN0KSA9PSBudWxsID8gdm9pZCAwIDogX2luaXRfcmVxdWVzdC5oZWFkZXJzKSB7XG4gICAgICAgIGlmICghKGluaXQucmVxdWVzdC5oZWFkZXJzIGluc3RhbmNlb2YgSGVhZGVycykpIHtcbiAgICAgICAgICAgIHRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgRXJyb3IoJ3JlcXVlc3QuaGVhZGVycyBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEhlYWRlcnMnKSwgXCJfX05FWFRfRVJST1JfQ09ERVwiLCB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwiRTExOVwiLFxuICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qga2V5cyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBpbml0LnJlcXVlc3QuaGVhZGVycyl7XG4gICAgICAgICAgICBoZWFkZXJzLnNldCgneC1taWRkbGV3YXJlLXJlcXVlc3QtJyArIGtleSwgdmFsdWUpO1xuICAgICAgICAgICAga2V5cy5wdXNoKGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgaGVhZGVycy5zZXQoJ3gtbWlkZGxld2FyZS1vdmVycmlkZS1oZWFkZXJzJywga2V5cy5qb2luKCcsJykpO1xuICAgIH1cbn1cbmNsYXNzIE5leHRSZXNwb25zZSBleHRlbmRzIFJlc3BvbnNlIHtcbiAgICBjb25zdHJ1Y3Rvcihib2R5LCBpbml0ID0ge30pe1xuICAgICAgICBzdXBlcihib2R5LCBpbml0KTtcbiAgICAgICAgY29uc3QgaGVhZGVycyA9IHRoaXMuaGVhZGVycztcbiAgICAgICAgY29uc3QgY29va2llcyA9IG5ldyBfY29va2llczEuUmVzcG9uc2VDb29raWVzKGhlYWRlcnMpO1xuICAgICAgICBjb25zdCBjb29raWVzUHJveHkgPSBuZXcgUHJveHkoY29va2llcywge1xuICAgICAgICAgICAgZ2V0ICh0YXJnZXQsIHByb3AsIHJlY2VpdmVyKSB7XG4gICAgICAgICAgICAgICAgc3dpdGNoKHByb3Ape1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdkZWxldGUnOlxuICAgICAgICAgICAgICAgICAgICBjYXNlICdzZXQnOlxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoLi4uYXJncyk9PntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gUmVmbGVjdC5hcHBseSh0YXJnZXRbcHJvcF0sIHRhcmdldCwgYXJncyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0hlYWRlcnMgPSBuZXcgSGVhZGVycyhoZWFkZXJzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIF9jb29raWVzMS5SZXNwb25zZUNvb2tpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnMuc2V0KCd4LW1pZGRsZXdhcmUtc2V0LWNvb2tpZScsIHJlc3VsdC5nZXRBbGwoKS5tYXAoKGNvb2tpZSk9PigwLCBfY29va2llcy5zdHJpbmdpZnlDb29raWUpKGNvb2tpZSkpLmpvaW4oJywnKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlTWlkZGxld2FyZUZpZWxkKGluaXQsIG5ld0hlYWRlcnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX3JlZmxlY3QuUmVmbGVjdEFkYXB0ZXIuZ2V0KHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXNbSU5URVJOQUxTXSA9IHtcbiAgICAgICAgICAgIGNvb2tpZXM6IGNvb2tpZXNQcm94eSxcbiAgICAgICAgICAgIHVybDogaW5pdC51cmwgPyBuZXcgX25leHR1cmwuTmV4dFVSTChpbml0LnVybCwge1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6ICgwLCBfdXRpbHMudG9Ob2RlT3V0Z29pbmdIdHRwSGVhZGVycykoaGVhZGVycyksXG4gICAgICAgICAgICAgICAgbmV4dENvbmZpZzogaW5pdC5uZXh0Q29uZmlnXG4gICAgICAgICAgICB9KSA6IHVuZGVmaW5lZFxuICAgICAgICB9O1xuICAgIH1cbiAgICBbU3ltYm9sLmZvcignZWRnZS1ydW50aW1lLmluc3BlY3QuY3VzdG9tJyldKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29va2llczogdGhpcy5jb29raWVzLFxuICAgICAgICAgICAgdXJsOiB0aGlzLnVybCxcbiAgICAgICAgICAgIC8vIHJlc3Qgb2YgcHJvcHMgY29tZSBmcm9tIFJlc3BvbnNlXG4gICAgICAgICAgICBib2R5OiB0aGlzLmJvZHksXG4gICAgICAgICAgICBib2R5VXNlZDogdGhpcy5ib2R5VXNlZCxcbiAgICAgICAgICAgIGhlYWRlcnM6IE9iamVjdC5mcm9tRW50cmllcyh0aGlzLmhlYWRlcnMpLFxuICAgICAgICAgICAgb2s6IHRoaXMub2ssXG4gICAgICAgICAgICByZWRpcmVjdGVkOiB0aGlzLnJlZGlyZWN0ZWQsXG4gICAgICAgICAgICBzdGF0dXM6IHRoaXMuc3RhdHVzLFxuICAgICAgICAgICAgc3RhdHVzVGV4dDogdGhpcy5zdGF0dXNUZXh0LFxuICAgICAgICAgICAgdHlwZTogdGhpcy50eXBlXG4gICAgICAgIH07XG4gICAgfVxuICAgIGdldCBjb29raWVzKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJTlRFUk5BTFNdLmNvb2tpZXM7XG4gICAgfVxuICAgIHN0YXRpYyBqc29uKGJvZHksIGluaXQpIHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBSZXNwb25zZS5qc29uKGJvZHksIGluaXQpO1xuICAgICAgICByZXR1cm4gbmV3IE5leHRSZXNwb25zZShyZXNwb25zZS5ib2R5LCByZXNwb25zZSk7XG4gICAgfVxuICAgIHN0YXRpYyByZWRpcmVjdCh1cmwsIGluaXQpIHtcbiAgICAgICAgY29uc3Qgc3RhdHVzID0gdHlwZW9mIGluaXQgPT09ICdudW1iZXInID8gaW5pdCA6IChpbml0ID09IG51bGwgPyB2b2lkIDAgOiBpbml0LnN0YXR1cykgPz8gMzA3O1xuICAgICAgICBpZiAoIVJFRElSRUNUUy5oYXMoc3RhdHVzKSkge1xuICAgICAgICAgICAgdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBSYW5nZUVycm9yKCdGYWlsZWQgdG8gZXhlY3V0ZSBcInJlZGlyZWN0XCIgb24gXCJyZXNwb25zZVwiOiBJbnZhbGlkIHN0YXR1cyBjb2RlJyksIFwiX19ORVhUX0VSUk9SX0NPREVcIiwge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBcIkU1MjlcIixcbiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGluaXRPYmogPSB0eXBlb2YgaW5pdCA9PT0gJ29iamVjdCcgPyBpbml0IDoge307XG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSGVhZGVycyhpbml0T2JqID09IG51bGwgPyB2b2lkIDAgOiBpbml0T2JqLmhlYWRlcnMpO1xuICAgICAgICBoZWFkZXJzLnNldCgnTG9jYXRpb24nLCAoMCwgX3V0aWxzLnZhbGlkYXRlVVJMKSh1cmwpKTtcbiAgICAgICAgcmV0dXJuIG5ldyBOZXh0UmVzcG9uc2UobnVsbCwge1xuICAgICAgICAgICAgLi4uaW5pdE9iaixcbiAgICAgICAgICAgIGhlYWRlcnMsXG4gICAgICAgICAgICBzdGF0dXNcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHN0YXRpYyByZXdyaXRlKGRlc3RpbmF0aW9uLCBpbml0KSB7XG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSGVhZGVycyhpbml0ID09IG51bGwgPyB2b2lkIDAgOiBpbml0LmhlYWRlcnMpO1xuICAgICAgICBoZWFkZXJzLnNldCgneC1taWRkbGV3YXJlLXJld3JpdGUnLCAoMCwgX3V0aWxzLnZhbGlkYXRlVVJMKShkZXN0aW5hdGlvbikpO1xuICAgICAgICBoYW5kbGVNaWRkbGV3YXJlRmllbGQoaW5pdCwgaGVhZGVycyk7XG4gICAgICAgIHJldHVybiBuZXcgTmV4dFJlc3BvbnNlKG51bGwsIHtcbiAgICAgICAgICAgIC4uLmluaXQsXG4gICAgICAgICAgICBoZWFkZXJzXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzdGF0aWMgbmV4dChpbml0KSB7XG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSGVhZGVycyhpbml0ID09IG51bGwgPyB2b2lkIDAgOiBpbml0LmhlYWRlcnMpO1xuICAgICAgICBoZWFkZXJzLnNldCgneC1taWRkbGV3YXJlLW5leHQnLCAnMScpO1xuICAgICAgICBoYW5kbGVNaWRkbGV3YXJlRmllbGQoaW5pdCwgaGVhZGVycyk7XG4gICAgICAgIHJldHVybiBuZXcgTmV4dFJlc3BvbnNlKG51bGwsIHtcbiAgICAgICAgICAgIC4uLmluaXQsXG4gICAgICAgICAgICBoZWFkZXJzXG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVzcG9uc2UuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/response.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/url-pattern.js":
|
||
/*!************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/url-pattern.js ***!
|
||
\************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"URLPattern\", ({\n enumerable: true,\n get: function() {\n return GlobalURLPattern;\n }\n}));\nconst GlobalURLPattern = // @ts-expect-error: URLPattern is not available in Node.js\ntypeof URLPattern === 'undefined' ? undefined : URLPattern;\n\n//# sourceMappingURL=url-pattern.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL3VybC1wYXR0ZXJuLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsOENBQTZDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFDO0FBQ0Y7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL3VybC1wYXR0ZXJuLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiVVJMUGF0dGVyblwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gR2xvYmFsVVJMUGF0dGVybjtcbiAgICB9XG59KTtcbmNvbnN0IEdsb2JhbFVSTFBhdHRlcm4gPSAvLyBAdHMtZXhwZWN0LWVycm9yOiBVUkxQYXR0ZXJuIGlzIG5vdCBhdmFpbGFibGUgaW4gTm9kZS5qc1xudHlwZW9mIFVSTFBhdHRlcm4gPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogVVJMUGF0dGVybjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXJsLXBhdHRlcm4uanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/url-pattern.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/user-agent.js":
|
||
/*!***********************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/user-agent.js ***!
|
||
\***********************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isBot: function() {\n return isBot;\n },\n userAgent: function() {\n return userAgent;\n },\n userAgentFromString: function() {\n return userAgentFromString;\n }\n});\nconst _uaparserjs = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! next/dist/compiled/ua-parser-js */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/ua-parser-js/ua-parser.js\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction isBot(input) {\n return /Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(input);\n}\nfunction userAgentFromString(input) {\n return {\n ...(0, _uaparserjs.default)(input),\n isBot: input === undefined ? false : isBot(input)\n };\n}\nfunction userAgent({ headers }) {\n return userAgentFromString(headers.get('user-agent') || undefined);\n}\n\n//# sourceMappingURL=user-agent.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL3VzZXItYWdlbnQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBSUw7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCwyREFBMkQsbUJBQU8sQ0FBQywyUEFBaUM7QUFDcEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixTQUFTO0FBQzlCO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi91c2VyLWFnZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgaXNCb3Q6IG51bGwsXG4gICAgdXNlckFnZW50OiBudWxsLFxuICAgIHVzZXJBZ2VudEZyb21TdHJpbmc6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgaXNCb3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNCb3Q7XG4gICAgfSxcbiAgICB1c2VyQWdlbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlckFnZW50O1xuICAgIH0sXG4gICAgdXNlckFnZW50RnJvbVN0cmluZzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1c2VyQWdlbnRGcm9tU3RyaW5nO1xuICAgIH1cbn0pO1xuY29uc3QgX3VhcGFyc2VyanMgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChyZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL3VhLXBhcnNlci1qc1wiKSk7XG5mdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQob2JqKSB7XG4gICAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHtcbiAgICAgICAgZGVmYXVsdDogb2JqXG4gICAgfTtcbn1cbmZ1bmN0aW9uIGlzQm90KGlucHV0KSB7XG4gICAgcmV0dXJuIC9Hb29nbGVib3R8TWVkaWFwYXJ0bmVycy1Hb29nbGV8QWRzQm90LUdvb2dsZXxnb29nbGV3ZWJsaWdodHxTdG9yZWJvdC1Hb29nbGV8R29vZ2xlLVBhZ2VSZW5kZXJlcnxHb29nbGUtSW5zcGVjdGlvblRvb2x8QmluZ2JvdHxCaW5nUHJldmlld3xTbHVycHxEdWNrRHVja0JvdHxiYWlkdXNwaWRlcnx5YW5kZXh8c29nb3V8TGlua2VkSW5Cb3R8Yml0bHlib3R8dHVtYmxyfHZrU2hhcmV8cXVvcmEgbGluayBwcmV2aWV3fGZhY2Vib29rZXh0ZXJuYWxoaXR8ZmFjZWJvb2tjYXRhbG9nfFR3aXR0ZXJib3R8YXBwbGVib3R8cmVkZGl0Ym90fFNsYWNrYm90fERpc2NvcmRib3R8V2hhdHNBcHB8U2t5cGVVcmlQcmV2aWV3fGlhX2FyY2hpdmVyL2kudGVzdChpbnB1dCk7XG59XG5mdW5jdGlvbiB1c2VyQWdlbnRGcm9tU3RyaW5nKGlucHV0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uKDAsIF91YXBhcnNlcmpzLmRlZmF1bHQpKGlucHV0KSxcbiAgICAgICAgaXNCb3Q6IGlucHV0ID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IGlzQm90KGlucHV0KVxuICAgIH07XG59XG5mdW5jdGlvbiB1c2VyQWdlbnQoeyBoZWFkZXJzIH0pIHtcbiAgICByZXR1cm4gdXNlckFnZW50RnJvbVN0cmluZyhoZWFkZXJzLmdldCgndXNlci1hZ2VudCcpIHx8IHVuZGVmaW5lZCk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZXItYWdlbnQuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/spec-extension/user-agent.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/utils.js":
|
||
/*!***************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/utils.js ***!
|
||
\***************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n fromNodeOutgoingHttpHeaders: function() {\n return fromNodeOutgoingHttpHeaders;\n },\n normalizeNextQueryParam: function() {\n return normalizeNextQueryParam;\n },\n splitCookiesString: function() {\n return splitCookiesString;\n },\n toNodeOutgoingHttpHeaders: function() {\n return toNodeOutgoingHttpHeaders;\n },\n validateURL: function() {\n return validateURL;\n }\n});\nconst _constants = __webpack_require__(/*! ../../lib/constants */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/lib/constants.js\");\nfunction fromNodeOutgoingHttpHeaders(nodeHeaders) {\n const headers = new Headers();\n for (let [key, value] of Object.entries(nodeHeaders)){\n const values = Array.isArray(value) ? value : [\n value\n ];\n for (let v of values){\n if (typeof v === 'undefined') continue;\n if (typeof v === 'number') {\n v = v.toString();\n }\n headers.append(key, v);\n }\n }\n return headers;\n}\nfunction splitCookiesString(cookiesString) {\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n function skipWhitespace() {\n while(pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))){\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n return ch !== '=' && ch !== ';' && ch !== ',';\n }\n while(pos < cookiesString.length){\n start = pos;\n cookiesSeparatorFound = false;\n while(skipWhitespace()){\n ch = cookiesString.charAt(pos);\n if (ch === ',') {\n // ',' is a cookie separator if we have later first '=', not ';' or ','\n lastComma = pos;\n pos += 1;\n skipWhitespace();\n nextStart = pos;\n while(pos < cookiesString.length && notSpecialChar()){\n pos += 1;\n }\n // currently special character\n if (pos < cookiesString.length && cookiesString.charAt(pos) === '=') {\n // we found cookies separator\n cookiesSeparatorFound = true;\n // pos is inside the next cookie, so back up and return it.\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n // in param ',' or param separator ';',\n // we continue from that comma\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n return cookiesStrings;\n}\nfunction toNodeOutgoingHttpHeaders(headers) {\n const nodeHeaders = {};\n const cookies = [];\n if (headers) {\n for (const [key, value] of headers.entries()){\n if (key.toLowerCase() === 'set-cookie') {\n // We may have gotten a comma joined string of cookies, or multiple\n // set-cookie headers. We need to merge them into one header array\n // to represent all the cookies.\n cookies.push(...splitCookiesString(value));\n nodeHeaders[key] = cookies.length === 1 ? cookies[0] : cookies;\n } else {\n nodeHeaders[key] = value;\n }\n }\n }\n return nodeHeaders;\n}\nfunction validateURL(url) {\n try {\n return String(new URL(String(url)));\n } catch (error) {\n throw Object.defineProperty(new Error(`URL is malformed \"${String(url)}\". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`, {\n cause: error\n }), \"__NEXT_ERROR_CODE\", {\n value: \"E61\",\n enumerable: false,\n configurable: true\n });\n }\n}\nfunction normalizeNextQueryParam(key) {\n const prefixes = [\n _constants.NEXT_QUERY_PARAM_PREFIX,\n _constants.NEXT_INTERCEPTION_MARKER_PREFIX\n ];\n for (const prefix of prefixes){\n if (key !== prefix && key.startsWith(prefix)) {\n return key.substring(prefix.length);\n }\n }\n return null;\n}\n\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL3V0aWxzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQU1MO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELG1CQUFtQixtQkFBTyxDQUFDLDZOQUFxQjtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0VBQStFO0FBQy9FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQix5REFBeUQ7QUFDekQ7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOLG1FQUFtRSxZQUFZO0FBQy9FO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL25leHRAMTYuMS42X0BiYWJlbCtjb3JlQDcuMjkuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjFfcmVhY3QtZG9tQDE5LjIuNF9yZWFjdEAxOS4yLjRfX3JlYWN0QDE5LjIuNF9zYXNzQDEuOTguMC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBmcm9tTm9kZU91dGdvaW5nSHR0cEhlYWRlcnM6IG51bGwsXG4gICAgbm9ybWFsaXplTmV4dFF1ZXJ5UGFyYW06IG51bGwsXG4gICAgc3BsaXRDb29raWVzU3RyaW5nOiBudWxsLFxuICAgIHRvTm9kZU91dGdvaW5nSHR0cEhlYWRlcnM6IG51bGwsXG4gICAgdmFsaWRhdGVVUkw6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZnJvbU5vZGVPdXRnb2luZ0h0dHBIZWFkZXJzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGZyb21Ob2RlT3V0Z29pbmdIdHRwSGVhZGVycztcbiAgICB9LFxuICAgIG5vcm1hbGl6ZU5leHRRdWVyeVBhcmFtOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZU5leHRRdWVyeVBhcmFtO1xuICAgIH0sXG4gICAgc3BsaXRDb29raWVzU3RyaW5nOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHNwbGl0Q29va2llc1N0cmluZztcbiAgICB9LFxuICAgIHRvTm9kZU91dGdvaW5nSHR0cEhlYWRlcnM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdG9Ob2RlT3V0Z29pbmdIdHRwSGVhZGVycztcbiAgICB9LFxuICAgIHZhbGlkYXRlVVJMOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHZhbGlkYXRlVVJMO1xuICAgIH1cbn0pO1xuY29uc3QgX2NvbnN0YW50cyA9IHJlcXVpcmUoXCIuLi8uLi9saWIvY29uc3RhbnRzXCIpO1xuZnVuY3Rpb24gZnJvbU5vZGVPdXRnb2luZ0h0dHBIZWFkZXJzKG5vZGVIZWFkZXJzKSB7XG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIZWFkZXJzKCk7XG4gICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG5vZGVIZWFkZXJzKSl7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICBdO1xuICAgICAgICBmb3IgKGxldCB2IG9mIHZhbHVlcyl7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHYgPT09ICd1bmRlZmluZWQnKSBjb250aW51ZTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdiA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgICB2ID0gdi50b1N0cmluZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaGVhZGVycy5hcHBlbmQoa2V5LCB2KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaGVhZGVycztcbn1cbmZ1bmN0aW9uIHNwbGl0Q29va2llc1N0cmluZyhjb29raWVzU3RyaW5nKSB7XG4gICAgdmFyIGNvb2tpZXNTdHJpbmdzID0gW107XG4gICAgdmFyIHBvcyA9IDA7XG4gICAgdmFyIHN0YXJ0O1xuICAgIHZhciBjaDtcbiAgICB2YXIgbGFzdENvbW1hO1xuICAgIHZhciBuZXh0U3RhcnQ7XG4gICAgdmFyIGNvb2tpZXNTZXBhcmF0b3JGb3VuZDtcbiAgICBmdW5jdGlvbiBza2lwV2hpdGVzcGFjZSgpIHtcbiAgICAgICAgd2hpbGUocG9zIDwgY29va2llc1N0cmluZy5sZW5ndGggJiYgL1xccy8udGVzdChjb29raWVzU3RyaW5nLmNoYXJBdChwb3MpKSl7XG4gICAgICAgICAgICBwb3MgKz0gMTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcG9zIDwgY29va2llc1N0cmluZy5sZW5ndGg7XG4gICAgfVxuICAgIGZ1bmN0aW9uIG5vdFNwZWNpYWxDaGFyKCkge1xuICAgICAgICBjaCA9IGNvb2tpZXNTdHJpbmcuY2hhckF0KHBvcyk7XG4gICAgICAgIHJldHVybiBjaCAhPT0gJz0nICYmIGNoICE9PSAnOycgJiYgY2ggIT09ICcsJztcbiAgICB9XG4gICAgd2hpbGUocG9zIDwgY29va2llc1N0cmluZy5sZW5ndGgpe1xuICAgICAgICBzdGFydCA9IHBvcztcbiAgICAgICAgY29va2llc1NlcGFyYXRvckZvdW5kID0gZmFsc2U7XG4gICAgICAgIHdoaWxlKHNraXBXaGl0ZXNwYWNlKCkpe1xuICAgICAgICAgICAgY2ggPSBjb29raWVzU3RyaW5nLmNoYXJBdChwb3MpO1xuICAgICAgICAgICAgaWYgKGNoID09PSAnLCcpIHtcbiAgICAgICAgICAgICAgICAvLyAnLCcgaXMgYSBjb29raWUgc2VwYXJhdG9yIGlmIHdlIGhhdmUgbGF0ZXIgZmlyc3QgJz0nLCBub3QgJzsnIG9yICcsJ1xuICAgICAgICAgICAgICAgIGxhc3RDb21tYSA9IHBvcztcbiAgICAgICAgICAgICAgICBwb3MgKz0gMTtcbiAgICAgICAgICAgICAgICBza2lwV2hpdGVzcGFjZSgpO1xuICAgICAgICAgICAgICAgIG5leHRTdGFydCA9IHBvcztcbiAgICAgICAgICAgICAgICB3aGlsZShwb3MgPCBjb29raWVzU3RyaW5nLmxlbmd0aCAmJiBub3RTcGVjaWFsQ2hhcigpKXtcbiAgICAgICAgICAgICAgICAgICAgcG9zICs9IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGN1cnJlbnRseSBzcGVjaWFsIGNoYXJhY3RlclxuICAgICAgICAgICAgICAgIGlmIChwb3MgPCBjb29raWVzU3RyaW5nLmxlbmd0aCAmJiBjb29raWVzU3RyaW5nLmNoYXJBdChwb3MpID09PSAnPScpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gd2UgZm91bmQgY29va2llcyBzZXBhcmF0b3JcbiAgICAgICAgICAgICAgICAgICAgY29va2llc1NlcGFyYXRvckZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gcG9zIGlzIGluc2lkZSB0aGUgbmV4dCBjb29raWUsIHNvIGJhY2sgdXAgYW5kIHJldHVybiBpdC5cbiAgICAgICAgICAgICAgICAgICAgcG9zID0gbmV4dFN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICBjb29raWVzU3RyaW5ncy5wdXNoKGNvb2tpZXNTdHJpbmcuc3Vic3RyaW5nKHN0YXJ0LCBsYXN0Q29tbWEpKTtcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSBwb3M7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gaW4gcGFyYW0gJywnIG9yIHBhcmFtIHNlcGFyYXRvciAnOycsXG4gICAgICAgICAgICAgICAgICAgIC8vIHdlIGNvbnRpbnVlIGZyb20gdGhhdCBjb21tYVxuICAgICAgICAgICAgICAgICAgICBwb3MgPSBsYXN0Q29tbWEgKyAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcG9zICs9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFjb29raWVzU2VwYXJhdG9yRm91bmQgfHwgcG9zID49IGNvb2tpZXNTdHJpbmcubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb29raWVzU3RyaW5ncy5wdXNoKGNvb2tpZXNTdHJpbmcuc3Vic3RyaW5nKHN0YXJ0LCBjb29raWVzU3RyaW5nLmxlbmd0aCkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjb29raWVzU3RyaW5ncztcbn1cbmZ1bmN0aW9uIHRvTm9kZU91dGdvaW5nSHR0cEhlYWRlcnMoaGVhZGVycykge1xuICAgIGNvbnN0IG5vZGVIZWFkZXJzID0ge307XG4gICAgY29uc3QgY29va2llcyA9IFtdO1xuICAgIGlmIChoZWFkZXJzKSB7XG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIGhlYWRlcnMuZW50cmllcygpKXtcbiAgICAgICAgICAgIGlmIChrZXkudG9Mb3dlckNhc2UoKSA9PT0gJ3NldC1jb29raWUnKSB7XG4gICAgICAgICAgICAgICAgLy8gV2UgbWF5IGhhdmUgZ290dGVuIGEgY29tbWEgam9pbmVkIHN0cmluZyBvZiBjb29raWVzLCBvciBtdWx0aXBsZVxuICAgICAgICAgICAgICAgIC8vIHNldC1jb29raWUgaGVhZGVycy4gV2UgbmVlZCB0byBtZXJnZSB0aGVtIGludG8gb25lIGhlYWRlciBhcnJheVxuICAgICAgICAgICAgICAgIC8vIHRvIHJlcHJlc2VudCBhbGwgdGhlIGNvb2tpZXMuXG4gICAgICAgICAgICAgICAgY29va2llcy5wdXNoKC4uLnNwbGl0Q29va2llc1N0cmluZyh2YWx1ZSkpO1xuICAgICAgICAgICAgICAgIG5vZGVIZWFkZXJzW2tleV0gPSBjb29raWVzLmxlbmd0aCA9PT0gMSA/IGNvb2tpZXNbMF0gOiBjb29raWVzO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBub2RlSGVhZGVyc1trZXldID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5vZGVIZWFkZXJzO1xufVxuZnVuY3Rpb24gdmFsaWRhdGVVUkwodXJsKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIFN0cmluZyhuZXcgVVJMKFN0cmluZyh1cmwpKSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBFcnJvcihgVVJMIGlzIG1hbGZvcm1lZCBcIiR7U3RyaW5nKHVybCl9XCIuIFBsZWFzZSB1c2Ugb25seSBhYnNvbHV0ZSBVUkxzIC0gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbWlkZGxld2FyZS1yZWxhdGl2ZS11cmxzYCwge1xuICAgICAgICAgICAgY2F1c2U6IGVycm9yXG4gICAgICAgIH0pLCBcIl9fTkVYVF9FUlJPUl9DT0RFXCIsIHtcbiAgICAgICAgICAgIHZhbHVlOiBcIkU2MVwiLFxuICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZnVuY3Rpb24gbm9ybWFsaXplTmV4dFF1ZXJ5UGFyYW0oa2V5KSB7XG4gICAgY29uc3QgcHJlZml4ZXMgPSBbXG4gICAgICAgIF9jb25zdGFudHMuTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVgsXG4gICAgICAgIF9jb25zdGFudHMuTkVYVF9JTlRFUkNFUFRJT05fTUFSS0VSX1BSRUZJWFxuICAgIF07XG4gICAgZm9yIChjb25zdCBwcmVmaXggb2YgcHJlZml4ZXMpe1xuICAgICAgICBpZiAoa2V5ICE9PSBwcmVmaXggJiYga2V5LnN0YXJ0c1dpdGgocHJlZml4KSkge1xuICAgICAgICAgICAgcmV0dXJuIGtleS5zdWJzdHJpbmcocHJlZml4Lmxlbmd0aCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/web/utils.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/get-hostname.js":
|
||
/*!**********************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/get-hostname.js ***!
|
||
\**********************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getHostname\", ({\n enumerable: true,\n get: function() {\n return getHostname;\n }\n}));\nfunction getHostname(parsed, headers) {\n // Get the hostname from the headers if it exists, otherwise use the parsed\n // hostname.\n let hostname;\n if (headers?.host && !Array.isArray(headers.host)) {\n hostname = headers.host.toString().split(':', 1)[0];\n } else if (parsed.hostname) {\n hostname = parsed.hostname;\n } else return;\n return hostname.toLowerCase();\n} //# sourceMappingURL=get-hostname.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2dldC1ob3N0bmFtZS5qcyIsIm1hcHBpbmdzIjoiOzs7OytDQVFnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsWUFDZEMsTUFBb0MsRUFDcENDLE9BQTZCO0lBRTdCLDJFQUEyRTtJQUMzRSxZQUFZO0lBQ1osSUFBSUM7SUFDSixJQUFJRCxTQUFTRSxRQUFRLENBQUNDLE1BQU1DLE9BQU8sQ0FBQ0osUUFBUUUsSUFBSSxHQUFHO1FBQ2pERCxXQUFXRCxRQUFRRSxJQUFJLENBQUNHLFFBQVEsR0FBR0MsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUU7SUFDckQsT0FBTyxJQUFJUCxPQUFPRSxRQUFRLEVBQUU7UUFDMUJBLFdBQVdGLE9BQU9FLFFBQVE7SUFDNUIsT0FBTztJQUVQLE9BQU9BLFNBQVNNLFdBQVc7QUFDN0IiLCJzb3VyY2VzIjpbIi9Vc2Vycy9zcmMvc2hhcmVkL2xpYi9nZXQtaG9zdG5hbWUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPdXRnb2luZ0h0dHBIZWFkZXJzIH0gZnJvbSAnaHR0cCdcblxuLyoqXG4gKiBUYWtlcyBhbiBvYmplY3Qgd2l0aCBhIGhvc3RuYW1lIHByb3BlcnR5IChsaWtlIGEgcGFyc2VkIFVSTCkgYW5kIHNvbWVcbiAqIGhlYWRlcnMgdGhhdCBtYXkgY29udGFpbiBIb3N0IGFuZCByZXR1cm5zIHRoZSBwcmVmZXJyZWQgaG9zdG5hbWUuXG4gKiBAcGFyYW0gcGFyc2VkIEFuIG9iamVjdCBjb250YWluaW5nIGEgaG9zdG5hbWUgcHJvcGVydHkuXG4gKiBAcGFyYW0gaGVhZGVycyBBIGRpY3Rpb25hcnkgd2l0aCBoZWFkZXJzIGNvbnRhaW5pbmcgYSBgaG9zdGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRIb3N0bmFtZShcbiAgcGFyc2VkOiB7IGhvc3RuYW1lPzogc3RyaW5nIHwgbnVsbCB9LFxuICBoZWFkZXJzPzogT3V0Z29pbmdIdHRwSGVhZGVyc1xuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgLy8gR2V0IHRoZSBob3N0bmFtZSBmcm9tIHRoZSBoZWFkZXJzIGlmIGl0IGV4aXN0cywgb3RoZXJ3aXNlIHVzZSB0aGUgcGFyc2VkXG4gIC8vIGhvc3RuYW1lLlxuICBsZXQgaG9zdG5hbWU6IHN0cmluZ1xuICBpZiAoaGVhZGVycz8uaG9zdCAmJiAhQXJyYXkuaXNBcnJheShoZWFkZXJzLmhvc3QpKSB7XG4gICAgaG9zdG5hbWUgPSBoZWFkZXJzLmhvc3QudG9TdHJpbmcoKS5zcGxpdCgnOicsIDEpWzBdXG4gIH0gZWxzZSBpZiAocGFyc2VkLmhvc3RuYW1lKSB7XG4gICAgaG9zdG5hbWUgPSBwYXJzZWQuaG9zdG5hbWVcbiAgfSBlbHNlIHJldHVyblxuXG4gIHJldHVybiBob3N0bmFtZS50b0xvd2VyQ2FzZSgpXG59XG4iXSwibmFtZXMiOlsiZ2V0SG9zdG5hbWUiLCJwYXJzZWQiLCJoZWFkZXJzIiwiaG9zdG5hbWUiLCJob3N0IiwiQXJyYXkiLCJpc0FycmF5IiwidG9TdHJpbmciLCJzcGxpdCIsInRvTG93ZXJDYXNlIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/get-hostname.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js":
|
||
/*!***********************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js ***!
|
||
\***********************************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"detectDomainLocale\", ({\n enumerable: true,\n get: function() {\n return detectDomainLocale;\n }\n}));\nfunction detectDomainLocale(domainItems, hostname, detectedLocale) {\n if (!domainItems) return;\n if (detectedLocale) {\n detectedLocale = detectedLocale.toLowerCase();\n }\n for (const item of domainItems){\n // remove port if present\n const domainHostname = item.domain?.split(':', 1)[0].toLowerCase();\n if (hostname === domainHostname || detectedLocale === item.defaultLocale.toLowerCase() || item.locales?.some((locale)=>locale.toLowerCase() === detectedLocale)) {\n return item;\n }\n }\n} //# sourceMappingURL=detect-domain-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2kxOG4vZGV0ZWN0LWRvbWFpbi1sb2NhbGUuanMiLCJtYXBwaW5ncyI6Ijs7OztzREFFZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLG1CQUNkQyxXQUFxQyxFQUNyQ0MsUUFBaUIsRUFDakJDLGNBQXVCO0lBRXZCLElBQUksQ0FBQ0YsYUFBYTtJQUVsQixJQUFJRSxnQkFBZ0I7UUFDbEJBLGlCQUFpQkEsZUFBZUMsV0FBVztJQUM3QztJQUVBLEtBQUssTUFBTUMsUUFBUUosWUFBYTtRQUM5Qix5QkFBeUI7UUFDekIsTUFBTUssaUJBQWlCRCxLQUFLRSxNQUFNLEVBQUVDLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDSjtRQUNyRCxJQUNFRixhQUFhSSxrQkFDYkgsbUJBQW1CRSxLQUFLSSxhQUFhLENBQUNMLFdBQVcsTUFDakRDLEtBQUtLLE9BQU8sRUFBRUMsS0FBSyxDQUFDQyxTQUFXQSxPQUFPUixXQUFXLE9BQU9ELGlCQUN4RDtZQUNBLE9BQU9FO1FBQ1Q7SUFDRjtBQUNGIiwic291cmNlcyI6WyIvc3JjL3NoYXJlZC9saWIvaTE4bi9kZXRlY3QtZG9tYWluLWxvY2FsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERvbWFpbkxvY2FsZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZlci9jb25maWctc2hhcmVkJ1xuXG5leHBvcnQgZnVuY3Rpb24gZGV0ZWN0RG9tYWluTG9jYWxlKFxuICBkb21haW5JdGVtcz86IHJlYWRvbmx5IERvbWFpbkxvY2FsZVtdLFxuICBob3N0bmFtZT86IHN0cmluZyxcbiAgZGV0ZWN0ZWRMb2NhbGU/OiBzdHJpbmdcbikge1xuICBpZiAoIWRvbWFpbkl0ZW1zKSByZXR1cm5cblxuICBpZiAoZGV0ZWN0ZWRMb2NhbGUpIHtcbiAgICBkZXRlY3RlZExvY2FsZSA9IGRldGVjdGVkTG9jYWxlLnRvTG93ZXJDYXNlKClcbiAgfVxuXG4gIGZvciAoY29uc3QgaXRlbSBvZiBkb21haW5JdGVtcykge1xuICAgIC8vIHJlbW92ZSBwb3J0IGlmIHByZXNlbnRcbiAgICBjb25zdCBkb21haW5Ib3N0bmFtZSA9IGl0ZW0uZG9tYWluPy5zcGxpdCgnOicsIDEpWzBdLnRvTG93ZXJDYXNlKClcbiAgICBpZiAoXG4gICAgICBob3N0bmFtZSA9PT0gZG9tYWluSG9zdG5hbWUgfHxcbiAgICAgIGRldGVjdGVkTG9jYWxlID09PSBpdGVtLmRlZmF1bHRMb2NhbGUudG9Mb3dlckNhc2UoKSB8fFxuICAgICAgaXRlbS5sb2NhbGVzPy5zb21lKChsb2NhbGUpID0+IGxvY2FsZS50b0xvd2VyQ2FzZSgpID09PSBkZXRlY3RlZExvY2FsZSlcbiAgICApIHtcbiAgICAgIHJldHVybiBpdGVtXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsiZGV0ZWN0RG9tYWluTG9jYWxlIiwiZG9tYWluSXRlbXMiLCJob3N0bmFtZSIsImRldGVjdGVkTG9jYWxlIiwidG9Mb3dlckNhc2UiLCJpdGVtIiwiZG9tYWluSG9zdG5hbWUiLCJkb21haW4iLCJzcGxpdCIsImRlZmF1bHRMb2NhbGUiLCJsb2NhbGVzIiwic29tZSIsImxvY2FsZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js":
|
||
/*!************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js ***!
|
||
\************************************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizeLocalePath\", ({\n enumerable: true,\n get: function() {\n return normalizeLocalePath;\n }\n}));\n/**\n * A cache of lowercased locales for each list of locales. This is stored as a\n * WeakMap so if the locales are garbage collected, the cache entry will be\n * removed as well.\n */ const cache = new WeakMap();\nfunction normalizeLocalePath(pathname, locales) {\n // If locales is undefined, return the pathname as is.\n if (!locales) return {\n pathname\n };\n // Get the cached lowercased locales or create a new cache entry.\n let lowercasedLocales = cache.get(locales);\n if (!lowercasedLocales) {\n lowercasedLocales = locales.map((locale)=>locale.toLowerCase());\n cache.set(locales, lowercasedLocales);\n }\n let detectedLocale;\n // The first segment will be empty, because it has a leading `/`. If\n // there is no further segment, there is no locale (or it's the default).\n const segments = pathname.split('/', 2);\n // If there's no second segment (ie, the pathname is just `/`), there's no\n // locale.\n if (!segments[1]) return {\n pathname\n };\n // The second segment will contain the locale part if any.\n const segment = segments[1].toLowerCase();\n // See if the segment matches one of the locales. If it doesn't, there is\n // no locale (or it's the default).\n const index = lowercasedLocales.indexOf(segment);\n if (index < 0) return {\n pathname\n };\n // Return the case-sensitive locale.\n detectedLocale = locales[index];\n // Remove the `/${locale}` part of the pathname.\n pathname = pathname.slice(detectedLocale.length + 1) || '/';\n return {\n pathname,\n detectedLocale\n };\n} //# sourceMappingURL=normalize-locale-path.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2kxOG4vbm9ybWFsaXplLWxvY2FsZS1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7dURBcUJnQkE7OztlQUFBQTs7O0FBaEJoQjs7OztDQUlDLEdBQ0QsTUFBTUMsUUFBUSxJQUFJQztBQVdYLFNBQVNGLG9CQUNkRyxRQUFnQixFQUNoQkMsT0FBMkI7SUFFM0Isc0RBQXNEO0lBQ3RELElBQUksQ0FBQ0EsU0FBUyxPQUFPO1FBQUVEO0lBQVM7SUFFaEMsaUVBQWlFO0lBQ2pFLElBQUlFLG9CQUFvQkosTUFBTUssR0FBRyxDQUFDRjtJQUNsQyxJQUFJLENBQUNDLG1CQUFtQjtRQUN0QkEsb0JBQW9CRCxRQUFRRyxHQUFHLENBQUMsQ0FBQ0MsU0FBV0EsT0FBT0MsV0FBVztRQUM5RFIsTUFBTVMsR0FBRyxDQUFDTixTQUFTQztJQUNyQjtJQUVBLElBQUlNO0lBRUosb0VBQW9FO0lBQ3BFLHlFQUF5RTtJQUN6RSxNQUFNQyxXQUFXVCxTQUFTVSxLQUFLLENBQUMsS0FBSztJQUVyQywwRUFBMEU7SUFDMUUsVUFBVTtJQUNWLElBQUksQ0FBQ0QsUUFBUSxDQUFDLEVBQUUsRUFBRSxPQUFPO1FBQUVUO0lBQVM7SUFFcEMsMERBQTBEO0lBQzFELE1BQU1XLFVBQVVGLFFBQVEsQ0FBQyxFQUFFLENBQUNILFdBQVc7SUFFdkMseUVBQXlFO0lBQ3pFLG1DQUFtQztJQUNuQyxNQUFNTSxRQUFRVixrQkFBa0JXLE9BQU8sQ0FBQ0Y7SUFDeEMsSUFBSUMsUUFBUSxHQUFHLE9BQU87UUFBRVo7SUFBUztJQUVqQyxvQ0FBb0M7SUFDcENRLGlCQUFpQlAsT0FBTyxDQUFDVyxNQUFNO0lBRS9CLGdEQUFnRDtJQUNoRFosV0FBV0EsU0FBU2MsS0FBSyxDQUFDTixlQUFlTyxNQUFNLEdBQUcsTUFBTTtJQUV4RCxPQUFPO1FBQUVmO1FBQVVRO0lBQWU7QUFDcEMiLCJzb3VyY2VzIjpbIi9zcmMvc2hhcmVkL2xpYi9pMThuL25vcm1hbGl6ZS1sb2NhbGUtcGF0aC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFBhdGhMb2NhbGUge1xuICBkZXRlY3RlZExvY2FsZT86IHN0cmluZ1xuICBwYXRobmFtZTogc3RyaW5nXG59XG5cbi8qKlxuICogQSBjYWNoZSBvZiBsb3dlcmNhc2VkIGxvY2FsZXMgZm9yIGVhY2ggbGlzdCBvZiBsb2NhbGVzLiBUaGlzIGlzIHN0b3JlZCBhcyBhXG4gKiBXZWFrTWFwIHNvIGlmIHRoZSBsb2NhbGVzIGFyZSBnYXJiYWdlIGNvbGxlY3RlZCwgdGhlIGNhY2hlIGVudHJ5IHdpbGwgYmVcbiAqIHJlbW92ZWQgYXMgd2VsbC5cbiAqL1xuY29uc3QgY2FjaGUgPSBuZXcgV2Vha01hcDxyZWFkb25seSBzdHJpbmdbXSwgcmVhZG9ubHkgc3RyaW5nW10+KClcblxuLyoqXG4gKiBGb3IgYSBwYXRobmFtZSB0aGF0IG1heSBpbmNsdWRlIGEgbG9jYWxlIGZyb20gYSBsaXN0IG9mIGxvY2FsZXMsIGl0XG4gKiByZW1vdmVzIHRoZSBsb2NhbGUgZnJvbSB0aGUgcGF0aG5hbWUgcmV0dXJuaW5nIGl0IGFsb25nc2lkZSB3aXRoIHRoZVxuICogZGV0ZWN0ZWQgbG9jYWxlLlxuICpcbiAqIEBwYXJhbSBwYXRobmFtZSBBIHBhdGhuYW1lIHRoYXQgbWF5IGluY2x1ZGUgYSBsb2NhbGUuXG4gKiBAcGFyYW0gbG9jYWxlcyBBIGxpc3Qgb2YgbG9jYWxlcy5cbiAqIEByZXR1cm5zIFRoZSBkZXRlY3RlZCBsb2NhbGUgYW5kIHBhdGhuYW1lIHdpdGhvdXQgbG9jYWxlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVMb2NhbGVQYXRoKFxuICBwYXRobmFtZTogc3RyaW5nLFxuICBsb2NhbGVzPzogcmVhZG9ubHkgc3RyaW5nW11cbik6IFBhdGhMb2NhbGUge1xuICAvLyBJZiBsb2NhbGVzIGlzIHVuZGVmaW5lZCwgcmV0dXJuIHRoZSBwYXRobmFtZSBhcyBpcy5cbiAgaWYgKCFsb2NhbGVzKSByZXR1cm4geyBwYXRobmFtZSB9XG5cbiAgLy8gR2V0IHRoZSBjYWNoZWQgbG93ZXJjYXNlZCBsb2NhbGVzIG9yIGNyZWF0ZSBhIG5ldyBjYWNoZSBlbnRyeS5cbiAgbGV0IGxvd2VyY2FzZWRMb2NhbGVzID0gY2FjaGUuZ2V0KGxvY2FsZXMpXG4gIGlmICghbG93ZXJjYXNlZExvY2FsZXMpIHtcbiAgICBsb3dlcmNhc2VkTG9jYWxlcyA9IGxvY2FsZXMubWFwKChsb2NhbGUpID0+IGxvY2FsZS50b0xvd2VyQ2FzZSgpKVxuICAgIGNhY2hlLnNldChsb2NhbGVzLCBsb3dlcmNhc2VkTG9jYWxlcylcbiAgfVxuXG4gIGxldCBkZXRlY3RlZExvY2FsZTogc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgLy8gVGhlIGZpcnN0IHNlZ21lbnQgd2lsbCBiZSBlbXB0eSwgYmVjYXVzZSBpdCBoYXMgYSBsZWFkaW5nIGAvYC4gSWZcbiAgLy8gdGhlcmUgaXMgbm8gZnVydGhlciBzZWdtZW50LCB0aGVyZSBpcyBubyBsb2NhbGUgKG9yIGl0J3MgdGhlIGRlZmF1bHQpLlxuICBjb25zdCBzZWdtZW50cyA9IHBhdGhuYW1lLnNwbGl0KCcvJywgMilcblxuICAvLyBJZiB0aGVyZSdzIG5vIHNlY29uZCBzZWdtZW50IChpZSwgdGhlIHBhdGhuYW1lIGlzIGp1c3QgYC9gKSwgdGhlcmUncyBub1xuICAvLyBsb2NhbGUuXG4gIGlmICghc2VnbWVudHNbMV0pIHJldHVybiB7IHBhdGhuYW1lIH1cblxuICAvLyBUaGUgc2Vjb25kIHNlZ21lbnQgd2lsbCBjb250YWluIHRoZSBsb2NhbGUgcGFydCBpZiBhbnkuXG4gIGNvbnN0IHNlZ21lbnQgPSBzZWdtZW50c1sxXS50b0xvd2VyQ2FzZSgpXG5cbiAgLy8gU2VlIGlmIHRoZSBzZWdtZW50IG1hdGNoZXMgb25lIG9mIHRoZSBsb2NhbGVzLiBJZiBpdCBkb2Vzbid0LCB0aGVyZSBpc1xuICAvLyBubyBsb2NhbGUgKG9yIGl0J3MgdGhlIGRlZmF1bHQpLlxuICBjb25zdCBpbmRleCA9IGxvd2VyY2FzZWRMb2NhbGVzLmluZGV4T2Yoc2VnbWVudClcbiAgaWYgKGluZGV4IDwgMCkgcmV0dXJuIHsgcGF0aG5hbWUgfVxuXG4gIC8vIFJldHVybiB0aGUgY2FzZS1zZW5zaXRpdmUgbG9jYWxlLlxuICBkZXRlY3RlZExvY2FsZSA9IGxvY2FsZXNbaW5kZXhdXG5cbiAgLy8gUmVtb3ZlIHRoZSBgLyR7bG9jYWxlfWAgcGFydCBvZiB0aGUgcGF0aG5hbWUuXG4gIHBhdGhuYW1lID0gcGF0aG5hbWUuc2xpY2UoZGV0ZWN0ZWRMb2NhbGUubGVuZ3RoICsgMSkgfHwgJy8nXG5cbiAgcmV0dXJuIHsgcGF0aG5hbWUsIGRldGVjdGVkTG9jYWxlIH1cbn1cbiJdLCJuYW1lcyI6WyJub3JtYWxpemVMb2NhbGVQYXRoIiwiY2FjaGUiLCJXZWFrTWFwIiwicGF0aG5hbWUiLCJsb2NhbGVzIiwibG93ZXJjYXNlZExvY2FsZXMiLCJnZXQiLCJtYXAiLCJsb2NhbGUiLCJ0b0xvd2VyQ2FzZSIsInNldCIsImRldGVjdGVkTG9jYWxlIiwic2VnbWVudHMiLCJzcGxpdCIsInNlZ21lbnQiLCJpbmRleCIsImluZGV4T2YiLCJzbGljZSIsImxlbmd0aCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/add-locale.js":
|
||
/*!*********************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/add-locale.js ***!
|
||
\*********************************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ./add-path-prefix */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction addLocale(path, locale, defaultLocale, ignorePrefix) {\n // If no locale was given or the locale is the default locale, we don't need\n // to prefix the path.\n if (!locale || locale === defaultLocale) return path;\n const lower = path.toLowerCase();\n // If the path is an API path or the path already has the locale prefix, we\n // don't need to prefix the path.\n if (!ignorePrefix) {\n if ((0, _pathhasprefix.pathHasPrefix)(lower, '/api')) return path;\n if ((0, _pathhasprefix.pathHasPrefix)(lower, `/${locale.toLowerCase()}`)) return path;\n }\n // Add the locale prefix to the path.\n return (0, _addpathprefix.addPathPrefix)(path, `/${locale}`);\n} //# sourceMappingURL=add-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtbG9jYWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7NkNBUWdCQTs7O2VBQUFBOzs7MkNBUmM7MkNBQ0E7QUFPdkIsU0FBU0EsVUFDZEMsSUFBWSxFQUNaQyxNQUF1QixFQUN2QkMsYUFBc0IsRUFDdEJDLFlBQXNCO0lBRXRCLDRFQUE0RTtJQUM1RSxzQkFBc0I7SUFDdEIsSUFBSSxDQUFDRixVQUFVQSxXQUFXQyxlQUFlLE9BQU9GO0lBRWhELE1BQU1JLFFBQVFKLEtBQUtLLFdBQVc7SUFFOUIsMkVBQTJFO0lBQzNFLGlDQUFpQztJQUNqQyxJQUFJLENBQUNGLGNBQWM7UUFDakIsSUFBSUcsQ0FBQUEsR0FBQUEsZUFBQUEsYUFBQUEsRUFBY0YsT0FBTyxTQUFTLE9BQU9KO1FBQ3pDLElBQUlNLENBQUFBLEdBQUFBLGVBQUFBLGFBQUFBLEVBQWNGLE9BQU8sQ0FBQyxDQUFDLEVBQUVILE9BQU9JLFdBQVcsSUFBSSxHQUFHLE9BQU9MO0lBQy9EO0lBRUEscUNBQXFDO0lBQ3JDLE9BQU9PLENBQUFBLEdBQUFBLGVBQUFBLGFBQUFBLEVBQWNQLE1BQU0sQ0FBQyxDQUFDLEVBQUVDLFFBQVE7QUFDekMiLCJzb3VyY2VzIjpbIi9zcmMvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvYWRkLWxvY2FsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZGRQYXRoUHJlZml4IH0gZnJvbSAnLi9hZGQtcGF0aC1wcmVmaXgnXG5pbXBvcnQgeyBwYXRoSGFzUHJlZml4IH0gZnJvbSAnLi9wYXRoLWhhcy1wcmVmaXgnXG5cbi8qKlxuICogRm9yIGEgZ2l2ZW4gcGF0aCBhbmQgYSBsb2NhbGUsIGlmIHRoZSBsb2NhbGUgaXMgZ2l2ZW4sIGl0IHdpbGwgcHJlZml4IHRoZVxuICogbG9jYWxlLiBUaGUgcGF0aCBzaG91bGRuJ3QgYmUgYW4gQVBJIHBhdGguIElmIGEgZGVmYXVsdCBsb2NhbGUgaXMgZ2l2ZW4gdGhlXG4gKiBwcmVmaXggd2lsbCBiZSBvbWl0dGVkIGlmIHRoZSBsb2NhbGUgaXMgYWxyZWFkeSB0aGUgZGVmYXVsdCBsb2NhbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRMb2NhbGUoXG4gIHBhdGg6IHN0cmluZyxcbiAgbG9jYWxlPzogc3RyaW5nIHwgZmFsc2UsXG4gIGRlZmF1bHRMb2NhbGU/OiBzdHJpbmcsXG4gIGlnbm9yZVByZWZpeD86IGJvb2xlYW5cbikge1xuICAvLyBJZiBubyBsb2NhbGUgd2FzIGdpdmVuIG9yIHRoZSBsb2NhbGUgaXMgdGhlIGRlZmF1bHQgbG9jYWxlLCB3ZSBkb24ndCBuZWVkXG4gIC8vIHRvIHByZWZpeCB0aGUgcGF0aC5cbiAgaWYgKCFsb2NhbGUgfHwgbG9jYWxlID09PSBkZWZhdWx0TG9jYWxlKSByZXR1cm4gcGF0aFxuXG4gIGNvbnN0IGxvd2VyID0gcGF0aC50b0xvd2VyQ2FzZSgpXG5cbiAgLy8gSWYgdGhlIHBhdGggaXMgYW4gQVBJIHBhdGggb3IgdGhlIHBhdGggYWxyZWFkeSBoYXMgdGhlIGxvY2FsZSBwcmVmaXgsIHdlXG4gIC8vIGRvbid0IG5lZWQgdG8gcHJlZml4IHRoZSBwYXRoLlxuICBpZiAoIWlnbm9yZVByZWZpeCkge1xuICAgIGlmIChwYXRoSGFzUHJlZml4KGxvd2VyLCAnL2FwaScpKSByZXR1cm4gcGF0aFxuICAgIGlmIChwYXRoSGFzUHJlZml4KGxvd2VyLCBgLyR7bG9jYWxlLnRvTG93ZXJDYXNlKCl9YCkpIHJldHVybiBwYXRoXG4gIH1cblxuICAvLyBBZGQgdGhlIGxvY2FsZSBwcmVmaXggdG8gdGhlIHBhdGguXG4gIHJldHVybiBhZGRQYXRoUHJlZml4KHBhdGgsIGAvJHtsb2NhbGV9YClcbn1cbiJdLCJuYW1lcyI6WyJhZGRMb2NhbGUiLCJwYXRoIiwibG9jYWxlIiwiZGVmYXVsdExvY2FsZSIsImlnbm9yZVByZWZpeCIsImxvd2VyIiwidG9Mb3dlckNhc2UiLCJwYXRoSGFzUHJlZml4IiwiYWRkUGF0aFByZWZpeCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/add-locale.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js":
|
||
/*!**************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js ***!
|
||
\**************************************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addPathSuffix\", ({\n enumerable: true,\n get: function() {\n return addPathSuffix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction addPathSuffix(path, suffix) {\n if (!path.startsWith('/') || !suffix) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n return `${pathname}${suffix}${query}${hash}`;\n} //# sourceMappingURL=add-path-suffix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtcGF0aC1zdWZmaXguanMiLCJtYXBwaW5ncyI6Ijs7OztpREFPZ0JBOzs7ZUFBQUE7Ozt1Q0FQVTtBQU9uQixTQUFTQSxjQUFjQyxJQUFZLEVBQUVDLE1BQWU7SUFDekQsSUFBSSxDQUFDRCxLQUFLRSxVQUFVLENBQUMsUUFBUSxDQUFDRCxRQUFRO1FBQ3BDLE9BQU9EO0lBQ1Q7SUFFQSxNQUFNLEVBQUVHLFFBQVEsRUFBRUMsS0FBSyxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsQ0FBQUEsR0FBQUEsV0FBQUEsU0FBQUEsRUFBVU47SUFDNUMsT0FBTyxHQUFHRyxXQUFXRixTQUFTRyxRQUFRQyxNQUFNO0FBQzlDIiwic291cmNlcyI6WyIvc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXN1ZmZpeC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZVBhdGggfSBmcm9tICcuL3BhcnNlLXBhdGgnXG5cbi8qKlxuICogU2ltaWxhcmx5IHRvIGBhZGRQYXRoUHJlZml4YCwgdGhpcyBmdW5jdGlvbiBhZGRzIGEgc3VmZml4IGF0IHRoZSBlbmQgb24gdGhlXG4gKiBwcm92aWRlZCBwYXRoLiBJdCBhbHNvIHdvcmtzIG9ubHkgZm9yIHBhdGhzIGVuc3VyaW5nIHRoZSBhcmd1bWVudCBzdGFydHNcbiAqIHdpdGggYSBzbGFzaC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZFBhdGhTdWZmaXgocGF0aDogc3RyaW5nLCBzdWZmaXg/OiBzdHJpbmcpIHtcbiAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgoJy8nKSB8fCAhc3VmZml4KSB7XG4gICAgcmV0dXJuIHBhdGhcbiAgfVxuXG4gIGNvbnN0IHsgcGF0aG5hbWUsIHF1ZXJ5LCBoYXNoIH0gPSBwYXJzZVBhdGgocGF0aClcbiAgcmV0dXJuIGAke3BhdGhuYW1lfSR7c3VmZml4fSR7cXVlcnl9JHtoYXNofWBcbn1cbiJdLCJuYW1lcyI6WyJhZGRQYXRoU3VmZml4IiwicGF0aCIsInN1ZmZpeCIsInN0YXJ0c1dpdGgiLCJwYXRobmFtZSIsInF1ZXJ5IiwiaGFzaCIsInBhcnNlUGF0aCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js":
|
||
/*!************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js ***!
|
||
\************************************************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"formatNextPathnameInfo\", ({\n enumerable: true,\n get: function() {\n return formatNextPathnameInfo;\n }\n}));\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _addpathprefix = __webpack_require__(/*! ./add-path-prefix */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _addpathsuffix = __webpack_require__(/*! ./add-path-suffix */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js\");\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/add-locale.js\");\nfunction formatNextPathnameInfo(info) {\n let pathname = (0, _addlocale.addLocale)(info.pathname, info.locale, info.buildId ? undefined : info.defaultLocale, info.ignorePrefix);\n if (info.buildId || !info.trailingSlash) {\n pathname = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n }\n if (info.buildId) {\n pathname = (0, _addpathsuffix.addPathSuffix)((0, _addpathprefix.addPathPrefix)(pathname, `/_next/data/${info.buildId}`), info.pathname === '/' ? 'index.json' : '.json');\n }\n pathname = (0, _addpathprefix.addPathPrefix)(pathname, info.basePath);\n return !info.buildId && info.trailingSlash ? !pathname.endsWith('/') ? (0, _addpathsuffix.addPathSuffix)(pathname, '/') : pathname : (0, _removetrailingslash.removeTrailingSlash)(pathname);\n} //# sourceMappingURL=format-next-pathname-info.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9mb3JtYXQtbmV4dC1wYXRobmFtZS1pbmZvLmpzIiwibWFwcGluZ3MiOiI7Ozs7MERBV2dCQTs7O2VBQUFBOzs7aURBVm9COzJDQUNOOzJDQUNBO3VDQUNKO0FBT25CLFNBQVNBLHVCQUF1QkMsSUFBa0I7SUFDdkQsSUFBSUMsV0FBV0MsQ0FBQUEsR0FBQUEsV0FBQUEsU0FBQUEsRUFDYkYsS0FBS0MsUUFBUSxFQUNiRCxLQUFLRyxNQUFNLEVBQ1hILEtBQUtJLE9BQU8sR0FBR0MsWUFBWUwsS0FBS00sYUFBYSxFQUM3Q04sS0FBS08sWUFBWTtJQUduQixJQUFJUCxLQUFLSSxPQUFPLElBQUksQ0FBQ0osS0FBS1EsYUFBYSxFQUFFO1FBQ3ZDUCxXQUFXUSxDQUFBQSxHQUFBQSxxQkFBQUEsbUJBQUFBLEVBQW9CUjtJQUNqQztJQUVBLElBQUlELEtBQUtJLE9BQU8sRUFBRTtRQUNoQkgsV0FBV1MsQ0FBQUEsR0FBQUEsZUFBQUEsYUFBQUEsRUFDVEMsQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUFDVixVQUFVLENBQUMsWUFBWSxFQUFFRCxLQUFLSSxPQUFPLEVBQUUsR0FDckRKLEtBQUtDLFFBQVEsS0FBSyxNQUFNLGVBQWU7SUFFM0M7SUFFQUEsV0FBV1UsQ0FBQUEsR0FBQUEsZUFBQUEsYUFBQUEsRUFBY1YsVUFBVUQsS0FBS1ksUUFBUTtJQUNoRCxPQUFPLENBQUNaLEtBQUtJLE9BQU8sSUFBSUosS0FBS1EsYUFBYSxHQUN0QyxDQUFDUCxTQUFTWSxRQUFRLENBQUMsT0FDakJILENBQUFBLEdBQUFBLGVBQUFBLGFBQUFBLEVBQWNULFVBQVUsT0FDeEJBLFdBQ0ZRLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBQUEsRUFBb0JSO0FBQzFCIiwic291cmNlcyI6WyIvc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC1uZXh0LXBhdGhuYW1lLWluZm8udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBOZXh0UGF0aG5hbWVJbmZvIH0gZnJvbSAnLi9nZXQtbmV4dC1wYXRobmFtZS1pbmZvJ1xuaW1wb3J0IHsgcmVtb3ZlVHJhaWxpbmdTbGFzaCB9IGZyb20gJy4vcmVtb3ZlLXRyYWlsaW5nLXNsYXNoJ1xuaW1wb3J0IHsgYWRkUGF0aFByZWZpeCB9IGZyb20gJy4vYWRkLXBhdGgtcHJlZml4J1xuaW1wb3J0IHsgYWRkUGF0aFN1ZmZpeCB9IGZyb20gJy4vYWRkLXBhdGgtc3VmZml4J1xuaW1wb3J0IHsgYWRkTG9jYWxlIH0gZnJvbSAnLi9hZGQtbG9jYWxlJ1xuXG5pbnRlcmZhY2UgRXh0ZW5kZWRJbmZvIGV4dGVuZHMgTmV4dFBhdGhuYW1lSW5mbyB7XG4gIGRlZmF1bHRMb2NhbGU/OiBzdHJpbmdcbiAgaWdub3JlUHJlZml4PzogYm9vbGVhblxufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0TmV4dFBhdGhuYW1lSW5mbyhpbmZvOiBFeHRlbmRlZEluZm8pIHtcbiAgbGV0IHBhdGhuYW1lID0gYWRkTG9jYWxlKFxuICAgIGluZm8ucGF0aG5hbWUsXG4gICAgaW5mby5sb2NhbGUsXG4gICAgaW5mby5idWlsZElkID8gdW5kZWZpbmVkIDogaW5mby5kZWZhdWx0TG9jYWxlLFxuICAgIGluZm8uaWdub3JlUHJlZml4XG4gIClcblxuICBpZiAoaW5mby5idWlsZElkIHx8ICFpbmZvLnRyYWlsaW5nU2xhc2gpIHtcbiAgICBwYXRobmFtZSA9IHJlbW92ZVRyYWlsaW5nU2xhc2gocGF0aG5hbWUpXG4gIH1cblxuICBpZiAoaW5mby5idWlsZElkKSB7XG4gICAgcGF0aG5hbWUgPSBhZGRQYXRoU3VmZml4KFxuICAgICAgYWRkUGF0aFByZWZpeChwYXRobmFtZSwgYC9fbmV4dC9kYXRhLyR7aW5mby5idWlsZElkfWApLFxuICAgICAgaW5mby5wYXRobmFtZSA9PT0gJy8nID8gJ2luZGV4Lmpzb24nIDogJy5qc29uJ1xuICAgIClcbiAgfVxuXG4gIHBhdGhuYW1lID0gYWRkUGF0aFByZWZpeChwYXRobmFtZSwgaW5mby5iYXNlUGF0aClcbiAgcmV0dXJuICFpbmZvLmJ1aWxkSWQgJiYgaW5mby50cmFpbGluZ1NsYXNoXG4gICAgPyAhcGF0aG5hbWUuZW5kc1dpdGgoJy8nKVxuICAgICAgPyBhZGRQYXRoU3VmZml4KHBhdGhuYW1lLCAnLycpXG4gICAgICA6IHBhdGhuYW1lXG4gICAgOiByZW1vdmVUcmFpbGluZ1NsYXNoKHBhdGhuYW1lKVxufVxuIl0sIm5hbWVzIjpbImZvcm1hdE5leHRQYXRobmFtZUluZm8iLCJpbmZvIiwicGF0aG5hbWUiLCJhZGRMb2NhbGUiLCJsb2NhbGUiLCJidWlsZElkIiwidW5kZWZpbmVkIiwiZGVmYXVsdExvY2FsZSIsImlnbm9yZVByZWZpeCIsInRyYWlsaW5nU2xhc2giLCJyZW1vdmVUcmFpbGluZ1NsYXNoIiwiYWRkUGF0aFN1ZmZpeCIsImFkZFBhdGhQcmVmaXgiLCJiYXNlUGF0aCIsImVuZHNXaXRoIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/format-url.js":
|
||
/*!*********************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/format-url.js ***!
|
||
\*********************************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("// Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n formatUrl: function() {\n return formatUrl;\n },\n formatWithValidation: function() {\n return formatWithValidation;\n },\n urlObjectKeys: function() {\n return urlObjectKeys;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _querystring = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./querystring */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/querystring.js\"));\nconst slashedProtocols = /https?|ftp|gopher|file/;\nfunction formatUrl(urlObj) {\n let { auth, hostname } = urlObj;\n let protocol = urlObj.protocol || '';\n let pathname = urlObj.pathname || '';\n let hash = urlObj.hash || '';\n let query = urlObj.query || '';\n let host = false;\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, ':') + '@' : '';\n if (urlObj.host) {\n host = auth + urlObj.host;\n } else if (hostname) {\n host = auth + (~hostname.indexOf(':') ? `[${hostname}]` : hostname);\n if (urlObj.port) {\n host += ':' + urlObj.port;\n }\n }\n if (query && typeof query === 'object') {\n query = String(_querystring.urlQueryToSearchParams(query));\n }\n let search = urlObj.search || query && `?${query}` || '';\n if (protocol && !protocol.endsWith(':')) protocol += ':';\n if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname[0] !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n if (hash && hash[0] !== '#') hash = '#' + hash;\n if (search && search[0] !== '?') search = '?' + search;\n pathname = pathname.replace(/[?#]/g, encodeURIComponent);\n search = search.replace('#', '%23');\n return `${protocol}${host}${pathname}${search}${hash}`;\n}\nconst urlObjectKeys = [\n 'auth',\n 'hash',\n 'host',\n 'hostname',\n 'href',\n 'path',\n 'pathname',\n 'port',\n 'protocol',\n 'query',\n 'search',\n 'slashes'\n];\nfunction formatWithValidation(url) {\n if (true) {\n if (url !== null && typeof url === 'object') {\n Object.keys(url).forEach((key)=>{\n if (!urlObjectKeys.includes(key)) {\n console.warn(`Unknown key passed via urlObject into url.format: ${key}`);\n }\n });\n }\n }\n return formatUrl(url);\n} //# sourceMappingURL=format-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9mb3JtYXQtdXJsLmpzIiwibWFwcGluZ3MiOiJBQUFBLHVDQUF1QztBQUN2QyxzREFBc0Q7QUFDdEQsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSxnRUFBZ0U7QUFDaEUsc0VBQXNFO0FBQ3RFLHNFQUFzRTtBQUN0RSw0RUFBNEU7QUFDNUUscUVBQXFFO0FBQ3JFLHdCQUF3QjtBQUN4QixFQUFFO0FBQ0YsMEVBQTBFO0FBQzFFLHlEQUF5RDtBQUN6RCxFQUFFO0FBQ0YsMEVBQTBFO0FBQzFFLDZEQUE2RDtBQUM3RCw0RUFBNEU7QUFDNUUsMkVBQTJFO0FBQzNFLHdFQUF3RTtBQUN4RSw0RUFBNEU7QUFDNUUseUNBQXlDOzs7Ozs7Ozs7Ozs7O0lBUXpCQSxTQUFTO2VBQVRBOztJQTZEQUMsb0JBQW9CO2VBQXBCQTs7SUFmSEMsYUFBYTtlQUFiQTs7OzttRkFsRGdCO0FBRTdCLE1BQU1DLG1CQUFtQjtBQUVsQixTQUFTSCxVQUFVSSxNQUFpQjtJQUN6QyxJQUFJLEVBQUVDLElBQUksRUFBRUMsUUFBUSxFQUFFLEdBQUdGO0lBQ3pCLElBQUlHLFdBQVdILE9BQU9HLFFBQVEsSUFBSTtJQUNsQyxJQUFJQyxXQUFXSixPQUFPSSxRQUFRLElBQUk7SUFDbEMsSUFBSUMsT0FBT0wsT0FBT0ssSUFBSSxJQUFJO0lBQzFCLElBQUlDLFFBQVFOLE9BQU9NLEtBQUssSUFBSTtJQUM1QixJQUFJQyxPQUF1QjtJQUUzQk4sT0FBT0EsT0FBT08sbUJBQW1CUCxNQUFNUSxPQUFPLENBQUMsUUFBUSxPQUFPLE1BQU07SUFFcEUsSUFBSVQsT0FBT08sSUFBSSxFQUFFO1FBQ2ZBLE9BQU9OLE9BQU9ELE9BQU9PLElBQUk7SUFDM0IsT0FBTyxJQUFJTCxVQUFVO1FBQ25CSyxPQUFPTixPQUFRLEVBQUNDLFNBQVNRLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFUixTQUFTLENBQUMsQ0FBQyxHQUFHQSxRQUFBQSxDQUFPO1FBQ2pFLElBQUlGLE9BQU9XLElBQUksRUFBRTtZQUNmSixRQUFRLE1BQU1QLE9BQU9XLElBQUk7UUFDM0I7SUFDRjtJQUVBLElBQUlMLFNBQVMsT0FBT0EsVUFBVSxVQUFVO1FBQ3RDQSxRQUFRTSxPQUFPQyxhQUFZQyxzQkFBc0IsQ0FBQ1I7SUFDcEQ7SUFFQSxJQUFJUyxTQUFTZixPQUFPZSxNQUFNLElBQUtULFNBQVMsQ0FBQyxDQUFDLEVBQUVBLE9BQU8sSUFBSztJQUV4RCxJQUFJSCxZQUFZLENBQUNBLFNBQVNhLFFBQVEsQ0FBQyxNQUFNYixZQUFZO0lBRXJELElBQ0VILE9BQU9pQixPQUFPLElBQ1osRUFBQ2QsWUFBWUosaUJBQWlCbUIsSUFBSSxDQUFDZixTQUFBQSxDQUFRLElBQU1JLFNBQVMsT0FDNUQ7UUFDQUEsT0FBTyxPQUFRQSxDQUFBQSxRQUFRLEdBQUM7UUFDeEIsSUFBSUgsWUFBWUEsUUFBUSxDQUFDLEVBQUUsS0FBSyxLQUFLQSxXQUFXLE1BQU1BO0lBQ3hELE9BQU8sSUFBSSxDQUFDRyxNQUFNO1FBQ2hCQSxPQUFPO0lBQ1Q7SUFFQSxJQUFJRixRQUFRQSxJQUFJLENBQUMsRUFBRSxLQUFLLEtBQUtBLE9BQU8sTUFBTUE7SUFDMUMsSUFBSVUsVUFBVUEsTUFBTSxDQUFDLEVBQUUsS0FBSyxLQUFLQSxTQUFTLE1BQU1BO0lBRWhEWCxXQUFXQSxTQUFTSyxPQUFPLENBQUMsU0FBU0Q7SUFDckNPLFNBQVNBLE9BQU9OLE9BQU8sQ0FBQyxLQUFLO0lBRTdCLE9BQU8sR0FBR04sV0FBV0ksT0FBT0gsV0FBV1csU0FBU1YsTUFBTTtBQUN4RDtBQUVPLE1BQU1QLGdCQUFnQjtJQUMzQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRDtBQUVNLFNBQVNELHFCQUFxQnNCLEdBQWM7SUFDakQsSUFBSUMsSUFBb0IsRUFBb0I7UUFDMUMsSUFBSUQsUUFBUSxRQUFRLE9BQU9BLFFBQVEsVUFBVTtZQUMzQ0ksT0FBT0MsSUFBSSxDQUFDTCxLQUFLTSxPQUFPLENBQUMsQ0FBQ0M7Z0JBQ3hCLElBQUksQ0FBQzVCLGNBQWM2QixRQUFRLENBQUNELE1BQU07b0JBQ2hDRSxRQUFRQyxJQUFJLENBQ1YsQ0FBQyxrREFBa0QsRUFBRUgsS0FBSztnQkFFOUQ7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxPQUFPOUIsVUFBVXVCO0FBQ25CIiwic291cmNlcyI6WyIvc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC11cmwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gRm9ybWF0IGZ1bmN0aW9uIG1vZGlmaWVkIGZyb20gbm9kZWpzXG4vLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxuLy8gXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHR5cGUgeyBVcmxPYmplY3QgfSBmcm9tICd1cmwnXG5pbXBvcnQgdHlwZSB7IFBhcnNlZFVybFF1ZXJ5IH0gZnJvbSAncXVlcnlzdHJpbmcnXG5pbXBvcnQgKiBhcyBxdWVyeXN0cmluZyBmcm9tICcuL3F1ZXJ5c3RyaW5nJ1xuXG5jb25zdCBzbGFzaGVkUHJvdG9jb2xzID0gL2h0dHBzP3xmdHB8Z29waGVyfGZpbGUvXG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRVcmwodXJsT2JqOiBVcmxPYmplY3QpIHtcbiAgbGV0IHsgYXV0aCwgaG9zdG5hbWUgfSA9IHVybE9ialxuICBsZXQgcHJvdG9jb2wgPSB1cmxPYmoucHJvdG9jb2wgfHwgJydcbiAgbGV0IHBhdGhuYW1lID0gdXJsT2JqLnBhdGhuYW1lIHx8ICcnXG4gIGxldCBoYXNoID0gdXJsT2JqLmhhc2ggfHwgJydcbiAgbGV0IHF1ZXJ5ID0gdXJsT2JqLnF1ZXJ5IHx8ICcnXG4gIGxldCBob3N0OiBzdHJpbmcgfCBmYWxzZSA9IGZhbHNlXG5cbiAgYXV0aCA9IGF1dGggPyBlbmNvZGVVUklDb21wb25lbnQoYXV0aCkucmVwbGFjZSgvJTNBL2ksICc6JykgKyAnQCcgOiAnJ1xuXG4gIGlmICh1cmxPYmouaG9zdCkge1xuICAgIGhvc3QgPSBhdXRoICsgdXJsT2JqLmhvc3RcbiAgfSBlbHNlIGlmIChob3N0bmFtZSkge1xuICAgIGhvc3QgPSBhdXRoICsgKH5ob3N0bmFtZS5pbmRleE9mKCc6JykgPyBgWyR7aG9zdG5hbWV9XWAgOiBob3N0bmFtZSlcbiAgICBpZiAodXJsT2JqLnBvcnQpIHtcbiAgICAgIGhvc3QgKz0gJzonICsgdXJsT2JqLnBvcnRcbiAgICB9XG4gIH1cblxuICBpZiAocXVlcnkgJiYgdHlwZW9mIHF1ZXJ5ID09PSAnb2JqZWN0Jykge1xuICAgIHF1ZXJ5ID0gU3RyaW5nKHF1ZXJ5c3RyaW5nLnVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMocXVlcnkgYXMgUGFyc2VkVXJsUXVlcnkpKVxuICB9XG5cbiAgbGV0IHNlYXJjaCA9IHVybE9iai5zZWFyY2ggfHwgKHF1ZXJ5ICYmIGA/JHtxdWVyeX1gKSB8fCAnJ1xuXG4gIGlmIChwcm90b2NvbCAmJiAhcHJvdG9jb2wuZW5kc1dpdGgoJzonKSkgcHJvdG9jb2wgKz0gJzonXG5cbiAgaWYgKFxuICAgIHVybE9iai5zbGFzaGVzIHx8XG4gICAgKCghcHJvdG9jb2wgfHwgc2xhc2hlZFByb3RvY29scy50ZXN0KHByb3RvY29sKSkgJiYgaG9zdCAhPT0gZmFsc2UpXG4gICkge1xuICAgIGhvc3QgPSAnLy8nICsgKGhvc3QgfHwgJycpXG4gICAgaWYgKHBhdGhuYW1lICYmIHBhdGhuYW1lWzBdICE9PSAnLycpIHBhdGhuYW1lID0gJy8nICsgcGF0aG5hbWVcbiAgfSBlbHNlIGlmICghaG9zdCkge1xuICAgIGhvc3QgPSAnJ1xuICB9XG5cbiAgaWYgKGhhc2ggJiYgaGFzaFswXSAhPT0gJyMnKSBoYXNoID0gJyMnICsgaGFzaFxuICBpZiAoc2VhcmNoICYmIHNlYXJjaFswXSAhPT0gJz8nKSBzZWFyY2ggPSAnPycgKyBzZWFyY2hcblxuICBwYXRobmFtZSA9IHBhdGhuYW1lLnJlcGxhY2UoL1s/I10vZywgZW5jb2RlVVJJQ29tcG9uZW50KVxuICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZSgnIycsICclMjMnKVxuXG4gIHJldHVybiBgJHtwcm90b2NvbH0ke2hvc3R9JHtwYXRobmFtZX0ke3NlYXJjaH0ke2hhc2h9YFxufVxuXG5leHBvcnQgY29uc3QgdXJsT2JqZWN0S2V5cyA9IFtcbiAgJ2F1dGgnLFxuICAnaGFzaCcsXG4gICdob3N0JyxcbiAgJ2hvc3RuYW1lJyxcbiAgJ2hyZWYnLFxuICAncGF0aCcsXG4gICdwYXRobmFtZScsXG4gICdwb3J0JyxcbiAgJ3Byb3RvY29sJyxcbiAgJ3F1ZXJ5JyxcbiAgJ3NlYXJjaCcsXG4gICdzbGFzaGVzJyxcbl1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFdpdGhWYWxpZGF0aW9uKHVybDogVXJsT2JqZWN0KTogc3RyaW5nIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnKSB7XG4gICAgaWYgKHVybCAhPT0gbnVsbCAmJiB0eXBlb2YgdXJsID09PSAnb2JqZWN0Jykge1xuICAgICAgT2JqZWN0LmtleXModXJsKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgaWYgKCF1cmxPYmplY3RLZXlzLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICBgVW5rbm93biBrZXkgcGFzc2VkIHZpYSB1cmxPYmplY3QgaW50byB1cmwuZm9ybWF0OiAke2tleX1gXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmb3JtYXRVcmwodXJsKVxufVxuIl0sIm5hbWVzIjpbImZvcm1hdFVybCIsImZvcm1hdFdpdGhWYWxpZGF0aW9uIiwidXJsT2JqZWN0S2V5cyIsInNsYXNoZWRQcm90b2NvbHMiLCJ1cmxPYmoiLCJhdXRoIiwiaG9zdG5hbWUiLCJwcm90b2NvbCIsInBhdGhuYW1lIiwiaGFzaCIsInF1ZXJ5IiwiaG9zdCIsImVuY29kZVVSSUNvbXBvbmVudCIsInJlcGxhY2UiLCJpbmRleE9mIiwicG9ydCIsIlN0cmluZyIsInF1ZXJ5c3RyaW5nIiwidXJsUXVlcnlUb1NlYXJjaFBhcmFtcyIsInNlYXJjaCIsImVuZHNXaXRoIiwic2xhc2hlcyIsInRlc3QiLCJ1cmwiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsImluY2x1ZGVzIiwiY29uc29sZSIsIndhcm4iXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/format-url.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js":
|
||
/*!*********************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js ***!
|
||
\*********************************************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getNextPathnameInfo\", ({\n enumerable: true,\n get: function() {\n return getNextPathnameInfo;\n }\n}));\nconst _normalizelocalepath = __webpack_require__(/*! ../../i18n/normalize-locale-path */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\");\nconst _removepathprefix = __webpack_require__(/*! ./remove-path-prefix */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js\");\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction getNextPathnameInfo(pathname, options) {\n const { basePath, i18n, trailingSlash } = options.nextConfig ?? {};\n const info = {\n pathname,\n trailingSlash: pathname !== '/' ? pathname.endsWith('/') : trailingSlash\n };\n if (basePath && (0, _pathhasprefix.pathHasPrefix)(info.pathname, basePath)) {\n info.pathname = (0, _removepathprefix.removePathPrefix)(info.pathname, basePath);\n info.basePath = basePath;\n }\n let pathnameNoDataPrefix = info.pathname;\n if (info.pathname.startsWith('/_next/data/') && info.pathname.endsWith('.json')) {\n const paths = info.pathname.replace(/^\\/_next\\/data\\//, '').replace(/\\.json$/, '').split('/');\n const buildId = paths[0];\n info.buildId = buildId;\n pathnameNoDataPrefix = paths[1] !== 'index' ? `/${paths.slice(1).join('/')}` : '/';\n // update pathname with normalized if enabled although\n // we use normalized to populate locale info still\n if (options.parseData === true) {\n info.pathname = pathnameNoDataPrefix;\n }\n }\n // If provided, use the locale route normalizer to detect the locale instead\n // of the function below.\n if (i18n) {\n let result = options.i18nProvider ? options.i18nProvider.analyze(info.pathname) : (0, _normalizelocalepath.normalizeLocalePath)(info.pathname, i18n.locales);\n info.locale = result.detectedLocale;\n info.pathname = result.pathname ?? info.pathname;\n if (!result.detectedLocale && info.buildId) {\n result = options.i18nProvider ? options.i18nProvider.analyze(pathnameNoDataPrefix) : (0, _normalizelocalepath.normalizeLocalePath)(pathnameNoDataPrefix, i18n.locales);\n if (result.detectedLocale) {\n info.locale = result.detectedLocale;\n }\n }\n }\n return info;\n} //# sourceMappingURL=get-next-pathname-info.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9nZXQtbmV4dC1wYXRobmFtZS1pbmZvLmpzIiwibWFwcGluZ3MiOiI7Ozs7dURBb0RnQkE7OztlQUFBQTs7O2lEQXBEb0I7OENBQ0g7MkNBQ0g7QUFrRHZCLFNBQVNBLG9CQUNkQyxRQUFnQixFQUNoQkMsT0FBZ0I7SUFFaEIsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLElBQUksRUFBRUMsYUFBYSxFQUFFLEdBQUdILFFBQVFJLFVBQVUsSUFBSSxDQUFDO0lBQ2pFLE1BQU1DLE9BQXlCO1FBQzdCTjtRQUNBSSxlQUFlSixhQUFhLE1BQU1BLFNBQVNPLFFBQVEsQ0FBQyxPQUFPSDtJQUM3RDtJQUVBLElBQUlGLFlBQVlNLENBQUFBLEdBQUFBLGVBQUFBLGFBQUFBLEVBQWNGLEtBQUtOLFFBQVEsRUFBRUUsV0FBVztRQUN0REksS0FBS04sUUFBUSxHQUFHUyxDQUFBQSxHQUFBQSxrQkFBQUEsZ0JBQUFBLEVBQWlCSCxLQUFLTixRQUFRLEVBQUVFO1FBQ2hESSxLQUFLSixRQUFRLEdBQUdBO0lBQ2xCO0lBQ0EsSUFBSVEsdUJBQXVCSixLQUFLTixRQUFRO0lBRXhDLElBQ0VNLEtBQUtOLFFBQVEsQ0FBQ1csVUFBVSxDQUFDLG1CQUN6QkwsS0FBS04sUUFBUSxDQUFDTyxRQUFRLENBQUMsVUFDdkI7UUFDQSxNQUFNSyxRQUFRTixLQUFLTixRQUFRLENBQ3hCYSxPQUFPLENBQUMsb0JBQW9CLElBQzVCQSxPQUFPLENBQUMsV0FBVyxJQUNuQkMsS0FBSyxDQUFDO1FBRVQsTUFBTUMsVUFBVUgsS0FBSyxDQUFDLEVBQUU7UUFDeEJOLEtBQUtTLE9BQU8sR0FBR0E7UUFDZkwsdUJBQ0VFLEtBQUssQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLENBQUMsRUFBRUEsTUFBTUksS0FBSyxDQUFDLEdBQUdDLElBQUksQ0FBQyxNQUFNLEdBQUc7UUFFMUQsc0RBQXNEO1FBQ3RELGtEQUFrRDtRQUNsRCxJQUFJaEIsUUFBUWlCLFNBQVMsS0FBSyxNQUFNO1lBQzlCWixLQUFLTixRQUFRLEdBQUdVO1FBQ2xCO0lBQ0Y7SUFFQSw0RUFBNEU7SUFDNUUseUJBQXlCO0lBQ3pCLElBQUlQLE1BQU07UUFDUixJQUFJZ0IsU0FBU2xCLFFBQVFtQixZQUFZLEdBQzdCbkIsUUFBUW1CLFlBQVksQ0FBQ0MsT0FBTyxDQUFDZixLQUFLTixRQUFRLElBQzFDc0IsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFBQSxFQUFvQmhCLEtBQUtOLFFBQVEsRUFBRUcsS0FBS29CLE9BQU87UUFFbkRqQixLQUFLa0IsTUFBTSxHQUFHTCxPQUFPTSxjQUFjO1FBQ25DbkIsS0FBS04sUUFBUSxHQUFHbUIsT0FBT25CLFFBQVEsSUFBSU0sS0FBS04sUUFBUTtRQUVoRCxJQUFJLENBQUNtQixPQUFPTSxjQUFjLElBQUluQixLQUFLUyxPQUFPLEVBQUU7WUFDMUNJLFNBQVNsQixRQUFRbUIsWUFBWSxHQUN6Qm5CLFFBQVFtQixZQUFZLENBQUNDLE9BQU8sQ0FBQ1gsd0JBQzdCWSxDQUFBQSxHQUFBQSxxQkFBQUEsbUJBQUFBLEVBQW9CWixzQkFBc0JQLEtBQUtvQixPQUFPO1lBRTFELElBQUlKLE9BQU9NLGNBQWMsRUFBRTtnQkFDekJuQixLQUFLa0IsTUFBTSxHQUFHTCxPQUFPTSxjQUFjO1lBQ3JDO1FBQ0Y7SUFDRjtJQUNBLE9BQU9uQjtBQUNUIiwic291cmNlcyI6WyIvc3JjL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1uZXh0LXBhdGhuYW1lLWluZm8udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9ybWFsaXplTG9jYWxlUGF0aCB9IGZyb20gJy4uLy4uL2kxOG4vbm9ybWFsaXplLWxvY2FsZS1wYXRoJ1xuaW1wb3J0IHsgcmVtb3ZlUGF0aFByZWZpeCB9IGZyb20gJy4vcmVtb3ZlLXBhdGgtcHJlZml4J1xuaW1wb3J0IHsgcGF0aEhhc1ByZWZpeCB9IGZyb20gJy4vcGF0aC1oYXMtcHJlZml4J1xuaW1wb3J0IHR5cGUgeyBJMThOUHJvdmlkZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2ZXIvbGliL2kxOG4tcHJvdmlkZXInXG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dFBhdGhuYW1lSW5mbyB7XG4gIC8qKlxuICAgKiBUaGUgYmFzZSBwYXRoIGluIGNhc2UgdGhlIHBhdGhuYW1lIGluY2x1ZGVkIGl0LlxuICAgKi9cbiAgYmFzZVBhdGg/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBidWlsZElkIGZvciB3aGVuIHRoZSBwYXJzZWQgVVJMIGlzIGEgZGF0YSBVUkwuIFBhcnNpbmcgaXQgY2FuIGJlXG4gICAqIGRpc2FibGVkIHdpdGggdGhlIGBwYXJzZURhdGFgIG9wdGlvbi5cbiAgICovXG4gIGJ1aWxkSWQ/OiBzdHJpbmdcbiAgLyoqXG4gICAqIElmIHRoZXJlIHdhcyBhIGxvY2FsZSBpbiB0aGUgcGF0aG5hbWUsIHRoaXMgd2lsbCBob2xkIGl0cyB2YWx1ZS5cbiAgICovXG4gIGxvY2FsZT86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIHByb2Nlc3NlZCBwYXRobmFtZSB3aXRob3V0IGEgYmFzZSBwYXRoLCBsb2NhbGUsIG9yIGRhdGEgVVJMIGVsZW1lbnRzXG4gICAqIHdoZW4gcGFyc2luZyBpdCBpcyBlbmFibGVkLlxuICAgKi9cbiAgcGF0aG5hbWU6IHN0cmluZ1xuICAvKipcbiAgICogQSBib29sZWFuIHRlbGxpbmcgaWYgdGhlIHBhdGhuYW1lIGhhZCBhIHRyYWlsaW5nU2xhc2guIFRoaXMgY2FuIGJlIG9ubHlcbiAgICogdHJ1ZSBpZiB0cmFpbGluZ1NsYXNoIGlzIGVuYWJsZWQuXG4gICAqL1xuICB0cmFpbGluZ1NsYXNoPzogYm9vbGVhblxufVxuXG5pbnRlcmZhY2UgT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGVuIHBhc3NlZCB0byB0cnVlLCB0aGlzIGZ1bmN0aW9uIHdpbGwgYWxzbyBwYXJzZSBOZXh0anMgZGF0YSBVUkxzLlxuICAgKi9cbiAgcGFyc2VEYXRhPzogYm9vbGVhblxuICAvKipcbiAgICogQSBwYXJ0aWFsIG9mIHRoZSBOZXh0LmpzIGNvbmZpZ3VyYXRpb24gdG8gcGFyc2UgdGhlIFVSTC5cbiAgICovXG4gIG5leHRDb25maWc/OiB7XG4gICAgYmFzZVBhdGg/OiBzdHJpbmdcbiAgICBpMThuPzogeyBsb2NhbGVzPzogcmVhZG9ubHkgc3RyaW5nW10gfSB8IG51bGxcbiAgICB0cmFpbGluZ1NsYXNoPzogYm9vbGVhblxuICB9XG5cbiAgLyoqXG4gICAqIElmIHByb3ZpZGVkLCB0aGlzIG5vcm1hbGl6ZXIgd2lsbCBiZSB1c2VkIHRvIGRldGVjdCB0aGUgbG9jYWxlIGluc3RlYWQgb2ZcbiAgICogdGhlIGRlZmF1bHQgbG9jYWxlIGRldGVjdGlvbi5cbiAgICovXG4gIGkxOG5Qcm92aWRlcj86IEkxOE5Qcm92aWRlclxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV4dFBhdGhuYW1lSW5mbyhcbiAgcGF0aG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogT3B0aW9uc1xuKTogTmV4dFBhdGhuYW1lSW5mbyB7XG4gIGNvbnN0IHsgYmFzZVBhdGgsIGkxOG4sIHRyYWlsaW5nU2xhc2ggfSA9IG9wdGlvbnMubmV4dENvbmZpZyA/PyB7fVxuICBjb25zdCBpbmZvOiBOZXh0UGF0aG5hbWVJbmZvID0ge1xuICAgIHBhdGhuYW1lLFxuICAgIHRyYWlsaW5nU2xhc2g6IHBhdGhuYW1lICE9PSAnLycgPyBwYXRobmFtZS5lbmRzV2l0aCgnLycpIDogdHJhaWxpbmdTbGFzaCxcbiAgfVxuXG4gIGlmIChiYXNlUGF0aCAmJiBwYXRoSGFzUHJlZml4KGluZm8ucGF0aG5hbWUsIGJhc2VQYXRoKSkge1xuICAgIGluZm8ucGF0aG5hbWUgPSByZW1vdmVQYXRoUHJlZml4KGluZm8ucGF0aG5hbWUsIGJhc2VQYXRoKVxuICAgIGluZm8uYmFzZVBhdGggPSBiYXNlUGF0aFxuICB9XG4gIGxldCBwYXRobmFtZU5vRGF0YVByZWZpeCA9IGluZm8ucGF0aG5hbWVcblxuICBpZiAoXG4gICAgaW5mby5wYXRobmFtZS5zdGFydHNXaXRoKCcvX25leHQvZGF0YS8nKSAmJlxuICAgIGluZm8ucGF0aG5hbWUuZW5kc1dpdGgoJy5qc29uJylcbiAgKSB7XG4gICAgY29uc3QgcGF0aHMgPSBpbmZvLnBhdGhuYW1lXG4gICAgICAucmVwbGFjZSgvXlxcL19uZXh0XFwvZGF0YVxcLy8sICcnKVxuICAgICAgLnJlcGxhY2UoL1xcLmpzb24kLywgJycpXG4gICAgICAuc3BsaXQoJy8nKVxuXG4gICAgY29uc3QgYnVpbGRJZCA9IHBhdGhzWzBdXG4gICAgaW5mby5idWlsZElkID0gYnVpbGRJZFxuICAgIHBhdGhuYW1lTm9EYXRhUHJlZml4ID1cbiAgICAgIHBhdGhzWzFdICE9PSAnaW5kZXgnID8gYC8ke3BhdGhzLnNsaWNlKDEpLmpvaW4oJy8nKX1gIDogJy8nXG5cbiAgICAvLyB1cGRhdGUgcGF0aG5hbWUgd2l0aCBub3JtYWxpemVkIGlmIGVuYWJsZWQgYWx0aG91Z2hcbiAgICAvLyB3ZSB1c2Ugbm9ybWFsaXplZCB0byBwb3B1bGF0ZSBsb2NhbGUgaW5mbyBzdGlsbFxuICAgIGlmIChvcHRpb25zLnBhcnNlRGF0YSA9PT0gdHJ1ZSkge1xuICAgICAgaW5mby5wYXRobmFtZSA9IHBhdGhuYW1lTm9EYXRhUHJlZml4XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgcHJvdmlkZWQsIHVzZSB0aGUgbG9jYWxlIHJvdXRlIG5vcm1hbGl6ZXIgdG8gZGV0ZWN0IHRoZSBsb2NhbGUgaW5zdGVhZFxuICAvLyBvZiB0aGUgZnVuY3Rpb24gYmVsb3cuXG4gIGlmIChpMThuKSB7XG4gICAgbGV0IHJlc3VsdCA9IG9wdGlvbnMuaTE4blByb3ZpZGVyXG4gICAgICA/IG9wdGlvbnMuaTE4blByb3ZpZGVyLmFuYWx5emUoaW5mby5wYXRobmFtZSlcbiAgICAgIDogbm9ybWFsaXplTG9jYWxlUGF0aChpbmZvLnBhdGhuYW1lLCBpMThuLmxvY2FsZXMpXG5cbiAgICBpbmZvLmxvY2FsZSA9IHJlc3VsdC5kZXRlY3RlZExvY2FsZVxuICAgIGluZm8ucGF0aG5hbWUgPSByZXN1bHQucGF0aG5hbWUgPz8gaW5mby5wYXRobmFtZVxuXG4gICAgaWYgKCFyZXN1bHQuZGV0ZWN0ZWRMb2NhbGUgJiYgaW5mby5idWlsZElkKSB7XG4gICAgICByZXN1bHQgPSBvcHRpb25zLmkxOG5Qcm92aWRlclxuICAgICAgICA/IG9wdGlvbnMuaTE4blByb3ZpZGVyLmFuYWx5emUocGF0aG5hbWVOb0RhdGFQcmVmaXgpXG4gICAgICAgIDogbm9ybWFsaXplTG9jYWxlUGF0aChwYXRobmFtZU5vRGF0YVByZWZpeCwgaTE4bi5sb2NhbGVzKVxuXG4gICAgICBpZiAocmVzdWx0LmRldGVjdGVkTG9jYWxlKSB7XG4gICAgICAgIGluZm8ubG9jYWxlID0gcmVzdWx0LmRldGVjdGVkTG9jYWxlXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBpbmZvXG59XG4iXSwibmFtZXMiOlsiZ2V0TmV4dFBhdGhuYW1lSW5mbyIsInBhdGhuYW1lIiwib3B0aW9ucyIsImJhc2VQYXRoIiwiaTE4biIsInRyYWlsaW5nU2xhc2giLCJuZXh0Q29uZmlnIiwiaW5mbyIsImVuZHNXaXRoIiwicGF0aEhhc1ByZWZpeCIsInJlbW92ZVBhdGhQcmVmaXgiLCJwYXRobmFtZU5vRGF0YVByZWZpeCIsInN0YXJ0c1dpdGgiLCJwYXRocyIsInJlcGxhY2UiLCJzcGxpdCIsImJ1aWxkSWQiLCJzbGljZSIsImpvaW4iLCJwYXJzZURhdGEiLCJyZXN1bHQiLCJpMThuUHJvdmlkZXIiLCJhbmFseXplIiwibm9ybWFsaXplTG9jYWxlUGF0aCIsImxvY2FsZXMiLCJsb2NhbGUiLCJkZXRlY3RlZExvY2FsZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/is-local-url.js":
|
||
/*!***********************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/is-local-url.js ***!
|
||
\***********************************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isLocalURL\", ({\n enumerable: true,\n get: function() {\n return isLocalURL;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/utils.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../../client/has-base-path */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/has-base-path.js\");\nfunction isLocalURL(url) {\n // prevent a hydration mismatch on href for url with anchor refs\n if (!(0, _utils.isAbsoluteUrl)(url)) return true;\n try {\n // absolute urls can be local if they are on the same origin\n const locationOrigin = (0, _utils.getLocationOrigin)();\n const resolved = new URL(url, locationOrigin);\n return resolved.origin === locationOrigin && (0, _hasbasepath.hasBasePath)(resolved.pathname);\n } catch (_) {\n return false;\n }\n} //# sourceMappingURL=is-local-url.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1sb2NhbC11cmwuanMiLCJtYXBwaW5ncyI6Ijs7Ozs4Q0FNZ0JBOzs7ZUFBQUE7OzttQ0FOaUM7eUNBQ3JCO0FBS3JCLFNBQVNBLFdBQVdDLEdBQVc7SUFDcEMsZ0VBQWdFO0lBQ2hFLElBQUksQ0FBQ0MsQ0FBQUEsR0FBQUEsT0FBQUEsYUFBQUEsRUFBY0QsTUFBTSxPQUFPO0lBQ2hDLElBQUk7UUFDRiw0REFBNEQ7UUFDNUQsTUFBTUUsaUJBQWlCQyxDQUFBQSxHQUFBQSxPQUFBQSxpQkFBQUE7UUFDdkIsTUFBTUMsV0FBVyxJQUFJQyxJQUFJTCxLQUFLRTtRQUM5QixPQUFPRSxTQUFTRSxNQUFNLEtBQUtKLGtCQUFrQkssQ0FBQUEsR0FBQUEsYUFBQUEsV0FBQUEsRUFBWUgsU0FBU0ksUUFBUTtJQUM1RSxFQUFFLE9BQU9DLEdBQUc7UUFDVixPQUFPO0lBQ1Q7QUFDRiIsInNvdXJjZXMiOlsiL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1sb2NhbC11cmwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNBYnNvbHV0ZVVybCwgZ2V0TG9jYXRpb25PcmlnaW4gfSBmcm9tICcuLi8uLi91dGlscydcbmltcG9ydCB7IGhhc0Jhc2VQYXRoIH0gZnJvbSAnLi4vLi4vLi4vLi4vY2xpZW50L2hhcy1iYXNlLXBhdGgnXG5cbi8qKlxuICogRGV0ZWN0cyB3aGV0aGVyIGEgZ2l2ZW4gdXJsIGlzIHJvdXRhYmxlIGJ5IHRoZSBOZXh0LmpzIHJvdXRlciAoYnJvd3NlciBvbmx5KS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTG9jYWxVUkwodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgLy8gcHJldmVudCBhIGh5ZHJhdGlvbiBtaXNtYXRjaCBvbiBocmVmIGZvciB1cmwgd2l0aCBhbmNob3IgcmVmc1xuICBpZiAoIWlzQWJzb2x1dGVVcmwodXJsKSkgcmV0dXJuIHRydWVcbiAgdHJ5IHtcbiAgICAvLyBhYnNvbHV0ZSB1cmxzIGNhbiBiZSBsb2NhbCBpZiB0aGV5IGFyZSBvbiB0aGUgc2FtZSBvcmlnaW5cbiAgICBjb25zdCBsb2NhdGlvbk9yaWdpbiA9IGdldExvY2F0aW9uT3JpZ2luKClcbiAgICBjb25zdCByZXNvbHZlZCA9IG5ldyBVUkwodXJsLCBsb2NhdGlvbk9yaWdpbilcbiAgICByZXR1cm4gcmVzb2x2ZWQub3JpZ2luID09PSBsb2NhdGlvbk9yaWdpbiAmJiBoYXNCYXNlUGF0aChyZXNvbHZlZC5wYXRobmFtZSlcbiAgfSBjYXRjaCAoXykge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG4iXSwibmFtZXMiOlsiaXNMb2NhbFVSTCIsInVybCIsImlzQWJzb2x1dGVVcmwiLCJsb2NhdGlvbk9yaWdpbiIsImdldExvY2F0aW9uT3JpZ2luIiwicmVzb2x2ZWQiLCJVUkwiLCJvcmlnaW4iLCJoYXNCYXNlUGF0aCIsInBhdGhuYW1lIiwiXyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/is-local-url.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/querystring.js":
|
||
/*!**********************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/querystring.js ***!
|
||
\**********************************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n assign: function() {\n return assign;\n },\n searchParamsToUrlQuery: function() {\n return searchParamsToUrlQuery;\n },\n urlQueryToSearchParams: function() {\n return urlQueryToSearchParams;\n }\n});\nfunction searchParamsToUrlQuery(searchParams) {\n const query = {};\n for (const [key, value] of searchParams.entries()){\n const existing = query[key];\n if (typeof existing === 'undefined') {\n query[key] = value;\n } else if (Array.isArray(existing)) {\n existing.push(value);\n } else {\n query[key] = [\n existing,\n value\n ];\n }\n }\n return query;\n}\nfunction stringifyUrlQueryParam(param) {\n if (typeof param === 'string') {\n return param;\n }\n if (typeof param === 'number' && !isNaN(param) || typeof param === 'boolean') {\n return String(param);\n } else {\n return '';\n }\n}\nfunction urlQueryToSearchParams(query) {\n const searchParams = new URLSearchParams();\n for (const [key, value] of Object.entries(query)){\n if (Array.isArray(value)) {\n for (const item of value){\n searchParams.append(key, stringifyUrlQueryParam(item));\n }\n } else {\n searchParams.set(key, stringifyUrlQueryParam(value));\n }\n }\n return searchParams;\n}\nfunction assign(target, ...searchParamsList) {\n for (const searchParams of searchParamsList){\n for (const key of searchParams.keys()){\n target.delete(key);\n }\n for (const [key, value] of searchParams.entries()){\n target.append(key, value);\n }\n }\n return target;\n} //# sourceMappingURL=querystring.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9xdWVyeXN0cmluZy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFnRGdCQSxNQUFNO2VBQU5BOztJQTlDQUMsc0JBQXNCO2VBQXRCQTs7SUFnQ0FDLHNCQUFzQjtlQUF0QkE7OztBQWhDVCxTQUFTRCx1QkFDZEUsWUFBNkI7SUFFN0IsTUFBTUMsUUFBd0IsQ0FBQztJQUMvQixLQUFLLE1BQU0sQ0FBQ0MsS0FBS0MsTUFBTSxJQUFJSCxhQUFhSSxPQUFPLEdBQUk7UUFDakQsTUFBTUMsV0FBV0osS0FBSyxDQUFDQyxJQUFJO1FBQzNCLElBQUksT0FBT0csYUFBYSxhQUFhO1lBQ25DSixLQUFLLENBQUNDLElBQUksR0FBR0M7UUFDZixPQUFPLElBQUlHLE1BQU1DLE9BQU8sQ0FBQ0YsV0FBVztZQUNsQ0EsU0FBU0csSUFBSSxDQUFDTDtRQUNoQixPQUFPO1lBQ0xGLEtBQUssQ0FBQ0MsSUFBSSxHQUFHO2dCQUFDRztnQkFBVUY7YUFBTTtRQUNoQztJQUNGO0lBQ0EsT0FBT0Y7QUFDVDtBQUVBLFNBQVNRLHVCQUF1QkMsS0FBYztJQUM1QyxJQUFJLE9BQU9BLFVBQVUsVUFBVTtRQUM3QixPQUFPQTtJQUNUO0lBRUEsSUFDRyxPQUFPQSxVQUFVLFlBQVksQ0FBQ0MsTUFBTUQsVUFDckMsT0FBT0EsVUFBVSxXQUNqQjtRQUNBLE9BQU9FLE9BQU9GO0lBQ2hCLE9BQU87UUFDTCxPQUFPO0lBQ1Q7QUFDRjtBQUVPLFNBQVNYLHVCQUF1QkUsS0FBcUI7SUFDMUQsTUFBTUQsZUFBZSxJQUFJYTtJQUN6QixLQUFLLE1BQU0sQ0FBQ1gsS0FBS0MsTUFBTSxJQUFJVyxPQUFPVixPQUFPLENBQUNILE9BQVE7UUFDaEQsSUFBSUssTUFBTUMsT0FBTyxDQUFDSixRQUFRO1lBQ3hCLEtBQUssTUFBTVksUUFBUVosTUFBTztnQkFDeEJILGFBQWFnQixNQUFNLENBQUNkLEtBQUtPLHVCQUF1Qk07WUFDbEQ7UUFDRixPQUFPO1lBQ0xmLGFBQWFpQixHQUFHLENBQUNmLEtBQUtPLHVCQUF1Qk47UUFDL0M7SUFDRjtJQUNBLE9BQU9IO0FBQ1Q7QUFFTyxTQUFTSCxPQUNkcUIsTUFBdUIsRUFDdkIsR0FBR0MsZ0JBQW1DO0lBRXRDLEtBQUssTUFBTW5CLGdCQUFnQm1CLGlCQUFrQjtRQUMzQyxLQUFLLE1BQU1qQixPQUFPRixhQUFhb0IsSUFBSSxHQUFJO1lBQ3JDRixPQUFPRyxNQUFNLENBQUNuQjtRQUNoQjtRQUVBLEtBQUssTUFBTSxDQUFDQSxLQUFLQyxNQUFNLElBQUlILGFBQWFJLE9BQU8sR0FBSTtZQUNqRGMsT0FBT0YsTUFBTSxDQUFDZCxLQUFLQztRQUNyQjtJQUNGO0lBRUEsT0FBT2U7QUFDVCIsInNvdXJjZXMiOlsiL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9xdWVyeXN0cmluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBhcnNlZFVybFF1ZXJ5IH0gZnJvbSAncXVlcnlzdHJpbmcnXG5cbmV4cG9ydCBmdW5jdGlvbiBzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5KFxuICBzZWFyY2hQYXJhbXM6IFVSTFNlYXJjaFBhcmFtc1xuKTogUGFyc2VkVXJsUXVlcnkge1xuICBjb25zdCBxdWVyeTogUGFyc2VkVXJsUXVlcnkgPSB7fVxuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBzZWFyY2hQYXJhbXMuZW50cmllcygpKSB7XG4gICAgY29uc3QgZXhpc3RpbmcgPSBxdWVyeVtrZXldXG4gICAgaWYgKHR5cGVvZiBleGlzdGluZyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHF1ZXJ5W2tleV0gPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShleGlzdGluZykpIHtcbiAgICAgIGV4aXN0aW5nLnB1c2godmFsdWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHF1ZXJ5W2tleV0gPSBbZXhpc3RpbmcsIHZhbHVlXVxuICAgIH1cbiAgfVxuICByZXR1cm4gcXVlcnlcbn1cblxuZnVuY3Rpb24gc3RyaW5naWZ5VXJsUXVlcnlQYXJhbShwYXJhbTogdW5rbm93bik6IHN0cmluZyB7XG4gIGlmICh0eXBlb2YgcGFyYW0gPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHBhcmFtXG4gIH1cblxuICBpZiAoXG4gICAgKHR5cGVvZiBwYXJhbSA9PT0gJ251bWJlcicgJiYgIWlzTmFOKHBhcmFtKSkgfHxcbiAgICB0eXBlb2YgcGFyYW0gPT09ICdib29sZWFuJ1xuICApIHtcbiAgICByZXR1cm4gU3RyaW5nKHBhcmFtKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiAnJ1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cmxRdWVyeVRvU2VhcmNoUGFyYW1zKHF1ZXJ5OiBQYXJzZWRVcmxRdWVyeSk6IFVSTFNlYXJjaFBhcmFtcyB7XG4gIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKVxuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhxdWVyeSkpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB2YWx1ZSkge1xuICAgICAgICBzZWFyY2hQYXJhbXMuYXBwZW5kKGtleSwgc3RyaW5naWZ5VXJsUXVlcnlQYXJhbShpdGVtKSlcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc2VhcmNoUGFyYW1zLnNldChrZXksIHN0cmluZ2lmeVVybFF1ZXJ5UGFyYW0odmFsdWUpKVxuICAgIH1cbiAgfVxuICByZXR1cm4gc2VhcmNoUGFyYW1zXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NpZ24oXG4gIHRhcmdldDogVVJMU2VhcmNoUGFyYW1zLFxuICAuLi5zZWFyY2hQYXJhbXNMaXN0OiBVUkxTZWFyY2hQYXJhbXNbXVxuKTogVVJMU2VhcmNoUGFyYW1zIHtcbiAgZm9yIChjb25zdCBzZWFyY2hQYXJhbXMgb2Ygc2VhcmNoUGFyYW1zTGlzdCkge1xuICAgIGZvciAoY29uc3Qga2V5IG9mIHNlYXJjaFBhcmFtcy5rZXlzKCkpIHtcbiAgICAgIHRhcmdldC5kZWxldGUoa2V5KVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIHNlYXJjaFBhcmFtcy5lbnRyaWVzKCkpIHtcbiAgICAgIHRhcmdldC5hcHBlbmQoa2V5LCB2YWx1ZSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0XG59XG4iXSwibmFtZXMiOlsiYXNzaWduIiwic2VhcmNoUGFyYW1zVG9VcmxRdWVyeSIsInVybFF1ZXJ5VG9TZWFyY2hQYXJhbXMiLCJzZWFyY2hQYXJhbXMiLCJxdWVyeSIsImtleSIsInZhbHVlIiwiZW50cmllcyIsImV4aXN0aW5nIiwiQXJyYXkiLCJpc0FycmF5IiwicHVzaCIsInN0cmluZ2lmeVVybFF1ZXJ5UGFyYW0iLCJwYXJhbSIsImlzTmFOIiwiU3RyaW5nIiwiVVJMU2VhcmNoUGFyYW1zIiwiT2JqZWN0IiwiaXRlbSIsImFwcGVuZCIsInNldCIsInRhcmdldCIsInNlYXJjaFBhcmFtc0xpc3QiLCJrZXlzIiwiZGVsZXRlIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/querystring.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js":
|
||
/*!*****************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js ***!
|
||
\*****************************************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removePathPrefix\", ({\n enumerable: true,\n get: function() {\n return removePathPrefix;\n }\n}));\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction removePathPrefix(path, prefix) {\n // If the path doesn't start with the prefix we can return it as is. This\n // protects us from situations where the prefix is a substring of the path\n // prefix such as:\n //\n // For prefix: /blog\n //\n // /blog -> true\n // /blog/ -> true\n // /blog/1 -> true\n // /blogging -> false\n // /blogging/ -> false\n // /blogging/1 -> false\n if (!(0, _pathhasprefix.pathHasPrefix)(path, prefix)) {\n return path;\n }\n // Remove the prefix from the path via slicing.\n const withoutPrefix = path.slice(prefix.length);\n // If the path without the prefix starts with a `/` we can return it as is.\n if (withoutPrefix.startsWith('/')) {\n return withoutPrefix;\n }\n // If the path without the prefix doesn't start with a `/` we need to add it\n // back to the path to make sure it's a valid path.\n return `/${withoutPrefix}`;\n} //# sourceMappingURL=remove-path-prefix.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yZW1vdmUtcGF0aC1wcmVmaXguanMiLCJtYXBwaW5ncyI6Ijs7OztvREFVZ0JBOzs7ZUFBQUE7OzsyQ0FWYztBQVV2QixTQUFTQSxpQkFBaUJDLElBQVksRUFBRUMsTUFBYztJQUMzRCx5RUFBeUU7SUFDekUsMEVBQTBFO0lBQzFFLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0Ysb0JBQW9CO0lBQ3BCLEVBQUU7SUFDRixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLHlCQUF5QjtJQUN6QixJQUFJLENBQUNDLENBQUFBLEdBQUFBLGVBQUFBLGFBQUFBLEVBQWNGLE1BQU1DLFNBQVM7UUFDaEMsT0FBT0Q7SUFDVDtJQUVBLCtDQUErQztJQUMvQyxNQUFNRyxnQkFBZ0JILEtBQUtJLEtBQUssQ0FBQ0gsT0FBT0ksTUFBTTtJQUU5QywyRUFBMkU7SUFDM0UsSUFBSUYsY0FBY0csVUFBVSxDQUFDLE1BQU07UUFDakMsT0FBT0g7SUFDVDtJQUVBLDRFQUE0RTtJQUM1RSxtREFBbUQ7SUFDbkQsT0FBTyxDQUFDLENBQUMsRUFBRUEsZUFBZTtBQUM1QiIsInNvdXJjZXMiOlsiL3NyYy9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yZW1vdmUtcGF0aC1wcmVmaXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGF0aEhhc1ByZWZpeCB9IGZyb20gJy4vcGF0aC1oYXMtcHJlZml4J1xuXG4vKipcbiAqIEdpdmVuIGEgcGF0aCBhbmQgYSBwcmVmaXggaXQgd2lsbCByZW1vdmUgdGhlIHByZWZpeCB3aGVuIGl0IGV4aXN0cyBpbiB0aGVcbiAqIGdpdmVuIHBhdGguIEl0IGVuc3VyZXMgaXQgbWF0Y2hlcyBleGFjdGx5IHdpdGhvdXQgY29udGFpbmluZyBleHRyYSBjaGFyc1xuICogYW5kIGlmIHRoZSBwcmVmaXggaXMgbm90IHRoZXJlIGl0IHdpbGwgYmUgbm9vcC5cbiAqXG4gKiBAcGFyYW0gcGF0aCBUaGUgcGF0aCB0byByZW1vdmUgdGhlIHByZWZpeCBmcm9tLlxuICogQHBhcmFtIHByZWZpeCBUaGUgcHJlZml4IHRvIGJlIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVQYXRoUHJlZml4KHBhdGg6IHN0cmluZywgcHJlZml4OiBzdHJpbmcpOiBzdHJpbmcge1xuICAvLyBJZiB0aGUgcGF0aCBkb2Vzbid0IHN0YXJ0IHdpdGggdGhlIHByZWZpeCB3ZSBjYW4gcmV0dXJuIGl0IGFzIGlzLiBUaGlzXG4gIC8vIHByb3RlY3RzIHVzIGZyb20gc2l0dWF0aW9ucyB3aGVyZSB0aGUgcHJlZml4IGlzIGEgc3Vic3RyaW5nIG9mIHRoZSBwYXRoXG4gIC8vIHByZWZpeCBzdWNoIGFzOlxuICAvL1xuICAvLyBGb3IgcHJlZml4OiAvYmxvZ1xuICAvL1xuICAvLyAgIC9ibG9nIC0+IHRydWVcbiAgLy8gICAvYmxvZy8gLT4gdHJ1ZVxuICAvLyAgIC9ibG9nLzEgLT4gdHJ1ZVxuICAvLyAgIC9ibG9nZ2luZyAtPiBmYWxzZVxuICAvLyAgIC9ibG9nZ2luZy8gLT4gZmFsc2VcbiAgLy8gICAvYmxvZ2dpbmcvMSAtPiBmYWxzZVxuICBpZiAoIXBhdGhIYXNQcmVmaXgocGF0aCwgcHJlZml4KSkge1xuICAgIHJldHVybiBwYXRoXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIHByZWZpeCBmcm9tIHRoZSBwYXRoIHZpYSBzbGljaW5nLlxuICBjb25zdCB3aXRob3V0UHJlZml4ID0gcGF0aC5zbGljZShwcmVmaXgubGVuZ3RoKVxuXG4gIC8vIElmIHRoZSBwYXRoIHdpdGhvdXQgdGhlIHByZWZpeCBzdGFydHMgd2l0aCBhIGAvYCB3ZSBjYW4gcmV0dXJuIGl0IGFzIGlzLlxuICBpZiAod2l0aG91dFByZWZpeC5zdGFydHNXaXRoKCcvJykpIHtcbiAgICByZXR1cm4gd2l0aG91dFByZWZpeFxuICB9XG5cbiAgLy8gSWYgdGhlIHBhdGggd2l0aG91dCB0aGUgcHJlZml4IGRvZXNuJ3Qgc3RhcnQgd2l0aCBhIGAvYCB3ZSBuZWVkIHRvIGFkZCBpdFxuICAvLyBiYWNrIHRvIHRoZSBwYXRoIHRvIG1ha2Ugc3VyZSBpdCdzIGEgdmFsaWQgcGF0aC5cbiAgcmV0dXJuIGAvJHt3aXRob3V0UHJlZml4fWBcbn1cbiJdLCJuYW1lcyI6WyJyZW1vdmVQYXRoUHJlZml4IiwicGF0aCIsInByZWZpeCIsInBhdGhIYXNQcmVmaXgiLCJ3aXRob3V0UHJlZml4Iiwic2xpY2UiLCJsZW5ndGgiLCJzdGFydHNXaXRoIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/utils.js":
|
||
/*!***************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/utils.js ***!
|
||
\***************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DecodeError: function() {\n return DecodeError;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n isResSent: function() {\n return isResSent;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n 'CLS',\n 'FCP',\n 'FID',\n 'INP',\n 'LCP',\n 'TTFB'\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return (...args)=>{\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return `${protocol}//${hostname}${port ? ':' + port : ''}`;\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === 'string' ? Component : Component.displayName || Component.name || 'Unknown';\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split('?');\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, '/').replace(/\\/\\/+/g, '/') + (urlParts[1] ? `?${urlParts.slice(1).join('?')}` : '');\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n if (App.prototype?.getInitialProps) {\n const message = `\"${getDisplayName(App)}.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.`;\n throw Object.defineProperty(new Error(message), \"__NEXT_ERROR_CODE\", {\n value: \"E394\",\n enumerable: false,\n configurable: true\n });\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = `\"${getDisplayName(App)}.getInitialProps()\" should resolve to an object. But found \"${props}\" instead.`;\n throw Object.defineProperty(new Error(message), \"__NEXT_ERROR_CODE\", {\n value: \"E394\",\n enumerable: false,\n configurable: true\n });\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(`${getDisplayName(App)} returned an empty object from \\`getInitialProps\\`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps`);\n }\n }\n return props;\n}\nconst SP = typeof performance !== 'undefined';\nconst ST = SP && [\n 'mark',\n 'measure',\n 'getEntriesByName'\n].every((method)=>typeof performance[method] === 'function');\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = 'ENOENT';\n this.name = 'PageNotFoundError';\n this.message = `Cannot find module for page: ${page}`;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = `Failed to load static file for page: ${page} ${message}`;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = 'ENOENT';\n this.message = `Cannot find the middleware module`;\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3V0aWxzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQW1hYUEsV0FBVztlQUFYQTs7SUFvQkFDLHVCQUF1QjtlQUF2QkE7O0lBUEFDLGlCQUFpQjtlQUFqQkE7O0lBWkFDLGNBQWM7ZUFBZEE7O0lBQ0FDLGlCQUFpQjtlQUFqQkE7O0lBVEFDLEVBQUU7ZUFBRkE7O0lBQ0FDLEVBQUU7ZUFBRkE7O0lBalhBQyxVQUFVO2VBQVZBOztJQXFRR0MsUUFBUTtlQUFSQTs7SUErQkFDLGNBQWM7ZUFBZEE7O0lBWEFDLGlCQUFpQjtlQUFqQkE7O0lBS0FDLE1BQU07ZUFBTkE7O0lBUEhDLGFBQWE7ZUFBYkE7O0lBbUJHQyxTQUFTO2VBQVRBOztJQWtCTUMsbUJBQW1CO2VBQW5CQTs7SUFkTkMsd0JBQXdCO2VBQXhCQTs7SUErR0FDLGNBQWM7ZUFBZEE7OztBQTdaVCxNQUFNVCxhQUFhO0lBQUM7SUFBTztJQUFPO0lBQU87SUFBTztJQUFPO0NBQU87QUFxUTlELFNBQVNDLFNBQ2RTLEVBQUs7SUFFTCxJQUFJQyxPQUFPO0lBQ1gsSUFBSUM7SUFFSixPQUFRLENBQUMsR0FBR0M7UUFDVixJQUFJLENBQUNGLE1BQU07WUFDVEEsT0FBTztZQUNQQyxTQUFTRixNQUFNRztRQUNqQjtRQUNBLE9BQU9EO0lBQ1Q7QUFDRjtBQUVBLDBEQUEwRDtBQUMxRCxnRUFBZ0U7QUFDaEUsTUFBTUUscUJBQXFCO0FBQ3BCLE1BQU1ULGdCQUFnQixDQUFDVSxNQUFnQkQsbUJBQW1CRSxJQUFJLENBQUNEO0FBRS9ELFNBQVNaO0lBQ2QsTUFBTSxFQUFFYyxR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QmtEO0FBQU87QUFDcEMsTUFBTWpELDBCQUEwQmlEO0lBR3JDVSxZQUFZQyxJQUFZLENBQUU7UUFDeEIsS0FBSztRQUNMLElBQUksQ0FBQ0MsSUFBSSxHQUFHO1FBQ1osSUFBSSxDQUFDOUIsSUFBSSxHQUFHO1FBQ1osSUFBSSxDQUFDaUIsT0FBTyxHQUFHLENBQUMsNkJBQTZCLEVBQUVZLE1BQU07SUFDdkQ7QUFDRjtBQUVPLE1BQU05RCwwQkFBMEJtRDtJQUNyQ1UsWUFBWUMsSUFBWSxFQUFFWixPQUFlLENBQUU7UUFDekMsS0FBSztRQUNMLElBQUksQ0FBQ0EsT0FBTyxHQUFHLENBQUMscUNBQXFDLEVBQUVZLEtBQUssQ0FBQyxFQUFFWixTQUFTO0lBQzFFO0FBQ0Y7QUFFTyxNQUFNbkQsZ0NBQWdDb0Q7SUFFM0NVLGFBQWM7UUFDWixLQUFLO1FBQ0wsSUFBSSxDQUFDRSxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNiLE9BQU8sR0FBRyxDQUFDLGlDQUFpQyxDQUFDO0lBQ3BEO0FBQ0Y7QUFXTyxTQUFTcEMsZUFBZWtELEtBQVk7SUFDekMsT0FBT0MsS0FBS0MsU0FBUyxDQUFDO1FBQUVoQixTQUFTYyxNQUFNZCxPQUFPO1FBQUVpQixPQUFPSCxNQUFNRyxLQUFLO0lBQUM7QUFDckUiLCJzb3VyY2VzIjpbIi9Vc2Vycy9zcmMvc2hhcmVkL2xpYi91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEh0bWxQcm9wcyB9IGZyb20gJy4vaHRtbC1jb250ZXh0LnNoYXJlZC1ydW50aW1lJ1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRUeXBlLCBKU1ggfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgRG9tYWluTG9jYWxlIH0gZnJvbSAnLi4vLi4vc2VydmVyL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgRW52IH0gZnJvbSAnQG5leHQvZW52J1xuaW1wb3J0IHR5cGUgeyBJbmNvbWluZ01lc3NhZ2UsIFNlcnZlclJlc3BvbnNlIH0gZnJvbSAnaHR0cCdcbmltcG9ydCB0eXBlIHsgTmV4dFJvdXRlciB9IGZyb20gJy4vcm91dGVyL3JvdXRlcidcbmltcG9ydCB0eXBlIHsgUGFyc2VkVXJsUXVlcnkgfSBmcm9tICdxdWVyeXN0cmluZydcbmltcG9ydCB0eXBlIHsgUHJldmlld0RhdGEgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQ09NUElMRVJfTkFNRVMgfSBmcm9tICcuL2NvbnN0YW50cydcbmltcG9ydCB0eXBlIGZzIGZyb20gJ2ZzJ1xuXG5leHBvcnQgdHlwZSBOZXh0Q29tcG9uZW50VHlwZTxcbiAgQ29udGV4dCBleHRlbmRzIEJhc2VDb250ZXh0ID0gTmV4dFBhZ2VDb250ZXh0LFxuICBJbml0aWFsUHJvcHMgPSB7fSxcbiAgUHJvcHMgPSB7fSxcbj4gPSBDb21wb25lbnRUeXBlPFByb3BzPiAmIHtcbiAgLyoqXG4gICAqIFVzZWQgZm9yIGluaXRpYWwgcGFnZSBsb2FkIGRhdGEgcG9wdWxhdGlvbi4gRGF0YSByZXR1cm5lZCBmcm9tIGBnZXRJbml0aWFsUHJvcHNgIGlzIHNlcmlhbGl6ZWQgd2hlbiBzZXJ2ZXIgcmVuZGVyZWQuXG4gICAqIE1ha2Ugc3VyZSB0byByZXR1cm4gcGxhaW4gYE9iamVjdGAgd2l0aG91dCB1c2luZyBgRGF0ZWAsIGBNYXBgLCBgU2V0YC5cbiAgICogQHBhcmFtIGNvbnRleHQgQ29udGV4dCBvZiBgcGFnZWBcbiAgICovXG4gIGdldEluaXRpYWxQcm9wcz8oY29udGV4dDogQ29udGV4dCk6IEluaXRpYWxQcm9wcyB8IFByb21pc2U8SW5pdGlhbFByb3BzPlxufVxuXG5leHBvcnQgdHlwZSBEb2N1bWVudFR5cGUgPSBOZXh0Q29tcG9uZW50VHlwZTxcbiAgRG9jdW1lbnRDb250ZXh0LFxuICBEb2N1bWVudEluaXRpYWxQcm9wcyxcbiAgRG9jdW1lbnRQcm9wc1xuPlxuXG5leHBvcnQgdHlwZSBBcHBUeXBlPFAgPSB7fT4gPSBOZXh0Q29tcG9uZW50VHlwZTxcbiAgQXBwQ29udGV4dFR5cGUsXG4gIFAsXG4gIEFwcFByb3BzVHlwZTxhbnksIFA+XG4+XG5cbmV4cG9ydCB0eXBlIEFwcFRyZWVUeXBlID0gQ29tcG9uZW50VHlwZTxcbiAgQXBwSW5pdGlhbFByb3BzICYgeyBbbmFtZTogc3RyaW5nXTogYW55IH1cbj5cblxuLyoqXG4gKiBXZWIgdml0YWxzIHByb3ZpZGVkIHRvIF9hcHAucmVwb3J0V2ViVml0YWxzIGJ5IENvcmUgV2ViIFZpdGFscyBwbHVnaW4gZGV2ZWxvcGVkIGJ5IEdvb2dsZSBDaHJvbWUgdGVhbS5cbiAqIGh0dHBzOi8vbmV4dGpzLm9yZy9ibG9nL25leHQtOS00I2ludGVncmF0ZWQtd2ViLXZpdGFscy1yZXBvcnRpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IFdFQl9WSVRBTFMgPSBbJ0NMUycsICdGQ1AnLCAnRklEJywgJ0lOUCcsICdMQ1AnLCAnVFRGQiddIGFzIGNvbnN0XG5leHBvcnQgdHlwZSBOZXh0V2ViVml0YWxzTWV0cmljID0ge1xuICBpZDogc3RyaW5nXG4gIHN0YXJ0VGltZTogbnVtYmVyXG4gIHZhbHVlOiBudW1iZXJcbiAgYXR0cmlidXRpb24/OiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfVxufSAmIChcbiAgfCB7XG4gICAgICBsYWJlbDogJ3dlYi12aXRhbCdcbiAgICAgIG5hbWU6ICh0eXBlb2YgV0VCX1ZJVEFMUylbbnVtYmVyXVxuICAgIH1cbiAgfCB7XG4gICAgICBsYWJlbDogJ2N1c3RvbSdcbiAgICAgIG5hbWU6XG4gICAgICAgIHwgJ05leHQuanMtaHlkcmF0aW9uJ1xuICAgICAgICB8ICdOZXh0LmpzLXJvdXRlLWNoYW5nZS10by1yZW5kZXInXG4gICAgICAgIHwgJ05leHQuanMtcmVuZGVyJ1xuICAgIH1cbilcblxuZXhwb3J0IHR5cGUgRW5oYW5jZXI8Qz4gPSAoQ29tcG9uZW50OiBDKSA9PiBDXG5cbmV4cG9ydCB0eXBlIENvbXBvbmVudHNFbmhhbmNlciA9XG4gIHwge1xuICAgICAgZW5oYW5jZUFwcD86IEVuaGFuY2VyPEFwcFR5cGU+XG4gICAgICBlbmhhbmNlQ29tcG9uZW50PzogRW5oYW5jZXI8TmV4dENvbXBvbmVudFR5cGU+XG4gICAgfVxuICB8IEVuaGFuY2VyPE5leHRDb21wb25lbnRUeXBlPlxuXG5leHBvcnQgdHlwZSBSZW5kZXJQYWdlUmVzdWx0ID0ge1xuICBodG1sOiBzdHJpbmdcbiAgaGVhZD86IEFycmF5PEpTWC5FbGVtZW50IHwgbnVsbD5cbn1cblxuZXhwb3J0IHR5cGUgUmVuZGVyUGFnZSA9IChcbiAgb3B0aW9ucz86IENvbXBvbmVudHNFbmhhbmNlclxuKSA9PiBEb2N1bWVudEluaXRpYWxQcm9wcyB8IFByb21pc2U8RG9jdW1lbnRJbml0aWFsUHJvcHM+XG5cbmV4cG9ydCB0eXBlIEJhc2VDb250ZXh0ID0ge1xuICByZXM/OiBTZXJ2ZXJSZXNwb25zZVxuICBbazogc3RyaW5nXTogYW55XG59XG5cbmV4cG9ydCB0eXBlIE5FWFRfREFUQSA9IHtcbiAgcHJvcHM6IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgcGFnZTogc3RyaW5nXG4gIHF1ZXJ5OiBQYXJzZWRVcmxRdWVyeVxuICBidWlsZElkOiBzdHJpbmdcbiAgYXNzZXRQcmVmaXg/OiBzdHJpbmdcbiAgbmV4dEV4cG9ydD86IGJvb2xlYW5cbiAgYXV0b0V4cG9ydD86IGJvb2xlYW5cbiAgaXNGYWxsYmFjaz86IGJvb2xlYW5cbiAgaXNFeHBlcmltZW50YWxDb21waWxlPzogYm9vbGVhblxuICBkeW5hbWljSWRzPzogKHN0cmluZyB8IG51bWJlcilbXVxuICBlcnI/OiBFcnJvciAmIHtcbiAgICBzdGF0dXNDb2RlPzogbnVtYmVyXG4gICAgc291cmNlPzogdHlwZW9mIENPTVBJTEVSX05BTUVTLnNlcnZlciB8IHR5cGVvZiBDT01QSUxFUl9OQU1FUy5lZGdlU2VydmVyXG4gIH1cbiAgZ3NwPzogYm9vbGVhblxuICBnc3NwPzogYm9vbGVhblxuICBjdXN0b21TZXJ2ZXI/OiBib29sZWFuXG4gIGdpcD86IGJvb2xlYW5cbiAgYXBwR2lwPzogYm9vbGVhblxuICBsb2NhbGU/OiBzdHJpbmdcbiAgbG9jYWxlcz86IHJlYWRvbmx5IHN0cmluZ1tdXG4gIGRlZmF1bHRMb2NhbGU/OiBzdHJpbmdcbiAgZG9tYWluTG9jYWxlcz86IHJlYWRvbmx5IERvbWFpbkxvY2FsZVtdXG4gIHNjcmlwdExvYWRlcj86IGFueVtdXG4gIGlzUHJldmlldz86IGJvb2xlYW5cbiAgbm90Rm91bmRTcmNQYWdlPzogc3RyaW5nXG59XG5cbi8qKlxuICogYE5leHRgIGNvbnRleHRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXh0UGFnZUNvbnRleHQge1xuICAvKipcbiAgICogRXJyb3Igb2JqZWN0IGlmIGVuY291bnRlcmVkIGR1cmluZyByZW5kZXJpbmdcbiAgICovXG4gIGVycj86IChFcnJvciAmIHsgc3RhdHVzQ29kZT86IG51bWJlciB9KSB8IG51bGxcbiAgLyoqXG4gICAqIGBIVFRQYCByZXF1ZXN0IG9iamVjdC5cbiAgICovXG4gIHJlcT86IEluY29taW5nTWVzc2FnZVxuICAvKipcbiAgICogYEhUVFBgIHJlc3BvbnNlIG9iamVjdC5cbiAgICovXG4gIHJlcz86IFNlcnZlclJlc3BvbnNlXG4gIC8qKlxuICAgKiBQYXRoIHNlY3Rpb24gb2YgYFVSTGAuXG4gICAqL1xuICBwYXRobmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBRdWVyeSBzdHJpbmcgc2VjdGlvbiBvZiBgVVJMYCBwYXJzZWQgYXMgYW4gb2JqZWN0LlxuICAgKi9cbiAgcXVlcnk6IFBhcnNlZFVybFF1ZXJ5XG4gIC8qKlxuICAgKiBgU3RyaW5nYCBvZiB0aGUgYWN0dWFsIHBhdGggaW5jbHVkaW5nIHF1ZXJ5LlxuICAgKi9cbiAgYXNQYXRoPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudGx5IGFjdGl2ZSBsb2NhbGVcbiAgICovXG4gIGxvY2FsZT86IHN0cmluZ1xuICAvKipcbiAgICogQWxsIGNvbmZpZ3VyZWQgbG9jYWxlc1xuICAgKi9cbiAgbG9jYWxlcz86IHJlYWRvbmx5IHN0cmluZ1tdXG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJlZCBkZWZhdWx0IGxvY2FsZVxuICAgKi9cbiAgZGVmYXVsdExvY2FsZT86IHN0cmluZ1xuICAvKipcbiAgICogYENvbXBvbmVudGAgdGhlIHRyZWUgb2YgdGhlIEFwcCB0byB1c2UgaWYgbmVlZGluZyB0byByZW5kZXIgc2VwYXJhdGVseVxuICAgKi9cbiAgQXBwVHJlZTogQXBwVHJlZVR5cGVcbn1cblxuZXhwb3J0IHR5cGUgQXBwQ29udGV4dFR5cGU8Um91dGVyIGV4dGVuZHMgTmV4dFJvdXRlciA9IE5leHRSb3V0ZXI+ID0ge1xuICBDb21wb25lbnQ6IE5leHRDb21wb25lbnRUeXBlPE5leHRQYWdlQ29udGV4dD5cbiAgQXBwVHJlZTogQXBwVHJlZVR5cGVcbiAgY3R4OiBOZXh0UGFnZUNvbnRleHRcbiAgcm91dGVyOiBSb3V0ZXJcbn1cblxuZXhwb3J0IHR5cGUgQXBwSW5pdGlhbFByb3BzPFBhZ2VQcm9wcyA9IGFueT4gPSB7XG4gIHBhZ2VQcm9wczogUGFnZVByb3BzXG59XG5cbmV4cG9ydCB0eXBlIEFwcFByb3BzVHlwZTxcbiAgUm91dGVyIGV4dGVuZHMgTmV4dFJvdXRlciA9IE5leHRSb3V0ZXIsXG4gIFBhZ2VQcm9wcyA9IHt9LFxuPiA9IEFwcEluaXRpYWxQcm9wczxQYWdlUHJvcHM+ICYge1xuICBDb21wb25lbnQ6IE5leHRDb21wb25lbnRUeXBlPE5leHRQYWdlQ29udGV4dCwgYW55LCBhbnk+XG4gIHJvdXRlcjogUm91dGVyXG4gIF9fTl9TU0c/OiBib29sZWFuXG4gIF9fTl9TU1A/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIERvY3VtZW50Q29udGV4dCA9IE5leHRQYWdlQ29udGV4dCAmIHtcbiAgcmVuZGVyUGFnZTogUmVuZGVyUGFnZVxuICBkZWZhdWx0R2V0SW5pdGlhbFByb3BzKFxuICAgIGN0eDogRG9jdW1lbnRDb250ZXh0LFxuICAgIG9wdGlvbnM/OiB7IG5vbmNlPzogc3RyaW5nIH1cbiAgKTogUHJvbWlzZTxEb2N1bWVudEluaXRpYWxQcm9wcz5cbn1cblxuZXhwb3J0IHR5cGUgRG9jdW1lbnRJbml0aWFsUHJvcHMgPSBSZW5kZXJQYWdlUmVzdWx0ICYge1xuICBzdHlsZXM/OiBSZWFjdC5SZWFjdEVsZW1lbnRbXSB8IEl0ZXJhYmxlPFJlYWN0LlJlYWN0Tm9kZT4gfCBKU1guRWxlbWVudFxufVxuXG5leHBvcnQgdHlwZSBEb2N1bWVudFByb3BzID0gRG9jdW1lbnRJbml0aWFsUHJvcHMgJiBIdG1sUHJvcHNcblxuLyoqXG4gKiBOZXh0IGBBUElgIHJvdXRlIHJlcXVlc3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXh0QXBpUmVxdWVzdCBleHRlbmRzIEluY29taW5nTWVzc2FnZSB7XG4gIC8qKlxuICAgKiBPYmplY3Qgb2YgYHF1ZXJ5YCB2YWx1ZXMgZnJvbSB1cmxcbiAgICovXG4gIHF1ZXJ5OiBQYXJ0aWFsPHtcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXVxuICB9PlxuICAvKipcbiAgICogT2JqZWN0IG9mIGBjb29raWVzYCBmcm9tIGhlYWRlclxuICAgKi9cbiAgY29va2llczogUGFydGlhbDx7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nXG4gIH0+XG5cbiAgYm9keTogYW55XG5cbiAgZW52OiBFbnZcblxuICBkcmFmdE1vZGU/OiBib29sZWFuXG5cbiAgcHJldmlldz86IGJvb2xlYW5cbiAgLyoqXG4gICAqIFByZXZpZXcgZGF0YSBzZXQgb24gdGhlIHJlcXVlc3QsIGlmIGFueVxuICAgKiAqL1xuICBwcmV2aWV3RGF0YT86IFByZXZpZXdEYXRhXG59XG5cbi8qKlxuICogU2VuZCBib2R5IG9mIHJlc3BvbnNlXG4gKi9cbnR5cGUgU2VuZDxUPiA9IChib2R5OiBUKSA9PiB2b2lkXG5cbi8qKlxuICogTmV4dCBgQVBJYCByb3V0ZSByZXNwb25zZVxuICovXG5leHBvcnQgdHlwZSBOZXh0QXBpUmVzcG9uc2U8RGF0YSA9IGFueT4gPSBTZXJ2ZXJSZXNwb25zZSAmIHtcbiAgLyoqXG4gICAqIFNlbmQgZGF0YSBgYW55YCBkYXRhIGluIHJlc3BvbnNlXG4gICAqL1xuICBzZW5kOiBTZW5kPERhdGE+XG4gIC8qKlxuICAgKiBTZW5kIGRhdGEgYGpzb25gIGRhdGEgaW4gcmVzcG9uc2VcbiAgICovXG4gIGpzb246IFNlbmQ8RGF0YT5cbiAgc3RhdHVzOiAoc3RhdHVzQ29kZTogbnVtYmVyKSA9PiBOZXh0QXBpUmVzcG9uc2U8RGF0YT5cbiAgcmVkaXJlY3QodXJsOiBzdHJpbmcpOiBOZXh0QXBpUmVzcG9uc2U8RGF0YT5cbiAgcmVkaXJlY3Qoc3RhdHVzOiBudW1iZXIsIHVybDogc3RyaW5nKTogTmV4dEFwaVJlc3BvbnNlPERhdGE+XG5cbiAgLyoqXG4gICAqIFNldCBkcmFmdCBtb2RlXG4gICAqL1xuICBzZXREcmFmdE1vZGU6IChvcHRpb25zOiB7IGVuYWJsZTogYm9vbGVhbiB9KSA9PiBOZXh0QXBpUmVzcG9uc2U8RGF0YT5cblxuICAvKipcbiAgICogU2V0IHByZXZpZXcgZGF0YSBmb3IgTmV4dC5qcycgcHJlcmVuZGVyIG1vZGVcbiAgICovXG4gIHNldFByZXZpZXdEYXRhOiAoXG4gICAgZGF0YTogb2JqZWN0IHwgc3RyaW5nLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICAvKipcbiAgICAgICAqIFNwZWNpZmllcyB0aGUgbnVtYmVyIChpbiBzZWNvbmRzKSBmb3IgdGhlIHByZXZpZXcgc2Vzc2lvbiB0byBsYXN0IGZvci5cbiAgICAgICAqIFRoZSBnaXZlbiBudW1iZXIgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gaW50ZWdlciBieSByb3VuZGluZyBkb3duLlxuICAgICAgICogQnkgZGVmYXVsdCwgbm8gbWF4aW11bSBhZ2UgaXMgc2V0IGFuZCB0aGUgcHJldmlldyBzZXNzaW9uIGZpbmlzaGVzXG4gICAgICAgKiB3aGVuIHRoZSBjbGllbnQgc2h1dHMgZG93biAoYnJvd3NlciBpcyBjbG9zZWQpLlxuICAgICAgICovXG4gICAgICBtYXhBZ2U/OiBudW1iZXJcbiAgICAgIC8qKlxuICAgICAgICogU3BlY2lmaWVzIHRoZSBwYXRoIGZvciB0aGUgcHJldmlldyBzZXNzaW9uIHRvIHdvcmsgdW5kZXIuIEJ5IGRlZmF1bHQsXG4gICAgICAgKiB0aGUgcGF0aCBpcyBjb25zaWRlcmVkIHRoZSBcImRlZmF1bHQgcGF0aFwiLCBpLmUuLCBhbnkgcGFnZXMgdW5kZXIgXCIvXCIuXG4gICAgICAgKi9cbiAgICAgIHBhdGg/OiBzdHJpbmdcbiAgICB9XG4gICkgPT4gTmV4dEFwaVJlc3BvbnNlPERhdGE+XG5cbiAgLyoqXG4gICAqIENsZWFyIHByZXZpZXcgZGF0YSBmb3IgTmV4dC5qcycgcHJlcmVuZGVyIG1vZGVcbiAgICovXG4gIGNsZWFyUHJldmlld0RhdGE6IChvcHRpb25zPzogeyBwYXRoPzogc3RyaW5nIH0pID0+IE5leHRBcGlSZXNwb25zZTxEYXRhPlxuXG4gIC8qKlxuICAgKiBSZXZhbGlkYXRlIGEgc3BlY2lmaWMgcGFnZSBhbmQgcmVnZW5lcmF0ZSBpdCB1c2luZyBPbi1EZW1hbmQgSW5jcmVtZW50YWxcbiAgICogU3RhdGljIFJlZ2VuZXJhdGlvbi5cbiAgICogVGhlIHBhdGggc2hvdWxkIGJlIGFuIGFjdHVhbCBwYXRoLCBub3QgYSByZXdyaXR0ZW4gcGF0aC4gRS5nLiBmb3JcbiAgICogXCIvYmxvZy9bc2x1Z11cIiB0aGlzIHNob3VsZCBiZSBcIi9ibG9nL3Bvc3QtMVwiLlxuICAgKiBAbGluayBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9kYXRhLWZldGNoaW5nL2luY3JlbWVudGFsLXN0YXRpYy1yZWdlbmVyYXRpb24jb24tZGVtYW5kLXJldmFsaWRhdGlvbi13aXRoLXJldmFsaWRhdGVwYXRoXG4gICAqL1xuICByZXZhbGlkYXRlOiAoXG4gICAgdXJsUGF0aDogc3RyaW5nLFxuICAgIG9wdHM/OiB7XG4gICAgICB1bnN0YWJsZV9vbmx5R2VuZXJhdGVkPzogYm9vbGVhblxuICAgIH1cbiAgKSA9PiBQcm9taXNlPHZvaWQ+XG59XG5cbi8qKlxuICogTmV4dCBgQVBJYCByb3V0ZSBoYW5kbGVyXG4gKi9cbmV4cG9ydCB0eXBlIE5leHRBcGlIYW5kbGVyPFQgPSBhbnk+ID0gKFxuICByZXE6IE5leHRBcGlSZXF1ZXN0LFxuICByZXM6IE5leHRBcGlSZXNwb25zZTxUPlxuKSA9PiB1bmtub3duIHwgUHJvbWlzZTx1bmtub3duPlxuXG4vKipcbiAqIFV0aWxzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleGVjT25jZTxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBSZXR1cm5UeXBlPFQ+PihcbiAgZm46IFRcbik6IFQge1xuICBsZXQgdXNlZCA9IGZhbHNlXG4gIGxldCByZXN1bHQ6IFJldHVyblR5cGU8VD5cblxuICByZXR1cm4gKCguLi5hcmdzOiBhbnlbXSkgPT4ge1xuICAgIGlmICghdXNlZCkge1xuICAgICAgdXNlZCA9IHRydWVcbiAgICAgIHJlc3VsdCA9IGZuKC4uLmFyZ3MpXG4gICAgfVxuICAgIHJldHVybiByZXN1bHRcbiAgfSkgYXMgVFxufVxuXG4vLyBTY2hlbWU6IGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tMy4xXG4vLyBBYnNvbHV0ZSBVUkw6IGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tNC4zXG5jb25zdCBBQlNPTFVURV9VUkxfUkVHRVggPSAvXlthLXpBLVpdW2EtekEtWlxcZCtcXC0uXSo/Oi9cbmV4cG9ydCBjb25zdCBpc0Fic29sdXRlVXJsID0gKHVybDogc3RyaW5nKSA9PiBBQlNPTFVURV9VUkxfUkVHRVgudGVzdCh1cmwpXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMb2NhdGlvbk9yaWdpbigpIHtcbiAgY29uc3QgeyBwcm90b2NvbCwgaG9zdG5hbWUsIHBvcnQgfSA9IHdpbmRvdy5sb2NhdGlvblxuICByZXR1cm4gYCR7cHJvdG9jb2x9Ly8ke2hvc3RuYW1lfSR7cG9ydCA/ICc6JyArIHBvcnQgOiAnJ31gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVUkwoKSB7XG4gIGNvbnN0IHsgaHJlZiB9ID0gd2luZG93LmxvY2F0aW9uXG4gIGNvbnN0IG9yaWdpbiA9IGdldExvY2F0aW9uT3JpZ2luKClcbiAgcmV0dXJuIGhyZWYuc3Vic3RyaW5nKG9yaWdpbi5sZW5ndGgpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREaXNwbGF5TmFtZTxQPihDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8UD4pIHtcbiAgcmV0dXJuIHR5cGVvZiBDb21wb25lbnQgPT09ICdzdHJpbmcnXG4gICAgPyBDb21wb25lbnRcbiAgICA6IENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBDb21wb25lbnQubmFtZSB8fCAnVW5rbm93bidcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUmVzU2VudChyZXM6IFNlcnZlclJlc3BvbnNlKSB7XG4gIHJldHVybiByZXMuZmluaXNoZWQgfHwgcmVzLmhlYWRlcnNTZW50XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVSZXBlYXRlZFNsYXNoZXModXJsOiBzdHJpbmcpIHtcbiAgY29uc3QgdXJsUGFydHMgPSB1cmwuc3BsaXQoJz8nKVxuICBjb25zdCB1cmxOb1F1ZXJ5ID0gdXJsUGFydHNbMF1cblxuICByZXR1cm4gKFxuICAgIHVybE5vUXVlcnlcbiAgICAgIC8vIGZpcnN0IHdlIHJlcGxhY2UgYW55IG5vbi1lbmNvZGVkIGJhY2tzbGFzaGVzIHdpdGggZm9yd2FyZFxuICAgICAgLy8gdGhlbiBub3JtYWxpemUgcmVwZWF0ZWQgZm9yd2FyZCBzbGFzaGVzXG4gICAgICAucmVwbGFjZSgvXFxcXC9nLCAnLycpXG4gICAgICAucmVwbGFjZSgvXFwvXFwvKy9nLCAnLycpICtcbiAgICAodXJsUGFydHNbMV0gPyBgPyR7dXJsUGFydHMuc2xpY2UoMSkuam9pbignPycpfWAgOiAnJylcbiAgKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9hZEdldEluaXRpYWxQcm9wczxcbiAgQyBleHRlbmRzIEJhc2VDb250ZXh0LFxuICBJUCA9IHt9LFxuICBQID0ge30sXG4+KEFwcDogTmV4dENvbXBvbmVudFR5cGU8QywgSVAsIFA+LCBjdHg6IEMpOiBQcm9taXNlPElQPiB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgaWYgKEFwcC5wcm90b3R5cGU/LmdldEluaXRpYWxQcm9wcykge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBcIiR7Z2V0RGlzcGxheU5hbWUoXG4gICAgICAgIEFwcFxuICAgICAgKX0uZ2V0SW5pdGlhbFByb3BzKClcIiBpcyBkZWZpbmVkIGFzIGFuIGluc3RhbmNlIG1ldGhvZCAtIHZpc2l0IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2dldC1pbml0aWFsLXByb3BzLWFzLWFuLWluc3RhbmNlLW1ldGhvZCBmb3IgbW9yZSBpbmZvcm1hdGlvbi5gXG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSlcbiAgICB9XG4gIH1cbiAgLy8gd2hlbiBjYWxsZWQgZnJvbSBfYXBwIGBjdHhgIGlzIG5lc3RlZCBpbiBgY3R4YFxuICBjb25zdCByZXMgPSBjdHgucmVzIHx8IChjdHguY3R4ICYmIGN0eC5jdHgucmVzKVxuXG4gIGlmICghQXBwLmdldEluaXRpYWxQcm9wcykge1xuICAgIGlmIChjdHguY3R4ICYmIGN0eC5Db21wb25lbnQpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmUgcGFnZVByb3BzIGRlZmF1bHRcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhZ2VQcm9wczogYXdhaXQgbG9hZEdldEluaXRpYWxQcm9wcyhjdHguQ29tcG9uZW50LCBjdHguY3R4KSxcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHt9IGFzIElQXG4gIH1cblxuICBjb25zdCBwcm9wcyA9IGF3YWl0IEFwcC5nZXRJbml0aWFsUHJvcHMoY3R4KVxuXG4gIGlmIChyZXMgJiYgaXNSZXNTZW50KHJlcykpIHtcbiAgICByZXR1cm4gcHJvcHNcbiAgfVxuXG4gIGlmICghcHJvcHMpIHtcbiAgICBjb25zdCBtZXNzYWdlID0gYFwiJHtnZXREaXNwbGF5TmFtZShcbiAgICAgIEFwcFxuICAgICl9LmdldEluaXRpYWxQcm9wcygpXCIgc2hvdWxkIHJlc29sdmUgdG8gYW4gb2JqZWN0LiBCdXQgZm91bmQgXCIke3Byb3BzfVwiIGluc3RlYWQuYFxuICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKVxuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBpZiAoT2JqZWN0LmtleXMocHJvcHMpLmxlbmd0aCA9PT0gMCAmJiAhY3R4LmN0eCkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgJHtnZXREaXNwbGF5TmFtZShcbiAgICAgICAgICBBcHBcbiAgICAgICAgKX0gcmV0dXJuZWQgYW4gZW1wdHkgb2JqZWN0IGZyb20gXFxgZ2V0SW5pdGlhbFByb3BzXFxgLiBUaGlzIGRlLW9wdGltaXplcyBhbmQgcHJldmVudHMgYXV0b21hdGljIHN0YXRpYyBvcHRpbWl6YXRpb24uIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2VtcHR5LW9iamVjdC1nZXRJbml0aWFsUHJvcHNgXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHByb3BzXG59XG5cbmV4cG9ydCBjb25zdCBTUCA9IHR5cGVvZiBwZXJmb3JtYW5jZSAhPT0gJ3VuZGVmaW5lZCdcbmV4cG9ydCBjb25zdCBTVCA9XG4gIFNQICYmXG4gIChbJ21hcmsnLCAnbWVhc3VyZScsICdnZXRFbnRyaWVzQnlOYW1lJ10gYXMgY29uc3QpLmV2ZXJ5KFxuICAgIChtZXRob2QpID0+IHR5cGVvZiBwZXJmb3JtYW5jZVttZXRob2RdID09PSAnZnVuY3Rpb24nXG4gIClcblxuZXhwb3J0IGNsYXNzIERlY29kZUVycm9yIGV4dGVuZHMgRXJyb3Ige31cbmV4cG9ydCBjbGFzcyBOb3JtYWxpemVFcnJvciBleHRlbmRzIEVycm9yIHt9XG5leHBvcnQgY2xhc3MgUGFnZU5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvZGU6IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKHBhZ2U6IHN0cmluZykge1xuICAgIHN1cGVyKClcbiAgICB0aGlzLmNvZGUgPSAnRU5PRU5UJ1xuICAgIHRoaXMubmFtZSA9ICdQYWdlTm90Rm91bmRFcnJvcidcbiAgICB0aGlzLm1lc3NhZ2UgPSBgQ2Fubm90IGZpbmQgbW9kdWxlIGZvciBwYWdlOiAke3BhZ2V9YFxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNaXNzaW5nU3RhdGljUGFnZSBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IocGFnZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpXG4gICAgdGhpcy5tZXNzYWdlID0gYEZhaWxlZCB0byBsb2FkIHN0YXRpYyBmaWxlIGZvciBwYWdlOiAke3BhZ2V9ICR7bWVzc2FnZX1gXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1pZGRsZXdhcmVOb3RGb3VuZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb2RlOiBzdHJpbmdcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKVxuICAgIHRoaXMuY29kZSA9ICdFTk9FTlQnXG4gICAgdGhpcy5tZXNzYWdlID0gYENhbm5vdCBmaW5kIHRoZSBtaWRkbGV3YXJlIG1vZHVsZWBcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhY2hlRnMge1xuICBleGlzdHNTeW5jOiB0eXBlb2YgZnMuZXhpc3RzU3luY1xuICByZWFkRmlsZTogdHlwZW9mIGZzLnByb21pc2VzLnJlYWRGaWxlXG4gIHJlYWRGaWxlU3luYzogdHlwZW9mIGZzLnJlYWRGaWxlU3luY1xuICB3cml0ZUZpbGUoZjogc3RyaW5nLCBkOiBhbnkpOiBQcm9taXNlPHZvaWQ+XG4gIG1rZGlyKGRpcjogc3RyaW5nKTogUHJvbWlzZTx2b2lkIHwgc3RyaW5nPlxuICBzdGF0KGY6IHN0cmluZyk6IFByb21pc2U8eyBtdGltZTogRGF0ZSB9PlxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5naWZ5RXJyb3IoZXJyb3I6IEVycm9yKSB7XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeSh7IG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsIHN0YWNrOiBlcnJvci5zdGFjayB9KVxufVxuIl0sIm5hbWVzIjpbIkRlY29kZUVycm9yIiwiTWlkZGxld2FyZU5vdEZvdW5kRXJyb3IiLCJNaXNzaW5nU3RhdGljUGFnZSIsIk5vcm1hbGl6ZUVycm9yIiwiUGFnZU5vdEZvdW5kRXJyb3IiLCJTUCIsIlNUIiwiV0VCX1ZJVEFMUyIsImV4ZWNPbmNlIiwiZ2V0RGlzcGxheU5hbWUiLCJnZXRMb2NhdGlvbk9yaWdpbiIsImdldFVSTCIsImlzQWJzb2x1dGVVcmwiLCJpc1Jlc1NlbnQiLCJsb2FkR2V0SW5pdGlhbFByb3BzIiwibm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzIiwic3RyaW5naWZ5RXJyb3IiLCJmbiIsInVzZWQiLCJyZXN1bHQiLCJhcmdzIiwiQUJTT0xVVEVfVVJMX1JFR0VYIiwidXJsIiwidGVzdCIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJwb3J0Iiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwib3JpZ2luIiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiQ29tcG9uZW50IiwiZGlzcGxheU5hbWUiLCJuYW1lIiwicmVzIiwiZmluaXNoZWQiLCJoZWFkZXJzU2VudCIsInVybFBhcnRzIiwic3BsaXQiLCJ1cmxOb1F1ZXJ5IiwicmVwbGFjZSIsInNsaWNlIiwiam9pbiIsIkFwcCIsImN0eCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInByb3RvdHlwZSIsImdldEluaXRpYWxQcm9wcyIsIm1lc3NhZ2UiLCJFcnJvciIsInBhZ2VQcm9wcyIsInByb3BzIiwiT2JqZWN0Iiwia2V5cyIsImNvbnNvbGUiLCJ3YXJuIiwicGVyZm9ybWFuY2UiLCJldmVyeSIsIm1ldGhvZCIsImNvbnN0cnVjdG9yIiwicGFnZSIsImNvZGUiLCJlcnJvciIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGFjayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/utils.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/utils/error-once.js":
|
||
/*!**************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/utils/error-once.js ***!
|
||
\**************************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"errorOnce\", ({\n enumerable: true,\n get: function() {\n return errorOnce;\n }\n}));\nlet errorOnce = (_)=>{};\nif (true) {\n const errors = new Set();\n errorOnce = (msg)=>{\n if (!errors.has(msg)) {\n console.error(msg);\n }\n errors.add(msg);\n };\n} //# sourceMappingURL=error-once.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3V0aWxzL2Vycm9yLW9uY2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs2Q0FXU0E7OztlQUFBQTs7O0FBWFQsSUFBSUEsWUFBWSxDQUFDQyxLQUFlO0FBQ2hDLElBQUlDLElBQW9CLEVBQW1CO0lBQ3pDLE1BQU1HLFNBQVMsSUFBSUM7SUFDbkJOLFlBQVksQ0FBQ087UUFDWCxJQUFJLENBQUNGLE9BQU9HLEdBQUcsQ0FBQ0QsTUFBTTtZQUNwQkUsUUFBUUMsS0FBSyxDQUFDSDtRQUNoQjtRQUNBRixPQUFPTSxHQUFHLENBQUNKO0lBQ2I7QUFDRiIsInNvdXJjZXMiOlsiL3NyYy9zaGFyZWQvbGliL3V0aWxzL2Vycm9yLW9uY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsibGV0IGVycm9yT25jZSA9IChfOiBzdHJpbmcpID0+IHt9XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICBjb25zdCBlcnJvcnMgPSBuZXcgU2V0PHN0cmluZz4oKVxuICBlcnJvck9uY2UgPSAobXNnOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoIWVycm9ycy5oYXMobXNnKSkge1xuICAgICAgY29uc29sZS5lcnJvcihtc2cpXG4gICAgfVxuICAgIGVycm9ycy5hZGQobXNnKVxuICB9XG59XG5cbmV4cG9ydCB7IGVycm9yT25jZSB9XG4iXSwibmFtZXMiOlsiZXJyb3JPbmNlIiwiXyIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImVycm9ycyIsIlNldCIsIm1zZyIsImhhcyIsImNvbnNvbGUiLCJlcnJvciIsImFkZCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/utils/error-once.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/pino@10.3.1/node_modules/pino/browser.js":
|
||
/*!*********************************************************************!*\
|
||
!*** ./node_modules/.pnpm/pino@10.3.1/node_modules/pino/browser.js ***!
|
||
\*********************************************************************/
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\n\nconst format = __webpack_require__(/*! quick-format-unescaped */ \"(app-pages-browser)/./node_modules/.pnpm/quick-format-unescaped@4.0.4/node_modules/quick-format-unescaped/index.js\")\n\nmodule.exports = pino\n\nconst _console = pfGlobalThisOrFallback().console || {}\nconst stdSerializers = {\n mapHttpRequest: mock,\n mapHttpResponse: mock,\n wrapRequestSerializer: passthrough,\n wrapResponseSerializer: passthrough,\n wrapErrorSerializer: passthrough,\n req: mock,\n res: mock,\n err: asErrValue,\n errWithCause: asErrValue\n}\nfunction levelToValue (level, logger) {\n return level === 'silent'\n ? Infinity\n : logger.levels.values[level]\n}\nconst baseLogFunctionSymbol = Symbol('pino.logFuncs')\nconst hierarchySymbol = Symbol('pino.hierarchy')\n\nconst logFallbackMap = {\n error: 'log',\n fatal: 'error',\n warn: 'error',\n info: 'log',\n debug: 'log',\n trace: 'log'\n}\n\nfunction appendChildLogger (parentLogger, childLogger) {\n const newEntry = {\n logger: childLogger,\n parent: parentLogger[hierarchySymbol]\n }\n childLogger[hierarchySymbol] = newEntry\n}\n\nfunction setupBaseLogFunctions (logger, levels, proto) {\n const logFunctions = {}\n levels.forEach(level => {\n logFunctions[level] = proto[level] ? proto[level] : (_console[level] || _console[logFallbackMap[level] || 'log'] || noop)\n })\n logger[baseLogFunctionSymbol] = logFunctions\n}\n\nfunction shouldSerialize (serialize, serializers) {\n if (Array.isArray(serialize)) {\n const hasToFilter = serialize.filter(function (k) {\n return k !== '!stdSerializers.err'\n })\n return hasToFilter\n } else if (serialize === true) {\n return Object.keys(serializers)\n }\n\n return false\n}\n\nfunction pino (opts) {\n opts = opts || {}\n opts.browser = opts.browser || {}\n\n const transmit = opts.browser.transmit\n if (transmit && typeof transmit.send !== 'function') { throw Error('pino: transmit option must have a send function') }\n\n const proto = opts.browser.write || _console\n if (opts.browser.write) opts.browser.asObject = true\n const serializers = opts.serializers || {}\n const serialize = shouldSerialize(opts.browser.serialize, serializers)\n let stdErrSerialize = opts.browser.serialize\n\n if (\n Array.isArray(opts.browser.serialize) &&\n opts.browser.serialize.indexOf('!stdSerializers.err') > -1\n ) stdErrSerialize = false\n\n const customLevels = Object.keys(opts.customLevels || {})\n const levels = ['error', 'fatal', 'warn', 'info', 'debug', 'trace'].concat(customLevels)\n\n if (typeof proto === 'function') {\n levels.forEach(function (level) {\n proto[level] = proto\n })\n }\n if (opts.enabled === false || opts.browser.disabled) opts.level = 'silent'\n const level = opts.level || 'info'\n const logger = Object.create(proto)\n if (!logger.log) logger.log = noop\n\n setupBaseLogFunctions(logger, levels, proto)\n // setup root hierarchy entry\n appendChildLogger({}, logger)\n\n Object.defineProperty(logger, 'levelVal', {\n get: getLevelVal\n })\n Object.defineProperty(logger, 'level', {\n get: getLevel,\n set: setLevel\n })\n\n const setOpts = {\n transmit,\n serialize,\n asObject: opts.browser.asObject,\n asObjectBindingsOnly: opts.browser.asObjectBindingsOnly,\n formatters: opts.browser.formatters,\n reportCaller: opts.browser.reportCaller,\n levels,\n timestamp: getTimeFunction(opts),\n messageKey: opts.messageKey || 'msg',\n onChild: opts.onChild || noop\n }\n logger.levels = getLevels(opts)\n logger.level = level\n\n logger.isLevelEnabled = function (level) {\n if (!this.levels.values[level]) {\n return false\n }\n\n return this.levels.values[level] >= this.levels.values[this.level]\n }\n logger.setMaxListeners = logger.getMaxListeners =\n logger.emit = logger.addListener = logger.on =\n logger.prependListener = logger.once =\n logger.prependOnceListener = logger.removeListener =\n logger.removeAllListeners = logger.listeners =\n logger.listenerCount = logger.eventNames =\n logger.write = logger.flush = noop\n logger.serializers = serializers\n logger._serialize = serialize\n logger._stdErrSerialize = stdErrSerialize\n logger.child = function (...args) { return child.call(this, setOpts, ...args) }\n\n if (transmit) logger._logEvent = createLogEventShape()\n\n function getLevelVal () {\n return levelToValue(this.level, this)\n }\n\n function getLevel () {\n return this._level\n }\n function setLevel (level) {\n if (level !== 'silent' && !this.levels.values[level]) {\n throw Error('unknown level ' + level)\n }\n this._level = level\n\n set(this, setOpts, logger, 'error') // <-- must stay first\n set(this, setOpts, logger, 'fatal')\n set(this, setOpts, logger, 'warn')\n set(this, setOpts, logger, 'info')\n set(this, setOpts, logger, 'debug')\n set(this, setOpts, logger, 'trace')\n\n customLevels.forEach((level) => {\n set(this, setOpts, logger, level)\n })\n }\n\n function child (setOpts, bindings, childOptions) {\n if (!bindings) {\n throw new Error('missing bindings for child Pino')\n }\n childOptions = childOptions || {}\n if (serialize && bindings.serializers) {\n childOptions.serializers = bindings.serializers\n }\n const childOptionsSerializers = childOptions.serializers\n if (serialize && childOptionsSerializers) {\n var childSerializers = Object.assign({}, serializers, childOptionsSerializers)\n var childSerialize = opts.browser.serialize === true\n ? Object.keys(childSerializers)\n : serialize\n delete bindings.serializers\n applySerializers([bindings], childSerialize, childSerializers, this._stdErrSerialize)\n }\n function Child (parent) {\n this._childLevel = (parent._childLevel | 0) + 1\n\n // make sure bindings are available in the `set` function\n this.bindings = bindings\n\n if (childSerializers) {\n this.serializers = childSerializers\n this._serialize = childSerialize\n }\n if (transmit) {\n this._logEvent = createLogEventShape(\n [].concat(parent._logEvent.bindings, bindings)\n )\n }\n }\n Child.prototype = this\n const newLogger = new Child(this)\n\n // must happen before the level is assigned\n appendChildLogger(this, newLogger)\n newLogger.child = function (...args) { return child.call(this, setOpts, ...args) }\n // required to actually initialize the logger functions for any given child\n newLogger.level = childOptions.level || this.level // allow level to be set by childOptions\n setOpts.onChild(newLogger)\n\n return newLogger\n }\n return logger\n}\n\nfunction getLevels (opts) {\n const customLevels = opts.customLevels || {}\n\n const values = Object.assign({}, pino.levels.values, customLevels)\n const labels = Object.assign({}, pino.levels.labels, invertObject(customLevels))\n\n return {\n values,\n labels\n }\n}\n\nfunction invertObject (obj) {\n const inverted = {}\n Object.keys(obj).forEach(function (key) {\n inverted[obj[key]] = key\n })\n return inverted\n}\n\npino.levels = {\n values: {\n fatal: 60,\n error: 50,\n warn: 40,\n info: 30,\n debug: 20,\n trace: 10\n },\n labels: {\n 10: 'trace',\n 20: 'debug',\n 30: 'info',\n 40: 'warn',\n 50: 'error',\n 60: 'fatal'\n }\n}\n\npino.stdSerializers = stdSerializers\npino.stdTimeFunctions = Object.assign({}, { nullTime, epochTime, unixTime, isoTime })\n\nfunction getBindingChain (logger) {\n const bindings = []\n if (logger.bindings) {\n bindings.push(logger.bindings)\n }\n\n // traverse up the tree to get all bindings\n let hierarchy = logger[hierarchySymbol]\n while (hierarchy.parent) {\n hierarchy = hierarchy.parent\n if (hierarchy.logger.bindings) {\n bindings.push(hierarchy.logger.bindings)\n }\n }\n\n return bindings.reverse()\n}\n\nfunction set (self, opts, rootLogger, level) {\n // override the current log functions with either `noop` or the base log function\n Object.defineProperty(self, level, {\n value: (levelToValue(self.level, rootLogger) > levelToValue(level, rootLogger)\n ? noop\n : rootLogger[baseLogFunctionSymbol][level]),\n writable: true,\n enumerable: true,\n configurable: true\n })\n\n if (self[level] === noop) {\n if (!opts.transmit) return\n\n const transmitLevel = opts.transmit.level || self.level\n const transmitValue = levelToValue(transmitLevel, rootLogger)\n const methodValue = levelToValue(level, rootLogger)\n if (methodValue < transmitValue) return\n }\n\n // make sure the log format is correct\n self[level] = createWrap(self, opts, rootLogger, level)\n\n // prepend bindings if it is not the root logger\n const bindings = getBindingChain(self)\n if (bindings.length === 0) {\n // early exit in case for rootLogger\n return\n }\n self[level] = prependBindingsInArguments(bindings, self[level])\n}\n\nfunction prependBindingsInArguments (bindings, logFunc) {\n return function () {\n return logFunc.apply(this, [...bindings, ...arguments])\n }\n}\n\nfunction createWrap (self, opts, rootLogger, level) {\n return (function (write) {\n return function LOG () {\n const ts = opts.timestamp()\n const args = new Array(arguments.length)\n const proto = (Object.getPrototypeOf && Object.getPrototypeOf(this) === _console) ? _console : this\n for (var i = 0; i < args.length; i++) args[i] = arguments[i]\n\n var argsIsSerialized = false\n if (opts.serialize) {\n applySerializers(args, this._serialize, this.serializers, this._stdErrSerialize)\n argsIsSerialized = true\n }\n if (opts.asObject || opts.formatters) {\n const out = asObject(this, level, args, ts, opts)\n if (opts.reportCaller && out && out.length > 0 && out[0] && typeof out[0] === 'object') {\n try {\n const caller = getCallerLocation()\n if (caller) out[0].caller = caller\n } catch (e) {}\n }\n write.call(proto, ...out)\n } else {\n if (opts.reportCaller) {\n try {\n const caller = getCallerLocation()\n if (caller) args.push(caller)\n } catch (e) {}\n }\n write.apply(proto, args)\n }\n\n if (opts.transmit) {\n const transmitLevel = opts.transmit.level || self._level\n const transmitValue = levelToValue(transmitLevel, rootLogger)\n const methodValue = levelToValue(level, rootLogger)\n if (methodValue < transmitValue) return\n transmit(this, {\n ts,\n methodLevel: level,\n methodValue,\n transmitLevel,\n transmitValue: rootLogger.levels.values[opts.transmit.level || self._level],\n send: opts.transmit.send,\n val: levelToValue(self._level, rootLogger)\n }, args, argsIsSerialized)\n }\n }\n })(self[baseLogFunctionSymbol][level])\n}\n\nfunction asObject (logger, level, args, ts, opts) {\n const {\n level: levelFormatter,\n log: logObjectFormatter = (obj) => obj\n } = opts.formatters || {}\n const argsCloned = args.slice()\n let msg = argsCloned[0]\n const logObject = {}\n\n let lvl = (logger._childLevel | 0) + 1\n if (lvl < 1) lvl = 1\n\n if (ts) {\n logObject.time = ts\n }\n\n if (levelFormatter) {\n const formattedLevel = levelFormatter(level, logger.levels.values[level])\n Object.assign(logObject, formattedLevel)\n } else {\n logObject.level = logger.levels.values[level]\n }\n\n if (opts.asObjectBindingsOnly) {\n if (msg !== null && typeof msg === 'object') {\n while (lvl-- && typeof argsCloned[0] === 'object') {\n Object.assign(logObject, argsCloned.shift())\n }\n }\n\n const formattedLogObject = logObjectFormatter(logObject)\n return [formattedLogObject, ...argsCloned]\n } else {\n // deliberate, catching objects, arrays\n if (msg !== null && typeof msg === 'object') {\n while (lvl-- && typeof argsCloned[0] === 'object') {\n Object.assign(logObject, argsCloned.shift())\n }\n msg = argsCloned.length ? format(argsCloned.shift(), argsCloned) : undefined\n } else if (typeof msg === 'string') msg = format(argsCloned.shift(), argsCloned)\n if (msg !== undefined) logObject[opts.messageKey] = msg\n\n const formattedLogObject = logObjectFormatter(logObject)\n return [formattedLogObject]\n }\n}\n\nfunction applySerializers (args, serialize, serializers, stdErrSerialize) {\n for (const i in args) {\n if (stdErrSerialize && args[i] instanceof Error) {\n args[i] = pino.stdSerializers.err(args[i])\n } else if (typeof args[i] === 'object' && !Array.isArray(args[i]) && serialize) {\n for (const k in args[i]) {\n if (serialize.indexOf(k) > -1 && k in serializers) {\n args[i][k] = serializers[k](args[i][k])\n }\n }\n }\n }\n}\n\nfunction transmit (logger, opts, args, argsIsSerialized = false) {\n const send = opts.send\n const ts = opts.ts\n const methodLevel = opts.methodLevel\n const methodValue = opts.methodValue\n const val = opts.val\n const bindings = logger._logEvent.bindings\n\n if (!argsIsSerialized) {\n applySerializers(\n args,\n logger._serialize || Object.keys(logger.serializers),\n logger.serializers,\n logger._stdErrSerialize === undefined ? true : logger._stdErrSerialize\n )\n }\n\n logger._logEvent.ts = ts\n logger._logEvent.messages = args.filter(function (arg) {\n // bindings can only be objects, so reference equality check via indexOf is fine\n return bindings.indexOf(arg) === -1\n })\n\n logger._logEvent.level.label = methodLevel\n logger._logEvent.level.value = methodValue\n\n send(methodLevel, logger._logEvent, val)\n\n logger._logEvent = createLogEventShape(bindings)\n}\n\nfunction createLogEventShape (bindings) {\n return {\n ts: 0,\n messages: [],\n bindings: bindings || [],\n level: { label: '', value: 0 }\n }\n}\n\nfunction asErrValue (err) {\n const obj = {\n type: err.constructor.name,\n msg: err.message,\n stack: err.stack\n }\n for (const key in err) {\n if (obj[key] === undefined) {\n obj[key] = err[key]\n }\n }\n return obj\n}\n\nfunction getTimeFunction (opts) {\n if (typeof opts.timestamp === 'function') {\n return opts.timestamp\n }\n if (opts.timestamp === false) {\n return nullTime\n }\n return epochTime\n}\n\nfunction mock () { return {} }\nfunction passthrough (a) { return a }\nfunction noop () {}\n\nfunction nullTime () { return false }\nfunction epochTime () { return Date.now() }\nfunction unixTime () { return Math.round(Date.now() / 1000.0) }\nfunction isoTime () { return new Date(Date.now()).toISOString() } // using Date.now() for testability\n\n/* eslint-disable */\n/* istanbul ignore next */\nfunction pfGlobalThisOrFallback () {\n function defd (o) { return typeof o !== 'undefined' && o }\n try {\n if (typeof globalThis !== 'undefined') return globalThis\n Object.defineProperty(Object.prototype, 'globalThis', {\n get: function () {\n delete Object.prototype.globalThis\n return (this.globalThis = this)\n },\n configurable: true\n })\n return globalThis\n } catch (e) {\n return defd(self) || defd(window) || defd(this) || {}\n }\n}\n/* eslint-enable */\n\nmodule.exports[\"default\"] = pino\nmodule.exports.pino = pino\n\n// Attempt to extract the user callsite (file:line:column)\n/* istanbul ignore next */\nfunction getCallerLocation () {\n const stack = (new Error()).stack\n if (!stack) return null\n const lines = stack.split('\\n')\n for (let i = 1; i < lines.length; i++) {\n const l = lines[i].trim()\n // skip frames from this file and internals\n if (/(^at\\s+)?(createWrap|LOG|set\\s*\\(|asObject|Object\\.apply|Function\\.apply)/.test(l)) continue\n if (l.indexOf('browser.js') !== -1) continue\n if (l.indexOf('node:internal') !== -1) continue\n if (l.indexOf('node_modules') !== -1) continue\n // try formats like: at func (file:line:col) or at file:line:col\n let m = l.match(/\\((.*?):(\\d+):(\\d+)\\)/)\n if (!m) m = l.match(/at\\s+(.*?):(\\d+):(\\d+)/)\n if (m) {\n const file = m[1]\n const line = m[2]\n const col = m[3]\n return file + ':' + line + ':' + col\n }\n }\n return null\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9waW5vQDEwLjMuMS9ub2RlX21vZHVsZXMvcGluby9icm93c2VyLmpzIiwibWFwcGluZ3MiOiJBQUFZOztBQUVaLGVBQWUsbUJBQU8sQ0FBQyxrSkFBd0I7O0FBRS9DOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EseURBQXlEOztBQUV6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDBEQUEwRDtBQUMxRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0JBQXNCOztBQUV0QjtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7O0FBRXRDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7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QUNQO0FBQ0EsS0FBSztBQUNMO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHlCQUFzQjtBQUN0QixtQkFBbUI7O0FBRW5CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixrQkFBa0I7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL3Bpbm9AMTAuMy4xL25vZGVfbW9kdWxlcy9waW5vL2Jyb3dzZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXG5cbmNvbnN0IGZvcm1hdCA9IHJlcXVpcmUoJ3F1aWNrLWZvcm1hdC11bmVzY2FwZWQnKVxuXG5tb2R1bGUuZXhwb3J0cyA9IHBpbm9cblxuY29uc3QgX2NvbnNvbGUgPSBwZkdsb2JhbFRoaXNPckZhbGxiYWNrKCkuY29uc29sZSB8fCB7fVxuY29uc3Qgc3RkU2VyaWFsaXplcnMgPSB7XG4gIG1hcEh0dHBSZXF1ZXN0OiBtb2NrLFxuICBtYXBIdHRwUmVzcG9uc2U6IG1vY2ssXG4gIHdyYXBSZXF1ZXN0U2VyaWFsaXplcjogcGFzc3Rocm91Z2gsXG4gIHdyYXBSZXNwb25zZVNlcmlhbGl6ZXI6IHBhc3N0aHJvdWdoLFxuICB3cmFwRXJyb3JTZXJpYWxpemVyOiBwYXNzdGhyb3VnaCxcbiAgcmVxOiBtb2NrLFxuICByZXM6IG1vY2ssXG4gIGVycjogYXNFcnJWYWx1ZSxcbiAgZXJyV2l0aENhdXNlOiBhc0VyclZhbHVlXG59XG5mdW5jdGlvbiBsZXZlbFRvVmFsdWUgKGxldmVsLCBsb2dnZXIpIHtcbiAgcmV0dXJuIGxldmVsID09PSAnc2lsZW50J1xuICAgID8gSW5maW5pdHlcbiAgICA6IGxvZ2dlci5sZXZlbHMudmFsdWVzW2xldmVsXVxufVxuY29uc3QgYmFzZUxvZ0Z1bmN0aW9uU3ltYm9sID0gU3ltYm9sKCdwaW5vLmxvZ0Z1bmNzJylcbmNvbnN0IGhpZXJhcmNoeVN5bWJvbCA9IFN5bWJvbCgncGluby5oaWVyYXJjaHknKVxuXG5jb25zdCBsb2dGYWxsYmFja01hcCA9IHtcbiAgZXJyb3I6ICdsb2cnLFxuICBmYXRhbDogJ2Vycm9yJyxcbiAgd2FybjogJ2Vycm9yJyxcbiAgaW5mbzogJ2xvZycsXG4gIGRlYnVnOiAnbG9nJyxcbiAgdHJhY2U6ICdsb2cnXG59XG5cbmZ1bmN0aW9uIGFwcGVuZENoaWxkTG9nZ2VyIChwYXJlbnRMb2dnZXIsIGNoaWxkTG9nZ2VyKSB7XG4gIGNvbnN0IG5ld0VudHJ5ID0ge1xuICAgIGxvZ2dlcjogY2hpbGRMb2dnZXIsXG4gICAgcGFyZW50OiBwYXJlbnRMb2dnZXJbaGllcmFyY2h5U3ltYm9sXVxuICB9XG4gIGNoaWxkTG9nZ2VyW2hpZXJhcmNoeVN5bWJvbF0gPSBuZXdFbnRyeVxufVxuXG5mdW5jdGlvbiBzZXR1cEJhc2VMb2dGdW5jdGlvbnMgKGxvZ2dlciwgbGV2ZWxzLCBwcm90bykge1xuICBjb25zdCBsb2dGdW5jdGlvbnMgPSB7fVxuICBsZXZlbHMuZm9yRWFjaChsZXZlbCA9PiB7XG4gICAgbG9nRnVuY3Rpb25zW2xldmVsXSA9IHByb3RvW2xldmVsXSA/IHByb3RvW2xldmVsXSA6IChfY29uc29sZVtsZXZlbF0gfHwgX2NvbnNvbGVbbG9nRmFsbGJhY2tNYXBbbGV2ZWxdIHx8ICdsb2cnXSB8fCBub29wKVxuICB9KVxuICBsb2dnZXJbYmFzZUxvZ0Z1bmN0aW9uU3ltYm9sXSA9IGxvZ0Z1bmN0aW9uc1xufVxuXG5mdW5jdGlvbiBzaG91bGRTZXJpYWxpemUgKHNlcmlhbGl6ZSwgc2VyaWFsaXplcnMpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoc2VyaWFsaXplKSkge1xuICAgIGNvbnN0IGhhc1RvRmlsdGVyID0gc2VyaWFsaXplLmZpbHRlcihmdW5jdGlvbiAoaykge1xuICAgICAgcmV0dXJuIGsgIT09ICchc3RkU2VyaWFsaXplcnMuZXJyJ1xuICAgIH0pXG4gICAgcmV0dXJuIGhhc1RvRmlsdGVyXG4gIH0gZWxzZSBpZiAoc2VyaWFsaXplID09PSB0cnVlKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHNlcmlhbGl6ZXJzKVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmZ1bmN0aW9uIHBpbm8gKG9wdHMpIHtcbiAgb3B0cyA9IG9wdHMgfHwge31cbiAgb3B0cy5icm93c2VyID0gb3B0cy5icm93c2VyIHx8IHt9XG5cbiAgY29uc3QgdHJhbnNtaXQgPSBvcHRzLmJyb3dzZXIudHJhbnNtaXRcbiAgaWYgKHRyYW5zbWl0ICYmIHR5cGVvZiB0cmFuc21pdC5zZW5kICE9PSAnZnVuY3Rpb24nKSB7IHRocm93IEVycm9yKCdwaW5vOiB0cmFuc21pdCBvcHRpb24gbXVzdCBoYXZlIGEgc2VuZCBmdW5jdGlvbicpIH1cblxuICBjb25zdCBwcm90byA9IG9wdHMuYnJvd3Nlci53cml0ZSB8fCBfY29uc29sZVxuICBpZiAob3B0cy5icm93c2VyLndyaXRlKSBvcHRzLmJyb3dzZXIuYXNPYmplY3QgPSB0cnVlXG4gIGNvbnN0IHNlcmlhbGl6ZXJzID0gb3B0cy5zZXJpYWxpemVycyB8fCB7fVxuICBjb25zdCBzZXJpYWxpemUgPSBzaG91bGRTZXJpYWxpemUob3B0cy5icm93c2VyLnNlcmlhbGl6ZSwgc2VyaWFsaXplcnMpXG4gIGxldCBzdGRFcnJTZXJpYWxpemUgPSBvcHRzLmJyb3dzZXIuc2VyaWFsaXplXG5cbiAgaWYgKFxuICAgIEFycmF5LmlzQXJyYXkob3B0cy5icm93c2VyLnNlcmlhbGl6ZSkgJiZcbiAgICBvcHRzLmJyb3dzZXIuc2VyaWFsaXplLmluZGV4T2YoJyFzdGRTZXJpYWxpemVycy5lcnInKSA+IC0xXG4gICkgc3RkRXJyU2VyaWFsaXplID0gZmFsc2VcblxuICBjb25zdCBjdXN0b21MZXZlbHMgPSBPYmplY3Qua2V5cyhvcHRzLmN1c3RvbUxldmVscyB8fCB7fSlcbiAgY29uc3QgbGV2ZWxzID0gWydlcnJvcicsICdmYXRhbCcsICd3YXJuJywgJ2luZm8nLCAnZGVidWcnLCAndHJhY2UnXS5jb25jYXQoY3VzdG9tTGV2ZWxzKVxuXG4gIGlmICh0eXBlb2YgcHJvdG8gPT09ICdmdW5jdGlvbicpIHtcbiAgICBsZXZlbHMuZm9yRWFjaChmdW5jdGlvbiAobGV2ZWwpIHtcbiAgICAgIHByb3RvW2xldmVsXSA9IHByb3RvXG4gICAgfSlcbiAgfVxuICBpZiAob3B0cy5lbmFibGVkID09PSBmYWxzZSB8fCBvcHRzLmJyb3dzZXIuZGlzYWJsZWQpIG9wdHMubGV2ZWwgPSAnc2lsZW50J1xuICBjb25zdCBsZXZlbCA9IG9wdHMubGV2ZWwgfHwgJ2luZm8nXG4gIGNvbnN0IGxvZ2dlciA9IE9iamVjdC5jcmVhdGUocHJvdG8pXG4gIGlmICghbG9nZ2VyLmxvZykgbG9nZ2VyLmxvZyA9IG5vb3BcblxuICBzZXR1cEJhc2VMb2dGdW5jdGlvbnMobG9nZ2VyLCBsZXZlbHMsIHByb3RvKVxuICAvLyBzZXR1cCByb290IGhpZXJhcmNoeSBlbnRyeVxuICBhcHBlbmRDaGlsZExvZ2dlcih7fSwgbG9nZ2VyKVxuXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShsb2dnZXIsICdsZXZlbFZhbCcsIHtcbiAgICBnZXQ6IGdldExldmVsVmFsXG4gIH0pXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShsb2dnZXIsICdsZXZlbCcsIHtcbiAgICBnZXQ6IGdldExldmVsLFxuICAgIHNldDogc2V0TGV2ZWxcbiAgfSlcblxuICBjb25zdCBzZXRPcHRzID0ge1xuICAgIHRyYW5zbWl0LFxuICAgIHNlcmlhbGl6ZSxcbiAgICBhc09iamVjdDogb3B0cy5icm93c2VyLmFzT2JqZWN0LFxuICAgIGFzT2JqZWN0QmluZGluZ3NPbmx5OiBvcHRzLmJyb3dzZXIuYXNPYmplY3RCaW5kaW5nc09ubHksXG4gICAgZm9ybWF0dGVyczogb3B0cy5icm93c2VyLmZvcm1hdHRlcnMsXG4gICAgcmVwb3J0Q2FsbGVyOiBvcHRzLmJyb3dzZXIucmVwb3J0Q2FsbGVyLFxuICAgIGxldmVscyxcbiAgICB0aW1lc3RhbXA6IGdldFRpbWVGdW5jdGlvbihvcHRzKSxcbiAgICBtZXNzYWdlS2V5OiBvcHRzLm1lc3NhZ2VLZXkgfHwgJ21zZycsXG4gICAgb25DaGlsZDogb3B0cy5vbkNoaWxkIHx8IG5vb3BcbiAgfVxuICBsb2dnZXIubGV2ZWxzID0gZ2V0TGV2ZWxzKG9wdHMpXG4gIGxvZ2dlci5sZXZlbCA9IGxldmVsXG5cbiAgbG9nZ2VyLmlzTGV2ZWxFbmFibGVkID0gZnVuY3Rpb24gKGxldmVsKSB7XG4gICAgaWYgKCF0aGlzLmxldmVscy52YWx1ZXNbbGV2ZWxdKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5sZXZlbHMudmFsdWVzW2xldmVsXSA+PSB0aGlzLmxldmVscy52YWx1ZXNbdGhpcy5sZXZlbF1cbiAgfVxuICBsb2dnZXIuc2V0TWF4TGlzdGVuZXJzID0gbG9nZ2VyLmdldE1heExpc3RlbmVycyA9XG4gIGxvZ2dlci5lbWl0ID0gbG9nZ2VyLmFkZExpc3RlbmVyID0gbG9nZ2VyLm9uID1cbiAgbG9nZ2VyLnByZXBlbmRMaXN0ZW5lciA9IGxvZ2dlci5vbmNlID1cbiAgbG9nZ2VyLnByZXBlbmRPbmNlTGlzdGVuZXIgPSBsb2dnZXIucmVtb3ZlTGlzdGVuZXIgPVxuICBsb2dnZXIucmVtb3ZlQWxsTGlzdGVuZXJzID0gbG9nZ2VyLmxpc3RlbmVycyA9XG4gIGxvZ2dlci5saXN0ZW5lckNvdW50ID0gbG9nZ2VyLmV2ZW50TmFtZXMgPVxuICBsb2dnZXIud3JpdGUgPSBsb2dnZXIuZmx1c2ggPSBub29wXG4gIGxvZ2dlci5zZXJpYWxpemVycyA9IHNlcmlhbGl6ZXJzXG4gIGxvZ2dlci5fc2VyaWFsaXplID0gc2VyaWFsaXplXG4gIGxvZ2dlci5fc3RkRXJyU2VyaWFsaXplID0gc3RkRXJyU2VyaWFsaXplXG4gIGxvZ2dlci5jaGlsZCA9IGZ1bmN0aW9uICguLi5hcmdzKSB7IHJldHVybiBjaGlsZC5jYWxsKHRoaXMsIHNldE9wdHMsIC4uLmFyZ3MpIH1cblxuICBpZiAodHJhbnNtaXQpIGxvZ2dlci5fbG9nRXZlbnQgPSBjcmVhdGVMb2dFdmVudFNoYXBlKClcblxuICBmdW5jdGlvbiBnZXRMZXZlbFZhbCAoKSB7XG4gICAgcmV0dXJuIGxldmVsVG9WYWx1ZSh0aGlzLmxldmVsLCB0aGlzKVxuICB9XG5cbiAgZnVuY3Rpb24gZ2V0TGV2ZWwgKCkge1xuICAgIHJldHVybiB0aGlzLl9sZXZlbFxuICB9XG4gIGZ1bmN0aW9uIHNldExldmVsIChsZXZlbCkge1xuICAgIGlmIChsZXZlbCAhPT0gJ3NpbGVudCcgJiYgIXRoaXMubGV2ZWxzLnZhbHVlc1tsZXZlbF0pIHtcbiAgICAgIHRocm93IEVycm9yKCd1bmtub3duIGxldmVsICcgKyBsZXZlbClcbiAgICB9XG4gICAgdGhpcy5fbGV2ZWwgPSBsZXZlbFxuXG4gICAgc2V0KHRoaXMsIHNldE9wdHMsIGxvZ2dlciwgJ2Vycm9yJykgLy8gPC0tIG11c3Qgc3RheSBmaXJzdFxuICAgIHNldCh0aGlzLCBzZXRPcHRzLCBsb2dnZXIsICdmYXRhbCcpXG4gICAgc2V0KHRoaXMsIHNldE9wdHMsIGxvZ2dlciwgJ3dhcm4nKVxuICAgIHNldCh0aGlzLCBzZXRPcHRzLCBsb2dnZXIsICdpbmZvJylcbiAgICBzZXQodGhpcywgc2V0T3B0cywgbG9nZ2VyLCAnZGVidWcnKVxuICAgIHNldCh0aGlzLCBzZXRPcHRzLCBsb2dnZXIsICd0cmFjZScpXG5cbiAgICBjdXN0b21MZXZlbHMuZm9yRWFjaCgobGV2ZWwpID0+IHtcbiAgICAgIHNldCh0aGlzLCBzZXRPcHRzLCBsb2dnZXIsIGxldmVsKVxuICAgIH0pXG4gIH1cblxuICBmdW5jdGlvbiBjaGlsZCAoc2V0T3B0cywgYmluZGluZ3MsIGNoaWxkT3B0aW9ucykge1xuICAgIGlmICghYmluZGluZ3MpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyBiaW5kaW5ncyBmb3IgY2hpbGQgUGlubycpXG4gICAgfVxuICAgIGNoaWxkT3B0aW9ucyA9IGNoaWxkT3B0aW9ucyB8fCB7fVxuICAgIGlmIChzZXJpYWxpemUgJiYgYmluZGluZ3Muc2VyaWFsaXplcnMpIHtcbiAgICAgIGNoaWxkT3B0aW9ucy5zZXJpYWxpemVycyA9IGJpbmRpbmdzLnNlcmlhbGl6ZXJzXG4gICAgfVxuICAgIGNvbnN0IGNoaWxkT3B0aW9uc1NlcmlhbGl6ZXJzID0gY2hpbGRPcHRpb25zLnNlcmlhbGl6ZXJzXG4gICAgaWYgKHNlcmlhbGl6ZSAmJiBjaGlsZE9wdGlvbnNTZXJpYWxpemVycykge1xuICAgICAgdmFyIGNoaWxkU2VyaWFsaXplcnMgPSBPYmplY3QuYXNzaWduKHt9LCBzZXJpYWxpemVycywgY2hpbGRPcHRpb25zU2VyaWFsaXplcnMpXG4gICAgICB2YXIgY2hpbGRTZXJpYWxpemUgPSBvcHRzLmJyb3dzZXIuc2VyaWFsaXplID09PSB0cnVlXG4gICAgICAgID8gT2JqZWN0LmtleXMoY2hpbGRTZXJpYWxpemVycylcbiAgICAgICAgOiBzZXJpYWxpemVcbiAgICAgIGRlbGV0ZSBiaW5kaW5ncy5zZXJpYWxpemVyc1xuICAgICAgYXBwbHlTZXJpYWxpemVycyhbYmluZGluZ3NdLCBjaGlsZFNlcmlhbGl6ZSwgY2hpbGRTZXJpYWxpemVycywgdGhpcy5fc3RkRXJyU2VyaWFsaXplKVxuICAgIH1cbiAgICBmdW5jdGlvbiBDaGlsZCAocGFyZW50KSB7XG4gICAgICB0aGlzLl9jaGlsZExldmVsID0gKHBhcmVudC5fY2hpbGRMZXZlbCB8IDApICsgMVxuXG4gICAgICAvLyBtYWtlIHN1cmUgYmluZGluZ3MgYXJlIGF2YWlsYWJsZSBpbiB0aGUgYHNldGAgZnVuY3Rpb25cbiAgICAgIHRoaXMuYmluZGluZ3MgPSBiaW5kaW5nc1xuXG4gICAgICBpZiAoY2hpbGRTZXJpYWxpemVycykge1xuICAgICAgICB0aGlzLnNlcmlhbGl6ZXJzID0gY2hpbGRTZXJpYWxpemVyc1xuICAgICAgICB0aGlzLl9zZXJpYWxpemUgPSBjaGlsZFNlcmlhbGl6ZVxuICAgICAgfVxuICAgICAgaWYgKHRyYW5zbWl0KSB7XG4gICAgICAgIHRoaXMuX2xvZ0V2ZW50ID0gY3JlYXRlTG9nRXZlbnRTaGFwZShcbiAgICAgICAgICBbXS5jb25jYXQocGFyZW50Ll9sb2dFdmVudC5iaW5kaW5ncywgYmluZGluZ3MpXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gICAgQ2hpbGQucHJvdG90eXBlID0gdGhpc1xuICAgIGNvbnN0IG5ld0xvZ2dlciA9IG5ldyBDaGlsZCh0aGlzKVxuXG4gICAgLy8gbXVzdCBoYXBwZW4gYmVmb3JlIHRoZSBsZXZlbCBpcyBhc3NpZ25lZFxuICAgIGFwcGVuZENoaWxkTG9nZ2VyKHRoaXMsIG5ld0xvZ2dlcilcbiAgICBuZXdMb2dnZXIuY2hpbGQgPSBmdW5jdGlvbiAoLi4uYXJncykgeyByZXR1cm4gY2hpbGQuY2FsbCh0aGlzLCBzZXRPcHRzLCAuLi5hcmdzKSB9XG4gICAgLy8gcmVxdWlyZWQgdG8gYWN0dWFsbHkgaW5pdGlhbGl6ZSB0aGUgbG9nZ2VyIGZ1bmN0aW9ucyBmb3IgYW55IGdpdmVuIGNoaWxkXG4gICAgbmV3TG9nZ2VyLmxldmVsID0gY2hpbGRPcHRpb25zLmxldmVsIHx8IHRoaXMubGV2ZWwgLy8gYWxsb3cgbGV2ZWwgdG8gYmUgc2V0IGJ5IGNoaWxkT3B0aW9uc1xuICAgIHNldE9wdHMub25DaGlsZChuZXdMb2dnZXIpXG5cbiAgICByZXR1cm4gbmV3TG9nZ2VyXG4gIH1cbiAgcmV0dXJuIGxvZ2dlclxufVxuXG5mdW5jdGlvbiBnZXRMZXZlbHMgKG9wdHMpIHtcbiAgY29uc3QgY3VzdG9tTGV2ZWxzID0gb3B0cy5jdXN0b21MZXZlbHMgfHwge31cblxuICBjb25zdCB2YWx1ZXMgPSBPYmplY3QuYXNzaWduKHt9LCBwaW5vLmxldmVscy52YWx1ZXMsIGN1c3RvbUxldmVscylcbiAgY29uc3QgbGFiZWxzID0gT2JqZWN0LmFzc2lnbih7fSwgcGluby5sZXZlbHMubGFiZWxzLCBpbnZlcnRPYmplY3QoY3VzdG9tTGV2ZWxzKSlcblxuICByZXR1cm4ge1xuICAgIHZhbHVlcyxcbiAgICBsYWJlbHNcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZlcnRPYmplY3QgKG9iaikge1xuICBjb25zdCBpbnZlcnRlZCA9IHt9XG4gIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgaW52ZXJ0ZWRbb2JqW2tleV1dID0ga2V5XG4gIH0pXG4gIHJldHVybiBpbnZlcnRlZFxufVxuXG5waW5vLmxldmVscyA9IHtcbiAgdmFsdWVzOiB7XG4gICAgZmF0YWw6IDYwLFxuICAgIGVycm9yOiA1MCxcbiAgICB3YXJuOiA0MCxcbiAgICBpbmZvOiAzMCxcbiAgICBkZWJ1ZzogMjAsXG4gICAgdHJhY2U6IDEwXG4gIH0sXG4gIGxhYmVsczoge1xuICAgIDEwOiAndHJhY2UnLFxuICAgIDIwOiAnZGVidWcnLFxuICAgIDMwOiAnaW5mbycsXG4gICAgNDA6ICd3YXJuJyxcbiAgICA1MDogJ2Vycm9yJyxcbiAgICA2MDogJ2ZhdGFsJ1xuICB9XG59XG5cbnBpbm8uc3RkU2VyaWFsaXplcnMgPSBzdGRTZXJpYWxpemVyc1xucGluby5zdGRUaW1lRnVuY3Rpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgeyBudWxsVGltZSwgZXBvY2hUaW1lLCB1bml4VGltZSwgaXNvVGltZSB9KVxuXG5mdW5jdGlvbiBnZXRCaW5kaW5nQ2hhaW4gKGxvZ2dlcikge1xuICBjb25zdCBiaW5kaW5ncyA9IFtdXG4gIGlmIChsb2dnZXIuYmluZGluZ3MpIHtcbiAgICBiaW5kaW5ncy5wdXNoKGxvZ2dlci5iaW5kaW5ncylcbiAgfVxuXG4gIC8vIHRyYXZlcnNlIHVwIHRoZSB0cmVlIHRvIGdldCBhbGwgYmluZGluZ3NcbiAgbGV0IGhpZXJhcmNoeSA9IGxvZ2dlcltoaWVyYXJjaHlTeW1ib2xdXG4gIHdoaWxlIChoaWVyYXJjaHkucGFyZW50KSB7XG4gICAgaGllcmFyY2h5ID0gaGllcmFyY2h5LnBhcmVudFxuICAgIGlmIChoaWVyYXJjaHkubG9nZ2VyLmJpbmRpbmdzKSB7XG4gICAgICBiaW5kaW5ncy5wdXNoKGhpZXJhcmNoeS5sb2dnZXIuYmluZGluZ3MpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGJpbmRpbmdzLnJldmVyc2UoKVxufVxuXG5mdW5jdGlvbiBzZXQgKHNlbGYsIG9wdHMsIHJvb3RMb2dnZXIsIGxldmVsKSB7XG4gIC8vIG92ZXJyaWRlIHRoZSBjdXJyZW50IGxvZyBmdW5jdGlvbnMgd2l0aCBlaXRoZXIgYG5vb3BgIG9yIHRoZSBiYXNlIGxvZyBmdW5jdGlvblxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2VsZiwgbGV2ZWwsIHtcbiAgICB2YWx1ZTogKGxldmVsVG9WYWx1ZShzZWxmLmxldmVsLCByb290TG9nZ2VyKSA+IGxldmVsVG9WYWx1ZShsZXZlbCwgcm9vdExvZ2dlcilcbiAgICAgID8gbm9vcFxuICAgICAgOiByb290TG9nZ2VyW2Jhc2VMb2dGdW5jdGlvblN5bWJvbF1bbGV2ZWxdKSxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICB9KVxuXG4gIGlmIChzZWxmW2xldmVsXSA9PT0gbm9vcCkge1xuICAgIGlmICghb3B0cy50cmFuc21pdCkgcmV0dXJuXG5cbiAgICBjb25zdCB0cmFuc21pdExldmVsID0gb3B0cy50cmFuc21pdC5sZXZlbCB8fCBzZWxmLmxldmVsXG4gICAgY29uc3QgdHJhbnNtaXRWYWx1ZSA9IGxldmVsVG9WYWx1ZSh0cmFuc21pdExldmVsLCByb290TG9nZ2VyKVxuICAgIGNvbnN0IG1ldGhvZFZhbHVlID0gbGV2ZWxUb1ZhbHVlKGxldmVsLCByb290TG9nZ2VyKVxuICAgIGlmIChtZXRob2RWYWx1ZSA8IHRyYW5zbWl0VmFsdWUpIHJldHVyblxuICB9XG5cbiAgLy8gbWFrZSBzdXJlIHRoZSBsb2cgZm9ybWF0IGlzIGNvcnJlY3RcbiAgc2VsZltsZXZlbF0gPSBjcmVhdGVXcmFwKHNlbGYsIG9wdHMsIHJvb3RMb2dnZXIsIGxldmVsKVxuXG4gIC8vIHByZXBlbmQgYmluZGluZ3MgaWYgaXQgaXMgbm90IHRoZSByb290IGxvZ2dlclxuICBjb25zdCBiaW5kaW5ncyA9IGdldEJpbmRpbmdDaGFpbihzZWxmKVxuICBpZiAoYmluZGluZ3MubGVuZ3RoID09PSAwKSB7XG4gICAgLy8gZWFybHkgZXhpdCBpbiBjYXNlIGZvciByb290TG9nZ2VyXG4gICAgcmV0dXJuXG4gIH1cbiAgc2VsZltsZXZlbF0gPSBwcmVwZW5kQmluZGluZ3NJbkFyZ3VtZW50cyhiaW5kaW5ncywgc2VsZltsZXZlbF0pXG59XG5cbmZ1bmN0aW9uIHByZXBlbmRCaW5kaW5nc0luQXJndW1lbnRzIChiaW5kaW5ncywgbG9nRnVuYykge1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBsb2dGdW5jLmFwcGx5KHRoaXMsIFsuLi5iaW5kaW5ncywgLi4uYXJndW1lbnRzXSlcbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVXcmFwIChzZWxmLCBvcHRzLCByb290TG9nZ2VyLCBsZXZlbCkge1xuICByZXR1cm4gKGZ1bmN0aW9uICh3cml0ZSkge1xuICAgIHJldHVybiBmdW5jdGlvbiBMT0cgKCkge1xuICAgICAgY29uc3QgdHMgPSBvcHRzLnRpbWVzdGFtcCgpXG4gICAgICBjb25zdCBhcmdzID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpXG4gICAgICBjb25zdCBwcm90byA9IChPYmplY3QuZ2V0UHJvdG90eXBlT2YgJiYgT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpID09PSBfY29uc29sZSkgPyBfY29uc29sZSA6IHRoaXNcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkrKykgYXJnc1tpXSA9IGFyZ3VtZW50c1tpXVxuXG4gICAgICB2YXIgYXJnc0lzU2VyaWFsaXplZCA9IGZhbHNlXG4gICAgICBpZiAob3B0cy5zZXJpYWxpemUpIHtcbiAgICAgICAgYXBwbHlTZXJpYWxpemVycyhhcmdzLCB0aGlzLl9zZXJpYWxpemUsIHRoaXMuc2VyaWFsaXplcnMsIHRoaXMuX3N0ZEVyclNlcmlhbGl6ZSlcbiAgICAgICAgYXJnc0lzU2VyaWFsaXplZCA9IHRydWVcbiAgICAgIH1cbiAgICAgIGlmIChvcHRzLmFzT2JqZWN0IHx8IG9wdHMuZm9ybWF0dGVycykge1xuICAgICAgICBjb25zdCBvdXQgPSBhc09iamVjdCh0aGlzLCBsZXZlbCwgYXJncywgdHMsIG9wdHMpXG4gICAgICAgIGlmIChvcHRzLnJlcG9ydENhbGxlciAmJiBvdXQgJiYgb3V0Lmxlbmd0aCA+IDAgJiYgb3V0WzBdICYmIHR5cGVvZiBvdXRbMF0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGNhbGxlciA9IGdldENhbGxlckxvY2F0aW9uKClcbiAgICAgICAgICAgIGlmIChjYWxsZXIpIG91dFswXS5jYWxsZXIgPSBjYWxsZXJcbiAgICAgICAgICB9IGNhdGNoIChlKSB7fVxuICAgICAgICB9XG4gICAgICAgIHdyaXRlLmNhbGwocHJvdG8sIC4uLm91dClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChvcHRzLnJlcG9ydENhbGxlcikge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBjYWxsZXIgPSBnZXRDYWxsZXJMb2NhdGlvbigpXG4gICAgICAgICAgICBpZiAoY2FsbGVyKSBhcmdzLnB1c2goY2FsbGVyKVxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgICAgIH1cbiAgICAgICAgd3JpdGUuYXBwbHkocHJvdG8sIGFyZ3MpXG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRzLnRyYW5zbWl0KSB7XG4gICAgICAgIGNvbnN0IHRyYW5zbWl0TGV2ZWwgPSBvcHRzLnRyYW5zbWl0LmxldmVsIHx8IHNlbGYuX2xldmVsXG4gICAgICAgIGNvbnN0IHRyYW5zbWl0VmFsdWUgPSBsZXZlbFRvVmFsdWUodHJhbnNtaXRMZXZlbCwgcm9vdExvZ2dlcilcbiAgICAgICAgY29uc3QgbWV0aG9kVmFsdWUgPSBsZXZlbFRvVmFsdWUobGV2ZWwsIHJvb3RMb2dnZXIpXG4gICAgICAgIGlmIChtZXRob2RWYWx1ZSA8IHRyYW5zbWl0VmFsdWUpIHJldHVyblxuICAgICAgICB0cmFuc21pdCh0aGlzLCB7XG4gICAgICAgICAgdHMsXG4gICAgICAgICAgbWV0aG9kTGV2ZWw6IGxldmVsLFxuICAgICAgICAgIG1ldGhvZFZhbHVlLFxuICAgICAgICAgIHRyYW5zbWl0TGV2ZWwsXG4gICAgICAgICAgdHJhbnNtaXRWYWx1ZTogcm9vdExvZ2dlci5sZXZlbHMudmFsdWVzW29wdHMudHJhbnNtaXQubGV2ZWwgfHwgc2VsZi5fbGV2ZWxdLFxuICAgICAgICAgIHNlbmQ6IG9wdHMudHJhbnNtaXQuc2VuZCxcbiAgICAgICAgICB2YWw6IGxldmVsVG9WYWx1ZShzZWxmLl9sZXZlbCwgcm9vdExvZ2dlcilcbiAgICAgICAgfSwgYXJncywgYXJnc0lzU2VyaWFsaXplZClcbiAgICAgIH1cbiAgICB9XG4gIH0pKHNlbGZbYmFzZUxvZ0Z1bmN0aW9uU3ltYm9sXVtsZXZlbF0pXG59XG5cbmZ1bmN0aW9uIGFzT2JqZWN0IChsb2dnZXIsIGxldmVsLCBhcmdzLCB0cywgb3B0cykge1xuICBjb25zdCB7XG4gICAgbGV2ZWw6IGxldmVsRm9ybWF0dGVyLFxuICAgIGxvZzogbG9nT2JqZWN0Rm9ybWF0dGVyID0gKG9iaikgPT4gb2JqXG4gIH0gPSBvcHRzLmZvcm1hdHRlcnMgfHwge31cbiAgY29uc3QgYXJnc0Nsb25lZCA9IGFyZ3Muc2xpY2UoKVxuICBsZXQgbXNnID0gYXJnc0Nsb25lZFswXVxuICBjb25zdCBsb2dPYmplY3QgPSB7fVxuXG4gIGxldCBsdmwgPSAobG9nZ2VyLl9jaGlsZExldmVsIHwgMCkgKyAxXG4gIGlmIChsdmwgPCAxKSBsdmwgPSAxXG5cbiAgaWYgKHRzKSB7XG4gICAgbG9nT2JqZWN0LnRpbWUgPSB0c1xuICB9XG5cbiAgaWYgKGxldmVsRm9ybWF0dGVyKSB7XG4gICAgY29uc3QgZm9ybWF0dGVkTGV2ZWwgPSBsZXZlbEZvcm1hdHRlcihsZXZlbCwgbG9nZ2VyLmxldmVscy52YWx1ZXNbbGV2ZWxdKVxuICAgIE9iamVjdC5hc3NpZ24obG9nT2JqZWN0LCBmb3JtYXR0ZWRMZXZlbClcbiAgfSBlbHNlIHtcbiAgICBsb2dPYmplY3QubGV2ZWwgPSBsb2dnZXIubGV2ZWxzLnZhbHVlc1tsZXZlbF1cbiAgfVxuXG4gIGlmIChvcHRzLmFzT2JqZWN0QmluZGluZ3NPbmx5KSB7XG4gICAgaWYgKG1zZyAhPT0gbnVsbCAmJiB0eXBlb2YgbXNnID09PSAnb2JqZWN0Jykge1xuICAgICAgd2hpbGUgKGx2bC0tICYmIHR5cGVvZiBhcmdzQ2xvbmVkWzBdID09PSAnb2JqZWN0Jykge1xuICAgICAgICBPYmplY3QuYXNzaWduKGxvZ09iamVjdCwgYXJnc0Nsb25lZC5zaGlmdCgpKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdHRlZExvZ09iamVjdCA9IGxvZ09iamVjdEZvcm1hdHRlcihsb2dPYmplY3QpXG4gICAgcmV0dXJuIFtmb3JtYXR0ZWRMb2dPYmplY3QsIC4uLmFyZ3NDbG9uZWRdXG4gIH0gZWxzZSB7XG4gICAgLy8gZGVsaWJlcmF0ZSwgY2F0Y2hpbmcgb2JqZWN0cywgYXJyYXlzXG4gICAgaWYgKG1zZyAhPT0gbnVsbCAmJiB0eXBlb2YgbXNnID09PSAnb2JqZWN0Jykge1xuICAgICAgd2hpbGUgKGx2bC0tICYmIHR5cGVvZiBhcmdzQ2xvbmVkWzBdID09PSAnb2JqZWN0Jykge1xuICAgICAgICBPYmplY3QuYXNzaWduKGxvZ09iamVjdCwgYXJnc0Nsb25lZC5zaGlmdCgpKVxuICAgICAgfVxuICAgICAgbXNnID0gYXJnc0Nsb25lZC5sZW5ndGggPyBmb3JtYXQoYXJnc0Nsb25lZC5zaGlmdCgpLCBhcmdzQ2xvbmVkKSA6IHVuZGVmaW5lZFxuICAgIH0gZWxzZSBpZiAodHlwZW9mIG1zZyA9PT0gJ3N0cmluZycpIG1zZyA9IGZvcm1hdChhcmdzQ2xvbmVkLnNoaWZ0KCksIGFyZ3NDbG9uZWQpXG4gICAgaWYgKG1zZyAhPT0gdW5kZWZpbmVkKSBsb2dPYmplY3Rbb3B0cy5tZXNzYWdlS2V5XSA9IG1zZ1xuXG4gICAgY29uc3QgZm9ybWF0dGVkTG9nT2JqZWN0ID0gbG9nT2JqZWN0Rm9ybWF0dGVyKGxvZ09iamVjdClcbiAgICByZXR1cm4gW2Zvcm1hdHRlZExvZ09iamVjdF1cbiAgfVxufVxuXG5mdW5jdGlvbiBhcHBseVNlcmlhbGl6ZXJzIChhcmdzLCBzZXJpYWxpemUsIHNlcmlhbGl6ZXJzLCBzdGRFcnJTZXJpYWxpemUpIHtcbiAgZm9yIChjb25zdCBpIGluIGFyZ3MpIHtcbiAgICBpZiAoc3RkRXJyU2VyaWFsaXplICYmIGFyZ3NbaV0gaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgYXJnc1tpXSA9IHBpbm8uc3RkU2VyaWFsaXplcnMuZXJyKGFyZ3NbaV0pXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgYXJnc1tpXSA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoYXJnc1tpXSkgJiYgc2VyaWFsaXplKSB7XG4gICAgICBmb3IgKGNvbnN0IGsgaW4gYXJnc1tpXSkge1xuICAgICAgICBpZiAoc2VyaWFsaXplLmluZGV4T2YoaykgPiAtMSAmJiBrIGluIHNlcmlhbGl6ZXJzKSB7XG4gICAgICAgICAgYXJnc1tpXVtrXSA9IHNlcmlhbGl6ZXJzW2tdKGFyZ3NbaV1ba10pXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdHJhbnNtaXQgKGxvZ2dlciwgb3B0cywgYXJncywgYXJnc0lzU2VyaWFsaXplZCA9IGZhbHNlKSB7XG4gIGNvbnN0IHNlbmQgPSBvcHRzLnNlbmRcbiAgY29uc3QgdHMgPSBvcHRzLnRzXG4gIGNvbnN0IG1ldGhvZExldmVsID0gb3B0cy5tZXRob2RMZXZlbFxuICBjb25zdCBtZXRob2RWYWx1ZSA9IG9wdHMubWV0aG9kVmFsdWVcbiAgY29uc3QgdmFsID0gb3B0cy52YWxcbiAgY29uc3QgYmluZGluZ3MgPSBsb2dnZXIuX2xvZ0V2ZW50LmJpbmRpbmdzXG5cbiAgaWYgKCFhcmdzSXNTZXJpYWxpemVkKSB7XG4gICAgYXBwbHlTZXJpYWxpemVycyhcbiAgICAgIGFyZ3MsXG4gICAgICBsb2dnZXIuX3NlcmlhbGl6ZSB8fCBPYmplY3Qua2V5cyhsb2dnZXIuc2VyaWFsaXplcnMpLFxuICAgICAgbG9nZ2VyLnNlcmlhbGl6ZXJzLFxuICAgICAgbG9nZ2VyLl9zdGRFcnJTZXJpYWxpemUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBsb2dnZXIuX3N0ZEVyclNlcmlhbGl6ZVxuICAgIClcbiAgfVxuXG4gIGxvZ2dlci5fbG9nRXZlbnQudHMgPSB0c1xuICBsb2dnZXIuX2xvZ0V2ZW50Lm1lc3NhZ2VzID0gYXJncy5maWx0ZXIoZnVuY3Rpb24gKGFyZykge1xuICAgIC8vIGJpbmRpbmdzIGNhbiBvbmx5IGJlIG9iamVjdHMsIHNvIHJlZmVyZW5jZSBlcXVhbGl0eSBjaGVjayB2aWEgaW5kZXhPZiBpcyBmaW5lXG4gICAgcmV0dXJuIGJpbmRpbmdzLmluZGV4T2YoYXJnKSA9PT0gLTFcbiAgfSlcblxuICBsb2dnZXIuX2xvZ0V2ZW50LmxldmVsLmxhYmVsID0gbWV0aG9kTGV2ZWxcbiAgbG9nZ2VyLl9sb2dFdmVudC5sZXZlbC52YWx1ZSA9IG1ldGhvZFZhbHVlXG5cbiAgc2VuZChtZXRob2RMZXZlbCwgbG9nZ2VyLl9sb2dFdmVudCwgdmFsKVxuXG4gIGxvZ2dlci5fbG9nRXZlbnQgPSBjcmVhdGVMb2dFdmVudFNoYXBlKGJpbmRpbmdzKVxufVxuXG5mdW5jdGlvbiBjcmVhdGVMb2dFdmVudFNoYXBlIChiaW5kaW5ncykge1xuICByZXR1cm4ge1xuICAgIHRzOiAwLFxuICAgIG1lc3NhZ2VzOiBbXSxcbiAgICBiaW5kaW5nczogYmluZGluZ3MgfHwgW10sXG4gICAgbGV2ZWw6IHsgbGFiZWw6ICcnLCB2YWx1ZTogMCB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYXNFcnJWYWx1ZSAoZXJyKSB7XG4gIGNvbnN0IG9iaiA9IHtcbiAgICB0eXBlOiBlcnIuY29uc3RydWN0b3IubmFtZSxcbiAgICBtc2c6IGVyci5tZXNzYWdlLFxuICAgIHN0YWNrOiBlcnIuc3RhY2tcbiAgfVxuICBmb3IgKGNvbnN0IGtleSBpbiBlcnIpIHtcbiAgICBpZiAob2JqW2tleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgb2JqW2tleV0gPSBlcnJba2V5XVxuICAgIH1cbiAgfVxuICByZXR1cm4gb2JqXG59XG5cbmZ1bmN0aW9uIGdldFRpbWVGdW5jdGlvbiAob3B0cykge1xuICBpZiAodHlwZW9mIG9wdHMudGltZXN0YW1wID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIG9wdHMudGltZXN0YW1wXG4gIH1cbiAgaWYgKG9wdHMudGltZXN0YW1wID09PSBmYWxzZSkge1xuICAgIHJldHVybiBudWxsVGltZVxuICB9XG4gIHJldHVybiBlcG9jaFRpbWVcbn1cblxuZnVuY3Rpb24gbW9jayAoKSB7IHJldHVybiB7fSB9XG5mdW5jdGlvbiBwYXNzdGhyb3VnaCAoYSkgeyByZXR1cm4gYSB9XG5mdW5jdGlvbiBub29wICgpIHt9XG5cbmZ1bmN0aW9uIG51bGxUaW1lICgpIHsgcmV0dXJuIGZhbHNlIH1cbmZ1bmN0aW9uIGVwb2NoVGltZSAoKSB7IHJldHVybiBEYXRlLm5vdygpIH1cbmZ1bmN0aW9uIHVuaXhUaW1lICgpIHsgcmV0dXJuIE1hdGgucm91bmQoRGF0ZS5ub3coKSAvIDEwMDAuMCkgfVxuZnVuY3Rpb24gaXNvVGltZSAoKSB7IHJldHVybiBuZXcgRGF0ZShEYXRlLm5vdygpKS50b0lTT1N0cmluZygpIH0gLy8gdXNpbmcgRGF0ZS5ub3coKSBmb3IgdGVzdGFiaWxpdHlcblxuLyogZXNsaW50LWRpc2FibGUgKi9cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5mdW5jdGlvbiBwZkdsb2JhbFRoaXNPckZhbGxiYWNrICgpIHtcbiAgZnVuY3Rpb24gZGVmZCAobykgeyByZXR1cm4gdHlwZW9mIG8gIT09ICd1bmRlZmluZWQnICYmIG8gfVxuICB0cnkge1xuICAgIGlmICh0eXBlb2YgZ2xvYmFsVGhpcyAhPT0gJ3VuZGVmaW5lZCcpIHJldHVybiBnbG9iYWxUaGlzXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICdnbG9iYWxUaGlzJywge1xuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmdsb2JhbFRoaXNcbiAgICAgICAgcmV0dXJuICh0aGlzLmdsb2JhbFRoaXMgPSB0aGlzKVxuICAgICAgfSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pXG4gICAgcmV0dXJuIGdsb2JhbFRoaXNcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBkZWZkKHNlbGYpIHx8IGRlZmQod2luZG93KSB8fCBkZWZkKHRoaXMpIHx8IHt9XG4gIH1cbn1cbi8qIGVzbGludC1lbmFibGUgKi9cblxubW9kdWxlLmV4cG9ydHMuZGVmYXVsdCA9IHBpbm9cbm1vZHVsZS5leHBvcnRzLnBpbm8gPSBwaW5vXG5cbi8vIEF0dGVtcHQgdG8gZXh0cmFjdCB0aGUgdXNlciBjYWxsc2l0ZSAoZmlsZTpsaW5lOmNvbHVtbilcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5mdW5jdGlvbiBnZXRDYWxsZXJMb2NhdGlvbiAoKSB7XG4gIGNvbnN0IHN0YWNrID0gKG5ldyBFcnJvcigpKS5zdGFja1xuICBpZiAoIXN0YWNrKSByZXR1cm4gbnVsbFxuICBjb25zdCBsaW5lcyA9IHN0YWNrLnNwbGl0KCdcXG4nKVxuICBmb3IgKGxldCBpID0gMTsgaSA8IGxpbmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgbCA9IGxpbmVzW2ldLnRyaW0oKVxuICAgIC8vIHNraXAgZnJhbWVzIGZyb20gdGhpcyBmaWxlIGFuZCBpbnRlcm5hbHNcbiAgICBpZiAoLyheYXRcXHMrKT8oY3JlYXRlV3JhcHxMT0d8c2V0XFxzKlxcKHxhc09iamVjdHxPYmplY3RcXC5hcHBseXxGdW5jdGlvblxcLmFwcGx5KS8udGVzdChsKSkgY29udGludWVcbiAgICBpZiAobC5pbmRleE9mKCdicm93c2VyLmpzJykgIT09IC0xKSBjb250aW51ZVxuICAgIGlmIChsLmluZGV4T2YoJ25vZGU6aW50ZXJuYWwnKSAhPT0gLTEpIGNvbnRpbnVlXG4gICAgaWYgKGwuaW5kZXhPZignbm9kZV9tb2R1bGVzJykgIT09IC0xKSBjb250aW51ZVxuICAgIC8vIHRyeSBmb3JtYXRzIGxpa2U6IGF0IGZ1bmMgKGZpbGU6bGluZTpjb2wpIG9yIGF0IGZpbGU6bGluZTpjb2xcbiAgICBsZXQgbSA9IGwubWF0Y2goL1xcKCguKj8pOihcXGQrKTooXFxkKylcXCkvKVxuICAgIGlmICghbSkgbSA9IGwubWF0Y2goL2F0XFxzKyguKj8pOihcXGQrKTooXFxkKykvKVxuICAgIGlmIChtKSB7XG4gICAgICBjb25zdCBmaWxlID0gbVsxXVxuICAgICAgY29uc3QgbGluZSA9IG1bMl1cbiAgICAgIGNvbnN0IGNvbCA9IG1bM11cbiAgICAgIHJldHVybiBmaWxlICsgJzonICsgbGluZSArICc6JyArIGNvbFxuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbFxufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/pino@10.3.1/node_modules/pino/browser.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/quick-format-unescaped@4.0.4/node_modules/quick-format-unescaped/index.js":
|
||
/*!******************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/quick-format-unescaped@4.0.4/node_modules/quick-format-unescaped/index.js ***!
|
||
\******************************************************************************************************/
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nfunction tryStringify (o) {\n try { return JSON.stringify(o) } catch(e) { return '\"[Circular]\"' }\n}\n\nmodule.exports = format\n\nfunction format(f, args, opts) {\n var ss = (opts && opts.stringify) || tryStringify\n var offset = 1\n if (typeof f === 'object' && f !== null) {\n var len = args.length + offset\n if (len === 1) return f\n var objects = new Array(len)\n objects[0] = ss(f)\n for (var index = 1; index < len; index++) {\n objects[index] = ss(args[index])\n }\n return objects.join(' ')\n }\n if (typeof f !== 'string') {\n return f\n }\n var argLen = args.length\n if (argLen === 0) return f\n var str = ''\n var a = 1 - offset\n var lastPos = -1\n var flen = (f && f.length) || 0\n for (var i = 0; i < flen;) {\n if (f.charCodeAt(i) === 37 && i + 1 < flen) {\n lastPos = lastPos > -1 ? lastPos : 0\n switch (f.charCodeAt(i + 1)) {\n case 100: // 'd'\n case 102: // 'f'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Number(args[a])\n lastPos = i + 2\n i++\n break\n case 105: // 'i'\n if (a >= argLen)\n break\n if (args[a] == null) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += Math.floor(Number(args[a]))\n lastPos = i + 2\n i++\n break\n case 79: // 'O'\n case 111: // 'o'\n case 106: // 'j'\n if (a >= argLen)\n break\n if (args[a] === undefined) break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n var type = typeof args[a]\n if (type === 'string') {\n str += '\\'' + args[a] + '\\''\n lastPos = i + 2\n i++\n break\n }\n if (type === 'function') {\n str += args[a].name || '<anonymous>'\n lastPos = i + 2\n i++\n break\n }\n str += ss(args[a])\n lastPos = i + 2\n i++\n break\n case 115: // 's'\n if (a >= argLen)\n break\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += String(args[a])\n lastPos = i + 2\n i++\n break\n case 37: // '%'\n if (lastPos < i)\n str += f.slice(lastPos, i)\n str += '%'\n lastPos = i + 2\n i++\n a--\n break\n }\n ++a\n }\n ++i\n }\n if (lastPos === -1)\n return f\n else if (lastPos < flen) {\n str += f.slice(lastPos)\n }\n\n return str\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS9xdWljay1mb3JtYXQtdW5lc2NhcGVkQDQuMC40L25vZGVfbW9kdWxlcy9xdWljay1mb3JtYXQtdW5lc2NhcGVkL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFZO0FBQ1o7QUFDQSxRQUFRLDJCQUEyQixXQUFXO0FBQzlDOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsYUFBYTtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixTQUFTO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vcXVpY2stZm9ybWF0LXVuZXNjYXBlZEA0LjAuNC9ub2RlX21vZHVsZXMvcXVpY2stZm9ybWF0LXVuZXNjYXBlZC9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCdcbmZ1bmN0aW9uIHRyeVN0cmluZ2lmeSAobykge1xuICB0cnkgeyByZXR1cm4gSlNPTi5zdHJpbmdpZnkobykgfSBjYXRjaChlKSB7IHJldHVybiAnXCJbQ2lyY3VsYXJdXCInIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmb3JtYXRcblxuZnVuY3Rpb24gZm9ybWF0KGYsIGFyZ3MsIG9wdHMpIHtcbiAgdmFyIHNzID0gKG9wdHMgJiYgb3B0cy5zdHJpbmdpZnkpIHx8IHRyeVN0cmluZ2lmeVxuICB2YXIgb2Zmc2V0ID0gMVxuICBpZiAodHlwZW9mIGYgPT09ICdvYmplY3QnICYmIGYgIT09IG51bGwpIHtcbiAgICB2YXIgbGVuID0gYXJncy5sZW5ndGggKyBvZmZzZXRcbiAgICBpZiAobGVuID09PSAxKSByZXR1cm4gZlxuICAgIHZhciBvYmplY3RzID0gbmV3IEFycmF5KGxlbilcbiAgICBvYmplY3RzWzBdID0gc3MoZilcbiAgICBmb3IgKHZhciBpbmRleCA9IDE7IGluZGV4IDwgbGVuOyBpbmRleCsrKSB7XG4gICAgICBvYmplY3RzW2luZGV4XSA9IHNzKGFyZ3NbaW5kZXhdKVxuICAgIH1cbiAgICByZXR1cm4gb2JqZWN0cy5qb2luKCcgJylcbiAgfVxuICBpZiAodHlwZW9mIGYgIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZcbiAgfVxuICB2YXIgYXJnTGVuID0gYXJncy5sZW5ndGhcbiAgaWYgKGFyZ0xlbiA9PT0gMCkgcmV0dXJuIGZcbiAgdmFyIHN0ciA9ICcnXG4gIHZhciBhID0gMSAtIG9mZnNldFxuICB2YXIgbGFzdFBvcyA9IC0xXG4gIHZhciBmbGVuID0gKGYgJiYgZi5sZW5ndGgpIHx8IDBcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBmbGVuOykge1xuICAgIGlmIChmLmNoYXJDb2RlQXQoaSkgPT09IDM3ICYmIGkgKyAxIDwgZmxlbikge1xuICAgICAgbGFzdFBvcyA9IGxhc3RQb3MgPiAtMSA/IGxhc3RQb3MgOiAwXG4gICAgICBzd2l0Y2ggKGYuY2hhckNvZGVBdChpICsgMSkpIHtcbiAgICAgICAgY2FzZSAxMDA6IC8vICdkJ1xuICAgICAgICBjYXNlIDEwMjogLy8gJ2YnXG4gICAgICAgICAgaWYgKGEgPj0gYXJnTGVuKVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBpZiAoYXJnc1thXSA9PSBudWxsKSAgYnJlYWtcbiAgICAgICAgICBpZiAobGFzdFBvcyA8IGkpXG4gICAgICAgICAgICBzdHIgKz0gZi5zbGljZShsYXN0UG9zLCBpKVxuICAgICAgICAgIHN0ciArPSBOdW1iZXIoYXJnc1thXSlcbiAgICAgICAgICBsYXN0UG9zID0gaSArIDJcbiAgICAgICAgICBpKytcbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlIDEwNTogLy8gJ2knXG4gICAgICAgICAgaWYgKGEgPj0gYXJnTGVuKVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBpZiAoYXJnc1thXSA9PSBudWxsKSAgYnJlYWtcbiAgICAgICAgICBpZiAobGFzdFBvcyA8IGkpXG4gICAgICAgICAgICBzdHIgKz0gZi5zbGljZShsYXN0UG9zLCBpKVxuICAgICAgICAgIHN0ciArPSBNYXRoLmZsb29yKE51bWJlcihhcmdzW2FdKSlcbiAgICAgICAgICBsYXN0UG9zID0gaSArIDJcbiAgICAgICAgICBpKytcbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlIDc5OiAvLyAnTydcbiAgICAgICAgY2FzZSAxMTE6IC8vICdvJ1xuICAgICAgICBjYXNlIDEwNjogLy8gJ2onXG4gICAgICAgICAgaWYgKGEgPj0gYXJnTGVuKVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBpZiAoYXJnc1thXSA9PT0gdW5kZWZpbmVkKSBicmVha1xuICAgICAgICAgIGlmIChsYXN0UG9zIDwgaSlcbiAgICAgICAgICAgIHN0ciArPSBmLnNsaWNlKGxhc3RQb3MsIGkpXG4gICAgICAgICAgdmFyIHR5cGUgPSB0eXBlb2YgYXJnc1thXVxuICAgICAgICAgIGlmICh0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgc3RyICs9ICdcXCcnICsgYXJnc1thXSArICdcXCcnXG4gICAgICAgICAgICBsYXN0UG9zID0gaSArIDJcbiAgICAgICAgICAgIGkrK1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHN0ciArPSBhcmdzW2FdLm5hbWUgfHwgJzxhbm9ueW1vdXM+J1xuICAgICAgICAgICAgbGFzdFBvcyA9IGkgKyAyXG4gICAgICAgICAgICBpKytcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIHN0ciArPSBzcyhhcmdzW2FdKVxuICAgICAgICAgIGxhc3RQb3MgPSBpICsgMlxuICAgICAgICAgIGkrK1xuICAgICAgICAgIGJyZWFrXG4gICAgICAgIGNhc2UgMTE1OiAvLyAncydcbiAgICAgICAgICBpZiAoYSA+PSBhcmdMZW4pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGlmIChsYXN0UG9zIDwgaSlcbiAgICAgICAgICAgIHN0ciArPSBmLnNsaWNlKGxhc3RQb3MsIGkpXG4gICAgICAgICAgc3RyICs9IFN0cmluZyhhcmdzW2FdKVxuICAgICAgICAgIGxhc3RQb3MgPSBpICsgMlxuICAgICAgICAgIGkrK1xuICAgICAgICAgIGJyZWFrXG4gICAgICAgIGNhc2UgMzc6IC8vICclJ1xuICAgICAgICAgIGlmIChsYXN0UG9zIDwgaSlcbiAgICAgICAgICAgIHN0ciArPSBmLnNsaWNlKGxhc3RQb3MsIGkpXG4gICAgICAgICAgc3RyICs9ICclJ1xuICAgICAgICAgIGxhc3RQb3MgPSBpICsgMlxuICAgICAgICAgIGkrK1xuICAgICAgICAgIGEtLVxuICAgICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICArK2FcbiAgICB9XG4gICAgKytpXG4gIH1cbiAgaWYgKGxhc3RQb3MgPT09IC0xKVxuICAgIHJldHVybiBmXG4gIGVsc2UgaWYgKGxhc3RQb3MgPCBmbGVuKSB7XG4gICAgc3RyICs9IGYuc2xpY2UobGFzdFBvcylcbiAgfVxuXG4gIHJldHVybiBzdHJcbn1cbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/quick-format-unescaped@4.0.4/node_modules/quick-format-unescaped/index.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs":
|
||
/*!*************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs ***!
|
||
\*************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ createTailwindMerge: () => (/* binding */ createTailwindMerge),\n/* harmony export */ extendTailwindMerge: () => (/* binding */ extendTailwindMerge),\n/* harmony export */ fromTheme: () => (/* binding */ fromTheme),\n/* harmony export */ getDefaultConfig: () => (/* binding */ getDefaultConfig),\n/* harmony export */ mergeConfigs: () => (/* binding */ mergeConfigs),\n/* harmony export */ twJoin: () => (/* binding */ twJoin),\n/* harmony export */ twMerge: () => (/* binding */ twMerge),\n/* harmony export */ validators: () => (/* binding */ validators)\n/* harmony export */ });\n/**\n * Concatenates two arrays faster than the array spread operator.\n */\nconst concatArrays = (array1, array2) => {\n // Pre-allocate for better V8 optimization\n const combinedArray = new Array(array1.length + array2.length);\n for (let i = 0; i < array1.length; i++) {\n combinedArray[i] = array1[i];\n }\n for (let i = 0; i < array2.length; i++) {\n combinedArray[array1.length + i] = array2[i];\n }\n return combinedArray;\n};\n\n// Factory function ensures consistent object shapes\nconst createClassValidatorObject = (classGroupId, validator) => ({\n classGroupId,\n validator\n});\n// Factory ensures consistent ClassPartObject shape\nconst createClassPartObject = (nextPart = new Map(), validators = null, classGroupId) => ({\n nextPart,\n validators,\n classGroupId\n});\nconst CLASS_PART_SEPARATOR = '-';\nconst EMPTY_CONFLICTS = [];\n// I use two dots here because one dot is used as prefix for class groups in plugins\nconst ARBITRARY_PROPERTY_PREFIX = 'arbitrary..';\nconst createClassGroupUtils = config => {\n const classMap = createClassMap(config);\n const {\n conflictingClassGroups,\n conflictingClassGroupModifiers\n } = config;\n const getClassGroupId = className => {\n if (className.startsWith('[') && className.endsWith(']')) {\n return getGroupIdForArbitraryProperty(className);\n }\n const classParts = className.split(CLASS_PART_SEPARATOR);\n // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and skip it.\n const startIndex = classParts[0] === '' && classParts.length > 1 ? 1 : 0;\n return getGroupRecursive(classParts, startIndex, classMap);\n };\n const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {\n if (hasPostfixModifier) {\n const modifierConflicts = conflictingClassGroupModifiers[classGroupId];\n const baseConflicts = conflictingClassGroups[classGroupId];\n if (modifierConflicts) {\n if (baseConflicts) {\n // Merge base conflicts with modifier conflicts\n return concatArrays(baseConflicts, modifierConflicts);\n }\n // Only modifier conflicts\n return modifierConflicts;\n }\n // Fall back to without postfix if no modifier conflicts\n return baseConflicts || EMPTY_CONFLICTS;\n }\n return conflictingClassGroups[classGroupId] || EMPTY_CONFLICTS;\n };\n return {\n getClassGroupId,\n getConflictingClassGroupIds\n };\n};\nconst getGroupRecursive = (classParts, startIndex, classPartObject) => {\n const classPathsLength = classParts.length - startIndex;\n if (classPathsLength === 0) {\n return classPartObject.classGroupId;\n }\n const currentClassPart = classParts[startIndex];\n const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);\n if (nextClassPartObject) {\n const result = getGroupRecursive(classParts, startIndex + 1, nextClassPartObject);\n if (result) return result;\n }\n const validators = classPartObject.validators;\n if (validators === null) {\n return undefined;\n }\n // Build classRest string efficiently by joining from startIndex onwards\n const classRest = startIndex === 0 ? classParts.join(CLASS_PART_SEPARATOR) : classParts.slice(startIndex).join(CLASS_PART_SEPARATOR);\n const validatorsLength = validators.length;\n for (let i = 0; i < validatorsLength; i++) {\n const validatorObj = validators[i];\n if (validatorObj.validator(classRest)) {\n return validatorObj.classGroupId;\n }\n }\n return undefined;\n};\n/**\n * Get the class group ID for an arbitrary property.\n *\n * @param className - The class name to get the group ID for. Is expected to be string starting with `[` and ending with `]`.\n */\nconst getGroupIdForArbitraryProperty = className => className.slice(1, -1).indexOf(':') === -1 ? undefined : (() => {\n const content = className.slice(1, -1);\n const colonIndex = content.indexOf(':');\n const property = content.slice(0, colonIndex);\n return property ? ARBITRARY_PROPERTY_PREFIX + property : undefined;\n})();\n/**\n * Exported for testing only\n */\nconst createClassMap = config => {\n const {\n theme,\n classGroups\n } = config;\n return processClassGroups(classGroups, theme);\n};\n// Split into separate functions to maintain monomorphic call sites\nconst processClassGroups = (classGroups, theme) => {\n const classMap = createClassPartObject();\n for (const classGroupId in classGroups) {\n const group = classGroups[classGroupId];\n processClassesRecursively(group, classMap, classGroupId, theme);\n }\n return classMap;\n};\nconst processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {\n const len = classGroup.length;\n for (let i = 0; i < len; i++) {\n const classDefinition = classGroup[i];\n processClassDefinition(classDefinition, classPartObject, classGroupId, theme);\n }\n};\n// Split into separate functions for each type to maintain monomorphic call sites\nconst processClassDefinition = (classDefinition, classPartObject, classGroupId, theme) => {\n if (typeof classDefinition === 'string') {\n processStringDefinition(classDefinition, classPartObject, classGroupId);\n return;\n }\n if (typeof classDefinition === 'function') {\n processFunctionDefinition(classDefinition, classPartObject, classGroupId, theme);\n return;\n }\n processObjectDefinition(classDefinition, classPartObject, classGroupId, theme);\n};\nconst processStringDefinition = (classDefinition, classPartObject, classGroupId) => {\n const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);\n classPartObjectToEdit.classGroupId = classGroupId;\n};\nconst processFunctionDefinition = (classDefinition, classPartObject, classGroupId, theme) => {\n if (isThemeGetter(classDefinition)) {\n processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);\n return;\n }\n if (classPartObject.validators === null) {\n classPartObject.validators = [];\n }\n classPartObject.validators.push(createClassValidatorObject(classGroupId, classDefinition));\n};\nconst processObjectDefinition = (classDefinition, classPartObject, classGroupId, theme) => {\n const entries = Object.entries(classDefinition);\n const len = entries.length;\n for (let i = 0; i < len; i++) {\n const [key, value] = entries[i];\n processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme);\n }\n};\nconst getPart = (classPartObject, path) => {\n let current = classPartObject;\n const parts = path.split(CLASS_PART_SEPARATOR);\n const len = parts.length;\n for (let i = 0; i < len; i++) {\n const part = parts[i];\n let next = current.nextPart.get(part);\n if (!next) {\n next = createClassPartObject();\n current.nextPart.set(part, next);\n }\n current = next;\n }\n return current;\n};\n// Type guard maintains monomorphic check\nconst isThemeGetter = func => 'isThemeGetter' in func && func.isThemeGetter === true;\n\n// LRU cache implementation using plain objects for simplicity\nconst createLruCache = maxCacheSize => {\n if (maxCacheSize < 1) {\n return {\n get: () => undefined,\n set: () => {}\n };\n }\n let cacheSize = 0;\n let cache = Object.create(null);\n let previousCache = Object.create(null);\n const update = (key, value) => {\n cache[key] = value;\n cacheSize++;\n if (cacheSize > maxCacheSize) {\n cacheSize = 0;\n previousCache = cache;\n cache = Object.create(null);\n }\n };\n return {\n get(key) {\n let value = cache[key];\n if (value !== undefined) {\n return value;\n }\n if ((value = previousCache[key]) !== undefined) {\n update(key, value);\n return value;\n }\n },\n set(key, value) {\n if (key in cache) {\n cache[key] = value;\n } else {\n update(key, value);\n }\n }\n };\n};\nconst IMPORTANT_MODIFIER = '!';\nconst MODIFIER_SEPARATOR = ':';\nconst EMPTY_MODIFIERS = [];\n// Pre-allocated result object shape for consistency\nconst createResultObject = (modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition, isExternal) => ({\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition,\n isExternal\n});\nconst createParseClassName = config => {\n const {\n prefix,\n experimentalParseClassName\n } = config;\n /**\n * Parse class name into parts.\n *\n * Inspired by `splitAtTopLevelOnly` used in Tailwind CSS\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js\n */\n let parseClassName = className => {\n // Use simple array with push for better performance\n const modifiers = [];\n let bracketDepth = 0;\n let parenDepth = 0;\n let modifierStart = 0;\n let postfixModifierPosition;\n const len = className.length;\n for (let index = 0; index < len; index++) {\n const currentCharacter = className[index];\n if (bracketDepth === 0 && parenDepth === 0) {\n if (currentCharacter === MODIFIER_SEPARATOR) {\n modifiers.push(className.slice(modifierStart, index));\n modifierStart = index + 1;\n continue;\n }\n if (currentCharacter === '/') {\n postfixModifierPosition = index;\n continue;\n }\n }\n if (currentCharacter === '[') bracketDepth++;else if (currentCharacter === ']') bracketDepth--;else if (currentCharacter === '(') parenDepth++;else if (currentCharacter === ')') parenDepth--;\n }\n const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.slice(modifierStart);\n // Inline important modifier check\n let baseClassName = baseClassNameWithImportantModifier;\n let hasImportantModifier = false;\n if (baseClassNameWithImportantModifier.endsWith(IMPORTANT_MODIFIER)) {\n baseClassName = baseClassNameWithImportantModifier.slice(0, -1);\n hasImportantModifier = true;\n } else if (\n /**\n * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.\n * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864\n */\n baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)) {\n baseClassName = baseClassNameWithImportantModifier.slice(1);\n hasImportantModifier = true;\n }\n const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;\n return createResultObject(modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition);\n };\n if (prefix) {\n const fullPrefix = prefix + MODIFIER_SEPARATOR;\n const parseClassNameOriginal = parseClassName;\n parseClassName = className => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.slice(fullPrefix.length)) : createResultObject(EMPTY_MODIFIERS, false, className, undefined, true);\n }\n if (experimentalParseClassName) {\n const parseClassNameOriginal = parseClassName;\n parseClassName = className => experimentalParseClassName({\n className,\n parseClassName: parseClassNameOriginal\n });\n }\n return parseClassName;\n};\n\n/**\n * Sorts modifiers according to following schema:\n * - Predefined modifiers are sorted alphabetically\n * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it\n */\nconst createSortModifiers = config => {\n // Pre-compute weights for all known modifiers for O(1) comparison\n const modifierWeights = new Map();\n // Assign weights to sensitive modifiers (highest priority, but preserve order)\n config.orderSensitiveModifiers.forEach((mod, index) => {\n modifierWeights.set(mod, 1000000 + index); // High weights for sensitive mods\n });\n return modifiers => {\n const result = [];\n let currentSegment = [];\n // Process modifiers in one pass\n for (let i = 0; i < modifiers.length; i++) {\n const modifier = modifiers[i];\n // Check if modifier is sensitive (starts with '[' or in orderSensitiveModifiers)\n const isArbitrary = modifier[0] === '[';\n const isOrderSensitive = modifierWeights.has(modifier);\n if (isArbitrary || isOrderSensitive) {\n // Sort and flush current segment alphabetically\n if (currentSegment.length > 0) {\n currentSegment.sort();\n result.push(...currentSegment);\n currentSegment = [];\n }\n result.push(modifier);\n } else {\n // Regular modifier - add to current segment for batch sorting\n currentSegment.push(modifier);\n }\n }\n // Sort and add any remaining segment items\n if (currentSegment.length > 0) {\n currentSegment.sort();\n result.push(...currentSegment);\n }\n return result;\n };\n};\nconst createConfigUtils = config => ({\n cache: createLruCache(config.cacheSize),\n parseClassName: createParseClassName(config),\n sortModifiers: createSortModifiers(config),\n ...createClassGroupUtils(config)\n});\nconst SPLIT_CLASSES_REGEX = /\\s+/;\nconst mergeClassList = (classList, configUtils) => {\n const {\n parseClassName,\n getClassGroupId,\n getConflictingClassGroupIds,\n sortModifiers\n } = configUtils;\n /**\n * Set of classGroupIds in following format:\n * `{importantModifier}{variantModifiers}{classGroupId}`\n * @example 'float'\n * @example 'hover:focus:bg-color'\n * @example 'md:!pr'\n */\n const classGroupsInConflict = [];\n const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);\n let result = '';\n for (let index = classNames.length - 1; index >= 0; index -= 1) {\n const originalClassName = classNames[index];\n const {\n isExternal,\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition\n } = parseClassName(originalClassName);\n if (isExternal) {\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n let hasPostfixModifier = !!maybePostfixModifierPosition;\n let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);\n if (!classGroupId) {\n if (!hasPostfixModifier) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n classGroupId = getClassGroupId(baseClassName);\n if (!classGroupId) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n hasPostfixModifier = false;\n }\n // Fast path: skip sorting for empty or single modifier\n const variantModifier = modifiers.length === 0 ? '' : modifiers.length === 1 ? modifiers[0] : sortModifiers(modifiers).join(':');\n const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;\n const classId = modifierId + classGroupId;\n if (classGroupsInConflict.indexOf(classId) > -1) {\n // Tailwind class omitted due to conflict\n continue;\n }\n classGroupsInConflict.push(classId);\n const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);\n for (let i = 0; i < conflictGroups.length; ++i) {\n const group = conflictGroups[i];\n classGroupsInConflict.push(modifierId + group);\n }\n // Tailwind class not in conflict\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n }\n return result;\n};\n\n/**\n * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.\n *\n * Specifically:\n * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js\n * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts\n *\n * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)\n */\nconst twJoin = (...classLists) => {\n let index = 0;\n let argument;\n let resolvedValue;\n let string = '';\n while (index < classLists.length) {\n if (argument = classLists[index++]) {\n if (resolvedValue = toValue(argument)) {\n string && (string += ' ');\n string += resolvedValue;\n }\n }\n }\n return string;\n};\nconst toValue = mix => {\n // Fast path for strings\n if (typeof mix === 'string') {\n return mix;\n }\n let resolvedValue;\n let string = '';\n for (let k = 0; k < mix.length; k++) {\n if (mix[k]) {\n if (resolvedValue = toValue(mix[k])) {\n string && (string += ' ');\n string += resolvedValue;\n }\n }\n }\n return string;\n};\nconst createTailwindMerge = (createConfigFirst, ...createConfigRest) => {\n let configUtils;\n let cacheGet;\n let cacheSet;\n let functionToCall;\n const initTailwindMerge = classList => {\n const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());\n configUtils = createConfigUtils(config);\n cacheGet = configUtils.cache.get;\n cacheSet = configUtils.cache.set;\n functionToCall = tailwindMerge;\n return tailwindMerge(classList);\n };\n const tailwindMerge = classList => {\n const cachedResult = cacheGet(classList);\n if (cachedResult) {\n return cachedResult;\n }\n const result = mergeClassList(classList, configUtils);\n cacheSet(classList, result);\n return result;\n };\n functionToCall = initTailwindMerge;\n return (...args) => functionToCall(twJoin(...args));\n};\nconst fallbackThemeArr = [];\nconst fromTheme = key => {\n const themeGetter = theme => theme[key] || fallbackThemeArr;\n themeGetter.isThemeGetter = true;\n return themeGetter;\n};\nconst arbitraryValueRegex = /^\\[(?:(\\w[\\w-]*):)?(.+)\\]$/i;\nconst arbitraryVariableRegex = /^\\((?:(\\w[\\w-]*):)?(.+)\\)$/i;\nconst fractionRegex = /^\\d+(?:\\.\\d+)?\\/\\d+(?:\\.\\d+)?$/;\nconst tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/;\nconst lengthUnitRegex = /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/;\nconst colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\\(.+\\)$/;\n// Shadow always begins with x and y offset separated by underscore optionally prepended by inset\nconst shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/;\nconst imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/;\nconst isFraction = value => fractionRegex.test(value);\nconst isNumber = value => !!value && !Number.isNaN(Number(value));\nconst isInteger = value => !!value && Number.isInteger(Number(value));\nconst isPercent = value => value.endsWith('%') && isNumber(value.slice(0, -1));\nconst isTshirtSize = value => tshirtUnitRegex.test(value);\nconst isAny = () => true;\nconst isLengthOnly = value =>\n// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.\n// For example, `hsl(0 0% 0%)` would be classified as a length without this check.\n// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.\nlengthUnitRegex.test(value) && !colorFunctionRegex.test(value);\nconst isNever = () => false;\nconst isShadow = value => shadowRegex.test(value);\nconst isImage = value => imageRegex.test(value);\nconst isAnyNonArbitrary = value => !isArbitraryValue(value) && !isArbitraryVariable(value);\nconst isArbitrarySize = value => getIsArbitraryValue(value, isLabelSize, isNever);\nconst isArbitraryValue = value => arbitraryValueRegex.test(value);\nconst isArbitraryLength = value => getIsArbitraryValue(value, isLabelLength, isLengthOnly);\nconst isArbitraryNumber = value => getIsArbitraryValue(value, isLabelNumber, isNumber);\nconst isArbitraryWeight = value => getIsArbitraryValue(value, isLabelWeight, isAny);\nconst isArbitraryFamilyName = value => getIsArbitraryValue(value, isLabelFamilyName, isNever);\nconst isArbitraryPosition = value => getIsArbitraryValue(value, isLabelPosition, isNever);\nconst isArbitraryImage = value => getIsArbitraryValue(value, isLabelImage, isImage);\nconst isArbitraryShadow = value => getIsArbitraryValue(value, isLabelShadow, isShadow);\nconst isArbitraryVariable = value => arbitraryVariableRegex.test(value);\nconst isArbitraryVariableLength = value => getIsArbitraryVariable(value, isLabelLength);\nconst isArbitraryVariableFamilyName = value => getIsArbitraryVariable(value, isLabelFamilyName);\nconst isArbitraryVariablePosition = value => getIsArbitraryVariable(value, isLabelPosition);\nconst isArbitraryVariableSize = value => getIsArbitraryVariable(value, isLabelSize);\nconst isArbitraryVariableImage = value => getIsArbitraryVariable(value, isLabelImage);\nconst isArbitraryVariableShadow = value => getIsArbitraryVariable(value, isLabelShadow, true);\nconst isArbitraryVariableWeight = value => getIsArbitraryVariable(value, isLabelWeight, true);\n// Helpers\nconst getIsArbitraryValue = (value, testLabel, testValue) => {\n const result = arbitraryValueRegex.exec(value);\n if (result) {\n if (result[1]) {\n return testLabel(result[1]);\n }\n return testValue(result[2]);\n }\n return false;\n};\nconst getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {\n const result = arbitraryVariableRegex.exec(value);\n if (result) {\n if (result[1]) {\n return testLabel(result[1]);\n }\n return shouldMatchNoLabel;\n }\n return false;\n};\n// Labels\nconst isLabelPosition = label => label === 'position' || label === 'percentage';\nconst isLabelImage = label => label === 'image' || label === 'url';\nconst isLabelSize = label => label === 'length' || label === 'size' || label === 'bg-size';\nconst isLabelLength = label => label === 'length';\nconst isLabelNumber = label => label === 'number';\nconst isLabelFamilyName = label => label === 'family-name';\nconst isLabelWeight = label => label === 'number' || label === 'weight';\nconst isLabelShadow = label => label === 'shadow';\nconst validators = /*#__PURE__*/Object.defineProperty({\n __proto__: null,\n isAny,\n isAnyNonArbitrary,\n isArbitraryFamilyName,\n isArbitraryImage,\n isArbitraryLength,\n isArbitraryNumber,\n isArbitraryPosition,\n isArbitraryShadow,\n isArbitrarySize,\n isArbitraryValue,\n isArbitraryVariable,\n isArbitraryVariableFamilyName,\n isArbitraryVariableImage,\n isArbitraryVariableLength,\n isArbitraryVariablePosition,\n isArbitraryVariableShadow,\n isArbitraryVariableSize,\n isArbitraryVariableWeight,\n isArbitraryWeight,\n isFraction,\n isInteger,\n isNumber,\n isPercent,\n isTshirtSize\n}, Symbol.toStringTag, {\n value: 'Module'\n});\nconst getDefaultConfig = () => {\n /**\n * Theme getters for theme variable namespaces\n * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces\n */\n /***/\n const themeColor = fromTheme('color');\n const themeFont = fromTheme('font');\n const themeText = fromTheme('text');\n const themeFontWeight = fromTheme('font-weight');\n const themeTracking = fromTheme('tracking');\n const themeLeading = fromTheme('leading');\n const themeBreakpoint = fromTheme('breakpoint');\n const themeContainer = fromTheme('container');\n const themeSpacing = fromTheme('spacing');\n const themeRadius = fromTheme('radius');\n const themeShadow = fromTheme('shadow');\n const themeInsetShadow = fromTheme('inset-shadow');\n const themeTextShadow = fromTheme('text-shadow');\n const themeDropShadow = fromTheme('drop-shadow');\n const themeBlur = fromTheme('blur');\n const themePerspective = fromTheme('perspective');\n const themeAspect = fromTheme('aspect');\n const themeEase = fromTheme('ease');\n const themeAnimate = fromTheme('animate');\n /**\n * Helpers to avoid repeating the same scales\n *\n * We use functions that create a new array every time they're called instead of static arrays.\n * This ensures that users who modify any scale by mutating the array (e.g. with `array.push(element)`) don't accidentally mutate arrays in other parts of the config.\n */\n /***/\n const scaleBreak = () => ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];\n const scalePosition = () => ['center', 'top', 'bottom', 'left', 'right', 'top-left',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'left-top', 'top-right',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'right-top', 'bottom-right',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'right-bottom', 'bottom-left',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'left-bottom'];\n const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];\n const scaleOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'];\n const scaleOverscroll = () => ['auto', 'contain', 'none'];\n const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];\n const scaleInset = () => [isFraction, 'full', 'auto', ...scaleUnambiguousSpacing()];\n const scaleGridTemplateColsRows = () => [isInteger, 'none', 'subgrid', isArbitraryVariable, isArbitraryValue];\n const scaleGridColRowStartAndEnd = () => ['auto', {\n span: ['full', isInteger, isArbitraryVariable, isArbitraryValue]\n }, isInteger, isArbitraryVariable, isArbitraryValue];\n const scaleGridColRowStartOrEnd = () => [isInteger, 'auto', isArbitraryVariable, isArbitraryValue];\n const scaleGridAutoColsRows = () => ['auto', 'min', 'max', 'fr', isArbitraryVariable, isArbitraryValue];\n const scaleAlignPrimaryAxis = () => ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch', 'baseline', 'center-safe', 'end-safe'];\n const scaleAlignSecondaryAxis = () => ['start', 'end', 'center', 'stretch', 'center-safe', 'end-safe'];\n const scaleMargin = () => ['auto', ...scaleUnambiguousSpacing()];\n const scaleSizing = () => [isFraction, 'auto', 'full', 'dvw', 'dvh', 'lvw', 'lvh', 'svw', 'svh', 'min', 'max', 'fit', ...scaleUnambiguousSpacing()];\n const scaleSizingInline = () => [isFraction, 'screen', 'full', 'dvw', 'lvw', 'svw', 'min', 'max', 'fit', ...scaleUnambiguousSpacing()];\n const scaleSizingBlock = () => [isFraction, 'screen', 'full', 'lh', 'dvh', 'lvh', 'svh', 'min', 'max', 'fit', ...scaleUnambiguousSpacing()];\n const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];\n const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {\n position: [isArbitraryVariable, isArbitraryValue]\n }];\n const scaleBgRepeat = () => ['no-repeat', {\n repeat: ['', 'x', 'y', 'space', 'round']\n }];\n const scaleBgSize = () => ['auto', 'cover', 'contain', isArbitraryVariableSize, isArbitrarySize, {\n size: [isArbitraryVariable, isArbitraryValue]\n }];\n const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];\n const scaleRadius = () => [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', 'full', themeRadius, isArbitraryVariable, isArbitraryValue];\n const scaleBorderWidth = () => ['', isNumber, isArbitraryVariableLength, isArbitraryLength];\n const scaleLineStyle = () => ['solid', 'dashed', 'dotted', 'double'];\n const scaleBlendMode = () => ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity'];\n const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];\n const scaleBlur = () => [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', themeBlur, isArbitraryVariable, isArbitraryValue];\n const scaleRotate = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleScale = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];\n const scaleTranslate = () => [isFraction, 'full', ...scaleUnambiguousSpacing()];\n return {\n cacheSize: 500,\n theme: {\n animate: ['spin', 'ping', 'pulse', 'bounce'],\n aspect: ['video'],\n blur: [isTshirtSize],\n breakpoint: [isTshirtSize],\n color: [isAny],\n container: [isTshirtSize],\n 'drop-shadow': [isTshirtSize],\n ease: ['in', 'out', 'in-out'],\n font: [isAnyNonArbitrary],\n 'font-weight': ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black'],\n 'inset-shadow': [isTshirtSize],\n leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose'],\n perspective: ['dramatic', 'near', 'normal', 'midrange', 'distant', 'none'],\n radius: [isTshirtSize],\n shadow: [isTshirtSize],\n spacing: ['px', isNumber],\n text: [isTshirtSize],\n 'text-shadow': [isTshirtSize],\n tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest']\n },\n classGroups: {\n // --------------\n // --- Layout ---\n // --------------\n /**\n * Aspect Ratio\n * @see https://tailwindcss.com/docs/aspect-ratio\n */\n aspect: [{\n aspect: ['auto', 'square', isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]\n }],\n /**\n * Container\n * @see https://tailwindcss.com/docs/container\n * @deprecated since Tailwind CSS v4.0.0\n */\n container: ['container'],\n /**\n * Columns\n * @see https://tailwindcss.com/docs/columns\n */\n columns: [{\n columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]\n }],\n /**\n * Break After\n * @see https://tailwindcss.com/docs/break-after\n */\n 'break-after': [{\n 'break-after': scaleBreak()\n }],\n /**\n * Break Before\n * @see https://tailwindcss.com/docs/break-before\n */\n 'break-before': [{\n 'break-before': scaleBreak()\n }],\n /**\n * Break Inside\n * @see https://tailwindcss.com/docs/break-inside\n */\n 'break-inside': [{\n 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column']\n }],\n /**\n * Box Decoration Break\n * @see https://tailwindcss.com/docs/box-decoration-break\n */\n 'box-decoration': [{\n 'box-decoration': ['slice', 'clone']\n }],\n /**\n * Box Sizing\n * @see https://tailwindcss.com/docs/box-sizing\n */\n box: [{\n box: ['border', 'content']\n }],\n /**\n * Display\n * @see https://tailwindcss.com/docs/display\n */\n display: ['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'table', 'inline-table', 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row-group', 'table-row', 'flow-root', 'grid', 'inline-grid', 'contents', 'list-item', 'hidden'],\n /**\n * Screen Reader Only\n * @see https://tailwindcss.com/docs/display#screen-reader-only\n */\n sr: ['sr-only', 'not-sr-only'],\n /**\n * Floats\n * @see https://tailwindcss.com/docs/float\n */\n float: [{\n float: ['right', 'left', 'none', 'start', 'end']\n }],\n /**\n * Clear\n * @see https://tailwindcss.com/docs/clear\n */\n clear: [{\n clear: ['left', 'right', 'both', 'none', 'start', 'end']\n }],\n /**\n * Isolation\n * @see https://tailwindcss.com/docs/isolation\n */\n isolation: ['isolate', 'isolation-auto'],\n /**\n * Object Fit\n * @see https://tailwindcss.com/docs/object-fit\n */\n 'object-fit': [{\n object: ['contain', 'cover', 'fill', 'none', 'scale-down']\n }],\n /**\n * Object Position\n * @see https://tailwindcss.com/docs/object-position\n */\n 'object-position': [{\n object: scalePositionWithArbitrary()\n }],\n /**\n * Overflow\n * @see https://tailwindcss.com/docs/overflow\n */\n overflow: [{\n overflow: scaleOverflow()\n }],\n /**\n * Overflow X\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-x': [{\n 'overflow-x': scaleOverflow()\n }],\n /**\n * Overflow Y\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-y': [{\n 'overflow-y': scaleOverflow()\n }],\n /**\n * Overscroll Behavior\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n overscroll: [{\n overscroll: scaleOverscroll()\n }],\n /**\n * Overscroll Behavior X\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-x': [{\n 'overscroll-x': scaleOverscroll()\n }],\n /**\n * Overscroll Behavior Y\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-y': [{\n 'overscroll-y': scaleOverscroll()\n }],\n /**\n * Position\n * @see https://tailwindcss.com/docs/position\n */\n position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],\n /**\n * Inset\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n inset: [{\n inset: scaleInset()\n }],\n /**\n * Inset Inline\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-x': [{\n 'inset-x': scaleInset()\n }],\n /**\n * Inset Block\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-y': [{\n 'inset-y': scaleInset()\n }],\n /**\n * Inset Inline Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n * @todo class group will be renamed to `inset-s` in next major release\n */\n start: [{\n 'inset-s': scaleInset(),\n /**\n * @deprecated since Tailwind CSS v4.2.0 in favor of `inset-s-*` utilities.\n * @see https://github.com/tailwindlabs/tailwindcss/pull/19613\n */\n start: scaleInset()\n }],\n /**\n * Inset Inline End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n * @todo class group will be renamed to `inset-e` in next major release\n */\n end: [{\n 'inset-e': scaleInset(),\n /**\n * @deprecated since Tailwind CSS v4.2.0 in favor of `inset-e-*` utilities.\n * @see https://github.com/tailwindlabs/tailwindcss/pull/19613\n */\n end: scaleInset()\n }],\n /**\n * Inset Block Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-bs': [{\n 'inset-bs': scaleInset()\n }],\n /**\n * Inset Block End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-be': [{\n 'inset-be': scaleInset()\n }],\n /**\n * Top\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n top: [{\n top: scaleInset()\n }],\n /**\n * Right\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n right: [{\n right: scaleInset()\n }],\n /**\n * Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n bottom: [{\n bottom: scaleInset()\n }],\n /**\n * Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n left: [{\n left: scaleInset()\n }],\n /**\n * Visibility\n * @see https://tailwindcss.com/docs/visibility\n */\n visibility: ['visible', 'invisible', 'collapse'],\n /**\n * Z-Index\n * @see https://tailwindcss.com/docs/z-index\n */\n z: [{\n z: [isInteger, 'auto', isArbitraryVariable, isArbitraryValue]\n }],\n // ------------------------\n // --- Flexbox and Grid ---\n // ------------------------\n /**\n * Flex Basis\n * @see https://tailwindcss.com/docs/flex-basis\n */\n basis: [{\n basis: [isFraction, 'full', 'auto', themeContainer, ...scaleUnambiguousSpacing()]\n }],\n /**\n * Flex Direction\n * @see https://tailwindcss.com/docs/flex-direction\n */\n 'flex-direction': [{\n flex: ['row', 'row-reverse', 'col', 'col-reverse']\n }],\n /**\n * Flex Wrap\n * @see https://tailwindcss.com/docs/flex-wrap\n */\n 'flex-wrap': [{\n flex: ['nowrap', 'wrap', 'wrap-reverse']\n }],\n /**\n * Flex\n * @see https://tailwindcss.com/docs/flex\n */\n flex: [{\n flex: [isNumber, isFraction, 'auto', 'initial', 'none', isArbitraryValue]\n }],\n /**\n * Flex Grow\n * @see https://tailwindcss.com/docs/flex-grow\n */\n grow: [{\n grow: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Flex Shrink\n * @see https://tailwindcss.com/docs/flex-shrink\n */\n shrink: [{\n shrink: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Order\n * @see https://tailwindcss.com/docs/order\n */\n order: [{\n order: [isInteger, 'first', 'last', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Grid Template Columns\n * @see https://tailwindcss.com/docs/grid-template-columns\n */\n 'grid-cols': [{\n 'grid-cols': scaleGridTemplateColsRows()\n }],\n /**\n * Grid Column Start / End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start-end': [{\n col: scaleGridColRowStartAndEnd()\n }],\n /**\n * Grid Column Start\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start': [{\n 'col-start': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Column End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-end': [{\n 'col-end': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Template Rows\n * @see https://tailwindcss.com/docs/grid-template-rows\n */\n 'grid-rows': [{\n 'grid-rows': scaleGridTemplateColsRows()\n }],\n /**\n * Grid Row Start / End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start-end': [{\n row: scaleGridColRowStartAndEnd()\n }],\n /**\n * Grid Row Start\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start': [{\n 'row-start': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Row End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-end': [{\n 'row-end': scaleGridColRowStartOrEnd()\n }],\n /**\n * Grid Auto Flow\n * @see https://tailwindcss.com/docs/grid-auto-flow\n */\n 'grid-flow': [{\n 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense']\n }],\n /**\n * Grid Auto Columns\n * @see https://tailwindcss.com/docs/grid-auto-columns\n */\n 'auto-cols': [{\n 'auto-cols': scaleGridAutoColsRows()\n }],\n /**\n * Grid Auto Rows\n * @see https://tailwindcss.com/docs/grid-auto-rows\n */\n 'auto-rows': [{\n 'auto-rows': scaleGridAutoColsRows()\n }],\n /**\n * Gap\n * @see https://tailwindcss.com/docs/gap\n */\n gap: [{\n gap: scaleUnambiguousSpacing()\n }],\n /**\n * Gap X\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-x': [{\n 'gap-x': scaleUnambiguousSpacing()\n }],\n /**\n * Gap Y\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-y': [{\n 'gap-y': scaleUnambiguousSpacing()\n }],\n /**\n * Justify Content\n * @see https://tailwindcss.com/docs/justify-content\n */\n 'justify-content': [{\n justify: [...scaleAlignPrimaryAxis(), 'normal']\n }],\n /**\n * Justify Items\n * @see https://tailwindcss.com/docs/justify-items\n */\n 'justify-items': [{\n 'justify-items': [...scaleAlignSecondaryAxis(), 'normal']\n }],\n /**\n * Justify Self\n * @see https://tailwindcss.com/docs/justify-self\n */\n 'justify-self': [{\n 'justify-self': ['auto', ...scaleAlignSecondaryAxis()]\n }],\n /**\n * Align Content\n * @see https://tailwindcss.com/docs/align-content\n */\n 'align-content': [{\n content: ['normal', ...scaleAlignPrimaryAxis()]\n }],\n /**\n * Align Items\n * @see https://tailwindcss.com/docs/align-items\n */\n 'align-items': [{\n items: [...scaleAlignSecondaryAxis(), {\n baseline: ['', 'last']\n }]\n }],\n /**\n * Align Self\n * @see https://tailwindcss.com/docs/align-self\n */\n 'align-self': [{\n self: ['auto', ...scaleAlignSecondaryAxis(), {\n baseline: ['', 'last']\n }]\n }],\n /**\n * Place Content\n * @see https://tailwindcss.com/docs/place-content\n */\n 'place-content': [{\n 'place-content': scaleAlignPrimaryAxis()\n }],\n /**\n * Place Items\n * @see https://tailwindcss.com/docs/place-items\n */\n 'place-items': [{\n 'place-items': [...scaleAlignSecondaryAxis(), 'baseline']\n }],\n /**\n * Place Self\n * @see https://tailwindcss.com/docs/place-self\n */\n 'place-self': [{\n 'place-self': ['auto', ...scaleAlignSecondaryAxis()]\n }],\n // Spacing\n /**\n * Padding\n * @see https://tailwindcss.com/docs/padding\n */\n p: [{\n p: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Inline\n * @see https://tailwindcss.com/docs/padding\n */\n px: [{\n px: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Block\n * @see https://tailwindcss.com/docs/padding\n */\n py: [{\n py: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Inline Start\n * @see https://tailwindcss.com/docs/padding\n */\n ps: [{\n ps: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Inline End\n * @see https://tailwindcss.com/docs/padding\n */\n pe: [{\n pe: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Block Start\n * @see https://tailwindcss.com/docs/padding\n */\n pbs: [{\n pbs: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Block End\n * @see https://tailwindcss.com/docs/padding\n */\n pbe: [{\n pbe: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Top\n * @see https://tailwindcss.com/docs/padding\n */\n pt: [{\n pt: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Right\n * @see https://tailwindcss.com/docs/padding\n */\n pr: [{\n pr: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Bottom\n * @see https://tailwindcss.com/docs/padding\n */\n pb: [{\n pb: scaleUnambiguousSpacing()\n }],\n /**\n * Padding Left\n * @see https://tailwindcss.com/docs/padding\n */\n pl: [{\n pl: scaleUnambiguousSpacing()\n }],\n /**\n * Margin\n * @see https://tailwindcss.com/docs/margin\n */\n m: [{\n m: scaleMargin()\n }],\n /**\n * Margin Inline\n * @see https://tailwindcss.com/docs/margin\n */\n mx: [{\n mx: scaleMargin()\n }],\n /**\n * Margin Block\n * @see https://tailwindcss.com/docs/margin\n */\n my: [{\n my: scaleMargin()\n }],\n /**\n * Margin Inline Start\n * @see https://tailwindcss.com/docs/margin\n */\n ms: [{\n ms: scaleMargin()\n }],\n /**\n * Margin Inline End\n * @see https://tailwindcss.com/docs/margin\n */\n me: [{\n me: scaleMargin()\n }],\n /**\n * Margin Block Start\n * @see https://tailwindcss.com/docs/margin\n */\n mbs: [{\n mbs: scaleMargin()\n }],\n /**\n * Margin Block End\n * @see https://tailwindcss.com/docs/margin\n */\n mbe: [{\n mbe: scaleMargin()\n }],\n /**\n * Margin Top\n * @see https://tailwindcss.com/docs/margin\n */\n mt: [{\n mt: scaleMargin()\n }],\n /**\n * Margin Right\n * @see https://tailwindcss.com/docs/margin\n */\n mr: [{\n mr: scaleMargin()\n }],\n /**\n * Margin Bottom\n * @see https://tailwindcss.com/docs/margin\n */\n mb: [{\n mb: scaleMargin()\n }],\n /**\n * Margin Left\n * @see https://tailwindcss.com/docs/margin\n */\n ml: [{\n ml: scaleMargin()\n }],\n /**\n * Space Between X\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-x': [{\n 'space-x': scaleUnambiguousSpacing()\n }],\n /**\n * Space Between X Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-x-reverse': ['space-x-reverse'],\n /**\n * Space Between Y\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-y': [{\n 'space-y': scaleUnambiguousSpacing()\n }],\n /**\n * Space Between Y Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-y-reverse': ['space-y-reverse'],\n // --------------\n // --- Sizing ---\n // --------------\n /**\n * Size\n * @see https://tailwindcss.com/docs/width#setting-both-width-and-height\n */\n size: [{\n size: scaleSizing()\n }],\n /**\n * Inline Size\n * @see https://tailwindcss.com/docs/width\n */\n 'inline-size': [{\n inline: ['auto', ...scaleSizingInline()]\n }],\n /**\n * Min-Inline Size\n * @see https://tailwindcss.com/docs/min-width\n */\n 'min-inline-size': [{\n 'min-inline': ['auto', ...scaleSizingInline()]\n }],\n /**\n * Max-Inline Size\n * @see https://tailwindcss.com/docs/max-width\n */\n 'max-inline-size': [{\n 'max-inline': ['none', ...scaleSizingInline()]\n }],\n /**\n * Block Size\n * @see https://tailwindcss.com/docs/height\n */\n 'block-size': [{\n block: ['auto', ...scaleSizingBlock()]\n }],\n /**\n * Min-Block Size\n * @see https://tailwindcss.com/docs/min-height\n */\n 'min-block-size': [{\n 'min-block': ['auto', ...scaleSizingBlock()]\n }],\n /**\n * Max-Block Size\n * @see https://tailwindcss.com/docs/max-height\n */\n 'max-block-size': [{\n 'max-block': ['none', ...scaleSizingBlock()]\n }],\n /**\n * Width\n * @see https://tailwindcss.com/docs/width\n */\n w: [{\n w: [themeContainer, 'screen', ...scaleSizing()]\n }],\n /**\n * Min-Width\n * @see https://tailwindcss.com/docs/min-width\n */\n 'min-w': [{\n 'min-w': [themeContainer, 'screen', /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n 'none', ...scaleSizing()]\n }],\n /**\n * Max-Width\n * @see https://tailwindcss.com/docs/max-width\n */\n 'max-w': [{\n 'max-w': [themeContainer, 'screen', 'none', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n 'prose', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n {\n screen: [themeBreakpoint]\n }, ...scaleSizing()]\n }],\n /**\n * Height\n * @see https://tailwindcss.com/docs/height\n */\n h: [{\n h: ['screen', 'lh', ...scaleSizing()]\n }],\n /**\n * Min-Height\n * @see https://tailwindcss.com/docs/min-height\n */\n 'min-h': [{\n 'min-h': ['screen', 'lh', 'none', ...scaleSizing()]\n }],\n /**\n * Max-Height\n * @see https://tailwindcss.com/docs/max-height\n */\n 'max-h': [{\n 'max-h': ['screen', 'lh', ...scaleSizing()]\n }],\n // ------------------\n // --- Typography ---\n // ------------------\n /**\n * Font Size\n * @see https://tailwindcss.com/docs/font-size\n */\n 'font-size': [{\n text: ['base', themeText, isArbitraryVariableLength, isArbitraryLength]\n }],\n /**\n * Font Smoothing\n * @see https://tailwindcss.com/docs/font-smoothing\n */\n 'font-smoothing': ['antialiased', 'subpixel-antialiased'],\n /**\n * Font Style\n * @see https://tailwindcss.com/docs/font-style\n */\n 'font-style': ['italic', 'not-italic'],\n /**\n * Font Weight\n * @see https://tailwindcss.com/docs/font-weight\n */\n 'font-weight': [{\n font: [themeFontWeight, isArbitraryVariableWeight, isArbitraryWeight]\n }],\n /**\n * Font Stretch\n * @see https://tailwindcss.com/docs/font-stretch\n */\n 'font-stretch': [{\n 'font-stretch': ['ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded', isPercent, isArbitraryValue]\n }],\n /**\n * Font Family\n * @see https://tailwindcss.com/docs/font-family\n */\n 'font-family': [{\n font: [isArbitraryVariableFamilyName, isArbitraryFamilyName, themeFont]\n }],\n /**\n * Font Feature Settings\n * @see https://tailwindcss.com/docs/font-feature-settings\n */\n 'font-features': [{\n 'font-features': [isArbitraryValue]\n }],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-normal': ['normal-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-ordinal': ['ordinal'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-slashed-zero': ['slashed-zero'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-figure': ['lining-nums', 'oldstyle-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-spacing': ['proportional-nums', 'tabular-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],\n /**\n * Letter Spacing\n * @see https://tailwindcss.com/docs/letter-spacing\n */\n tracking: [{\n tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Line Clamp\n * @see https://tailwindcss.com/docs/line-clamp\n */\n 'line-clamp': [{\n 'line-clamp': [isNumber, 'none', isArbitraryVariable, isArbitraryNumber]\n }],\n /**\n * Line Height\n * @see https://tailwindcss.com/docs/line-height\n */\n leading: [{\n leading: [/** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n themeLeading, ...scaleUnambiguousSpacing()]\n }],\n /**\n * List Style Image\n * @see https://tailwindcss.com/docs/list-style-image\n */\n 'list-image': [{\n 'list-image': ['none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * List Style Position\n * @see https://tailwindcss.com/docs/list-style-position\n */\n 'list-style-position': [{\n list: ['inside', 'outside']\n }],\n /**\n * List Style Type\n * @see https://tailwindcss.com/docs/list-style-type\n */\n 'list-style-type': [{\n list: ['disc', 'decimal', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Text Alignment\n * @see https://tailwindcss.com/docs/text-align\n */\n 'text-alignment': [{\n text: ['left', 'center', 'right', 'justify', 'start', 'end']\n }],\n /**\n * Placeholder Color\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://v3.tailwindcss.com/docs/placeholder-color\n */\n 'placeholder-color': [{\n placeholder: scaleColor()\n }],\n /**\n * Text Color\n * @see https://tailwindcss.com/docs/text-color\n */\n 'text-color': [{\n text: scaleColor()\n }],\n /**\n * Text Decoration\n * @see https://tailwindcss.com/docs/text-decoration\n */\n 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],\n /**\n * Text Decoration Style\n * @see https://tailwindcss.com/docs/text-decoration-style\n */\n 'text-decoration-style': [{\n decoration: [...scaleLineStyle(), 'wavy']\n }],\n /**\n * Text Decoration Thickness\n * @see https://tailwindcss.com/docs/text-decoration-thickness\n */\n 'text-decoration-thickness': [{\n decoration: [isNumber, 'from-font', 'auto', isArbitraryVariable, isArbitraryLength]\n }],\n /**\n * Text Decoration Color\n * @see https://tailwindcss.com/docs/text-decoration-color\n */\n 'text-decoration-color': [{\n decoration: scaleColor()\n }],\n /**\n * Text Underline Offset\n * @see https://tailwindcss.com/docs/text-underline-offset\n */\n 'underline-offset': [{\n 'underline-offset': [isNumber, 'auto', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Text Transform\n * @see https://tailwindcss.com/docs/text-transform\n */\n 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],\n /**\n * Text Overflow\n * @see https://tailwindcss.com/docs/text-overflow\n */\n 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],\n /**\n * Text Wrap\n * @see https://tailwindcss.com/docs/text-wrap\n */\n 'text-wrap': [{\n text: ['wrap', 'nowrap', 'balance', 'pretty']\n }],\n /**\n * Text Indent\n * @see https://tailwindcss.com/docs/text-indent\n */\n indent: [{\n indent: scaleUnambiguousSpacing()\n }],\n /**\n * Vertical Alignment\n * @see https://tailwindcss.com/docs/vertical-align\n */\n 'vertical-align': [{\n align: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Whitespace\n * @see https://tailwindcss.com/docs/whitespace\n */\n whitespace: [{\n whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces']\n }],\n /**\n * Word Break\n * @see https://tailwindcss.com/docs/word-break\n */\n break: [{\n break: ['normal', 'words', 'all', 'keep']\n }],\n /**\n * Overflow Wrap\n * @see https://tailwindcss.com/docs/overflow-wrap\n */\n wrap: [{\n wrap: ['break-word', 'anywhere', 'normal']\n }],\n /**\n * Hyphens\n * @see https://tailwindcss.com/docs/hyphens\n */\n hyphens: [{\n hyphens: ['none', 'manual', 'auto']\n }],\n /**\n * Content\n * @see https://tailwindcss.com/docs/content\n */\n content: [{\n content: ['none', isArbitraryVariable, isArbitraryValue]\n }],\n // -------------------\n // --- Backgrounds ---\n // -------------------\n /**\n * Background Attachment\n * @see https://tailwindcss.com/docs/background-attachment\n */\n 'bg-attachment': [{\n bg: ['fixed', 'local', 'scroll']\n }],\n /**\n * Background Clip\n * @see https://tailwindcss.com/docs/background-clip\n */\n 'bg-clip': [{\n 'bg-clip': ['border', 'padding', 'content', 'text']\n }],\n /**\n * Background Origin\n * @see https://tailwindcss.com/docs/background-origin\n */\n 'bg-origin': [{\n 'bg-origin': ['border', 'padding', 'content']\n }],\n /**\n * Background Position\n * @see https://tailwindcss.com/docs/background-position\n */\n 'bg-position': [{\n bg: scaleBgPosition()\n }],\n /**\n * Background Repeat\n * @see https://tailwindcss.com/docs/background-repeat\n */\n 'bg-repeat': [{\n bg: scaleBgRepeat()\n }],\n /**\n * Background Size\n * @see https://tailwindcss.com/docs/background-size\n */\n 'bg-size': [{\n bg: scaleBgSize()\n }],\n /**\n * Background Image\n * @see https://tailwindcss.com/docs/background-image\n */\n 'bg-image': [{\n bg: ['none', {\n linear: [{\n to: ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl']\n }, isInteger, isArbitraryVariable, isArbitraryValue],\n radial: ['', isArbitraryVariable, isArbitraryValue],\n conic: [isInteger, isArbitraryVariable, isArbitraryValue]\n }, isArbitraryVariableImage, isArbitraryImage]\n }],\n /**\n * Background Color\n * @see https://tailwindcss.com/docs/background-color\n */\n 'bg-color': [{\n bg: scaleColor()\n }],\n /**\n * Gradient Color Stops From Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from-pos': [{\n from: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops Via Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via-pos': [{\n via: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops To Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to-pos': [{\n to: scaleGradientStopPosition()\n }],\n /**\n * Gradient Color Stops From\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from': [{\n from: scaleColor()\n }],\n /**\n * Gradient Color Stops Via\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via': [{\n via: scaleColor()\n }],\n /**\n * Gradient Color Stops To\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to': [{\n to: scaleColor()\n }],\n // ---------------\n // --- Borders ---\n // ---------------\n /**\n * Border Radius\n * @see https://tailwindcss.com/docs/border-radius\n */\n rounded: [{\n rounded: scaleRadius()\n }],\n /**\n * Border Radius Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-s': [{\n 'rounded-s': scaleRadius()\n }],\n /**\n * Border Radius End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-e': [{\n 'rounded-e': scaleRadius()\n }],\n /**\n * Border Radius Top\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-t': [{\n 'rounded-t': scaleRadius()\n }],\n /**\n * Border Radius Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-r': [{\n 'rounded-r': scaleRadius()\n }],\n /**\n * Border Radius Bottom\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-b': [{\n 'rounded-b': scaleRadius()\n }],\n /**\n * Border Radius Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-l': [{\n 'rounded-l': scaleRadius()\n }],\n /**\n * Border Radius Start Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ss': [{\n 'rounded-ss': scaleRadius()\n }],\n /**\n * Border Radius Start End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-se': [{\n 'rounded-se': scaleRadius()\n }],\n /**\n * Border Radius End End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ee': [{\n 'rounded-ee': scaleRadius()\n }],\n /**\n * Border Radius End Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-es': [{\n 'rounded-es': scaleRadius()\n }],\n /**\n * Border Radius Top Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tl': [{\n 'rounded-tl': scaleRadius()\n }],\n /**\n * Border Radius Top Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tr': [{\n 'rounded-tr': scaleRadius()\n }],\n /**\n * Border Radius Bottom Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-br': [{\n 'rounded-br': scaleRadius()\n }],\n /**\n * Border Radius Bottom Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-bl': [{\n 'rounded-bl': scaleRadius()\n }],\n /**\n * Border Width\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w': [{\n border: scaleBorderWidth()\n }],\n /**\n * Border Width Inline\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-x': [{\n 'border-x': scaleBorderWidth()\n }],\n /**\n * Border Width Block\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-y': [{\n 'border-y': scaleBorderWidth()\n }],\n /**\n * Border Width Inline Start\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-s': [{\n 'border-s': scaleBorderWidth()\n }],\n /**\n * Border Width Inline End\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-e': [{\n 'border-e': scaleBorderWidth()\n }],\n /**\n * Border Width Block Start\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-bs': [{\n 'border-bs': scaleBorderWidth()\n }],\n /**\n * Border Width Block End\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-be': [{\n 'border-be': scaleBorderWidth()\n }],\n /**\n * Border Width Top\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-t': [{\n 'border-t': scaleBorderWidth()\n }],\n /**\n * Border Width Right\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-r': [{\n 'border-r': scaleBorderWidth()\n }],\n /**\n * Border Width Bottom\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-b': [{\n 'border-b': scaleBorderWidth()\n }],\n /**\n * Border Width Left\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-l': [{\n 'border-l': scaleBorderWidth()\n }],\n /**\n * Divide Width X\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-x': [{\n 'divide-x': scaleBorderWidth()\n }],\n /**\n * Divide Width X Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-x-reverse': ['divide-x-reverse'],\n /**\n * Divide Width Y\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-y': [{\n 'divide-y': scaleBorderWidth()\n }],\n /**\n * Divide Width Y Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-y-reverse': ['divide-y-reverse'],\n /**\n * Border Style\n * @see https://tailwindcss.com/docs/border-style\n */\n 'border-style': [{\n border: [...scaleLineStyle(), 'hidden', 'none']\n }],\n /**\n * Divide Style\n * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style\n */\n 'divide-style': [{\n divide: [...scaleLineStyle(), 'hidden', 'none']\n }],\n /**\n * Border Color\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color': [{\n border: scaleColor()\n }],\n /**\n * Border Color Inline\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-x': [{\n 'border-x': scaleColor()\n }],\n /**\n * Border Color Block\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-y': [{\n 'border-y': scaleColor()\n }],\n /**\n * Border Color Inline Start\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-s': [{\n 'border-s': scaleColor()\n }],\n /**\n * Border Color Inline End\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-e': [{\n 'border-e': scaleColor()\n }],\n /**\n * Border Color Block Start\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-bs': [{\n 'border-bs': scaleColor()\n }],\n /**\n * Border Color Block End\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-be': [{\n 'border-be': scaleColor()\n }],\n /**\n * Border Color Top\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-t': [{\n 'border-t': scaleColor()\n }],\n /**\n * Border Color Right\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-r': [{\n 'border-r': scaleColor()\n }],\n /**\n * Border Color Bottom\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-b': [{\n 'border-b': scaleColor()\n }],\n /**\n * Border Color Left\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-l': [{\n 'border-l': scaleColor()\n }],\n /**\n * Divide Color\n * @see https://tailwindcss.com/docs/divide-color\n */\n 'divide-color': [{\n divide: scaleColor()\n }],\n /**\n * Outline Style\n * @see https://tailwindcss.com/docs/outline-style\n */\n 'outline-style': [{\n outline: [...scaleLineStyle(), 'none', 'hidden']\n }],\n /**\n * Outline Offset\n * @see https://tailwindcss.com/docs/outline-offset\n */\n 'outline-offset': [{\n 'outline-offset': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Outline Width\n * @see https://tailwindcss.com/docs/outline-width\n */\n 'outline-w': [{\n outline: ['', isNumber, isArbitraryVariableLength, isArbitraryLength]\n }],\n /**\n * Outline Color\n * @see https://tailwindcss.com/docs/outline-color\n */\n 'outline-color': [{\n outline: scaleColor()\n }],\n // ---------------\n // --- Effects ---\n // ---------------\n /**\n * Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow\n */\n shadow: [{\n shadow: [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', themeShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color\n */\n 'shadow-color': [{\n shadow: scaleColor()\n }],\n /**\n * Inset Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow\n */\n 'inset-shadow': [{\n 'inset-shadow': ['none', themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Inset Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color\n */\n 'inset-shadow-color': [{\n 'inset-shadow': scaleColor()\n }],\n /**\n * Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring\n */\n 'ring-w': [{\n ring: scaleBorderWidth()\n }],\n /**\n * Ring Width Inset\n * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-w-inset': ['ring-inset'],\n /**\n * Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color\n */\n 'ring-color': [{\n ring: scaleColor()\n }],\n /**\n * Ring Offset Width\n * @see https://v3.tailwindcss.com/docs/ring-offset-width\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-offset-w': [{\n 'ring-offset': [isNumber, isArbitraryLength]\n }],\n /**\n * Ring Offset Color\n * @see https://v3.tailwindcss.com/docs/ring-offset-color\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-offset-color': [{\n 'ring-offset': scaleColor()\n }],\n /**\n * Inset Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring\n */\n 'inset-ring-w': [{\n 'inset-ring': scaleBorderWidth()\n }],\n /**\n * Inset Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color\n */\n 'inset-ring-color': [{\n 'inset-ring': scaleColor()\n }],\n /**\n * Text Shadow\n * @see https://tailwindcss.com/docs/text-shadow\n */\n 'text-shadow': [{\n 'text-shadow': ['none', themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Text Shadow Color\n * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color\n */\n 'text-shadow-color': [{\n 'text-shadow': scaleColor()\n }],\n /**\n * Opacity\n * @see https://tailwindcss.com/docs/opacity\n */\n opacity: [{\n opacity: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Mix Blend Mode\n * @see https://tailwindcss.com/docs/mix-blend-mode\n */\n 'mix-blend': [{\n 'mix-blend': [...scaleBlendMode(), 'plus-darker', 'plus-lighter']\n }],\n /**\n * Background Blend Mode\n * @see https://tailwindcss.com/docs/background-blend-mode\n */\n 'bg-blend': [{\n 'bg-blend': scaleBlendMode()\n }],\n /**\n * Mask Clip\n * @see https://tailwindcss.com/docs/mask-clip\n */\n 'mask-clip': [{\n 'mask-clip': ['border', 'padding', 'content', 'fill', 'stroke', 'view']\n }, 'mask-no-clip'],\n /**\n * Mask Composite\n * @see https://tailwindcss.com/docs/mask-composite\n */\n 'mask-composite': [{\n mask: ['add', 'subtract', 'intersect', 'exclude']\n }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n 'mask-image-linear-pos': [{\n 'mask-linear': [isNumber]\n }],\n 'mask-image-linear-from-pos': [{\n 'mask-linear-from': scaleMaskImagePosition()\n }],\n 'mask-image-linear-to-pos': [{\n 'mask-linear-to': scaleMaskImagePosition()\n }],\n 'mask-image-linear-from-color': [{\n 'mask-linear-from': scaleColor()\n }],\n 'mask-image-linear-to-color': [{\n 'mask-linear-to': scaleColor()\n }],\n 'mask-image-t-from-pos': [{\n 'mask-t-from': scaleMaskImagePosition()\n }],\n 'mask-image-t-to-pos': [{\n 'mask-t-to': scaleMaskImagePosition()\n }],\n 'mask-image-t-from-color': [{\n 'mask-t-from': scaleColor()\n }],\n 'mask-image-t-to-color': [{\n 'mask-t-to': scaleColor()\n }],\n 'mask-image-r-from-pos': [{\n 'mask-r-from': scaleMaskImagePosition()\n }],\n 'mask-image-r-to-pos': [{\n 'mask-r-to': scaleMaskImagePosition()\n }],\n 'mask-image-r-from-color': [{\n 'mask-r-from': scaleColor()\n }],\n 'mask-image-r-to-color': [{\n 'mask-r-to': scaleColor()\n }],\n 'mask-image-b-from-pos': [{\n 'mask-b-from': scaleMaskImagePosition()\n }],\n 'mask-image-b-to-pos': [{\n 'mask-b-to': scaleMaskImagePosition()\n }],\n 'mask-image-b-from-color': [{\n 'mask-b-from': scaleColor()\n }],\n 'mask-image-b-to-color': [{\n 'mask-b-to': scaleColor()\n }],\n 'mask-image-l-from-pos': [{\n 'mask-l-from': scaleMaskImagePosition()\n }],\n 'mask-image-l-to-pos': [{\n 'mask-l-to': scaleMaskImagePosition()\n }],\n 'mask-image-l-from-color': [{\n 'mask-l-from': scaleColor()\n }],\n 'mask-image-l-to-color': [{\n 'mask-l-to': scaleColor()\n }],\n 'mask-image-x-from-pos': [{\n 'mask-x-from': scaleMaskImagePosition()\n }],\n 'mask-image-x-to-pos': [{\n 'mask-x-to': scaleMaskImagePosition()\n }],\n 'mask-image-x-from-color': [{\n 'mask-x-from': scaleColor()\n }],\n 'mask-image-x-to-color': [{\n 'mask-x-to': scaleColor()\n }],\n 'mask-image-y-from-pos': [{\n 'mask-y-from': scaleMaskImagePosition()\n }],\n 'mask-image-y-to-pos': [{\n 'mask-y-to': scaleMaskImagePosition()\n }],\n 'mask-image-y-from-color': [{\n 'mask-y-from': scaleColor()\n }],\n 'mask-image-y-to-color': [{\n 'mask-y-to': scaleColor()\n }],\n 'mask-image-radial': [{\n 'mask-radial': [isArbitraryVariable, isArbitraryValue]\n }],\n 'mask-image-radial-from-pos': [{\n 'mask-radial-from': scaleMaskImagePosition()\n }],\n 'mask-image-radial-to-pos': [{\n 'mask-radial-to': scaleMaskImagePosition()\n }],\n 'mask-image-radial-from-color': [{\n 'mask-radial-from': scaleColor()\n }],\n 'mask-image-radial-to-color': [{\n 'mask-radial-to': scaleColor()\n }],\n 'mask-image-radial-shape': [{\n 'mask-radial': ['circle', 'ellipse']\n }],\n 'mask-image-radial-size': [{\n 'mask-radial': [{\n closest: ['side', 'corner'],\n farthest: ['side', 'corner']\n }]\n }],\n 'mask-image-radial-pos': [{\n 'mask-radial-at': scalePosition()\n }],\n 'mask-image-conic-pos': [{\n 'mask-conic': [isNumber]\n }],\n 'mask-image-conic-from-pos': [{\n 'mask-conic-from': scaleMaskImagePosition()\n }],\n 'mask-image-conic-to-pos': [{\n 'mask-conic-to': scaleMaskImagePosition()\n }],\n 'mask-image-conic-from-color': [{\n 'mask-conic-from': scaleColor()\n }],\n 'mask-image-conic-to-color': [{\n 'mask-conic-to': scaleColor()\n }],\n /**\n * Mask Mode\n * @see https://tailwindcss.com/docs/mask-mode\n */\n 'mask-mode': [{\n mask: ['alpha', 'luminance', 'match']\n }],\n /**\n * Mask Origin\n * @see https://tailwindcss.com/docs/mask-origin\n */\n 'mask-origin': [{\n 'mask-origin': ['border', 'padding', 'content', 'fill', 'stroke', 'view']\n }],\n /**\n * Mask Position\n * @see https://tailwindcss.com/docs/mask-position\n */\n 'mask-position': [{\n mask: scaleBgPosition()\n }],\n /**\n * Mask Repeat\n * @see https://tailwindcss.com/docs/mask-repeat\n */\n 'mask-repeat': [{\n mask: scaleBgRepeat()\n }],\n /**\n * Mask Size\n * @see https://tailwindcss.com/docs/mask-size\n */\n 'mask-size': [{\n mask: scaleBgSize()\n }],\n /**\n * Mask Type\n * @see https://tailwindcss.com/docs/mask-type\n */\n 'mask-type': [{\n 'mask-type': ['alpha', 'luminance']\n }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n 'mask-image': [{\n mask: ['none', isArbitraryVariable, isArbitraryValue]\n }],\n // ---------------\n // --- Filters ---\n // ---------------\n /**\n * Filter\n * @see https://tailwindcss.com/docs/filter\n */\n filter: [{\n filter: [\n // Deprecated since Tailwind CSS v3.0.0\n '', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Blur\n * @see https://tailwindcss.com/docs/blur\n */\n blur: [{\n blur: scaleBlur()\n }],\n /**\n * Brightness\n * @see https://tailwindcss.com/docs/brightness\n */\n brightness: [{\n brightness: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Contrast\n * @see https://tailwindcss.com/docs/contrast\n */\n contrast: [{\n contrast: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Drop Shadow\n * @see https://tailwindcss.com/docs/drop-shadow\n */\n 'drop-shadow': [{\n 'drop-shadow': [\n // Deprecated since Tailwind CSS v4.0.0\n '', 'none', themeDropShadow, isArbitraryVariableShadow, isArbitraryShadow]\n }],\n /**\n * Drop Shadow Color\n * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color\n */\n 'drop-shadow-color': [{\n 'drop-shadow': scaleColor()\n }],\n /**\n * Grayscale\n * @see https://tailwindcss.com/docs/grayscale\n */\n grayscale: [{\n grayscale: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Hue Rotate\n * @see https://tailwindcss.com/docs/hue-rotate\n */\n 'hue-rotate': [{\n 'hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Invert\n * @see https://tailwindcss.com/docs/invert\n */\n invert: [{\n invert: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Saturate\n * @see https://tailwindcss.com/docs/saturate\n */\n saturate: [{\n saturate: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Sepia\n * @see https://tailwindcss.com/docs/sepia\n */\n sepia: [{\n sepia: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Filter\n * @see https://tailwindcss.com/docs/backdrop-filter\n */\n 'backdrop-filter': [{\n 'backdrop-filter': [\n // Deprecated since Tailwind CSS v3.0.0\n '', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Blur\n * @see https://tailwindcss.com/docs/backdrop-blur\n */\n 'backdrop-blur': [{\n 'backdrop-blur': scaleBlur()\n }],\n /**\n * Backdrop Brightness\n * @see https://tailwindcss.com/docs/backdrop-brightness\n */\n 'backdrop-brightness': [{\n 'backdrop-brightness': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Contrast\n * @see https://tailwindcss.com/docs/backdrop-contrast\n */\n 'backdrop-contrast': [{\n 'backdrop-contrast': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Grayscale\n * @see https://tailwindcss.com/docs/backdrop-grayscale\n */\n 'backdrop-grayscale': [{\n 'backdrop-grayscale': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Hue Rotate\n * @see https://tailwindcss.com/docs/backdrop-hue-rotate\n */\n 'backdrop-hue-rotate': [{\n 'backdrop-hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Invert\n * @see https://tailwindcss.com/docs/backdrop-invert\n */\n 'backdrop-invert': [{\n 'backdrop-invert': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Opacity\n * @see https://tailwindcss.com/docs/backdrop-opacity\n */\n 'backdrop-opacity': [{\n 'backdrop-opacity': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Saturate\n * @see https://tailwindcss.com/docs/backdrop-saturate\n */\n 'backdrop-saturate': [{\n 'backdrop-saturate': [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Backdrop Sepia\n * @see https://tailwindcss.com/docs/backdrop-sepia\n */\n 'backdrop-sepia': [{\n 'backdrop-sepia': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n // --------------\n // --- Tables ---\n // --------------\n /**\n * Border Collapse\n * @see https://tailwindcss.com/docs/border-collapse\n */\n 'border-collapse': [{\n border: ['collapse', 'separate']\n }],\n /**\n * Border Spacing\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing': [{\n 'border-spacing': scaleUnambiguousSpacing()\n }],\n /**\n * Border Spacing X\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-x': [{\n 'border-spacing-x': scaleUnambiguousSpacing()\n }],\n /**\n * Border Spacing Y\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-y': [{\n 'border-spacing-y': scaleUnambiguousSpacing()\n }],\n /**\n * Table Layout\n * @see https://tailwindcss.com/docs/table-layout\n */\n 'table-layout': [{\n table: ['auto', 'fixed']\n }],\n /**\n * Caption Side\n * @see https://tailwindcss.com/docs/caption-side\n */\n caption: [{\n caption: ['top', 'bottom']\n }],\n // ---------------------------------\n // --- Transitions and Animation ---\n // ---------------------------------\n /**\n * Transition Property\n * @see https://tailwindcss.com/docs/transition-property\n */\n transition: [{\n transition: ['', 'all', 'colors', 'opacity', 'shadow', 'transform', 'none', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Behavior\n * @see https://tailwindcss.com/docs/transition-behavior\n */\n 'transition-behavior': [{\n transition: ['normal', 'discrete']\n }],\n /**\n * Transition Duration\n * @see https://tailwindcss.com/docs/transition-duration\n */\n duration: [{\n duration: [isNumber, 'initial', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Timing Function\n * @see https://tailwindcss.com/docs/transition-timing-function\n */\n ease: [{\n ease: ['linear', 'initial', themeEase, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Transition Delay\n * @see https://tailwindcss.com/docs/transition-delay\n */\n delay: [{\n delay: [isNumber, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Animation\n * @see https://tailwindcss.com/docs/animation\n */\n animate: [{\n animate: ['none', themeAnimate, isArbitraryVariable, isArbitraryValue]\n }],\n // ------------------\n // --- Transforms ---\n // ------------------\n /**\n * Backface Visibility\n * @see https://tailwindcss.com/docs/backface-visibility\n */\n backface: [{\n backface: ['hidden', 'visible']\n }],\n /**\n * Perspective\n * @see https://tailwindcss.com/docs/perspective\n */\n perspective: [{\n perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Perspective Origin\n * @see https://tailwindcss.com/docs/perspective-origin\n */\n 'perspective-origin': [{\n 'perspective-origin': scalePositionWithArbitrary()\n }],\n /**\n * Rotate\n * @see https://tailwindcss.com/docs/rotate\n */\n rotate: [{\n rotate: scaleRotate()\n }],\n /**\n * Rotate X\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-x': [{\n 'rotate-x': scaleRotate()\n }],\n /**\n * Rotate Y\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-y': [{\n 'rotate-y': scaleRotate()\n }],\n /**\n * Rotate Z\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-z': [{\n 'rotate-z': scaleRotate()\n }],\n /**\n * Scale\n * @see https://tailwindcss.com/docs/scale\n */\n scale: [{\n scale: scaleScale()\n }],\n /**\n * Scale X\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-x': [{\n 'scale-x': scaleScale()\n }],\n /**\n * Scale Y\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-y': [{\n 'scale-y': scaleScale()\n }],\n /**\n * Scale Z\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-z': [{\n 'scale-z': scaleScale()\n }],\n /**\n * Scale 3D\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-3d': ['scale-3d'],\n /**\n * Skew\n * @see https://tailwindcss.com/docs/skew\n */\n skew: [{\n skew: scaleSkew()\n }],\n /**\n * Skew X\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-x': [{\n 'skew-x': scaleSkew()\n }],\n /**\n * Skew Y\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-y': [{\n 'skew-y': scaleSkew()\n }],\n /**\n * Transform\n * @see https://tailwindcss.com/docs/transform\n */\n transform: [{\n transform: [isArbitraryVariable, isArbitraryValue, '', 'none', 'gpu', 'cpu']\n }],\n /**\n * Transform Origin\n * @see https://tailwindcss.com/docs/transform-origin\n */\n 'transform-origin': [{\n origin: scalePositionWithArbitrary()\n }],\n /**\n * Transform Style\n * @see https://tailwindcss.com/docs/transform-style\n */\n 'transform-style': [{\n transform: ['3d', 'flat']\n }],\n /**\n * Translate\n * @see https://tailwindcss.com/docs/translate\n */\n translate: [{\n translate: scaleTranslate()\n }],\n /**\n * Translate X\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-x': [{\n 'translate-x': scaleTranslate()\n }],\n /**\n * Translate Y\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-y': [{\n 'translate-y': scaleTranslate()\n }],\n /**\n * Translate Z\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-z': [{\n 'translate-z': scaleTranslate()\n }],\n /**\n * Translate None\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-none': ['translate-none'],\n // ---------------------\n // --- Interactivity ---\n // ---------------------\n /**\n * Accent Color\n * @see https://tailwindcss.com/docs/accent-color\n */\n accent: [{\n accent: scaleColor()\n }],\n /**\n * Appearance\n * @see https://tailwindcss.com/docs/appearance\n */\n appearance: [{\n appearance: ['none', 'auto']\n }],\n /**\n * Caret Color\n * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n */\n 'caret-color': [{\n caret: scaleColor()\n }],\n /**\n * Color Scheme\n * @see https://tailwindcss.com/docs/color-scheme\n */\n 'color-scheme': [{\n scheme: ['normal', 'dark', 'light', 'light-dark', 'only-dark', 'only-light']\n }],\n /**\n * Cursor\n * @see https://tailwindcss.com/docs/cursor\n */\n cursor: [{\n cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out', isArbitraryVariable, isArbitraryValue]\n }],\n /**\n * Field Sizing\n * @see https://tailwindcss.com/docs/field-sizing\n */\n 'field-sizing': [{\n 'field-sizing': ['fixed', 'content']\n }],\n /**\n * Pointer Events\n * @see https://tailwindcss.com/docs/pointer-events\n */\n 'pointer-events': [{\n 'pointer-events': ['auto', 'none']\n }],\n /**\n * Resize\n * @see https://tailwindcss.com/docs/resize\n */\n resize: [{\n resize: ['none', '', 'y', 'x']\n }],\n /**\n * Scroll Behavior\n * @see https://tailwindcss.com/docs/scroll-behavior\n */\n 'scroll-behavior': [{\n scroll: ['auto', 'smooth']\n }],\n /**\n * Scroll Margin\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-m': [{\n 'scroll-m': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Inline\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mx': [{\n 'scroll-mx': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Block\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-my': [{\n 'scroll-my': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Inline Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ms': [{\n 'scroll-ms': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Inline End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-me': [{\n 'scroll-me': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Block Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mbs': [{\n 'scroll-mbs': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Block End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mbe': [{\n 'scroll-mbe': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Top\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mt': [{\n 'scroll-mt': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Right\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mr': [{\n 'scroll-mr': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Bottom\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mb': [{\n 'scroll-mb': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Margin Left\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ml': [{\n 'scroll-ml': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-p': [{\n 'scroll-p': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Inline\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-px': [{\n 'scroll-px': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Block\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-py': [{\n 'scroll-py': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Inline Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-ps': [{\n 'scroll-ps': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Inline End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pe': [{\n 'scroll-pe': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Block Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pbs': [{\n 'scroll-pbs': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Block End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pbe': [{\n 'scroll-pbe': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Top\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pt': [{\n 'scroll-pt': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Right\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pr': [{\n 'scroll-pr': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Bottom\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pb': [{\n 'scroll-pb': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Padding Left\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pl': [{\n 'scroll-pl': scaleUnambiguousSpacing()\n }],\n /**\n * Scroll Snap Align\n * @see https://tailwindcss.com/docs/scroll-snap-align\n */\n 'snap-align': [{\n snap: ['start', 'end', 'center', 'align-none']\n }],\n /**\n * Scroll Snap Stop\n * @see https://tailwindcss.com/docs/scroll-snap-stop\n */\n 'snap-stop': [{\n snap: ['normal', 'always']\n }],\n /**\n * Scroll Snap Type\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-type': [{\n snap: ['none', 'x', 'y', 'both']\n }],\n /**\n * Scroll Snap Type Strictness\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-strictness': [{\n snap: ['mandatory', 'proximity']\n }],\n /**\n * Touch Action\n * @see https://tailwindcss.com/docs/touch-action\n */\n touch: [{\n touch: ['auto', 'none', 'manipulation']\n }],\n /**\n * Touch Action X\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-x': [{\n 'touch-pan': ['x', 'left', 'right']\n }],\n /**\n * Touch Action Y\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-y': [{\n 'touch-pan': ['y', 'up', 'down']\n }],\n /**\n * Touch Action Pinch Zoom\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-pz': ['touch-pinch-zoom'],\n /**\n * User Select\n * @see https://tailwindcss.com/docs/user-select\n */\n select: [{\n select: ['none', 'text', 'all', 'auto']\n }],\n /**\n * Will Change\n * @see https://tailwindcss.com/docs/will-change\n */\n 'will-change': [{\n 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryVariable, isArbitraryValue]\n }],\n // -----------\n // --- SVG ---\n // -----------\n /**\n * Fill\n * @see https://tailwindcss.com/docs/fill\n */\n fill: [{\n fill: ['none', ...scaleColor()]\n }],\n /**\n * Stroke Width\n * @see https://tailwindcss.com/docs/stroke-width\n */\n 'stroke-w': [{\n stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]\n }],\n /**\n * Stroke\n * @see https://tailwindcss.com/docs/stroke\n */\n stroke: [{\n stroke: ['none', ...scaleColor()]\n }],\n // ---------------------\n // --- Accessibility ---\n // ---------------------\n /**\n * Forced Color Adjust\n * @see https://tailwindcss.com/docs/forced-color-adjust\n */\n 'forced-color-adjust': [{\n 'forced-color-adjust': ['auto', 'none']\n }]\n },\n conflictingClassGroups: {\n overflow: ['overflow-x', 'overflow-y'],\n overscroll: ['overscroll-x', 'overscroll-y'],\n inset: ['inset-x', 'inset-y', 'inset-bs', 'inset-be', 'start', 'end', 'top', 'right', 'bottom', 'left'],\n 'inset-x': ['right', 'left'],\n 'inset-y': ['top', 'bottom'],\n flex: ['basis', 'grow', 'shrink'],\n gap: ['gap-x', 'gap-y'],\n p: ['px', 'py', 'ps', 'pe', 'pbs', 'pbe', 'pt', 'pr', 'pb', 'pl'],\n px: ['pr', 'pl'],\n py: ['pt', 'pb'],\n m: ['mx', 'my', 'ms', 'me', 'mbs', 'mbe', 'mt', 'mr', 'mb', 'ml'],\n mx: ['mr', 'ml'],\n my: ['mt', 'mb'],\n size: ['w', 'h'],\n 'font-size': ['leading'],\n 'fvn-normal': ['fvn-ordinal', 'fvn-slashed-zero', 'fvn-figure', 'fvn-spacing', 'fvn-fraction'],\n 'fvn-ordinal': ['fvn-normal'],\n 'fvn-slashed-zero': ['fvn-normal'],\n 'fvn-figure': ['fvn-normal'],\n 'fvn-spacing': ['fvn-normal'],\n 'fvn-fraction': ['fvn-normal'],\n 'line-clamp': ['display', 'overflow'],\n rounded: ['rounded-s', 'rounded-e', 'rounded-t', 'rounded-r', 'rounded-b', 'rounded-l', 'rounded-ss', 'rounded-se', 'rounded-ee', 'rounded-es', 'rounded-tl', 'rounded-tr', 'rounded-br', 'rounded-bl'],\n 'rounded-s': ['rounded-ss', 'rounded-es'],\n 'rounded-e': ['rounded-se', 'rounded-ee'],\n 'rounded-t': ['rounded-tl', 'rounded-tr'],\n 'rounded-r': ['rounded-tr', 'rounded-br'],\n 'rounded-b': ['rounded-br', 'rounded-bl'],\n 'rounded-l': ['rounded-tl', 'rounded-bl'],\n 'border-spacing': ['border-spacing-x', 'border-spacing-y'],\n 'border-w': ['border-w-x', 'border-w-y', 'border-w-s', 'border-w-e', 'border-w-bs', 'border-w-be', 'border-w-t', 'border-w-r', 'border-w-b', 'border-w-l'],\n 'border-w-x': ['border-w-r', 'border-w-l'],\n 'border-w-y': ['border-w-t', 'border-w-b'],\n 'border-color': ['border-color-x', 'border-color-y', 'border-color-s', 'border-color-e', 'border-color-bs', 'border-color-be', 'border-color-t', 'border-color-r', 'border-color-b', 'border-color-l'],\n 'border-color-x': ['border-color-r', 'border-color-l'],\n 'border-color-y': ['border-color-t', 'border-color-b'],\n translate: ['translate-x', 'translate-y', 'translate-none'],\n 'translate-none': ['translate', 'translate-x', 'translate-y', 'translate-z'],\n 'scroll-m': ['scroll-mx', 'scroll-my', 'scroll-ms', 'scroll-me', 'scroll-mbs', 'scroll-mbe', 'scroll-mt', 'scroll-mr', 'scroll-mb', 'scroll-ml'],\n 'scroll-mx': ['scroll-mr', 'scroll-ml'],\n 'scroll-my': ['scroll-mt', 'scroll-mb'],\n 'scroll-p': ['scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pbs', 'scroll-pbe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl'],\n 'scroll-px': ['scroll-pr', 'scroll-pl'],\n 'scroll-py': ['scroll-pt', 'scroll-pb'],\n touch: ['touch-x', 'touch-y', 'touch-pz'],\n 'touch-x': ['touch'],\n 'touch-y': ['touch'],\n 'touch-pz': ['touch']\n },\n conflictingClassGroupModifiers: {\n 'font-size': ['leading']\n },\n orderSensitiveModifiers: ['*', '**', 'after', 'backdrop', 'before', 'details-content', 'file', 'first-letter', 'first-line', 'marker', 'placeholder', 'selection']\n };\n};\n\n/**\n * @param baseConfig Config where other config will be merged into. This object will be mutated.\n * @param configExtension Partial config to merge into the `baseConfig`.\n */\nconst mergeConfigs = (baseConfig, {\n cacheSize,\n prefix,\n experimentalParseClassName,\n extend = {},\n override = {}\n}) => {\n overrideProperty(baseConfig, 'cacheSize', cacheSize);\n overrideProperty(baseConfig, 'prefix', prefix);\n overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName);\n overrideConfigProperties(baseConfig.theme, override.theme);\n overrideConfigProperties(baseConfig.classGroups, override.classGroups);\n overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups);\n overrideConfigProperties(baseConfig.conflictingClassGroupModifiers, override.conflictingClassGroupModifiers);\n overrideProperty(baseConfig, 'orderSensitiveModifiers', override.orderSensitiveModifiers);\n mergeConfigProperties(baseConfig.theme, extend.theme);\n mergeConfigProperties(baseConfig.classGroups, extend.classGroups);\n mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups);\n mergeConfigProperties(baseConfig.conflictingClassGroupModifiers, extend.conflictingClassGroupModifiers);\n mergeArrayProperties(baseConfig, extend, 'orderSensitiveModifiers');\n return baseConfig;\n};\nconst overrideProperty = (baseObject, overrideKey, overrideValue) => {\n if (overrideValue !== undefined) {\n baseObject[overrideKey] = overrideValue;\n }\n};\nconst overrideConfigProperties = (baseObject, overrideObject) => {\n if (overrideObject) {\n for (const key in overrideObject) {\n overrideProperty(baseObject, key, overrideObject[key]);\n }\n }\n};\nconst mergeConfigProperties = (baseObject, mergeObject) => {\n if (mergeObject) {\n for (const key in mergeObject) {\n mergeArrayProperties(baseObject, mergeObject, key);\n }\n }\n};\nconst mergeArrayProperties = (baseObject, mergeObject, key) => {\n const mergeValue = mergeObject[key];\n if (mergeValue !== undefined) {\n baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue;\n }\n};\nconst extendTailwindMerge = (configExtension, ...createConfig) => typeof configExtension === 'function' ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);\nconst twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);\n\n//# sourceMappingURL=bundle-mjs.mjs.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS90YWlsd2luZC1tZXJnZUAzLjUuMC9ub2RlX21vZHVsZXMvdGFpbHdpbmQtbWVyZ2UvZGlzdC9idW5kbGUtbWpzLm1qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixtQkFBbUI7QUFDckM7QUFDQTtBQUNBLGtCQUFrQixtQkFBbUI7QUFDckM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0Isc0JBQXNCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsU0FBUztBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsU0FBUztBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLFNBQVM7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsYUFBYTtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQsa0RBQWtELGdEQUFnRDtBQUNySjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7QUFDL0MsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHNCQUFzQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsT0FBTyxtQkFBbUIsa0JBQWtCLGFBQWE7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsWUFBWTtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsMkJBQTJCO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsZ0JBQWdCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDNEg7QUFDNUgiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vdGFpbHdpbmQtbWVyZ2VAMy41LjAvbm9kZV9tb2R1bGVzL3RhaWx3aW5kLW1lcmdlL2Rpc3QvYnVuZGxlLW1qcy5tanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb25jYXRlbmF0ZXMgdHdvIGFycmF5cyBmYXN0ZXIgdGhhbiB0aGUgYXJyYXkgc3ByZWFkIG9wZXJhdG9yLlxuICovXG5jb25zdCBjb25jYXRBcnJheXMgPSAoYXJyYXkxLCBhcnJheTIpID0+IHtcbiAgLy8gUHJlLWFsbG9jYXRlIGZvciBiZXR0ZXIgVjggb3B0aW1pemF0aW9uXG4gIGNvbnN0IGNvbWJpbmVkQXJyYXkgPSBuZXcgQXJyYXkoYXJyYXkxLmxlbmd0aCArIGFycmF5Mi5sZW5ndGgpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5MS5sZW5ndGg7IGkrKykge1xuICAgIGNvbWJpbmVkQXJyYXlbaV0gPSBhcnJheTFbaV07XG4gIH1cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheTIubGVuZ3RoOyBpKyspIHtcbiAgICBjb21iaW5lZEFycmF5W2FycmF5MS5sZW5ndGggKyBpXSA9IGFycmF5MltpXTtcbiAgfVxuICByZXR1cm4gY29tYmluZWRBcnJheTtcbn07XG5cbi8vIEZhY3RvcnkgZnVuY3Rpb24gZW5zdXJlcyBjb25zaXN0ZW50IG9iamVjdCBzaGFwZXNcbmNvbnN0IGNyZWF0ZUNsYXNzVmFsaWRhdG9yT2JqZWN0ID0gKGNsYXNzR3JvdXBJZCwgdmFsaWRhdG9yKSA9PiAoe1xuICBjbGFzc0dyb3VwSWQsXG4gIHZhbGlkYXRvclxufSk7XG4vLyBGYWN0b3J5IGVuc3VyZXMgY29uc2lzdGVudCBDbGFzc1BhcnRPYmplY3Qgc2hhcGVcbmNvbnN0IGNyZWF0ZUNsYXNzUGFydE9iamVjdCA9IChuZXh0UGFydCA9IG5ldyBNYXAoKSwgdmFsaWRhdG9ycyA9IG51bGwsIGNsYXNzR3JvdXBJZCkgPT4gKHtcbiAgbmV4dFBhcnQsXG4gIHZhbGlkYXRvcnMsXG4gIGNsYXNzR3JvdXBJZFxufSk7XG5jb25zdCBDTEFTU19QQVJUX1NFUEFSQVRPUiA9ICctJztcbmNvbnN0IEVNUFRZX0NPTkZMSUNUUyA9IFtdO1xuLy8gSSB1c2UgdHdvIGRvdHMgaGVyZSBiZWNhdXNlIG9uZSBkb3QgaXMgdXNlZCBhcyBwcmVmaXggZm9yIGNsYXNzIGdyb3VwcyBpbiBwbHVnaW5zXG5jb25zdCBBUkJJVFJBUllfUFJPUEVSVFlfUFJFRklYID0gJ2FyYml0cmFyeS4uJztcbmNvbnN0IGNyZWF0ZUNsYXNzR3JvdXBVdGlscyA9IGNvbmZpZyA9PiB7XG4gIGNvbnN0IGNsYXNzTWFwID0gY3JlYXRlQ2xhc3NNYXAoY29uZmlnKTtcbiAgY29uc3Qge1xuICAgIGNvbmZsaWN0aW5nQ2xhc3NHcm91cHMsXG4gICAgY29uZmxpY3RpbmdDbGFzc0dyb3VwTW9kaWZpZXJzXG4gIH0gPSBjb25maWc7XG4gIGNvbnN0IGdldENsYXNzR3JvdXBJZCA9IGNsYXNzTmFtZSA9PiB7XG4gICAgaWYgKGNsYXNzTmFtZS5zdGFydHNXaXRoKCdbJykgJiYgY2xhc3NOYW1lLmVuZHNXaXRoKCddJykpIHtcbiAgICAgIHJldHVybiBnZXRHcm91cElkRm9yQXJiaXRyYXJ5UHJvcGVydHkoY2xhc3NOYW1lKTtcbiAgICB9XG4gICAgY29uc3QgY2xhc3NQYXJ0cyA9IGNsYXNzTmFtZS5zcGxpdChDTEFTU19QQVJUX1NFUEFSQVRPUik7XG4gICAgLy8gQ2xhc3NlcyBsaWtlIGAtaW5zZXQtMWAgcHJvZHVjZSBhbiBlbXB0eSBzdHJpbmcgYXMgZmlyc3QgY2xhc3NQYXJ0LiBXZSBhc3N1bWUgdGhhdCBjbGFzc2VzIGZvciBuZWdhdGl2ZSB2YWx1ZXMgYXJlIHVzZWQgY29ycmVjdGx5IGFuZCBza2lwIGl0LlxuICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBjbGFzc1BhcnRzWzBdID09PSAnJyAmJiBjbGFzc1BhcnRzLmxlbmd0aCA+IDEgPyAxIDogMDtcbiAgICByZXR1cm4gZ2V0R3JvdXBSZWN1cnNpdmUoY2xhc3NQYXJ0cywgc3RhcnRJbmRleCwgY2xhc3NNYXApO1xuICB9O1xuICBjb25zdCBnZXRDb25mbGljdGluZ0NsYXNzR3JvdXBJZHMgPSAoY2xhc3NHcm91cElkLCBoYXNQb3N0Zml4TW9kaWZpZXIpID0+IHtcbiAgICBpZiAoaGFzUG9zdGZpeE1vZGlmaWVyKSB7XG4gICAgICBjb25zdCBtb2RpZmllckNvbmZsaWN0cyA9IGNvbmZsaWN0aW5nQ2xhc3NHcm91cE1vZGlmaWVyc1tjbGFzc0dyb3VwSWRdO1xuICAgICAgY29uc3QgYmFzZUNvbmZsaWN0cyA9IGNvbmZsaWN0aW5nQ2xhc3NHcm91cHNbY2xhc3NHcm91cElkXTtcbiAgICAgIGlmIChtb2RpZmllckNvbmZsaWN0cykge1xuICAgICAgICBpZiAoYmFzZUNvbmZsaWN0cykge1xuICAgICAgICAgIC8vIE1lcmdlIGJhc2UgY29uZmxpY3RzIHdpdGggbW9kaWZpZXIgY29uZmxpY3RzXG4gICAgICAgICAgcmV0dXJuIGNvbmNhdEFycmF5cyhiYXNlQ29uZmxpY3RzLCBtb2RpZmllckNvbmZsaWN0cyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gT25seSBtb2RpZmllciBjb25mbGljdHNcbiAgICAgICAgcmV0dXJuIG1vZGlmaWVyQ29uZmxpY3RzO1xuICAgICAgfVxuICAgICAgLy8gRmFsbCBiYWNrIHRvIHdpdGhvdXQgcG9zdGZpeCBpZiBubyBtb2RpZmllciBjb25mbGljdHNcbiAgICAgIHJldHVybiBiYXNlQ29uZmxpY3RzIHx8IEVNUFRZX0NPTkZMSUNUUztcbiAgICB9XG4gICAgcmV0dXJuIGNvbmZsaWN0aW5nQ2xhc3NHcm91cHNbY2xhc3NHcm91cElkXSB8fCBFTVBUWV9DT05GTElDVFM7XG4gIH07XG4gIHJldHVybiB7XG4gICAgZ2V0Q2xhc3NHcm91cElkLFxuICAgIGdldENvbmZsaWN0aW5nQ2xhc3NHcm91cElkc1xuICB9O1xufTtcbmNvbnN0IGdldEdyb3VwUmVjdXJzaXZlID0gKGNsYXNzUGFydHMsIHN0YXJ0SW5kZXgsIGNsYXNzUGFydE9iamVjdCkgPT4ge1xuICBjb25zdCBjbGFzc1BhdGhzTGVuZ3RoID0gY2xhc3NQYXJ0cy5sZW5ndGggLSBzdGFydEluZGV4O1xuICBpZiAoY2xhc3NQYXRoc0xlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBjbGFzc1BhcnRPYmplY3QuY2xhc3NHcm91cElkO1xuICB9XG4gIGNvbnN0IGN1cnJlbnRDbGFzc1BhcnQgPSBjbGFzc1BhcnRzW3N0YXJ0SW5kZXhdO1xuICBjb25zdCBuZXh0Q2xhc3NQYXJ0T2JqZWN0ID0gY2xhc3NQYXJ0T2JqZWN0Lm5leHRQYXJ0LmdldChjdXJyZW50Q2xhc3NQYXJ0KTtcbiAgaWYgKG5leHRDbGFzc1BhcnRPYmplY3QpIHtcbiAgICBjb25zdCByZXN1bHQgPSBnZXRHcm91cFJlY3Vyc2l2ZShjbGFzc1BhcnRzLCBzdGFydEluZGV4ICsgMSwgbmV4dENsYXNzUGFydE9iamVjdCk7XG4gICAgaWYgKHJlc3VsdCkgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBjb25zdCB2YWxpZGF0b3JzID0gY2xhc3NQYXJ0T2JqZWN0LnZhbGlkYXRvcnM7XG4gIGlmICh2YWxpZGF0b3JzID09PSBudWxsKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICAvLyBCdWlsZCBjbGFzc1Jlc3Qgc3RyaW5nIGVmZmljaWVudGx5IGJ5IGpvaW5pbmcgZnJvbSBzdGFydEluZGV4IG9ud2FyZHNcbiAgY29uc3QgY2xhc3NSZXN0ID0gc3RhcnRJbmRleCA9PT0gMCA/IGNsYXNzUGFydHMuam9pbihDTEFTU19QQVJUX1NFUEFSQVRPUikgOiBjbGFzc1BhcnRzLnNsaWNlKHN0YXJ0SW5kZXgpLmpvaW4oQ0xBU1NfUEFSVF9TRVBBUkFUT1IpO1xuICBjb25zdCB2YWxpZGF0b3JzTGVuZ3RoID0gdmFsaWRhdG9ycy5sZW5ndGg7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsaWRhdG9yc0xlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgdmFsaWRhdG9yT2JqID0gdmFsaWRhdG9yc1tpXTtcbiAgICBpZiAodmFsaWRhdG9yT2JqLnZhbGlkYXRvcihjbGFzc1Jlc3QpKSB7XG4gICAgICByZXR1cm4gdmFsaWRhdG9yT2JqLmNsYXNzR3JvdXBJZDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG4vKipcbiAqIEdldCB0aGUgY2xhc3MgZ3JvdXAgSUQgZm9yIGFuIGFyYml0cmFyeSBwcm9wZXJ0eS5cbiAqXG4gKiBAcGFyYW0gY2xhc3NOYW1lIC0gVGhlIGNsYXNzIG5hbWUgdG8gZ2V0IHRoZSBncm91cCBJRCBmb3IuIElzIGV4cGVjdGVkIHRvIGJlIHN0cmluZyBzdGFydGluZyB3aXRoIGBbYCBhbmQgZW5kaW5nIHdpdGggYF1gLlxuICovXG5jb25zdCBnZXRHcm91cElkRm9yQXJiaXRyYXJ5UHJvcGVydHkgPSBjbGFzc05hbWUgPT4gY2xhc3NOYW1lLnNsaWNlKDEsIC0xKS5pbmRleE9mKCc6JykgPT09IC0xID8gdW5kZWZpbmVkIDogKCgpID0+IHtcbiAgY29uc3QgY29udGVudCA9IGNsYXNzTmFtZS5zbGljZSgxLCAtMSk7XG4gIGNvbnN0IGNvbG9uSW5kZXggPSBjb250ZW50LmluZGV4T2YoJzonKTtcbiAgY29uc3QgcHJvcGVydHkgPSBjb250ZW50LnNsaWNlKDAsIGNvbG9uSW5kZXgpO1xuICByZXR1cm4gcHJvcGVydHkgPyBBUkJJVFJBUllfUFJPUEVSVFlfUFJFRklYICsgcHJvcGVydHkgOiB1bmRlZmluZWQ7XG59KSgpO1xuLyoqXG4gKiBFeHBvcnRlZCBmb3IgdGVzdGluZyBvbmx5XG4gKi9cbmNvbnN0IGNyZWF0ZUNsYXNzTWFwID0gY29uZmlnID0+IHtcbiAgY29uc3Qge1xuICAgIHRoZW1lLFxuICAgIGNsYXNzR3JvdXBzXG4gIH0gPSBjb25maWc7XG4gIHJldHVybiBwcm9jZXNzQ2xhc3NHcm91cHMoY2xhc3NHcm91cHMsIHRoZW1lKTtcbn07XG4vLyBTcGxpdCBpbnRvIHNlcGFyYXRlIGZ1bmN0aW9ucyB0byBtYWludGFpbiBtb25vbW9ycGhpYyBjYWxsIHNpdGVzXG5jb25zdCBwcm9jZXNzQ2xhc3NHcm91cHMgPSAoY2xhc3NHcm91cHMsIHRoZW1lKSA9PiB7XG4gIGNvbnN0IGNsYXNzTWFwID0gY3JlYXRlQ2xhc3NQYXJ0T2JqZWN0KCk7XG4gIGZvciAoY29uc3QgY2xhc3NHcm91cElkIGluIGNsYXNzR3JvdXBzKSB7XG4gICAgY29uc3QgZ3JvdXAgPSBjbGFzc0dyb3Vwc1tjbGFzc0dyb3VwSWRdO1xuICAgIHByb2Nlc3NDbGFzc2VzUmVjdXJzaXZlbHkoZ3JvdXAsIGNsYXNzTWFwLCBjbGFzc0dyb3VwSWQsIHRoZW1lKTtcbiAgfVxuICByZXR1cm4gY2xhc3NNYXA7XG59O1xuY29uc3QgcHJvY2Vzc0NsYXNzZXNSZWN1cnNpdmVseSA9IChjbGFzc0dyb3VwLCBjbGFzc1BhcnRPYmplY3QsIGNsYXNzR3JvdXBJZCwgdGhlbWUpID0+IHtcbiAgY29uc3QgbGVuID0gY2xhc3NHcm91cC5sZW5ndGg7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICBjb25zdCBjbGFzc0RlZmluaXRpb24gPSBjbGFzc0dyb3VwW2ldO1xuICAgIHByb2Nlc3NDbGFzc0RlZmluaXRpb24oY2xhc3NEZWZpbml0aW9uLCBjbGFzc1BhcnRPYmplY3QsIGNsYXNzR3JvdXBJZCwgdGhlbWUpO1xuICB9XG59O1xuLy8gU3BsaXQgaW50byBzZXBhcmF0ZSBmdW5jdGlvbnMgZm9yIGVhY2ggdHlwZSB0byBtYWludGFpbiBtb25vbW9ycGhpYyBjYWxsIHNpdGVzXG5jb25zdCBwcm9jZXNzQ2xhc3NEZWZpbml0aW9uID0gKGNsYXNzRGVmaW5pdGlvbiwgY2xhc3NQYXJ0T2JqZWN0LCBjbGFzc0dyb3VwSWQsIHRoZW1lKSA9PiB7XG4gIGlmICh0eXBlb2YgY2xhc3NEZWZpbml0aW9uID09PSAnc3RyaW5nJykge1xuICAgIHByb2Nlc3NTdHJpbmdEZWZpbml0aW9uKGNsYXNzRGVmaW5pdGlvbiwgY2xhc3NQYXJ0T2JqZWN0LCBjbGFzc0dyb3VwSWQpO1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAodHlwZW9mIGNsYXNzRGVmaW5pdGlvbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHByb2Nlc3NGdW5jdGlvbkRlZmluaXRpb24oY2xhc3NEZWZpbml0aW9uLCBjbGFzc1BhcnRPYmplY3QsIGNsYXNzR3JvdXBJZCwgdGhlbWUpO1xuICAgIHJldHVybjtcbiAgfVxuICBwcm9jZXNzT2JqZWN0RGVmaW5pdGlvbihjbGFzc0RlZmluaXRpb24sIGNsYXNzUGFydE9iamVjdCwgY2xhc3NHcm91cElkLCB0aGVtZSk7XG59O1xuY29uc3QgcHJvY2Vzc1N0cmluZ0RlZmluaXRpb24gPSAoY2xhc3NEZWZpbml0aW9uLCBjbGFzc1BhcnRPYmplY3QsIGNsYXNzR3JvdXBJZCkgPT4ge1xuICBjb25zdCBjbGFzc1BhcnRPYmplY3RUb0VkaXQgPSBjbGFzc0RlZmluaXRpb24gPT09ICcnID8gY2xhc3NQYXJ0T2JqZWN0IDogZ2V0UGFydChjbGFzc1BhcnRPYmplY3QsIGNsYXNzRGVmaW5pdGlvbik7XG4gIGNsYXNzUGFydE9iamVjdFRvRWRpdC5jbGFzc0dyb3VwSWQgPSBjbGFzc0dyb3VwSWQ7XG59O1xuY29uc3QgcHJvY2Vzc0Z1bmN0aW9uRGVmaW5pdGlvbiA9IChjbGFzc0RlZmluaXRpb24sIGNsYXNzUGFydE9iamVjdCwgY2xhc3NHcm91cElkLCB0aGVtZSkgPT4ge1xuICBpZiAoaXNUaGVtZUdldHRlcihjbGFzc0RlZmluaXRpb24pKSB7XG4gICAgcHJvY2Vzc0NsYXNzZXNSZWN1cnNpdmVseShjbGFzc0RlZmluaXRpb24odGhlbWUpLCBjbGFzc1BhcnRPYmplY3QsIGNsYXNzR3JvdXBJZCwgdGhlbWUpO1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAoY2xhc3NQYXJ0T2JqZWN0LnZhbGlkYXRvcnMgPT09IG51bGwpIHtcbiAgICBjbGFzc1BhcnRPYmplY3QudmFsaWRhdG9ycyA9IFtdO1xuICB9XG4gIGNsYXNzUGFydE9iamVjdC52YWxpZGF0b3JzLnB1c2goY3JlYXRlQ2xhc3NWYWxpZGF0b3JPYmplY3QoY2xhc3NHcm91cElkLCBjbGFzc0RlZmluaXRpb24pKTtcbn07XG5jb25zdCBwcm9jZXNzT2JqZWN0RGVmaW5pdGlvbiA9IChjbGFzc0RlZmluaXRpb24sIGNsYXNzUGFydE9iamVjdCwgY2xhc3NHcm91cElkLCB0aGVtZSkgPT4ge1xuICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoY2xhc3NEZWZpbml0aW9uKTtcbiAgY29uc3QgbGVuID0gZW50cmllcy5sZW5ndGg7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICBjb25zdCBba2V5LCB2YWx1ZV0gPSBlbnRyaWVzW2ldO1xuICAgIHByb2Nlc3NDbGFzc2VzUmVjdXJzaXZlbHkodmFsdWUsIGdldFBhcnQoY2xhc3NQYXJ0T2JqZWN0LCBrZXkpLCBjbGFzc0dyb3VwSWQsIHRoZW1lKTtcbiAgfVxufTtcbmNvbnN0IGdldFBhcnQgPSAoY2xhc3NQYXJ0T2JqZWN0LCBwYXRoKSA9PiB7XG4gIGxldCBjdXJyZW50ID0gY2xhc3NQYXJ0T2JqZWN0O1xuICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoQ0xBU1NfUEFSVF9TRVBBUkFUT1IpO1xuICBjb25zdCBsZW4gPSBwYXJ0cy5sZW5ndGg7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICBjb25zdCBwYXJ0ID0gcGFydHNbaV07XG4gICAgbGV0IG5leHQgPSBjdXJyZW50Lm5leHRQYXJ0LmdldChwYXJ0KTtcbiAgICBpZiAoIW5leHQpIHtcbiAgICAgIG5leHQgPSBjcmVhdGVDbGFzc1BhcnRPYmplY3QoKTtcbiAgICAgIGN1cnJlbnQubmV4dFBhcnQuc2V0KHBhcnQsIG5leHQpO1xuICAgIH1cbiAgICBjdXJyZW50ID0gbmV4dDtcbiAgfVxuICByZXR1cm4gY3VycmVudDtcbn07XG4vLyBUeXBlIGd1YXJkIG1haW50YWlucyBtb25vbW9ycGhpYyBjaGVja1xuY29uc3QgaXNUaGVtZUdldHRlciA9IGZ1bmMgPT4gJ2lzVGhlbWVHZXR0ZXInIGluIGZ1bmMgJiYgZnVuYy5pc1RoZW1lR2V0dGVyID09PSB0cnVlO1xuXG4vLyBMUlUgY2FjaGUgaW1wbGVtZW50YXRpb24gdXNpbmcgcGxhaW4gb2JqZWN0cyBmb3Igc2ltcGxpY2l0eVxuY29uc3QgY3JlYXRlTHJ1Q2FjaGUgPSBtYXhDYWNoZVNpemUgPT4ge1xuICBpZiAobWF4Q2FjaGVTaXplIDwgMSkge1xuICAgIHJldHVybiB7XG4gICAgICBnZXQ6ICgpID0+IHVuZGVmaW5lZCxcbiAgICAgIHNldDogKCkgPT4ge31cbiAgICB9O1xuICB9XG4gIGxldCBjYWNoZVNpemUgPSAwO1xuICBsZXQgY2FjaGUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICBsZXQgcHJldmlvdXNDYWNoZSA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIGNvbnN0IHVwZGF0ZSA9IChrZXksIHZhbHVlKSA9PiB7XG4gICAgY2FjaGVba2V5XSA9IHZhbHVlO1xuICAgIGNhY2hlU2l6ZSsrO1xuICAgIGlmIChjYWNoZVNpemUgPiBtYXhDYWNoZVNpemUpIHtcbiAgICAgIGNhY2hlU2l6ZSA9IDA7XG4gICAgICBwcmV2aW91c0NhY2hlID0gY2FjaGU7XG4gICAgICBjYWNoZSA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgfVxuICB9O1xuICByZXR1cm4ge1xuICAgIGdldChrZXkpIHtcbiAgICAgIGxldCB2YWx1ZSA9IGNhY2hlW2tleV07XG4gICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBpZiAoKHZhbHVlID0gcHJldmlvdXNDYWNoZVtrZXldKSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHVwZGF0ZShrZXksIHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgIH0sXG4gICAgc2V0KGtleSwgdmFsdWUpIHtcbiAgICAgIGlmIChrZXkgaW4gY2FjaGUpIHtcbiAgICAgICAgY2FjaGVba2V5XSA9IHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdXBkYXRlKGtleSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn07XG5jb25zdCBJTVBPUlRBTlRfTU9ESUZJRVIgPSAnISc7XG5jb25zdCBNT0RJRklFUl9TRVBBUkFUT1IgPSAnOic7XG5jb25zdCBFTVBUWV9NT0RJRklFUlMgPSBbXTtcbi8vIFByZS1hbGxvY2F0ZWQgcmVzdWx0IG9iamVjdCBzaGFwZSBmb3IgY29uc2lzdGVuY3lcbmNvbnN0IGNyZWF0ZVJlc3VsdE9iamVjdCA9IChtb2RpZmllcnMsIGhhc0ltcG9ydGFudE1vZGlmaWVyLCBiYXNlQ2xhc3NOYW1lLCBtYXliZVBvc3RmaXhNb2RpZmllclBvc2l0aW9uLCBpc0V4dGVybmFsKSA9PiAoe1xuICBtb2RpZmllcnMsXG4gIGhhc0ltcG9ydGFudE1vZGlmaWVyLFxuICBiYXNlQ2xhc3NOYW1lLFxuICBtYXliZVBvc3RmaXhNb2RpZmllclBvc2l0aW9uLFxuICBpc0V4dGVybmFsXG59KTtcbmNvbnN0IGNyZWF0ZVBhcnNlQ2xhc3NOYW1lID0gY29uZmlnID0+IHtcbiAgY29uc3Qge1xuICAgIHByZWZpeCxcbiAgICBleHBlcmltZW50YWxQYXJzZUNsYXNzTmFtZVxuICB9ID0gY29uZmlnO1xuICAvKipcbiAgICogUGFyc2UgY2xhc3MgbmFtZSBpbnRvIHBhcnRzLlxuICAgKlxuICAgKiBJbnNwaXJlZCBieSBgc3BsaXRBdFRvcExldmVsT25seWAgdXNlZCBpbiBUYWlsd2luZCBDU1NcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2Jsb2IvdjMuMi4yL3NyYy91dGlsL3NwbGl0QXRUb3BMZXZlbE9ubHkuanNcbiAgICovXG4gIGxldCBwYXJzZUNsYXNzTmFtZSA9IGNsYXNzTmFtZSA9PiB7XG4gICAgLy8gVXNlIHNpbXBsZSBhcnJheSB3aXRoIHB1c2ggZm9yIGJldHRlciBwZXJmb3JtYW5jZVxuICAgIGNvbnN0IG1vZGlmaWVycyA9IFtdO1xuICAgIGxldCBicmFja2V0RGVwdGggPSAwO1xuICAgIGxldCBwYXJlbkRlcHRoID0gMDtcbiAgICBsZXQgbW9kaWZpZXJTdGFydCA9IDA7XG4gICAgbGV0IHBvc3RmaXhNb2RpZmllclBvc2l0aW9uO1xuICAgIGNvbnN0IGxlbiA9IGNsYXNzTmFtZS5sZW5ndGg7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxlbjsgaW5kZXgrKykge1xuICAgICAgY29uc3QgY3VycmVudENoYXJhY3RlciA9IGNsYXNzTmFtZVtpbmRleF07XG4gICAgICBpZiAoYnJhY2tldERlcHRoID09PSAwICYmIHBhcmVuRGVwdGggPT09IDApIHtcbiAgICAgICAgaWYgKGN1cnJlbnRDaGFyYWN0ZXIgPT09IE1PRElGSUVSX1NFUEFSQVRPUikge1xuICAgICAgICAgIG1vZGlmaWVycy5wdXNoKGNsYXNzTmFtZS5zbGljZShtb2RpZmllclN0YXJ0LCBpbmRleCkpO1xuICAgICAgICAgIG1vZGlmaWVyU3RhcnQgPSBpbmRleCArIDE7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGN1cnJlbnRDaGFyYWN0ZXIgPT09ICcvJykge1xuICAgICAgICAgIHBvc3RmaXhNb2RpZmllclBvc2l0aW9uID0gaW5kZXg7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChjdXJyZW50Q2hhcmFjdGVyID09PSAnWycpIGJyYWNrZXREZXB0aCsrO2Vsc2UgaWYgKGN1cnJlbnRDaGFyYWN0ZXIgPT09ICddJykgYnJhY2tldERlcHRoLS07ZWxzZSBpZiAoY3VycmVudENoYXJhY3RlciA9PT0gJygnKSBwYXJlbkRlcHRoKys7ZWxzZSBpZiAoY3VycmVudENoYXJhY3RlciA9PT0gJyknKSBwYXJlbkRlcHRoLS07XG4gICAgfVxuICAgIGNvbnN0IGJhc2VDbGFzc05hbWVXaXRoSW1wb3J0YW50TW9kaWZpZXIgPSBtb2RpZmllcnMubGVuZ3RoID09PSAwID8gY2xhc3NOYW1lIDogY2xhc3NOYW1lLnNsaWNlKG1vZGlmaWVyU3RhcnQpO1xuICAgIC8vIElubGluZSBpbXBvcnRhbnQgbW9kaWZpZXIgY2hlY2tcbiAgICBsZXQgYmFzZUNsYXNzTmFtZSA9IGJhc2VDbGFzc05hbWVXaXRoSW1wb3J0YW50TW9kaWZpZXI7XG4gICAgbGV0IGhhc0ltcG9ydGFudE1vZGlmaWVyID0gZmFsc2U7XG4gICAgaWYgKGJhc2VDbGFzc05hbWVXaXRoSW1wb3J0YW50TW9kaWZpZXIuZW5kc1dpdGgoSU1QT1JUQU5UX01PRElGSUVSKSkge1xuICAgICAgYmFzZUNsYXNzTmFtZSA9IGJhc2VDbGFzc05hbWVXaXRoSW1wb3J0YW50TW9kaWZpZXIuc2xpY2UoMCwgLTEpO1xuICAgICAgaGFzSW1wb3J0YW50TW9kaWZpZXIgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgLyoqXG4gICAgICogSW4gVGFpbHdpbmQgQ1NTIHYzIHRoZSBpbXBvcnRhbnQgbW9kaWZpZXIgd2FzIGF0IHRoZSBzdGFydCBvZiB0aGUgYmFzZSBjbGFzcyBuYW1lLiBUaGlzIGlzIHN0aWxsIHN1cHBvcnRlZCBmb3IgbGVnYWN5IHJlYXNvbnMuXG4gICAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vZGNhc3RpbC90YWlsd2luZC1tZXJnZS9pc3N1ZXMvNTEzI2lzc3VlY29tbWVudC0yNjE0MDI5ODY0XG4gICAgICovXG4gICAgYmFzZUNsYXNzTmFtZVdpdGhJbXBvcnRhbnRNb2RpZmllci5zdGFydHNXaXRoKElNUE9SVEFOVF9NT0RJRklFUikpIHtcbiAgICAgIGJhc2VDbGFzc05hbWUgPSBiYXNlQ2xhc3NOYW1lV2l0aEltcG9ydGFudE1vZGlmaWVyLnNsaWNlKDEpO1xuICAgICAgaGFzSW1wb3J0YW50TW9kaWZpZXIgPSB0cnVlO1xuICAgIH1cbiAgICBjb25zdCBtYXliZVBvc3RmaXhNb2RpZmllclBvc2l0aW9uID0gcG9zdGZpeE1vZGlmaWVyUG9zaXRpb24gJiYgcG9zdGZpeE1vZGlmaWVyUG9zaXRpb24gPiBtb2RpZmllclN0YXJ0ID8gcG9zdGZpeE1vZGlmaWVyUG9zaXRpb24gLSBtb2RpZmllclN0YXJ0IDogdW5kZWZpbmVkO1xuICAgIHJldHVybiBjcmVhdGVSZXN1bHRPYmplY3QobW9kaWZpZXJzLCBoYXNJbXBvcnRhbnRNb2RpZmllciwgYmFzZUNsYXNzTmFtZSwgbWF5YmVQb3N0Zml4TW9kaWZpZXJQb3NpdGlvbik7XG4gIH07XG4gIGlmIChwcmVmaXgpIHtcbiAgICBjb25zdCBmdWxsUHJlZml4ID0gcHJlZml4ICsgTU9ESUZJRVJfU0VQQVJBVE9SO1xuICAgIGNvbnN0IHBhcnNlQ2xhc3NOYW1lT3JpZ2luYWwgPSBwYXJzZUNsYXNzTmFtZTtcbiAgICBwYXJzZUNsYXNzTmFtZSA9IGNsYXNzTmFtZSA9PiBjbGFzc05hbWUuc3RhcnRzV2l0aChmdWxsUHJlZml4KSA/IHBhcnNlQ2xhc3NOYW1lT3JpZ2luYWwoY2xhc3NOYW1lLnNsaWNlKGZ1bGxQcmVmaXgubGVuZ3RoKSkgOiBjcmVhdGVSZXN1bHRPYmplY3QoRU1QVFlfTU9ESUZJRVJTLCBmYWxzZSwgY2xhc3NOYW1lLCB1bmRlZmluZWQsIHRydWUpO1xuICB9XG4gIGlmIChleHBlcmltZW50YWxQYXJzZUNsYXNzTmFtZSkge1xuICAgIGNvbnN0IHBhcnNlQ2xhc3NOYW1lT3JpZ2luYWwgPSBwYXJzZUNsYXNzTmFtZTtcbiAgICBwYXJzZUNsYXNzTmFtZSA9IGNsYXNzTmFtZSA9PiBleHBlcmltZW50YWxQYXJzZUNsYXNzTmFtZSh7XG4gICAgICBjbGFzc05hbWUsXG4gICAgICBwYXJzZUNsYXNzTmFtZTogcGFyc2VDbGFzc05hbWVPcmlnaW5hbFxuICAgIH0pO1xuICB9XG4gIHJldHVybiBwYXJzZUNsYXNzTmFtZTtcbn07XG5cbi8qKlxuICogU29ydHMgbW9kaWZpZXJzIGFjY29yZGluZyB0byBmb2xsb3dpbmcgc2NoZW1hOlxuICogLSBQcmVkZWZpbmVkIG1vZGlmaWVycyBhcmUgc29ydGVkIGFscGhhYmV0aWNhbGx5XG4gKiAtIFdoZW4gYW4gYXJiaXRyYXJ5IHZhcmlhbnQgYXBwZWFycywgaXQgbXVzdCBiZSBwcmVzZXJ2ZWQgd2hpY2ggbW9kaWZpZXJzIGFyZSBiZWZvcmUgYW5kIGFmdGVyIGl0XG4gKi9cbmNvbnN0IGNyZWF0ZVNvcnRNb2RpZmllcnMgPSBjb25maWcgPT4ge1xuICAvLyBQcmUtY29tcHV0ZSB3ZWlnaHRzIGZvciBhbGwga25vd24gbW9kaWZpZXJzIGZvciBPKDEpIGNvbXBhcmlzb25cbiAgY29uc3QgbW9kaWZpZXJXZWlnaHRzID0gbmV3IE1hcCgpO1xuICAvLyBBc3NpZ24gd2VpZ2h0cyB0byBzZW5zaXRpdmUgbW9kaWZpZXJzIChoaWdoZXN0IHByaW9yaXR5LCBidXQgcHJlc2VydmUgb3JkZXIpXG4gIGNvbmZpZy5vcmRlclNlbnNpdGl2ZU1vZGlmaWVycy5mb3JFYWNoKChtb2QsIGluZGV4KSA9PiB7XG4gICAgbW9kaWZpZXJXZWlnaHRzLnNldChtb2QsIDEwMDAwMDAgKyBpbmRleCk7IC8vIEhpZ2ggd2VpZ2h0cyBmb3Igc2Vuc2l0aXZlIG1vZHNcbiAgfSk7XG4gIHJldHVybiBtb2RpZmllcnMgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgIGxldCBjdXJyZW50U2VnbWVudCA9IFtdO1xuICAgIC8vIFByb2Nlc3MgbW9kaWZpZXJzIGluIG9uZSBwYXNzXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtb2RpZmllcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IG1vZGlmaWVyID0gbW9kaWZpZXJzW2ldO1xuICAgICAgLy8gQ2hlY2sgaWYgbW9kaWZpZXIgaXMgc2Vuc2l0aXZlIChzdGFydHMgd2l0aCAnWycgb3IgaW4gb3JkZXJTZW5zaXRpdmVNb2RpZmllcnMpXG4gICAgICBjb25zdCBpc0FyYml0cmFyeSA9IG1vZGlmaWVyWzBdID09PSAnWyc7XG4gICAgICBjb25zdCBpc09yZGVyU2Vuc2l0aXZlID0gbW9kaWZpZXJXZWlnaHRzLmhhcyhtb2RpZmllcik7XG4gICAgICBpZiAoaXNBcmJpdHJhcnkgfHwgaXNPcmRlclNlbnNpdGl2ZSkge1xuICAgICAgICAvLyBTb3J0IGFuZCBmbHVzaCBjdXJyZW50IHNlZ21lbnQgYWxwaGFiZXRpY2FsbHlcbiAgICAgICAgaWYgKGN1cnJlbnRTZWdtZW50Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBjdXJyZW50U2VnbWVudC5zb3J0KCk7XG4gICAgICAgICAgcmVzdWx0LnB1c2goLi4uY3VycmVudFNlZ21lbnQpO1xuICAgICAgICAgIGN1cnJlbnRTZWdtZW50ID0gW107XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0LnB1c2gobW9kaWZpZXIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gUmVndWxhciBtb2RpZmllciAtIGFkZCB0byBjdXJyZW50IHNlZ21lbnQgZm9yIGJhdGNoIHNvcnRpbmdcbiAgICAgICAgY3VycmVudFNlZ21lbnQucHVzaChtb2RpZmllcik7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFNvcnQgYW5kIGFkZCBhbnkgcmVtYWluaW5nIHNlZ21lbnQgaXRlbXNcbiAgICBpZiAoY3VycmVudFNlZ21lbnQubGVuZ3RoID4gMCkge1xuICAgICAgY3VycmVudFNlZ21lbnQuc29ydCgpO1xuICAgICAgcmVzdWx0LnB1c2goLi4uY3VycmVudFNlZ21lbnQpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xufTtcbmNvbnN0IGNyZWF0ZUNvbmZpZ1V0aWxzID0gY29uZmlnID0+ICh7XG4gIGNhY2hlOiBjcmVhdGVMcnVDYWNoZShjb25maWcuY2FjaGVTaXplKSxcbiAgcGFyc2VDbGFzc05hbWU6IGNyZWF0ZVBhcnNlQ2xhc3NOYW1lKGNvbmZpZyksXG4gIHNvcnRNb2RpZmllcnM6IGNyZWF0ZVNvcnRNb2RpZmllcnMoY29uZmlnKSxcbiAgLi4uY3JlYXRlQ2xhc3NHcm91cFV0aWxzKGNvbmZpZylcbn0pO1xuY29uc3QgU1BMSVRfQ0xBU1NFU19SRUdFWCA9IC9cXHMrLztcbmNvbnN0IG1lcmdlQ2xhc3NMaXN0ID0gKGNsYXNzTGlzdCwgY29uZmlnVXRpbHMpID0+IHtcbiAgY29uc3Qge1xuICAgIHBhcnNlQ2xhc3NOYW1lLFxuICAgIGdldENsYXNzR3JvdXBJZCxcbiAgICBnZXRDb25mbGljdGluZ0NsYXNzR3JvdXBJZHMsXG4gICAgc29ydE1vZGlmaWVyc1xuICB9ID0gY29uZmlnVXRpbHM7XG4gIC8qKlxuICAgKiBTZXQgb2YgY2xhc3NHcm91cElkcyBpbiBmb2xsb3dpbmcgZm9ybWF0OlxuICAgKiBge2ltcG9ydGFudE1vZGlmaWVyfXt2YXJpYW50TW9kaWZpZXJzfXtjbGFzc0dyb3VwSWR9YFxuICAgKiBAZXhhbXBsZSAnZmxvYXQnXG4gICAqIEBleGFtcGxlICdob3Zlcjpmb2N1czpiZy1jb2xvcidcbiAgICogQGV4YW1wbGUgJ21kOiFwcidcbiAgICovXG4gIGNvbnN0IGNsYXNzR3JvdXBzSW5Db25mbGljdCA9IFtdO1xuICBjb25zdCBjbGFzc05hbWVzID0gY2xhc3NMaXN0LnRyaW0oKS5zcGxpdChTUExJVF9DTEFTU0VTX1JFR0VYKTtcbiAgbGV0IHJlc3VsdCA9ICcnO1xuICBmb3IgKGxldCBpbmRleCA9IGNsYXNzTmFtZXMubGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXggLT0gMSkge1xuICAgIGNvbnN0IG9yaWdpbmFsQ2xhc3NOYW1lID0gY2xhc3NOYW1lc1tpbmRleF07XG4gICAgY29uc3Qge1xuICAgICAgaXNFeHRlcm5hbCxcbiAgICAgIG1vZGlmaWVycyxcbiAgICAgIGhhc0ltcG9ydGFudE1vZGlmaWVyLFxuICAgICAgYmFzZUNsYXNzTmFtZSxcbiAgICAgIG1heWJlUG9zdGZpeE1vZGlmaWVyUG9zaXRpb25cbiAgICB9ID0gcGFyc2VDbGFzc05hbWUob3JpZ2luYWxDbGFzc05hbWUpO1xuICAgIGlmIChpc0V4dGVybmFsKSB7XG4gICAgICByZXN1bHQgPSBvcmlnaW5hbENsYXNzTmFtZSArIChyZXN1bHQubGVuZ3RoID4gMCA/ICcgJyArIHJlc3VsdCA6IHJlc3VsdCk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgbGV0IGhhc1Bvc3RmaXhNb2RpZmllciA9ICEhbWF5YmVQb3N0Zml4TW9kaWZpZXJQb3NpdGlvbjtcbiAgICBsZXQgY2xhc3NHcm91cElkID0gZ2V0Q2xhc3NHcm91cElkKGhhc1Bvc3RmaXhNb2RpZmllciA/IGJhc2VDbGFzc05hbWUuc3Vic3RyaW5nKDAsIG1heWJlUG9zdGZpeE1vZGlmaWVyUG9zaXRpb24pIDogYmFzZUNsYXNzTmFtZSk7XG4gICAgaWYgKCFjbGFzc0dyb3VwSWQpIHtcbiAgICAgIGlmICghaGFzUG9zdGZpeE1vZGlmaWVyKSB7XG4gICAgICAgIC8vIE5vdCBhIFRhaWx3aW5kIGNsYXNzXG4gICAgICAgIHJlc3VsdCA9IG9yaWdpbmFsQ2xhc3NOYW1lICsgKHJlc3VsdC5sZW5ndGggPiAwID8gJyAnICsgcmVzdWx0IDogcmVzdWx0KTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjbGFzc0dyb3VwSWQgPSBnZXRDbGFzc0dyb3VwSWQoYmFzZUNsYXNzTmFtZSk7XG4gICAgICBpZiAoIWNsYXNzR3JvdXBJZCkge1xuICAgICAgICAvLyBOb3QgYSBUYWlsd2luZCBjbGFzc1xuICAgICAgICByZXN1bHQgPSBvcmlnaW5hbENsYXNzTmFtZSArIChyZXN1bHQubGVuZ3RoID4gMCA/ICcgJyArIHJlc3VsdCA6IHJlc3VsdCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaGFzUG9zdGZpeE1vZGlmaWVyID0gZmFsc2U7XG4gICAgfVxuICAgIC8vIEZhc3QgcGF0aDogc2tpcCBzb3J0aW5nIGZvciBlbXB0eSBvciBzaW5nbGUgbW9kaWZpZXJcbiAgICBjb25zdCB2YXJpYW50TW9kaWZpZXIgPSBtb2RpZmllcnMubGVuZ3RoID09PSAwID8gJycgOiBtb2RpZmllcnMubGVuZ3RoID09PSAxID8gbW9kaWZpZXJzWzBdIDogc29ydE1vZGlmaWVycyhtb2RpZmllcnMpLmpvaW4oJzonKTtcbiAgICBjb25zdCBtb2RpZmllcklkID0gaGFzSW1wb3J0YW50TW9kaWZpZXIgPyB2YXJpYW50TW9kaWZpZXIgKyBJTVBPUlRBTlRfTU9ESUZJRVIgOiB2YXJpYW50TW9kaWZpZXI7XG4gICAgY29uc3QgY2xhc3NJZCA9IG1vZGlmaWVySWQgKyBjbGFzc0dyb3VwSWQ7XG4gICAgaWYgKGNsYXNzR3JvdXBzSW5Db25mbGljdC5pbmRleE9mKGNsYXNzSWQpID4gLTEpIHtcbiAgICAgIC8vIFRhaWx3aW5kIGNsYXNzIG9taXR0ZWQgZHVlIHRvIGNvbmZsaWN0XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY2xhc3NHcm91cHNJbkNvbmZsaWN0LnB1c2goY2xhc3NJZCk7XG4gICAgY29uc3QgY29uZmxpY3RHcm91cHMgPSBnZXRDb25mbGljdGluZ0NsYXNzR3JvdXBJZHMoY2xhc3NHcm91cElkLCBoYXNQb3N0Zml4TW9kaWZpZXIpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29uZmxpY3RHcm91cHMubGVuZ3RoOyArK2kpIHtcbiAgICAgIGNvbnN0IGdyb3VwID0gY29uZmxpY3RHcm91cHNbaV07XG4gICAgICBjbGFzc0dyb3Vwc0luQ29uZmxpY3QucHVzaChtb2RpZmllcklkICsgZ3JvdXApO1xuICAgIH1cbiAgICAvLyBUYWlsd2luZCBjbGFzcyBub3QgaW4gY29uZmxpY3RcbiAgICByZXN1bHQgPSBvcmlnaW5hbENsYXNzTmFtZSArIChyZXN1bHQubGVuZ3RoID4gMCA/ICcgJyArIHJlc3VsdCA6IHJlc3VsdCk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8qKlxuICogVGhlIGNvZGUgaW4gdGhpcyBmaWxlIGlzIGNvcGllZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9sdWtlZWQvY2xzeCBhbmQgbW9kaWZpZWQgdG8gc3VpdCB0aGUgbmVlZHMgb2YgdGFpbHdpbmQtbWVyZ2UgYmV0dGVyLlxuICpcbiAqIFNwZWNpZmljYWxseTpcbiAqIC0gUnVudGltZSBjb2RlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2x1a2VlZC9jbHN4L2Jsb2IvdjEuMi4xL3NyYy9pbmRleC5qc1xuICogLSBUeXBlU2NyaXB0IHR5cGVzIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2x1a2VlZC9jbHN4L2Jsb2IvdjEuMi4xL2Nsc3guZC50c1xuICpcbiAqIE9yaWdpbmFsIGNvZGUgaGFzIE1JVCBsaWNlbnNlOiBDb3B5cmlnaHQgKGMpIEx1a2UgRWR3YXJkcyA8bHVrZS5lZHdhcmRzMDVAZ21haWwuY29tPiAobHVrZWVkLmNvbSlcbiAqL1xuY29uc3QgdHdKb2luID0gKC4uLmNsYXNzTGlzdHMpID0+IHtcbiAgbGV0IGluZGV4ID0gMDtcbiAgbGV0IGFyZ3VtZW50O1xuICBsZXQgcmVzb2x2ZWRWYWx1ZTtcbiAgbGV0IHN0cmluZyA9ICcnO1xuICB3aGlsZSAoaW5kZXggPCBjbGFzc0xpc3RzLmxlbmd0aCkge1xuICAgIGlmIChhcmd1bWVudCA9IGNsYXNzTGlzdHNbaW5kZXgrK10pIHtcbiAgICAgIGlmIChyZXNvbHZlZFZhbHVlID0gdG9WYWx1ZShhcmd1bWVudCkpIHtcbiAgICAgICAgc3RyaW5nICYmIChzdHJpbmcgKz0gJyAnKTtcbiAgICAgICAgc3RyaW5nICs9IHJlc29sdmVkVmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBzdHJpbmc7XG59O1xuY29uc3QgdG9WYWx1ZSA9IG1peCA9PiB7XG4gIC8vIEZhc3QgcGF0aCBmb3Igc3RyaW5nc1xuICBpZiAodHlwZW9mIG1peCA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gbWl4O1xuICB9XG4gIGxldCByZXNvbHZlZFZhbHVlO1xuICBsZXQgc3RyaW5nID0gJyc7XG4gIGZvciAobGV0IGsgPSAwOyBrIDwgbWl4Lmxlbmd0aDsgaysrKSB7XG4gICAgaWYgKG1peFtrXSkge1xuICAgICAgaWYgKHJlc29sdmVkVmFsdWUgPSB0b1ZhbHVlKG1peFtrXSkpIHtcbiAgICAgICAgc3RyaW5nICYmIChzdHJpbmcgKz0gJyAnKTtcbiAgICAgICAgc3RyaW5nICs9IHJlc29sdmVkVmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBzdHJpbmc7XG59O1xuY29uc3QgY3JlYXRlVGFpbHdpbmRNZXJnZSA9IChjcmVhdGVDb25maWdGaXJzdCwgLi4uY3JlYXRlQ29uZmlnUmVzdCkgPT4ge1xuICBsZXQgY29uZmlnVXRpbHM7XG4gIGxldCBjYWNoZUdldDtcbiAgbGV0IGNhY2hlU2V0O1xuICBsZXQgZnVuY3Rpb25Ub0NhbGw7XG4gIGNvbnN0IGluaXRUYWlsd2luZE1lcmdlID0gY2xhc3NMaXN0ID0+IHtcbiAgICBjb25zdCBjb25maWcgPSBjcmVhdGVDb25maWdSZXN0LnJlZHVjZSgocHJldmlvdXNDb25maWcsIGNyZWF0ZUNvbmZpZ0N1cnJlbnQpID0+IGNyZWF0ZUNvbmZpZ0N1cnJlbnQocHJldmlvdXNDb25maWcpLCBjcmVhdGVDb25maWdGaXJzdCgpKTtcbiAgICBjb25maWdVdGlscyA9IGNyZWF0ZUNvbmZpZ1V0aWxzKGNvbmZpZyk7XG4gICAgY2FjaGVHZXQgPSBjb25maWdVdGlscy5jYWNoZS5nZXQ7XG4gICAgY2FjaGVTZXQgPSBjb25maWdVdGlscy5jYWNoZS5zZXQ7XG4gICAgZnVuY3Rpb25Ub0NhbGwgPSB0YWlsd2luZE1lcmdlO1xuICAgIHJldHVybiB0YWlsd2luZE1lcmdlKGNsYXNzTGlzdCk7XG4gIH07XG4gIGNvbnN0IHRhaWx3aW5kTWVyZ2UgPSBjbGFzc0xpc3QgPT4ge1xuICAgIGNvbnN0IGNhY2hlZFJlc3VsdCA9IGNhY2hlR2V0KGNsYXNzTGlzdCk7XG4gICAgaWYgKGNhY2hlZFJlc3VsdCkge1xuICAgICAgcmV0dXJuIGNhY2hlZFJlc3VsdDtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gbWVyZ2VDbGFzc0xpc3QoY2xhc3NMaXN0LCBjb25maWdVdGlscyk7XG4gICAgY2FjaGVTZXQoY2xhc3NMaXN0LCByZXN1bHQpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG4gIGZ1bmN0aW9uVG9DYWxsID0gaW5pdFRhaWx3aW5kTWVyZ2U7XG4gIHJldHVybiAoLi4uYXJncykgPT4gZnVuY3Rpb25Ub0NhbGwodHdKb2luKC4uLmFyZ3MpKTtcbn07XG5jb25zdCBmYWxsYmFja1RoZW1lQXJyID0gW107XG5jb25zdCBmcm9tVGhlbWUgPSBrZXkgPT4ge1xuICBjb25zdCB0aGVtZUdldHRlciA9IHRoZW1lID0+IHRoZW1lW2tleV0gfHwgZmFsbGJhY2tUaGVtZUFycjtcbiAgdGhlbWVHZXR0ZXIuaXNUaGVtZUdldHRlciA9IHRydWU7XG4gIHJldHVybiB0aGVtZUdldHRlcjtcbn07XG5jb25zdCBhcmJpdHJhcnlWYWx1ZVJlZ2V4ID0gL15cXFsoPzooXFx3W1xcdy1dKik6KT8oLispXFxdJC9pO1xuY29uc3QgYXJiaXRyYXJ5VmFyaWFibGVSZWdleCA9IC9eXFwoKD86KFxcd1tcXHctXSopOik/KC4rKVxcKSQvaTtcbmNvbnN0IGZyYWN0aW9uUmVnZXggPSAvXlxcZCsoPzpcXC5cXGQrKT9cXC9cXGQrKD86XFwuXFxkKyk/JC87XG5jb25zdCB0c2hpcnRVbml0UmVnZXggPSAvXihcXGQrKFxcLlxcZCspPyk/KHhzfHNtfG1kfGxnfHhsKSQvO1xuY29uc3QgbGVuZ3RoVW5pdFJlZ2V4ID0gL1xcZCsoJXxweHxyP2VtfFtzZGxdP3YoW2h3aWJdfG1pbnxtYXgpfHB0fHBjfGlufGNtfG1tfGNhcHxjaHxleHxyP2xofGNxKHd8aHxpfGJ8bWlufG1heCkpfFxcYihjYWxjfG1pbnxtYXh8Y2xhbXApXFwoLitcXCl8XjAkLztcbmNvbnN0IGNvbG9yRnVuY3Rpb25SZWdleCA9IC9eKHJnYmE/fGhzbGE/fGh3Ynwob2spPyhsYWJ8bGNoKXxjb2xvci1taXgpXFwoLitcXCkkLztcbi8vIFNoYWRvdyBhbHdheXMgYmVnaW5zIHdpdGggeCBhbmQgeSBvZmZzZXQgc2VwYXJhdGVkIGJ5IHVuZGVyc2NvcmUgb3B0aW9uYWxseSBwcmVwZW5kZWQgYnkgaW5zZXRcbmNvbnN0IHNoYWRvd1JlZ2V4ID0gL14oaW5zZXRfKT8tPygoXFxkKyk/XFwuPyhcXGQrKVthLXpdK3wwKV8tPygoXFxkKyk/XFwuPyhcXGQrKVthLXpdK3wwKS87XG5jb25zdCBpbWFnZVJlZ2V4ID0gL14odXJsfGltYWdlfGltYWdlLXNldHxjcm9zcy1mYWRlfGVsZW1lbnR8KHJlcGVhdGluZy0pPyhsaW5lYXJ8cmFkaWFsfGNvbmljKS1ncmFkaWVudClcXCguK1xcKSQvO1xuY29uc3QgaXNGcmFjdGlvbiA9IHZhbHVlID0+IGZyYWN0aW9uUmVnZXgudGVzdCh2YWx1ZSk7XG5jb25zdCBpc051bWJlciA9IHZhbHVlID0+ICEhdmFsdWUgJiYgIU51bWJlci5pc05hTihOdW1iZXIodmFsdWUpKTtcbmNvbnN0IGlzSW50ZWdlciA9IHZhbHVlID0+ICEhdmFsdWUgJiYgTnVtYmVyLmlzSW50ZWdlcihOdW1iZXIodmFsdWUpKTtcbmNvbnN0IGlzUGVyY2VudCA9IHZhbHVlID0+IHZhbHVlLmVuZHNXaXRoKCclJykgJiYgaXNOdW1iZXIodmFsdWUuc2xpY2UoMCwgLTEpKTtcbmNvbnN0IGlzVHNoaXJ0U2l6ZSA9IHZhbHVlID0+IHRzaGlydFVuaXRSZWdleC50ZXN0KHZhbHVlKTtcbmNvbnN0IGlzQW55ID0gKCkgPT4gdHJ1ZTtcbmNvbnN0IGlzTGVuZ3RoT25seSA9IHZhbHVlID0+XG4vLyBgY29sb3JGdW5jdGlvblJlZ2V4YCBjaGVjayBpcyBuZWNlc3NhcnkgYmVjYXVzZSBjb2xvciBmdW5jdGlvbnMgY2FuIGhhdmUgcGVyY2VudGFnZXMgaW4gdGhlbSB3aGljaCB3aGljaCB3b3VsZCBiZSBpbmNvcnJlY3RseSBjbGFzc2lmaWVkIGFzIGxlbmd0aHMuXG4vLyBGb3IgZXhhbXBsZSwgYGhzbCgwIDAlIDAlKWAgd291bGQgYmUgY2xhc3NpZmllZCBhcyBhIGxlbmd0aCB3aXRob3V0IHRoaXMgY2hlY2suXG4vLyBJIGNvdWxkIGFsc28gdXNlIGxvb2tiZWhpbmQgYXNzZXJ0aW9uIGluIGBsZW5ndGhVbml0UmVnZXhgIGJ1dCB0aGF0IGlzbid0IHN1cHBvcnRlZCB3aWRlbHkgZW5vdWdoLlxubGVuZ3RoVW5pdFJlZ2V4LnRlc3QodmFsdWUpICYmICFjb2xvckZ1bmN0aW9uUmVnZXgudGVzdCh2YWx1ZSk7XG5jb25zdCBpc05ldmVyID0gKCkgPT4gZmFsc2U7XG5jb25zdCBpc1NoYWRvdyA9IHZhbHVlID0+IHNoYWRvd1JlZ2V4LnRlc3QodmFsdWUpO1xuY29uc3QgaXNJbWFnZSA9IHZhbHVlID0+IGltYWdlUmVnZXgudGVzdCh2YWx1ZSk7XG5jb25zdCBpc0FueU5vbkFyYml0cmFyeSA9IHZhbHVlID0+ICFpc0FyYml0cmFyeVZhbHVlKHZhbHVlKSAmJiAhaXNBcmJpdHJhcnlWYXJpYWJsZSh2YWx1ZSk7XG5jb25zdCBpc0FyYml0cmFyeVNpemUgPSB2YWx1ZSA9PiBnZXRJc0FyYml0cmFyeVZhbHVlKHZhbHVlLCBpc0xhYmVsU2l6ZSwgaXNOZXZlcik7XG5jb25zdCBpc0FyYml0cmFyeVZhbHVlID0gdmFsdWUgPT4gYXJiaXRyYXJ5VmFsdWVSZWdleC50ZXN0KHZhbHVlKTtcbmNvbnN0IGlzQXJiaXRyYXJ5TGVuZ3RoID0gdmFsdWUgPT4gZ2V0SXNBcmJpdHJhcnlWYWx1ZSh2YWx1ZSwgaXNMYWJlbExlbmd0aCwgaXNMZW5ndGhPbmx5KTtcbmNvbnN0IGlzQXJiaXRyYXJ5TnVtYmVyID0gdmFsdWUgPT4gZ2V0SXNBcmJpdHJhcnlWYWx1ZSh2YWx1ZSwgaXNMYWJlbE51bWJlciwgaXNOdW1iZXIpO1xuY29uc3QgaXNBcmJpdHJhcnlXZWlnaHQgPSB2YWx1ZSA9PiBnZXRJc0FyYml0cmFyeVZhbHVlKHZhbHVlLCBpc0xhYmVsV2VpZ2h0LCBpc0FueSk7XG5jb25zdCBpc0FyYml0cmFyeUZhbWlseU5hbWUgPSB2YWx1ZSA9PiBnZXRJc0FyYml0cmFyeVZhbHVlKHZhbHVlLCBpc0xhYmVsRmFtaWx5TmFtZSwgaXNOZXZlcik7XG5jb25zdCBpc0FyYml0cmFyeVBvc2l0aW9uID0gdmFsdWUgPT4gZ2V0SXNBcmJpdHJhcnlWYWx1ZSh2YWx1ZSwgaXNMYWJlbFBvc2l0aW9uLCBpc05ldmVyKTtcbmNvbnN0IGlzQXJiaXRyYXJ5SW1hZ2UgPSB2YWx1ZSA9PiBnZXRJc0FyYml0cmFyeVZhbHVlKHZhbHVlLCBpc0xhYmVsSW1hZ2UsIGlzSW1hZ2UpO1xuY29uc3QgaXNBcmJpdHJhcnlTaGFkb3cgPSB2YWx1ZSA9PiBnZXRJc0FyYml0cmFyeVZhbHVlKHZhbHVlLCBpc0xhYmVsU2hhZG93LCBpc1NoYWRvdyk7XG5jb25zdCBpc0FyYml0cmFyeVZhcmlhYmxlID0gdmFsdWUgPT4gYXJiaXRyYXJ5VmFyaWFibGVSZWdleC50ZXN0KHZhbHVlKTtcbmNvbnN0IGlzQXJiaXRyYXJ5VmFyaWFibGVMZW5ndGggPSB2YWx1ZSA9PiBnZXRJc0FyYml0cmFyeVZhcmlhYmxlKHZhbHVlLCBpc0xhYmVsTGVuZ3RoKTtcbmNvbnN0IGlzQXJiaXRyYXJ5VmFyaWFibGVGYW1pbHlOYW1lID0gdmFsdWUgPT4gZ2V0SXNBcmJpdHJhcnlWYXJpYWJsZSh2YWx1ZSwgaXNMYWJlbEZhbWlseU5hbWUpO1xuY29uc3QgaXNBcmJpdHJhcnlWYXJpYWJsZVBvc2l0aW9uID0gdmFsdWUgPT4gZ2V0SXNBcmJpdHJhcnlWYXJpYWJsZSh2YWx1ZSwgaXNMYWJlbFBvc2l0aW9uKTtcbmNvbnN0IGlzQXJiaXRyYXJ5VmFyaWFibGVTaXplID0gdmFsdWUgPT4gZ2V0SXNBcmJpdHJhcnlWYXJpYWJsZSh2YWx1ZSwgaXNMYWJlbFNpemUpO1xuY29uc3QgaXNBcmJpdHJhcnlWYXJpYWJsZUltYWdlID0gdmFsdWUgPT4gZ2V0SXNBcmJpdHJhcnlWYXJpYWJsZSh2YWx1ZSwgaXNMYWJlbEltYWdlKTtcbmNvbnN0IGlzQXJiaXRyYXJ5VmFyaWFibGVTaGFkb3cgPSB2YWx1ZSA9PiBnZXRJc0FyYml0cmFyeVZhcmlhYmxlKHZhbHVlLCBpc0xhYmVsU2hhZG93LCB0cnVlKTtcbmNvbnN0IGlzQXJiaXRyYXJ5VmFyaWFibGVXZWlnaHQgPSB2YWx1ZSA9PiBnZXRJc0FyYml0cmFyeVZhcmlhYmxlKHZhbHVlLCBpc0xhYmVsV2VpZ2h0LCB0cnVlKTtcbi8vIEhlbHBlcnNcbmNvbnN0IGdldElzQXJiaXRyYXJ5VmFsdWUgPSAodmFsdWUsIHRlc3RMYWJlbCwgdGVzdFZhbHVlKSA9PiB7XG4gIGNvbnN0IHJlc3VsdCA9IGFyYml0cmFyeVZhbHVlUmVnZXguZXhlYyh2YWx1ZSk7XG4gIGlmIChyZXN1bHQpIHtcbiAgICBpZiAocmVzdWx0WzFdKSB7XG4gICAgICByZXR1cm4gdGVzdExhYmVsKHJlc3VsdFsxXSk7XG4gICAgfVxuICAgIHJldHVybiB0ZXN0VmFsdWUocmVzdWx0WzJdKTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59O1xuY29uc3QgZ2V0SXNBcmJpdHJhcnlWYXJpYWJsZSA9ICh2YWx1ZSwgdGVzdExhYmVsLCBzaG91bGRNYXRjaE5vTGFiZWwgPSBmYWxzZSkgPT4ge1xuICBjb25zdCByZXN1bHQgPSBhcmJpdHJhcnlWYXJpYWJsZVJlZ2V4LmV4ZWModmFsdWUpO1xuICBpZiAocmVzdWx0KSB7XG4gICAgaWYgKHJlc3VsdFsxXSkge1xuICAgICAgcmV0dXJuIHRlc3RMYWJlbChyZXN1bHRbMV0pO1xuICAgIH1cbiAgICByZXR1cm4gc2hvdWxkTWF0Y2hOb0xhYmVsO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn07XG4vLyBMYWJlbHNcbmNvbnN0IGlzTGFiZWxQb3NpdGlvbiA9IGxhYmVsID0+IGxhYmVsID09PSAncG9zaXRpb24nIHx8IGxhYmVsID09PSAncGVyY2VudGFnZSc7XG5jb25zdCBpc0xhYmVsSW1hZ2UgPSBsYWJlbCA9PiBsYWJlbCA9PT0gJ2ltYWdlJyB8fCBsYWJlbCA9PT0gJ3VybCc7XG5jb25zdCBpc0xhYmVsU2l6ZSA9IGxhYmVsID0+IGxhYmVsID09PSAnbGVuZ3RoJyB8fCBsYWJlbCA9PT0gJ3NpemUnIHx8IGxhYmVsID09PSAnYmctc2l6ZSc7XG5jb25zdCBpc0xhYmVsTGVuZ3RoID0gbGFiZWwgPT4gbGFiZWwgPT09ICdsZW5ndGgnO1xuY29uc3QgaXNMYWJlbE51bWJlciA9IGxhYmVsID0+IGxhYmVsID09PSAnbnVtYmVyJztcbmNvbnN0IGlzTGFiZWxGYW1pbHlOYW1lID0gbGFiZWwgPT4gbGFiZWwgPT09ICdmYW1pbHktbmFtZSc7XG5jb25zdCBpc0xhYmVsV2VpZ2h0ID0gbGFiZWwgPT4gbGFiZWwgPT09ICdudW1iZXInIHx8IGxhYmVsID09PSAnd2VpZ2h0JztcbmNvbnN0IGlzTGFiZWxTaGFkb3cgPSBsYWJlbCA9PiBsYWJlbCA9PT0gJ3NoYWRvdyc7XG5jb25zdCB2YWxpZGF0b3JzID0gLyojX19QVVJFX18qL09iamVjdC5kZWZpbmVQcm9wZXJ0eSh7XG4gIF9fcHJvdG9fXzogbnVsbCxcbiAgaXNBbnksXG4gIGlzQW55Tm9uQXJiaXRyYXJ5LFxuICBpc0FyYml0cmFyeUZhbWlseU5hbWUsXG4gIGlzQXJiaXRyYXJ5SW1hZ2UsXG4gIGlzQXJiaXRyYXJ5TGVuZ3RoLFxuICBpc0FyYml0cmFyeU51bWJlcixcbiAgaXNBcmJpdHJhcnlQb3NpdGlvbixcbiAgaXNBcmJpdHJhcnlTaGFkb3csXG4gIGlzQXJiaXRyYXJ5U2l6ZSxcbiAgaXNBcmJpdHJhcnlWYWx1ZSxcbiAgaXNBcmJpdHJhcnlWYXJpYWJsZSxcbiAgaXNBcmJpdHJhcnlWYXJpYWJsZUZhbWlseU5hbWUsXG4gIGlzQXJiaXRyYXJ5VmFyaWFibGVJbWFnZSxcbiAgaXNBcmJpdHJhcnlWYXJpYWJsZUxlbmd0aCxcbiAgaXNBcmJpdHJhcnlWYXJpYWJsZVBvc2l0aW9uLFxuICBpc0FyYml0cmFyeVZhcmlhYmxlU2hhZG93LFxuICBpc0FyYml0cmFyeVZhcmlhYmxlU2l6ZSxcbiAgaXNBcmJpdHJhcnlWYXJpYWJsZVdlaWdodCxcbiAgaXNBcmJpdHJhcnlXZWlnaHQsXG4gIGlzRnJhY3Rpb24sXG4gIGlzSW50ZWdlcixcbiAgaXNOdW1iZXIsXG4gIGlzUGVyY2VudCxcbiAgaXNUc2hpcnRTaXplXG59LCBTeW1ib2wudG9TdHJpbmdUYWcsIHtcbiAgdmFsdWU6ICdNb2R1bGUnXG59KTtcbmNvbnN0IGdldERlZmF1bHRDb25maWcgPSAoKSA9PiB7XG4gIC8qKlxuICAgKiBUaGVtZSBnZXR0ZXJzIGZvciB0aGVtZSB2YXJpYWJsZSBuYW1lc3BhY2VzXG4gICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90aGVtZSN0aGVtZS12YXJpYWJsZS1uYW1lc3BhY2VzXG4gICAqL1xuICAvKioqL1xuICBjb25zdCB0aGVtZUNvbG9yID0gZnJvbVRoZW1lKCdjb2xvcicpO1xuICBjb25zdCB0aGVtZUZvbnQgPSBmcm9tVGhlbWUoJ2ZvbnQnKTtcbiAgY29uc3QgdGhlbWVUZXh0ID0gZnJvbVRoZW1lKCd0ZXh0Jyk7XG4gIGNvbnN0IHRoZW1lRm9udFdlaWdodCA9IGZyb21UaGVtZSgnZm9udC13ZWlnaHQnKTtcbiAgY29uc3QgdGhlbWVUcmFja2luZyA9IGZyb21UaGVtZSgndHJhY2tpbmcnKTtcbiAgY29uc3QgdGhlbWVMZWFkaW5nID0gZnJvbVRoZW1lKCdsZWFkaW5nJyk7XG4gIGNvbnN0IHRoZW1lQnJlYWtwb2ludCA9IGZyb21UaGVtZSgnYnJlYWtwb2ludCcpO1xuICBjb25zdCB0aGVtZUNvbnRhaW5lciA9IGZyb21UaGVtZSgnY29udGFpbmVyJyk7XG4gIGNvbnN0IHRoZW1lU3BhY2luZyA9IGZyb21UaGVtZSgnc3BhY2luZycpO1xuICBjb25zdCB0aGVtZVJhZGl1cyA9IGZyb21UaGVtZSgncmFkaXVzJyk7XG4gIGNvbnN0IHRoZW1lU2hhZG93ID0gZnJvbVRoZW1lKCdzaGFkb3cnKTtcbiAgY29uc3QgdGhlbWVJbnNldFNoYWRvdyA9IGZyb21UaGVtZSgnaW5zZXQtc2hhZG93Jyk7XG4gIGNvbnN0IHRoZW1lVGV4dFNoYWRvdyA9IGZyb21UaGVtZSgndGV4dC1zaGFkb3cnKTtcbiAgY29uc3QgdGhlbWVEcm9wU2hhZG93ID0gZnJvbVRoZW1lKCdkcm9wLXNoYWRvdycpO1xuICBjb25zdCB0aGVtZUJsdXIgPSBmcm9tVGhlbWUoJ2JsdXInKTtcbiAgY29uc3QgdGhlbWVQZXJzcGVjdGl2ZSA9IGZyb21UaGVtZSgncGVyc3BlY3RpdmUnKTtcbiAgY29uc3QgdGhlbWVBc3BlY3QgPSBmcm9tVGhlbWUoJ2FzcGVjdCcpO1xuICBjb25zdCB0aGVtZUVhc2UgPSBmcm9tVGhlbWUoJ2Vhc2UnKTtcbiAgY29uc3QgdGhlbWVBbmltYXRlID0gZnJvbVRoZW1lKCdhbmltYXRlJyk7XG4gIC8qKlxuICAgKiBIZWxwZXJzIHRvIGF2b2lkIHJlcGVhdGluZyB0aGUgc2FtZSBzY2FsZXNcbiAgICpcbiAgICogV2UgdXNlIGZ1bmN0aW9ucyB0aGF0IGNyZWF0ZSBhIG5ldyBhcnJheSBldmVyeSB0aW1lIHRoZXkncmUgY2FsbGVkIGluc3RlYWQgb2Ygc3RhdGljIGFycmF5cy5cbiAgICogVGhpcyBlbnN1cmVzIHRoYXQgdXNlcnMgd2hvIG1vZGlmeSBhbnkgc2NhbGUgYnkgbXV0YXRpbmcgdGhlIGFycmF5IChlLmcuIHdpdGggYGFycmF5LnB1c2goZWxlbWVudClgKSBkb24ndCBhY2NpZGVudGFsbHkgbXV0YXRlIGFycmF5cyBpbiBvdGhlciBwYXJ0cyBvZiB0aGUgY29uZmlnLlxuICAgKi9cbiAgLyoqKi9cbiAgY29uc3Qgc2NhbGVCcmVhayA9ICgpID0+IFsnYXV0bycsICdhdm9pZCcsICdhbGwnLCAnYXZvaWQtcGFnZScsICdwYWdlJywgJ2xlZnQnLCAncmlnaHQnLCAnY29sdW1uJ107XG4gIGNvbnN0IHNjYWxlUG9zaXRpb24gPSAoKSA9PiBbJ2NlbnRlcicsICd0b3AnLCAnYm90dG9tJywgJ2xlZnQnLCAncmlnaHQnLCAndG9wLWxlZnQnLFxuICAvLyBEZXByZWNhdGVkIHNpbmNlIFRhaWx3aW5kIENTUyB2NC4xLjAsIHNlZSBodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL3B1bGwvMTczNzhcbiAgJ2xlZnQtdG9wJywgJ3RvcC1yaWdodCcsXG4gIC8vIERlcHJlY2F0ZWQgc2luY2UgVGFpbHdpbmQgQ1NTIHY0LjEuMCwgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MvcHVsbC8xNzM3OFxuICAncmlnaHQtdG9wJywgJ2JvdHRvbS1yaWdodCcsXG4gIC8vIERlcHJlY2F0ZWQgc2luY2UgVGFpbHdpbmQgQ1NTIHY0LjEuMCwgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MvcHVsbC8xNzM3OFxuICAncmlnaHQtYm90dG9tJywgJ2JvdHRvbS1sZWZ0JyxcbiAgLy8gRGVwcmVjYXRlZCBzaW5jZSBUYWlsd2luZCBDU1MgdjQuMS4wLCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kbGFicy90YWlsd2luZGNzcy9wdWxsLzE3Mzc4XG4gICdsZWZ0LWJvdHRvbSddO1xuICBjb25zdCBzY2FsZVBvc2l0aW9uV2l0aEFyYml0cmFyeSA9ICgpID0+IFsuLi5zY2FsZVBvc2l0aW9uKCksIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdO1xuICBjb25zdCBzY2FsZU92ZXJmbG93ID0gKCkgPT4gWydhdXRvJywgJ2hpZGRlbicsICdjbGlwJywgJ3Zpc2libGUnLCAnc2Nyb2xsJ107XG4gIGNvbnN0IHNjYWxlT3ZlcnNjcm9sbCA9ICgpID0+IFsnYXV0bycsICdjb250YWluJywgJ25vbmUnXTtcbiAgY29uc3Qgc2NhbGVVbmFtYmlndW91c1NwYWNpbmcgPSAoKSA9PiBbaXNBcmJpdHJhcnlWYXJpYWJsZSwgaXNBcmJpdHJhcnlWYWx1ZSwgdGhlbWVTcGFjaW5nXTtcbiAgY29uc3Qgc2NhbGVJbnNldCA9ICgpID0+IFtpc0ZyYWN0aW9uLCAnZnVsbCcsICdhdXRvJywgLi4uc2NhbGVVbmFtYmlndW91c1NwYWNpbmcoKV07XG4gIGNvbnN0IHNjYWxlR3JpZFRlbXBsYXRlQ29sc1Jvd3MgPSAoKSA9PiBbaXNJbnRlZ2VyLCAnbm9uZScsICdzdWJncmlkJywgaXNBcmJpdHJhcnlWYXJpYWJsZSwgaXNBcmJpdHJhcnlWYWx1ZV07XG4gIGNvbnN0IHNjYWxlR3JpZENvbFJvd1N0YXJ0QW5kRW5kID0gKCkgPT4gWydhdXRvJywge1xuICAgIHNwYW46IFsnZnVsbCcsIGlzSW50ZWdlciwgaXNBcmJpdHJhcnlWYXJpYWJsZSwgaXNBcmJpdHJhcnlWYWx1ZV1cbiAgfSwgaXNJbnRlZ2VyLCBpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXTtcbiAgY29uc3Qgc2NhbGVHcmlkQ29sUm93U3RhcnRPckVuZCA9ICgpID0+IFtpc0ludGVnZXIsICdhdXRvJywgaXNBcmJpdHJhcnlWYXJpYWJsZSwgaXNBcmJpdHJhcnlWYWx1ZV07XG4gIGNvbnN0IHNjYWxlR3JpZEF1dG9Db2xzUm93cyA9ICgpID0+IFsnYXV0bycsICdtaW4nLCAnbWF4JywgJ2ZyJywgaXNBcmJpdHJhcnlWYXJpYWJsZSwgaXNBcmJpdHJhcnlWYWx1ZV07XG4gIGNvbnN0IHNjYWxlQWxpZ25QcmltYXJ5QXhpcyA9ICgpID0+IFsnc3RhcnQnLCAnZW5kJywgJ2NlbnRlcicsICdiZXR3ZWVuJywgJ2Fyb3VuZCcsICdldmVubHknLCAnc3RyZXRjaCcsICdiYXNlbGluZScsICdjZW50ZXItc2FmZScsICdlbmQtc2FmZSddO1xuICBjb25zdCBzY2FsZUFsaWduU2Vjb25kYXJ5QXhpcyA9ICgpID0+IFsnc3RhcnQnLCAnZW5kJywgJ2NlbnRlcicsICdzdHJldGNoJywgJ2NlbnRlci1zYWZlJywgJ2VuZC1zYWZlJ107XG4gIGNvbnN0IHNjYWxlTWFyZ2luID0gKCkgPT4gWydhdXRvJywgLi4uc2NhbGVVbmFtYmlndW91c1NwYWNpbmcoKV07XG4gIGNvbnN0IHNjYWxlU2l6aW5nID0gKCkgPT4gW2lzRnJhY3Rpb24sICdhdXRvJywgJ2Z1bGwnLCAnZHZ3JywgJ2R2aCcsICdsdncnLCAnbHZoJywgJ3N2dycsICdzdmgnLCAnbWluJywgJ21heCcsICdmaXQnLCAuLi5zY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXTtcbiAgY29uc3Qgc2NhbGVTaXppbmdJbmxpbmUgPSAoKSA9PiBbaXNGcmFjdGlvbiwgJ3NjcmVlbicsICdmdWxsJywgJ2R2dycsICdsdncnLCAnc3Z3JywgJ21pbicsICdtYXgnLCAnZml0JywgLi4uc2NhbGVVbmFtYmlndW91c1NwYWNpbmcoKV07XG4gIGNvbnN0IHNjYWxlU2l6aW5nQmxvY2sgPSAoKSA9PiBbaXNGcmFjdGlvbiwgJ3NjcmVlbicsICdmdWxsJywgJ2xoJywgJ2R2aCcsICdsdmgnLCAnc3ZoJywgJ21pbicsICdtYXgnLCAnZml0JywgLi4uc2NhbGVVbmFtYmlndW91c1NwYWNpbmcoKV07XG4gIGNvbnN0IHNjYWxlQ29sb3IgPSAoKSA9PiBbdGhlbWVDb2xvciwgaXNBcmJpdHJhcnlWYXJpYWJsZSwgaXNBcmJpdHJhcnlWYWx1ZV07XG4gIGNvbnN0IHNjYWxlQmdQb3NpdGlvbiA9ICgpID0+IFsuLi5zY2FsZVBvc2l0aW9uKCksIGlzQXJiaXRyYXJ5VmFyaWFibGVQb3NpdGlvbiwgaXNBcmJpdHJhcnlQb3NpdGlvbiwge1xuICAgIHBvc2l0aW9uOiBbaXNBcmJpdHJhcnlWYXJpYWJsZSwgaXNBcmJpdHJhcnlWYWx1ZV1cbiAgfV07XG4gIGNvbnN0IHNjYWxlQmdSZXBlYXQgPSAoKSA9PiBbJ25vLXJlcGVhdCcsIHtcbiAgICByZXBlYXQ6IFsnJywgJ3gnLCAneScsICdzcGFjZScsICdyb3VuZCddXG4gIH1dO1xuICBjb25zdCBzY2FsZUJnU2l6ZSA9ICgpID0+IFsnYXV0bycsICdjb3ZlcicsICdjb250YWluJywgaXNBcmJpdHJhcnlWYXJpYWJsZVNpemUsIGlzQXJiaXRyYXJ5U2l6ZSwge1xuICAgIHNpemU6IFtpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXVxuICB9XTtcbiAgY29uc3Qgc2NhbGVHcmFkaWVudFN0b3BQb3NpdGlvbiA9ICgpID0+IFtpc1BlcmNlbnQsIGlzQXJiaXRyYXJ5VmFyaWFibGVMZW5ndGgsIGlzQXJiaXRyYXJ5TGVuZ3RoXTtcbiAgY29uc3Qgc2NhbGVSYWRpdXMgPSAoKSA9PiBbXG4gIC8vIERlcHJlY2F0ZWQgc2luY2UgVGFpbHdpbmQgQ1NTIHY0LjAuMFxuICAnJywgJ25vbmUnLCAnZnVsbCcsIHRoZW1lUmFkaXVzLCBpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXTtcbiAgY29uc3Qgc2NhbGVCb3JkZXJXaWR0aCA9ICgpID0+IFsnJywgaXNOdW1iZXIsIGlzQXJiaXRyYXJ5VmFyaWFibGVMZW5ndGgsIGlzQXJiaXRyYXJ5TGVuZ3RoXTtcbiAgY29uc3Qgc2NhbGVMaW5lU3R5bGUgPSAoKSA9PiBbJ3NvbGlkJywgJ2Rhc2hlZCcsICdkb3R0ZWQnLCAnZG91YmxlJ107XG4gIGNvbnN0IHNjYWxlQmxlbmRNb2RlID0gKCkgPT4gWydub3JtYWwnLCAnbXVsdGlwbHknLCAnc2NyZWVuJywgJ292ZXJsYXknLCAnZGFya2VuJywgJ2xpZ2h0ZW4nLCAnY29sb3ItZG9kZ2UnLCAnY29sb3ItYnVybicsICdoYXJkLWxpZ2h0JywgJ3NvZnQtbGlnaHQnLCAnZGlmZmVyZW5jZScsICdleGNsdXNpb24nLCAnaHVlJywgJ3NhdHVyYXRpb24nLCAnY29sb3InLCAnbHVtaW5vc2l0eSddO1xuICBjb25zdCBzY2FsZU1hc2tJbWFnZVBvc2l0aW9uID0gKCkgPT4gW2lzTnVtYmVyLCBpc1BlcmNlbnQsIGlzQXJiaXRyYXJ5VmFyaWFibGVQb3NpdGlvbiwgaXNBcmJpdHJhcnlQb3NpdGlvbl07XG4gIGNvbnN0IHNjYWxlQmx1ciA9ICgpID0+IFtcbiAgLy8gRGVwcmVjYXRlZCBzaW5jZSBUYWlsd2luZCBDU1MgdjQuMC4wXG4gICcnLCAnbm9uZScsIHRoZW1lQmx1ciwgaXNBcmJpdHJhcnlWYXJpYWJsZSwgaXNBcmJpdHJhcnlWYWx1ZV07XG4gIGNvbnN0IHNjYWxlUm90YXRlID0gKCkgPT4gWydub25lJywgaXNOdW1iZXIsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdO1xuICBjb25zdCBzY2FsZVNjYWxlID0gKCkgPT4gWydub25lJywgaXNOdW1iZXIsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdO1xuICBjb25zdCBzY2FsZVNrZXcgPSAoKSA9PiBbaXNOdW1iZXIsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdO1xuICBjb25zdCBzY2FsZVRyYW5zbGF0ZSA9ICgpID0+IFtpc0ZyYWN0aW9uLCAnZnVsbCcsIC4uLnNjYWxlVW5hbWJpZ3VvdXNTcGFjaW5nKCldO1xuICByZXR1cm4ge1xuICAgIGNhY2hlU2l6ZTogNTAwLFxuICAgIHRoZW1lOiB7XG4gICAgICBhbmltYXRlOiBbJ3NwaW4nLCAncGluZycsICdwdWxzZScsICdib3VuY2UnXSxcbiAgICAgIGFzcGVjdDogWyd2aWRlbyddLFxuICAgICAgYmx1cjogW2lzVHNoaXJ0U2l6ZV0sXG4gICAgICBicmVha3BvaW50OiBbaXNUc2hpcnRTaXplXSxcbiAgICAgIGNvbG9yOiBbaXNBbnldLFxuICAgICAgY29udGFpbmVyOiBbaXNUc2hpcnRTaXplXSxcbiAgICAgICdkcm9wLXNoYWRvdyc6IFtpc1RzaGlydFNpemVdLFxuICAgICAgZWFzZTogWydpbicsICdvdXQnLCAnaW4tb3V0J10sXG4gICAgICBmb250OiBbaXNBbnlOb25BcmJpdHJhcnldLFxuICAgICAgJ2ZvbnQtd2VpZ2h0JzogWyd0aGluJywgJ2V4dHJhbGlnaHQnLCAnbGlnaHQnLCAnbm9ybWFsJywgJ21lZGl1bScsICdzZW1pYm9sZCcsICdib2xkJywgJ2V4dHJhYm9sZCcsICdibGFjayddLFxuICAgICAgJ2luc2V0LXNoYWRvdyc6IFtpc1RzaGlydFNpemVdLFxuICAgICAgbGVhZGluZzogWydub25lJywgJ3RpZ2h0JywgJ3NudWcnLCAnbm9ybWFsJywgJ3JlbGF4ZWQnLCAnbG9vc2UnXSxcbiAgICAgIHBlcnNwZWN0aXZlOiBbJ2RyYW1hdGljJywgJ25lYXInLCAnbm9ybWFsJywgJ21pZHJhbmdlJywgJ2Rpc3RhbnQnLCAnbm9uZSddLFxuICAgICAgcmFkaXVzOiBbaXNUc2hpcnRTaXplXSxcbiAgICAgIHNoYWRvdzogW2lzVHNoaXJ0U2l6ZV0sXG4gICAgICBzcGFjaW5nOiBbJ3B4JywgaXNOdW1iZXJdLFxuICAgICAgdGV4dDogW2lzVHNoaXJ0U2l6ZV0sXG4gICAgICAndGV4dC1zaGFkb3cnOiBbaXNUc2hpcnRTaXplXSxcbiAgICAgIHRyYWNraW5nOiBbJ3RpZ2h0ZXInLCAndGlnaHQnLCAnbm9ybWFsJywgJ3dpZGUnLCAnd2lkZXInLCAnd2lkZXN0J11cbiAgICB9LFxuICAgIGNsYXNzR3JvdXBzOiB7XG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLVxuICAgICAgLy8gLS0tIExheW91dCAtLS1cbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tXG4gICAgICAvKipcbiAgICAgICAqIEFzcGVjdCBSYXRpb1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2FzcGVjdC1yYXRpb1xuICAgICAgICovXG4gICAgICBhc3BlY3Q6IFt7XG4gICAgICAgIGFzcGVjdDogWydhdXRvJywgJ3NxdWFyZScsIGlzRnJhY3Rpb24sIGlzQXJiaXRyYXJ5VmFsdWUsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIHRoZW1lQXNwZWN0XVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIENvbnRhaW5lclxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2NvbnRhaW5lclxuICAgICAgICogQGRlcHJlY2F0ZWQgc2luY2UgVGFpbHdpbmQgQ1NTIHY0LjAuMFxuICAgICAgICovXG4gICAgICBjb250YWluZXI6IFsnY29udGFpbmVyJ10sXG4gICAgICAvKipcbiAgICAgICAqIENvbHVtbnNcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9jb2x1bW5zXG4gICAgICAgKi9cbiAgICAgIGNvbHVtbnM6IFt7XG4gICAgICAgIGNvbHVtbnM6IFtpc051bWJlciwgaXNBcmJpdHJhcnlWYWx1ZSwgaXNBcmJpdHJhcnlWYXJpYWJsZSwgdGhlbWVDb250YWluZXJdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQnJlYWsgQWZ0ZXJcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9icmVhay1hZnRlclxuICAgICAgICovXG4gICAgICAnYnJlYWstYWZ0ZXInOiBbe1xuICAgICAgICAnYnJlYWstYWZ0ZXInOiBzY2FsZUJyZWFrKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCcmVhayBCZWZvcmVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9icmVhay1iZWZvcmVcbiAgICAgICAqL1xuICAgICAgJ2JyZWFrLWJlZm9yZSc6IFt7XG4gICAgICAgICdicmVhay1iZWZvcmUnOiBzY2FsZUJyZWFrKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCcmVhayBJbnNpZGVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9icmVhay1pbnNpZGVcbiAgICAgICAqL1xuICAgICAgJ2JyZWFrLWluc2lkZSc6IFt7XG4gICAgICAgICdicmVhay1pbnNpZGUnOiBbJ2F1dG8nLCAnYXZvaWQnLCAnYXZvaWQtcGFnZScsICdhdm9pZC1jb2x1bW4nXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJveCBEZWNvcmF0aW9uIEJyZWFrXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYm94LWRlY29yYXRpb24tYnJlYWtcbiAgICAgICAqL1xuICAgICAgJ2JveC1kZWNvcmF0aW9uJzogW3tcbiAgICAgICAgJ2JveC1kZWNvcmF0aW9uJzogWydzbGljZScsICdjbG9uZSddXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQm94IFNpemluZ1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JveC1zaXppbmdcbiAgICAgICAqL1xuICAgICAgYm94OiBbe1xuICAgICAgICBib3g6IFsnYm9yZGVyJywgJ2NvbnRlbnQnXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIERpc3BsYXlcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9kaXNwbGF5XG4gICAgICAgKi9cbiAgICAgIGRpc3BsYXk6IFsnYmxvY2snLCAnaW5saW5lLWJsb2NrJywgJ2lubGluZScsICdmbGV4JywgJ2lubGluZS1mbGV4JywgJ3RhYmxlJywgJ2lubGluZS10YWJsZScsICd0YWJsZS1jYXB0aW9uJywgJ3RhYmxlLWNlbGwnLCAndGFibGUtY29sdW1uJywgJ3RhYmxlLWNvbHVtbi1ncm91cCcsICd0YWJsZS1mb290ZXItZ3JvdXAnLCAndGFibGUtaGVhZGVyLWdyb3VwJywgJ3RhYmxlLXJvdy1ncm91cCcsICd0YWJsZS1yb3cnLCAnZmxvdy1yb290JywgJ2dyaWQnLCAnaW5saW5lLWdyaWQnLCAnY29udGVudHMnLCAnbGlzdC1pdGVtJywgJ2hpZGRlbiddLFxuICAgICAgLyoqXG4gICAgICAgKiBTY3JlZW4gUmVhZGVyIE9ubHlcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9kaXNwbGF5I3NjcmVlbi1yZWFkZXItb25seVxuICAgICAgICovXG4gICAgICBzcjogWydzci1vbmx5JywgJ25vdC1zci1vbmx5J10sXG4gICAgICAvKipcbiAgICAgICAqIEZsb2F0c1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2Zsb2F0XG4gICAgICAgKi9cbiAgICAgIGZsb2F0OiBbe1xuICAgICAgICBmbG9hdDogWydyaWdodCcsICdsZWZ0JywgJ25vbmUnLCAnc3RhcnQnLCAnZW5kJ11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBDbGVhclxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2NsZWFyXG4gICAgICAgKi9cbiAgICAgIGNsZWFyOiBbe1xuICAgICAgICBjbGVhcjogWydsZWZ0JywgJ3JpZ2h0JywgJ2JvdGgnLCAnbm9uZScsICdzdGFydCcsICdlbmQnXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIElzb2xhdGlvblxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2lzb2xhdGlvblxuICAgICAgICovXG4gICAgICBpc29sYXRpb246IFsnaXNvbGF0ZScsICdpc29sYXRpb24tYXV0byddLFxuICAgICAgLyoqXG4gICAgICAgKiBPYmplY3QgRml0XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3Mvb2JqZWN0LWZpdFxuICAgICAgICovXG4gICAgICAnb2JqZWN0LWZpdCc6IFt7XG4gICAgICAgIG9iamVjdDogWydjb250YWluJywgJ2NvdmVyJywgJ2ZpbGwnLCAnbm9uZScsICdzY2FsZS1kb3duJ11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBPYmplY3QgUG9zaXRpb25cbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9vYmplY3QtcG9zaXRpb25cbiAgICAgICAqL1xuICAgICAgJ29iamVjdC1wb3NpdGlvbic6IFt7XG4gICAgICAgIG9iamVjdDogc2NhbGVQb3NpdGlvbldpdGhBcmJpdHJhcnkoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIE92ZXJmbG93XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3Mvb3ZlcmZsb3dcbiAgICAgICAqL1xuICAgICAgb3ZlcmZsb3c6IFt7XG4gICAgICAgIG92ZXJmbG93OiBzY2FsZU92ZXJmbG93KClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBPdmVyZmxvdyBYXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3Mvb3ZlcmZsb3dcbiAgICAgICAqL1xuICAgICAgJ292ZXJmbG93LXgnOiBbe1xuICAgICAgICAnb3ZlcmZsb3cteCc6IHNjYWxlT3ZlcmZsb3coKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIE92ZXJmbG93IFlcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9vdmVyZmxvd1xuICAgICAgICovXG4gICAgICAnb3ZlcmZsb3cteSc6IFt7XG4gICAgICAgICdvdmVyZmxvdy15Jzogc2NhbGVPdmVyZmxvdygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogT3ZlcnNjcm9sbCBCZWhhdmlvclxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL292ZXJzY3JvbGwtYmVoYXZpb3JcbiAgICAgICAqL1xuICAgICAgb3ZlcnNjcm9sbDogW3tcbiAgICAgICAgb3ZlcnNjcm9sbDogc2NhbGVPdmVyc2Nyb2xsKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBPdmVyc2Nyb2xsIEJlaGF2aW9yIFhcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9vdmVyc2Nyb2xsLWJlaGF2aW9yXG4gICAgICAgKi9cbiAgICAgICdvdmVyc2Nyb2xsLXgnOiBbe1xuICAgICAgICAnb3ZlcnNjcm9sbC14Jzogc2NhbGVPdmVyc2Nyb2xsKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBPdmVyc2Nyb2xsIEJlaGF2aW9yIFlcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9vdmVyc2Nyb2xsLWJlaGF2aW9yXG4gICAgICAgKi9cbiAgICAgICdvdmVyc2Nyb2xsLXknOiBbe1xuICAgICAgICAnb3ZlcnNjcm9sbC15Jzogc2NhbGVPdmVyc2Nyb2xsKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBQb3NpdGlvblxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3Bvc2l0aW9uXG4gICAgICAgKi9cbiAgICAgIHBvc2l0aW9uOiBbJ3N0YXRpYycsICdmaXhlZCcsICdhYnNvbHV0ZScsICdyZWxhdGl2ZScsICdzdGlja3knXSxcbiAgICAgIC8qKlxuICAgICAgICogSW5zZXRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90b3AtcmlnaHQtYm90dG9tLWxlZnRcbiAgICAgICAqL1xuICAgICAgaW5zZXQ6IFt7XG4gICAgICAgIGluc2V0OiBzY2FsZUluc2V0KClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBJbnNldCBJbmxpbmVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90b3AtcmlnaHQtYm90dG9tLWxlZnRcbiAgICAgICAqL1xuICAgICAgJ2luc2V0LXgnOiBbe1xuICAgICAgICAnaW5zZXQteCc6IHNjYWxlSW5zZXQoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEluc2V0IEJsb2NrXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvdG9wLXJpZ2h0LWJvdHRvbS1sZWZ0XG4gICAgICAgKi9cbiAgICAgICdpbnNldC15JzogW3tcbiAgICAgICAgJ2luc2V0LXknOiBzY2FsZUluc2V0KClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBJbnNldCBJbmxpbmUgU3RhcnRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90b3AtcmlnaHQtYm90dG9tLWxlZnRcbiAgICAgICAqIEB0b2RvIGNsYXNzIGdyb3VwIHdpbGwgYmUgcmVuYW1lZCB0byBgaW5zZXQtc2AgaW4gbmV4dCBtYWpvciByZWxlYXNlXG4gICAgICAgKi9cbiAgICAgIHN0YXJ0OiBbe1xuICAgICAgICAnaW5zZXQtcyc6IHNjYWxlSW5zZXQoKSxcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIFRhaWx3aW5kIENTUyB2NC4yLjAgaW4gZmF2b3Igb2YgYGluc2V0LXMtKmAgdXRpbGl0aWVzLlxuICAgICAgICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MvcHVsbC8xOTYxM1xuICAgICAgICAgKi9cbiAgICAgICAgc3RhcnQ6IHNjYWxlSW5zZXQoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEluc2V0IElubGluZSBFbmRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90b3AtcmlnaHQtYm90dG9tLWxlZnRcbiAgICAgICAqIEB0b2RvIGNsYXNzIGdyb3VwIHdpbGwgYmUgcmVuYW1lZCB0byBgaW5zZXQtZWAgaW4gbmV4dCBtYWpvciByZWxlYXNlXG4gICAgICAgKi9cbiAgICAgIGVuZDogW3tcbiAgICAgICAgJ2luc2V0LWUnOiBzY2FsZUluc2V0KCksXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZGVwcmVjYXRlZCBzaW5jZSBUYWlsd2luZCBDU1MgdjQuMi4wIGluIGZhdm9yIG9mIGBpbnNldC1lLSpgIHV0aWxpdGllcy5cbiAgICAgICAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL3B1bGwvMTk2MTNcbiAgICAgICAgICovXG4gICAgICAgIGVuZDogc2NhbGVJbnNldCgpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogSW5zZXQgQmxvY2sgU3RhcnRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90b3AtcmlnaHQtYm90dG9tLWxlZnRcbiAgICAgICAqL1xuICAgICAgJ2luc2V0LWJzJzogW3tcbiAgICAgICAgJ2luc2V0LWJzJzogc2NhbGVJbnNldCgpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogSW5zZXQgQmxvY2sgRW5kXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvdG9wLXJpZ2h0LWJvdHRvbS1sZWZ0XG4gICAgICAgKi9cbiAgICAgICdpbnNldC1iZSc6IFt7XG4gICAgICAgICdpbnNldC1iZSc6IHNjYWxlSW5zZXQoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFRvcFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3RvcC1yaWdodC1ib3R0b20tbGVmdFxuICAgICAgICovXG4gICAgICB0b3A6IFt7XG4gICAgICAgIHRvcDogc2NhbGVJbnNldCgpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogUmlnaHRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90b3AtcmlnaHQtYm90dG9tLWxlZnRcbiAgICAgICAqL1xuICAgICAgcmlnaHQ6IFt7XG4gICAgICAgIHJpZ2h0OiBzY2FsZUluc2V0KClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCb3R0b21cbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90b3AtcmlnaHQtYm90dG9tLWxlZnRcbiAgICAgICAqL1xuICAgICAgYm90dG9tOiBbe1xuICAgICAgICBib3R0b206IHNjYWxlSW5zZXQoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIExlZnRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90b3AtcmlnaHQtYm90dG9tLWxlZnRcbiAgICAgICAqL1xuICAgICAgbGVmdDogW3tcbiAgICAgICAgbGVmdDogc2NhbGVJbnNldCgpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogVmlzaWJpbGl0eVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3Zpc2liaWxpdHlcbiAgICAgICAqL1xuICAgICAgdmlzaWJpbGl0eTogWyd2aXNpYmxlJywgJ2ludmlzaWJsZScsICdjb2xsYXBzZSddLFxuICAgICAgLyoqXG4gICAgICAgKiBaLUluZGV4XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3Mvei1pbmRleFxuICAgICAgICovXG4gICAgICB6OiBbe1xuICAgICAgICB6OiBbaXNJbnRlZ2VyLCAnYXV0bycsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgLy8gLS0tIEZsZXhib3ggYW5kIEdyaWQgLS0tXG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIC8qKlxuICAgICAgICogRmxleCBCYXNpc1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2ZsZXgtYmFzaXNcbiAgICAgICAqL1xuICAgICAgYmFzaXM6IFt7XG4gICAgICAgIGJhc2lzOiBbaXNGcmFjdGlvbiwgJ2Z1bGwnLCAnYXV0bycsIHRoZW1lQ29udGFpbmVyLCAuLi5zY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEZsZXggRGlyZWN0aW9uXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvZmxleC1kaXJlY3Rpb25cbiAgICAgICAqL1xuICAgICAgJ2ZsZXgtZGlyZWN0aW9uJzogW3tcbiAgICAgICAgZmxleDogWydyb3cnLCAncm93LXJldmVyc2UnLCAnY29sJywgJ2NvbC1yZXZlcnNlJ11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBGbGV4IFdyYXBcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9mbGV4LXdyYXBcbiAgICAgICAqL1xuICAgICAgJ2ZsZXgtd3JhcCc6IFt7XG4gICAgICAgIGZsZXg6IFsnbm93cmFwJywgJ3dyYXAnLCAnd3JhcC1yZXZlcnNlJ11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBGbGV4XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvZmxleFxuICAgICAgICovXG4gICAgICBmbGV4OiBbe1xuICAgICAgICBmbGV4OiBbaXNOdW1iZXIsIGlzRnJhY3Rpb24sICdhdXRvJywgJ2luaXRpYWwnLCAnbm9uZScsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogRmxleCBHcm93XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvZmxleC1ncm93XG4gICAgICAgKi9cbiAgICAgIGdyb3c6IFt7XG4gICAgICAgIGdyb3c6IFsnJywgaXNOdW1iZXIsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogRmxleCBTaHJpbmtcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9mbGV4LXNocmlua1xuICAgICAgICovXG4gICAgICBzaHJpbms6IFt7XG4gICAgICAgIHNocmluazogWycnLCBpc051bWJlciwgaXNBcmJpdHJhcnlWYXJpYWJsZSwgaXNBcmJpdHJhcnlWYWx1ZV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBPcmRlclxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL29yZGVyXG4gICAgICAgKi9cbiAgICAgIG9yZGVyOiBbe1xuICAgICAgICBvcmRlcjogW2lzSW50ZWdlciwgJ2ZpcnN0JywgJ2xhc3QnLCAnbm9uZScsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogR3JpZCBUZW1wbGF0ZSBDb2x1bW5zXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zXG4gICAgICAgKi9cbiAgICAgICdncmlkLWNvbHMnOiBbe1xuICAgICAgICAnZ3JpZC1jb2xzJzogc2NhbGVHcmlkVGVtcGxhdGVDb2xzUm93cygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogR3JpZCBDb2x1bW4gU3RhcnQgLyBFbmRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ncmlkLWNvbHVtblxuICAgICAgICovXG4gICAgICAnY29sLXN0YXJ0LWVuZCc6IFt7XG4gICAgICAgIGNvbDogc2NhbGVHcmlkQ29sUm93U3RhcnRBbmRFbmQoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEdyaWQgQ29sdW1uIFN0YXJ0XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvZ3JpZC1jb2x1bW5cbiAgICAgICAqL1xuICAgICAgJ2NvbC1zdGFydCc6IFt7XG4gICAgICAgICdjb2wtc3RhcnQnOiBzY2FsZUdyaWRDb2xSb3dTdGFydE9yRW5kKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBHcmlkIENvbHVtbiBFbmRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ncmlkLWNvbHVtblxuICAgICAgICovXG4gICAgICAnY29sLWVuZCc6IFt7XG4gICAgICAgICdjb2wtZW5kJzogc2NhbGVHcmlkQ29sUm93U3RhcnRPckVuZCgpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogR3JpZCBUZW1wbGF0ZSBSb3dzXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvZ3JpZC10ZW1wbGF0ZS1yb3dzXG4gICAgICAgKi9cbiAgICAgICdncmlkLXJvd3MnOiBbe1xuICAgICAgICAnZ3JpZC1yb3dzJzogc2NhbGVHcmlkVGVtcGxhdGVDb2xzUm93cygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogR3JpZCBSb3cgU3RhcnQgLyBFbmRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ncmlkLXJvd1xuICAgICAgICovXG4gICAgICAncm93LXN0YXJ0LWVuZCc6IFt7XG4gICAgICAgIHJvdzogc2NhbGVHcmlkQ29sUm93U3RhcnRBbmRFbmQoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEdyaWQgUm93IFN0YXJ0XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvZ3JpZC1yb3dcbiAgICAgICAqL1xuICAgICAgJ3Jvdy1zdGFydCc6IFt7XG4gICAgICAgICdyb3ctc3RhcnQnOiBzY2FsZUdyaWRDb2xSb3dTdGFydE9yRW5kKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBHcmlkIFJvdyBFbmRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ncmlkLXJvd1xuICAgICAgICovXG4gICAgICAncm93LWVuZCc6IFt7XG4gICAgICAgICdyb3ctZW5kJzogc2NhbGVHcmlkQ29sUm93U3RhcnRPckVuZCgpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogR3JpZCBBdXRvIEZsb3dcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ncmlkLWF1dG8tZmxvd1xuICAgICAgICovXG4gICAgICAnZ3JpZC1mbG93JzogW3tcbiAgICAgICAgJ2dyaWQtZmxvdyc6IFsncm93JywgJ2NvbCcsICdkZW5zZScsICdyb3ctZGVuc2UnLCAnY29sLWRlbnNlJ11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBHcmlkIEF1dG8gQ29sdW1uc1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2dyaWQtYXV0by1jb2x1bW5zXG4gICAgICAgKi9cbiAgICAgICdhdXRvLWNvbHMnOiBbe1xuICAgICAgICAnYXV0by1jb2xzJzogc2NhbGVHcmlkQXV0b0NvbHNSb3dzKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBHcmlkIEF1dG8gUm93c1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2dyaWQtYXV0by1yb3dzXG4gICAgICAgKi9cbiAgICAgICdhdXRvLXJvd3MnOiBbe1xuICAgICAgICAnYXV0by1yb3dzJzogc2NhbGVHcmlkQXV0b0NvbHNSb3dzKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBHYXBcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9nYXBcbiAgICAgICAqL1xuICAgICAgZ2FwOiBbe1xuICAgICAgICBnYXA6IHNjYWxlVW5hbWJpZ3VvdXNTcGFjaW5nKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBHYXAgWFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2dhcFxuICAgICAgICovXG4gICAgICAnZ2FwLXgnOiBbe1xuICAgICAgICAnZ2FwLXgnOiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogR2FwIFlcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9nYXBcbiAgICAgICAqL1xuICAgICAgJ2dhcC15JzogW3tcbiAgICAgICAgJ2dhcC15Jzogc2NhbGVVbmFtYmlndW91c1NwYWNpbmcoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEp1c3RpZnkgQ29udGVudFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2p1c3RpZnktY29udGVudFxuICAgICAgICovXG4gICAgICAnanVzdGlmeS1jb250ZW50JzogW3tcbiAgICAgICAganVzdGlmeTogWy4uLnNjYWxlQWxpZ25QcmltYXJ5QXhpcygpLCAnbm9ybWFsJ11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBKdXN0aWZ5IEl0ZW1zXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvanVzdGlmeS1pdGVtc1xuICAgICAgICovXG4gICAgICAnanVzdGlmeS1pdGVtcyc6IFt7XG4gICAgICAgICdqdXN0aWZ5LWl0ZW1zJzogWy4uLnNjYWxlQWxpZ25TZWNvbmRhcnlBeGlzKCksICdub3JtYWwnXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEp1c3RpZnkgU2VsZlxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2p1c3RpZnktc2VsZlxuICAgICAgICovXG4gICAgICAnanVzdGlmeS1zZWxmJzogW3tcbiAgICAgICAgJ2p1c3RpZnktc2VsZic6IFsnYXV0bycsIC4uLnNjYWxlQWxpZ25TZWNvbmRhcnlBeGlzKCldXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQWxpZ24gQ29udGVudFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2FsaWduLWNvbnRlbnRcbiAgICAgICAqL1xuICAgICAgJ2FsaWduLWNvbnRlbnQnOiBbe1xuICAgICAgICBjb250ZW50OiBbJ25vcm1hbCcsIC4uLnNjYWxlQWxpZ25QcmltYXJ5QXhpcygpXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEFsaWduIEl0ZW1zXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYWxpZ24taXRlbXNcbiAgICAgICAqL1xuICAgICAgJ2FsaWduLWl0ZW1zJzogW3tcbiAgICAgICAgaXRlbXM6IFsuLi5zY2FsZUFsaWduU2Vjb25kYXJ5QXhpcygpLCB7XG4gICAgICAgICAgYmFzZWxpbmU6IFsnJywgJ2xhc3QnXVxuICAgICAgICB9XVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEFsaWduIFNlbGZcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9hbGlnbi1zZWxmXG4gICAgICAgKi9cbiAgICAgICdhbGlnbi1zZWxmJzogW3tcbiAgICAgICAgc2VsZjogWydhdXRvJywgLi4uc2NhbGVBbGlnblNlY29uZGFyeUF4aXMoKSwge1xuICAgICAgICAgIGJhc2VsaW5lOiBbJycsICdsYXN0J11cbiAgICAgICAgfV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBQbGFjZSBDb250ZW50XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvcGxhY2UtY29udGVudFxuICAgICAgICovXG4gICAgICAncGxhY2UtY29udGVudCc6IFt7XG4gICAgICAgICdwbGFjZS1jb250ZW50Jzogc2NhbGVBbGlnblByaW1hcnlBeGlzKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBQbGFjZSBJdGVtc1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3BsYWNlLWl0ZW1zXG4gICAgICAgKi9cbiAgICAgICdwbGFjZS1pdGVtcyc6IFt7XG4gICAgICAgICdwbGFjZS1pdGVtcyc6IFsuLi5zY2FsZUFsaWduU2Vjb25kYXJ5QXhpcygpLCAnYmFzZWxpbmUnXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFBsYWNlIFNlbGZcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9wbGFjZS1zZWxmXG4gICAgICAgKi9cbiAgICAgICdwbGFjZS1zZWxmJzogW3tcbiAgICAgICAgJ3BsYWNlLXNlbGYnOiBbJ2F1dG8nLCAuLi5zY2FsZUFsaWduU2Vjb25kYXJ5QXhpcygpXVxuICAgICAgfV0sXG4gICAgICAvLyBTcGFjaW5nXG4gICAgICAvKipcbiAgICAgICAqIFBhZGRpbmdcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9wYWRkaW5nXG4gICAgICAgKi9cbiAgICAgIHA6IFt7XG4gICAgICAgIHA6IHNjYWxlVW5hbWJpZ3VvdXNTcGFjaW5nKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBQYWRkaW5nIElubGluZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3BhZGRpbmdcbiAgICAgICAqL1xuICAgICAgcHg6IFt7XG4gICAgICAgIHB4OiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogUGFkZGluZyBCbG9ja1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3BhZGRpbmdcbiAgICAgICAqL1xuICAgICAgcHk6IFt7XG4gICAgICAgIHB5OiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogUGFkZGluZyBJbmxpbmUgU3RhcnRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9wYWRkaW5nXG4gICAgICAgKi9cbiAgICAgIHBzOiBbe1xuICAgICAgICBwczogc2NhbGVVbmFtYmlndW91c1NwYWNpbmcoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFBhZGRpbmcgSW5saW5lIEVuZFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3BhZGRpbmdcbiAgICAgICAqL1xuICAgICAgcGU6IFt7XG4gICAgICAgIHBlOiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogUGFkZGluZyBCbG9jayBTdGFydFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3BhZGRpbmdcbiAgICAgICAqL1xuICAgICAgcGJzOiBbe1xuICAgICAgICBwYnM6IHNjYWxlVW5hbWJpZ3VvdXNTcGFjaW5nKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBQYWRkaW5nIEJsb2NrIEVuZFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3BhZGRpbmdcbiAgICAgICAqL1xuICAgICAgcGJlOiBbe1xuICAgICAgICBwYmU6IHNjYWxlVW5hbWJpZ3VvdXNTcGFjaW5nKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBQYWRkaW5nIFRvcFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3BhZGRpbmdcbiAgICAgICAqL1xuICAgICAgcHQ6IFt7XG4gICAgICAgIHB0OiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogUGFkZGluZyBSaWdodFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3BhZGRpbmdcbiAgICAgICAqL1xuICAgICAgcHI6IFt7XG4gICAgICAgIHByOiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogUGFkZGluZyBCb3R0b21cbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9wYWRkaW5nXG4gICAgICAgKi9cbiAgICAgIHBiOiBbe1xuICAgICAgICBwYjogc2NhbGVVbmFtYmlndW91c1NwYWNpbmcoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFBhZGRpbmcgTGVmdFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3BhZGRpbmdcbiAgICAgICAqL1xuICAgICAgcGw6IFt7XG4gICAgICAgIHBsOiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogTWFyZ2luXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvbWFyZ2luXG4gICAgICAgKi9cbiAgICAgIG06IFt7XG4gICAgICAgIG06IHNjYWxlTWFyZ2luKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBNYXJnaW4gSW5saW5lXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvbWFyZ2luXG4gICAgICAgKi9cbiAgICAgIG14OiBbe1xuICAgICAgICBteDogc2NhbGVNYXJnaW4oKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIE1hcmdpbiBCbG9ja1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL21hcmdpblxuICAgICAgICovXG4gICAgICBteTogW3tcbiAgICAgICAgbXk6IHNjYWxlTWFyZ2luKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBNYXJnaW4gSW5saW5lIFN0YXJ0XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvbWFyZ2luXG4gICAgICAgKi9cbiAgICAgIG1zOiBbe1xuICAgICAgICBtczogc2NhbGVNYXJnaW4oKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIE1hcmdpbiBJbmxpbmUgRW5kXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvbWFyZ2luXG4gICAgICAgKi9cbiAgICAgIG1lOiBbe1xuICAgICAgICBtZTogc2NhbGVNYXJnaW4oKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIE1hcmdpbiBCbG9jayBTdGFydFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL21hcmdpblxuICAgICAgICovXG4gICAgICBtYnM6IFt7XG4gICAgICAgIG1iczogc2NhbGVNYXJnaW4oKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIE1hcmdpbiBCbG9jayBFbmRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9tYXJnaW5cbiAgICAgICAqL1xuICAgICAgbWJlOiBbe1xuICAgICAgICBtYmU6IHNjYWxlTWFyZ2luKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBNYXJnaW4gVG9wXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvbWFyZ2luXG4gICAgICAgKi9cbiAgICAgIG10OiBbe1xuICAgICAgICBtdDogc2NhbGVNYXJnaW4oKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIE1hcmdpbiBSaWdodFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL21hcmdpblxuICAgICAgICovXG4gICAgICBtcjogW3tcbiAgICAgICAgbXI6IHNjYWxlTWFyZ2luKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBNYXJnaW4gQm90dG9tXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvbWFyZ2luXG4gICAgICAgKi9cbiAgICAgIG1iOiBbe1xuICAgICAgICBtYjogc2NhbGVNYXJnaW4oKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIE1hcmdpbiBMZWZ0XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvbWFyZ2luXG4gICAgICAgKi9cbiAgICAgIG1sOiBbe1xuICAgICAgICBtbDogc2NhbGVNYXJnaW4oKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFNwYWNlIEJldHdlZW4gWFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL21hcmdpbiNhZGRpbmctc3BhY2UtYmV0d2Vlbi1jaGlsZHJlblxuICAgICAgICovXG4gICAgICAnc3BhY2UteCc6IFt7XG4gICAgICAgICdzcGFjZS14Jzogc2NhbGVVbmFtYmlndW91c1NwYWNpbmcoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFNwYWNlIEJldHdlZW4gWCBSZXZlcnNlXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvbWFyZ2luI2FkZGluZy1zcGFjZS1iZXR3ZWVuLWNoaWxkcmVuXG4gICAgICAgKi9cbiAgICAgICdzcGFjZS14LXJldmVyc2UnOiBbJ3NwYWNlLXgtcmV2ZXJzZSddLFxuICAgICAgLyoqXG4gICAgICAgKiBTcGFjZSBCZXR3ZWVuIFlcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9tYXJnaW4jYWRkaW5nLXNwYWNlLWJldHdlZW4tY2hpbGRyZW5cbiAgICAgICAqL1xuICAgICAgJ3NwYWNlLXknOiBbe1xuICAgICAgICAnc3BhY2UteSc6IHNjYWxlVW5hbWJpZ3VvdXNTcGFjaW5nKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBTcGFjZSBCZXR3ZWVuIFkgUmV2ZXJzZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL21hcmdpbiNhZGRpbmctc3BhY2UtYmV0d2Vlbi1jaGlsZHJlblxuICAgICAgICovXG4gICAgICAnc3BhY2UteS1yZXZlcnNlJzogWydzcGFjZS15LXJldmVyc2UnXSxcbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tXG4gICAgICAvLyAtLS0gU2l6aW5nIC0tLVxuICAgICAgLy8gLS0tLS0tLS0tLS0tLS1cbiAgICAgIC8qKlxuICAgICAgICogU2l6ZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3dpZHRoI3NldHRpbmctYm90aC13aWR0aC1hbmQtaGVpZ2h0XG4gICAgICAgKi9cbiAgICAgIHNpemU6IFt7XG4gICAgICAgIHNpemU6IHNjYWxlU2l6aW5nKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBJbmxpbmUgU2l6ZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3dpZHRoXG4gICAgICAgKi9cbiAgICAgICdpbmxpbmUtc2l6ZSc6IFt7XG4gICAgICAgIGlubGluZTogWydhdXRvJywgLi4uc2NhbGVTaXppbmdJbmxpbmUoKV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBNaW4tSW5saW5lIFNpemVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9taW4td2lkdGhcbiAgICAgICAqL1xuICAgICAgJ21pbi1pbmxpbmUtc2l6ZSc6IFt7XG4gICAgICAgICdtaW4taW5saW5lJzogWydhdXRvJywgLi4uc2NhbGVTaXppbmdJbmxpbmUoKV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBNYXgtSW5saW5lIFNpemVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9tYXgtd2lkdGhcbiAgICAgICAqL1xuICAgICAgJ21heC1pbmxpbmUtc2l6ZSc6IFt7XG4gICAgICAgICdtYXgtaW5saW5lJzogWydub25lJywgLi4uc2NhbGVTaXppbmdJbmxpbmUoKV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCbG9jayBTaXplXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvaGVpZ2h0XG4gICAgICAgKi9cbiAgICAgICdibG9jay1zaXplJzogW3tcbiAgICAgICAgYmxvY2s6IFsnYXV0bycsIC4uLnNjYWxlU2l6aW5nQmxvY2soKV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBNaW4tQmxvY2sgU2l6ZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL21pbi1oZWlnaHRcbiAgICAgICAqL1xuICAgICAgJ21pbi1ibG9jay1zaXplJzogW3tcbiAgICAgICAgJ21pbi1ibG9jayc6IFsnYXV0bycsIC4uLnNjYWxlU2l6aW5nQmxvY2soKV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBNYXgtQmxvY2sgU2l6ZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL21heC1oZWlnaHRcbiAgICAgICAqL1xuICAgICAgJ21heC1ibG9jay1zaXplJzogW3tcbiAgICAgICAgJ21heC1ibG9jayc6IFsnbm9uZScsIC4uLnNjYWxlU2l6aW5nQmxvY2soKV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBXaWR0aFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3dpZHRoXG4gICAgICAgKi9cbiAgICAgIHc6IFt7XG4gICAgICAgIHc6IFt0aGVtZUNvbnRhaW5lciwgJ3NjcmVlbicsIC4uLnNjYWxlU2l6aW5nKCldXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogTWluLVdpZHRoXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvbWluLXdpZHRoXG4gICAgICAgKi9cbiAgICAgICdtaW4tdyc6IFt7XG4gICAgICAgICdtaW4tdyc6IFt0aGVtZUNvbnRhaW5lciwgJ3NjcmVlbicsIC8qKiBEZXByZWNhdGVkLiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MuY29tL2lzc3Vlcy8yMDI3I2lzc3VlY29tbWVudC0yNjIwMTUyNzU3ICovXG4gICAgICAgICdub25lJywgLi4uc2NhbGVTaXppbmcoKV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBNYXgtV2lkdGhcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9tYXgtd2lkdGhcbiAgICAgICAqL1xuICAgICAgJ21heC13JzogW3tcbiAgICAgICAgJ21heC13JzogW3RoZW1lQ29udGFpbmVyLCAnc2NyZWVuJywgJ25vbmUnLCAvKiogRGVwcmVjYXRlZCBzaW5jZSBUYWlsd2luZCBDU1MgdjQuMC4wLiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MuY29tL2lzc3Vlcy8yMDI3I2lzc3VlY29tbWVudC0yNjIwMTUyNzU3ICovXG4gICAgICAgICdwcm9zZScsIC8qKiBEZXByZWNhdGVkIHNpbmNlIFRhaWx3aW5kIENTUyB2NC4wLjAuIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3RhaWx3aW5kbGFicy90YWlsd2luZGNzcy5jb20vaXNzdWVzLzIwMjcjaXNzdWVjb21tZW50LTI2MjAxNTI3NTcgKi9cbiAgICAgICAge1xuICAgICAgICAgIHNjcmVlbjogW3RoZW1lQnJlYWtwb2ludF1cbiAgICAgICAgfSwgLi4uc2NhbGVTaXppbmcoKV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBIZWlnaHRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9oZWlnaHRcbiAgICAgICAqL1xuICAgICAgaDogW3tcbiAgICAgICAgaDogWydzY3JlZW4nLCAnbGgnLCAuLi5zY2FsZVNpemluZygpXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIE1pbi1IZWlnaHRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9taW4taGVpZ2h0XG4gICAgICAgKi9cbiAgICAgICdtaW4taCc6IFt7XG4gICAgICAgICdtaW4taCc6IFsnc2NyZWVuJywgJ2xoJywgJ25vbmUnLCAuLi5zY2FsZVNpemluZygpXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIE1heC1IZWlnaHRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9tYXgtaGVpZ2h0XG4gICAgICAgKi9cbiAgICAgICdtYXgtaCc6IFt7XG4gICAgICAgICdtYXgtaCc6IFsnc2NyZWVuJywgJ2xoJywgLi4uc2NhbGVTaXppbmcoKV1cbiAgICAgIH1dLFxuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAvLyAtLS0gVHlwb2dyYXBoeSAtLS1cbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgLyoqXG4gICAgICAgKiBGb250IFNpemVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9mb250LXNpemVcbiAgICAgICAqL1xuICAgICAgJ2ZvbnQtc2l6ZSc6IFt7XG4gICAgICAgIHRleHQ6IFsnYmFzZScsIHRoZW1lVGV4dCwgaXNBcmJpdHJhcnlWYXJpYWJsZUxlbmd0aCwgaXNBcmJpdHJhcnlMZW5ndGhdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogRm9udCBTbW9vdGhpbmdcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9mb250LXNtb290aGluZ1xuICAgICAgICovXG4gICAgICAnZm9udC1zbW9vdGhpbmcnOiBbJ2FudGlhbGlhc2VkJywgJ3N1YnBpeGVsLWFudGlhbGlhc2VkJ10sXG4gICAgICAvKipcbiAgICAgICAqIEZvbnQgU3R5bGVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9mb250LXN0eWxlXG4gICAgICAgKi9cbiAgICAgICdmb250LXN0eWxlJzogWydpdGFsaWMnLCAnbm90LWl0YWxpYyddLFxuICAgICAgLyoqXG4gICAgICAgKiBGb250IFdlaWdodFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2ZvbnQtd2VpZ2h0XG4gICAgICAgKi9cbiAgICAgICdmb250LXdlaWdodCc6IFt7XG4gICAgICAgIGZvbnQ6IFt0aGVtZUZvbnRXZWlnaHQsIGlzQXJiaXRyYXJ5VmFyaWFibGVXZWlnaHQsIGlzQXJiaXRyYXJ5V2VpZ2h0XVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEZvbnQgU3RyZXRjaFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2ZvbnQtc3RyZXRjaFxuICAgICAgICovXG4gICAgICAnZm9udC1zdHJldGNoJzogW3tcbiAgICAgICAgJ2ZvbnQtc3RyZXRjaCc6IFsndWx0cmEtY29uZGVuc2VkJywgJ2V4dHJhLWNvbmRlbnNlZCcsICdjb25kZW5zZWQnLCAnc2VtaS1jb25kZW5zZWQnLCAnbm9ybWFsJywgJ3NlbWktZXhwYW5kZWQnLCAnZXhwYW5kZWQnLCAnZXh0cmEtZXhwYW5kZWQnLCAndWx0cmEtZXhwYW5kZWQnLCBpc1BlcmNlbnQsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogRm9udCBGYW1pbHlcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9mb250LWZhbWlseVxuICAgICAgICovXG4gICAgICAnZm9udC1mYW1pbHknOiBbe1xuICAgICAgICBmb250OiBbaXNBcmJpdHJhcnlWYXJpYWJsZUZhbWlseU5hbWUsIGlzQXJiaXRyYXJ5RmFtaWx5TmFtZSwgdGhlbWVGb250XVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEZvbnQgRmVhdHVyZSBTZXR0aW5nc1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2ZvbnQtZmVhdHVyZS1zZXR0aW5nc1xuICAgICAgICovXG4gICAgICAnZm9udC1mZWF0dXJlcyc6IFt7XG4gICAgICAgICdmb250LWZlYXR1cmVzJzogW2lzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogRm9udCBWYXJpYW50IE51bWVyaWNcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9mb250LXZhcmlhbnQtbnVtZXJpY1xuICAgICAgICovXG4gICAgICAnZnZuLW5vcm1hbCc6IFsnbm9ybWFsLW51bXMnXSxcbiAgICAgIC8qKlxuICAgICAgICogRm9udCBWYXJpYW50IE51bWVyaWNcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9mb250LXZhcmlhbnQtbnVtZXJpY1xuICAgICAgICovXG4gICAgICAnZnZuLW9yZGluYWwnOiBbJ29yZGluYWwnXSxcbiAgICAgIC8qKlxuICAgICAgICogRm9udCBWYXJpYW50IE51bWVyaWNcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9mb250LXZhcmlhbnQtbnVtZXJpY1xuICAgICAgICovXG4gICAgICAnZnZuLXNsYXNoZWQtemVybyc6IFsnc2xhc2hlZC16ZXJvJ10sXG4gICAgICAvKipcbiAgICAgICAqIEZvbnQgVmFyaWFudCBOdW1lcmljXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvZm9udC12YXJpYW50LW51bWVyaWNcbiAgICAgICAqL1xuICAgICAgJ2Z2bi1maWd1cmUnOiBbJ2xpbmluZy1udW1zJywgJ29sZHN0eWxlLW51bXMnXSxcbiAgICAgIC8qKlxuICAgICAgICogRm9udCBWYXJpYW50IE51bWVyaWNcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9mb250LXZhcmlhbnQtbnVtZXJpY1xuICAgICAgICovXG4gICAgICAnZnZuLXNwYWNpbmcnOiBbJ3Byb3BvcnRpb25hbC1udW1zJywgJ3RhYnVsYXItbnVtcyddLFxuICAgICAgLyoqXG4gICAgICAgKiBGb250IFZhcmlhbnQgTnVtZXJpY1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2ZvbnQtdmFyaWFudC1udW1lcmljXG4gICAgICAgKi9cbiAgICAgICdmdm4tZnJhY3Rpb24nOiBbJ2RpYWdvbmFsLWZyYWN0aW9ucycsICdzdGFja2VkLWZyYWN0aW9ucyddLFxuICAgICAgLyoqXG4gICAgICAgKiBMZXR0ZXIgU3BhY2luZ1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2xldHRlci1zcGFjaW5nXG4gICAgICAgKi9cbiAgICAgIHRyYWNraW5nOiBbe1xuICAgICAgICB0cmFja2luZzogW3RoZW1lVHJhY2tpbmcsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogTGluZSBDbGFtcFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2xpbmUtY2xhbXBcbiAgICAgICAqL1xuICAgICAgJ2xpbmUtY2xhbXAnOiBbe1xuICAgICAgICAnbGluZS1jbGFtcCc6IFtpc051bWJlciwgJ25vbmUnLCBpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeU51bWJlcl1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBMaW5lIEhlaWdodFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2xpbmUtaGVpZ2h0XG4gICAgICAgKi9cbiAgICAgIGxlYWRpbmc6IFt7XG4gICAgICAgIGxlYWRpbmc6IFsvKiogRGVwcmVjYXRlZCBzaW5jZSBUYWlsd2luZCBDU1MgdjQuMC4wLiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MuY29tL2lzc3Vlcy8yMDI3I2lzc3VlY29tbWVudC0yNjIwMTUyNzU3ICovXG4gICAgICAgIHRoZW1lTGVhZGluZywgLi4uc2NhbGVVbmFtYmlndW91c1NwYWNpbmcoKV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBMaXN0IFN0eWxlIEltYWdlXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvbGlzdC1zdHlsZS1pbWFnZVxuICAgICAgICovXG4gICAgICAnbGlzdC1pbWFnZSc6IFt7XG4gICAgICAgICdsaXN0LWltYWdlJzogWydub25lJywgaXNBcmJpdHJhcnlWYXJpYWJsZSwgaXNBcmJpdHJhcnlWYWx1ZV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBMaXN0IFN0eWxlIFBvc2l0aW9uXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvbGlzdC1zdHlsZS1wb3NpdGlvblxuICAgICAgICovXG4gICAgICAnbGlzdC1zdHlsZS1wb3NpdGlvbic6IFt7XG4gICAgICAgIGxpc3Q6IFsnaW5zaWRlJywgJ291dHNpZGUnXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIExpc3QgU3R5bGUgVHlwZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2xpc3Qtc3R5bGUtdHlwZVxuICAgICAgICovXG4gICAgICAnbGlzdC1zdHlsZS10eXBlJzogW3tcbiAgICAgICAgbGlzdDogWydkaXNjJywgJ2RlY2ltYWwnLCAnbm9uZScsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogVGV4dCBBbGlnbm1lbnRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90ZXh0LWFsaWduXG4gICAgICAgKi9cbiAgICAgICd0ZXh0LWFsaWdubWVudCc6IFt7XG4gICAgICAgIHRleHQ6IFsnbGVmdCcsICdjZW50ZXInLCAncmlnaHQnLCAnanVzdGlmeScsICdzdGFydCcsICdlbmQnXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFBsYWNlaG9sZGVyIENvbG9yXG4gICAgICAgKiBAZGVwcmVjYXRlZCBzaW5jZSBUYWlsd2luZCBDU1MgdjMuMC4wXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdjMudGFpbHdpbmRjc3MuY29tL2RvY3MvcGxhY2Vob2xkZXItY29sb3JcbiAgICAgICAqL1xuICAgICAgJ3BsYWNlaG9sZGVyLWNvbG9yJzogW3tcbiAgICAgICAgcGxhY2Vob2xkZXI6IHNjYWxlQ29sb3IoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFRleHQgQ29sb3JcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90ZXh0LWNvbG9yXG4gICAgICAgKi9cbiAgICAgICd0ZXh0LWNvbG9yJzogW3tcbiAgICAgICAgdGV4dDogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogVGV4dCBEZWNvcmF0aW9uXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvdGV4dC1kZWNvcmF0aW9uXG4gICAgICAgKi9cbiAgICAgICd0ZXh0LWRlY29yYXRpb24nOiBbJ3VuZGVybGluZScsICdvdmVybGluZScsICdsaW5lLXRocm91Z2gnLCAnbm8tdW5kZXJsaW5lJ10sXG4gICAgICAvKipcbiAgICAgICAqIFRleHQgRGVjb3JhdGlvbiBTdHlsZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3RleHQtZGVjb3JhdGlvbi1zdHlsZVxuICAgICAgICovXG4gICAgICAndGV4dC1kZWNvcmF0aW9uLXN0eWxlJzogW3tcbiAgICAgICAgZGVjb3JhdGlvbjogWy4uLnNjYWxlTGluZVN0eWxlKCksICd3YXZ5J11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBUZXh0IERlY29yYXRpb24gVGhpY2tuZXNzXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzc1xuICAgICAgICovXG4gICAgICAndGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzcyc6IFt7XG4gICAgICAgIGRlY29yYXRpb246IFtpc051bWJlciwgJ2Zyb20tZm9udCcsICdhdXRvJywgaXNBcmJpdHJhcnlWYXJpYWJsZSwgaXNBcmJpdHJhcnlMZW5ndGhdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogVGV4dCBEZWNvcmF0aW9uIENvbG9yXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvdGV4dC1kZWNvcmF0aW9uLWNvbG9yXG4gICAgICAgKi9cbiAgICAgICd0ZXh0LWRlY29yYXRpb24tY29sb3InOiBbe1xuICAgICAgICBkZWNvcmF0aW9uOiBzY2FsZUNvbG9yKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBUZXh0IFVuZGVybGluZSBPZmZzZXRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90ZXh0LXVuZGVybGluZS1vZmZzZXRcbiAgICAgICAqL1xuICAgICAgJ3VuZGVybGluZS1vZmZzZXQnOiBbe1xuICAgICAgICAndW5kZXJsaW5lLW9mZnNldCc6IFtpc051bWJlciwgJ2F1dG8nLCBpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFRleHQgVHJhbnNmb3JtXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvdGV4dC10cmFuc2Zvcm1cbiAgICAgICAqL1xuICAgICAgJ3RleHQtdHJhbnNmb3JtJzogWyd1cHBlcmNhc2UnLCAnbG93ZXJjYXNlJywgJ2NhcGl0YWxpemUnLCAnbm9ybWFsLWNhc2UnXSxcbiAgICAgIC8qKlxuICAgICAgICogVGV4dCBPdmVyZmxvd1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3RleHQtb3ZlcmZsb3dcbiAgICAgICAqL1xuICAgICAgJ3RleHQtb3ZlcmZsb3cnOiBbJ3RydW5jYXRlJywgJ3RleHQtZWxsaXBzaXMnLCAndGV4dC1jbGlwJ10sXG4gICAgICAvKipcbiAgICAgICAqIFRleHQgV3JhcFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3RleHQtd3JhcFxuICAgICAgICovXG4gICAgICAndGV4dC13cmFwJzogW3tcbiAgICAgICAgdGV4dDogWyd3cmFwJywgJ25vd3JhcCcsICdiYWxhbmNlJywgJ3ByZXR0eSddXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogVGV4dCBJbmRlbnRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90ZXh0LWluZGVudFxuICAgICAgICovXG4gICAgICBpbmRlbnQ6IFt7XG4gICAgICAgIGluZGVudDogc2NhbGVVbmFtYmlndW91c1NwYWNpbmcoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFZlcnRpY2FsIEFsaWdubWVudFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3ZlcnRpY2FsLWFsaWduXG4gICAgICAgKi9cbiAgICAgICd2ZXJ0aWNhbC1hbGlnbic6IFt7XG4gICAgICAgIGFsaWduOiBbJ2Jhc2VsaW5lJywgJ3RvcCcsICdtaWRkbGUnLCAnYm90dG9tJywgJ3RleHQtdG9wJywgJ3RleHQtYm90dG9tJywgJ3N1YicsICdzdXBlcicsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogV2hpdGVzcGFjZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3doaXRlc3BhY2VcbiAgICAgICAqL1xuICAgICAgd2hpdGVzcGFjZTogW3tcbiAgICAgICAgd2hpdGVzcGFjZTogWydub3JtYWwnLCAnbm93cmFwJywgJ3ByZScsICdwcmUtbGluZScsICdwcmUtd3JhcCcsICdicmVhay1zcGFjZXMnXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFdvcmQgQnJlYWtcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy93b3JkLWJyZWFrXG4gICAgICAgKi9cbiAgICAgIGJyZWFrOiBbe1xuICAgICAgICBicmVhazogWydub3JtYWwnLCAnd29yZHMnLCAnYWxsJywgJ2tlZXAnXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIE92ZXJmbG93IFdyYXBcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9vdmVyZmxvdy13cmFwXG4gICAgICAgKi9cbiAgICAgIHdyYXA6IFt7XG4gICAgICAgIHdyYXA6IFsnYnJlYWstd29yZCcsICdhbnl3aGVyZScsICdub3JtYWwnXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEh5cGhlbnNcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9oeXBoZW5zXG4gICAgICAgKi9cbiAgICAgIGh5cGhlbnM6IFt7XG4gICAgICAgIGh5cGhlbnM6IFsnbm9uZScsICdtYW51YWwnLCAnYXV0byddXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQ29udGVudFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2NvbnRlbnRcbiAgICAgICAqL1xuICAgICAgY29udGVudDogW3tcbiAgICAgICAgY29udGVudDogWydub25lJywgaXNBcmJpdHJhcnlWYXJpYWJsZSwgaXNBcmJpdHJhcnlWYWx1ZV1cbiAgICAgIH1dLFxuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgLy8gLS0tIEJhY2tncm91bmRzIC0tLVxuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgLyoqXG4gICAgICAgKiBCYWNrZ3JvdW5kIEF0dGFjaG1lbnRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9iYWNrZ3JvdW5kLWF0dGFjaG1lbnRcbiAgICAgICAqL1xuICAgICAgJ2JnLWF0dGFjaG1lbnQnOiBbe1xuICAgICAgICBiZzogWydmaXhlZCcsICdsb2NhbCcsICdzY3JvbGwnXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJhY2tncm91bmQgQ2xpcFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JhY2tncm91bmQtY2xpcFxuICAgICAgICovXG4gICAgICAnYmctY2xpcCc6IFt7XG4gICAgICAgICdiZy1jbGlwJzogWydib3JkZXInLCAncGFkZGluZycsICdjb250ZW50JywgJ3RleHQnXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJhY2tncm91bmQgT3JpZ2luXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYmFja2dyb3VuZC1vcmlnaW5cbiAgICAgICAqL1xuICAgICAgJ2JnLW9yaWdpbic6IFt7XG4gICAgICAgICdiZy1vcmlnaW4nOiBbJ2JvcmRlcicsICdwYWRkaW5nJywgJ2NvbnRlbnQnXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJhY2tncm91bmQgUG9zaXRpb25cbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9iYWNrZ3JvdW5kLXBvc2l0aW9uXG4gICAgICAgKi9cbiAgICAgICdiZy1wb3NpdGlvbic6IFt7XG4gICAgICAgIGJnOiBzY2FsZUJnUG9zaXRpb24oKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJhY2tncm91bmQgUmVwZWF0XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYmFja2dyb3VuZC1yZXBlYXRcbiAgICAgICAqL1xuICAgICAgJ2JnLXJlcGVhdCc6IFt7XG4gICAgICAgIGJnOiBzY2FsZUJnUmVwZWF0KClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCYWNrZ3JvdW5kIFNpemVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9iYWNrZ3JvdW5kLXNpemVcbiAgICAgICAqL1xuICAgICAgJ2JnLXNpemUnOiBbe1xuICAgICAgICBiZzogc2NhbGVCZ1NpemUoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJhY2tncm91bmQgSW1hZ2VcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9iYWNrZ3JvdW5kLWltYWdlXG4gICAgICAgKi9cbiAgICAgICdiZy1pbWFnZSc6IFt7XG4gICAgICAgIGJnOiBbJ25vbmUnLCB7XG4gICAgICAgICAgbGluZWFyOiBbe1xuICAgICAgICAgICAgdG86IFsndCcsICd0cicsICdyJywgJ2JyJywgJ2InLCAnYmwnLCAnbCcsICd0bCddXG4gICAgICAgICAgfSwgaXNJbnRlZ2VyLCBpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXSxcbiAgICAgICAgICByYWRpYWw6IFsnJywgaXNBcmJpdHJhcnlWYXJpYWJsZSwgaXNBcmJpdHJhcnlWYWx1ZV0sXG4gICAgICAgICAgY29uaWM6IFtpc0ludGVnZXIsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICAgIH0sIGlzQXJiaXRyYXJ5VmFyaWFibGVJbWFnZSwgaXNBcmJpdHJhcnlJbWFnZV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCYWNrZ3JvdW5kIENvbG9yXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYmFja2dyb3VuZC1jb2xvclxuICAgICAgICovXG4gICAgICAnYmctY29sb3InOiBbe1xuICAgICAgICBiZzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogR3JhZGllbnQgQ29sb3IgU3RvcHMgRnJvbSBQb3NpdGlvblxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2dyYWRpZW50LWNvbG9yLXN0b3BzXG4gICAgICAgKi9cbiAgICAgICdncmFkaWVudC1mcm9tLXBvcyc6IFt7XG4gICAgICAgIGZyb206IHNjYWxlR3JhZGllbnRTdG9wUG9zaXRpb24oKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEdyYWRpZW50IENvbG9yIFN0b3BzIFZpYSBQb3NpdGlvblxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2dyYWRpZW50LWNvbG9yLXN0b3BzXG4gICAgICAgKi9cbiAgICAgICdncmFkaWVudC12aWEtcG9zJzogW3tcbiAgICAgICAgdmlhOiBzY2FsZUdyYWRpZW50U3RvcFBvc2l0aW9uKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBHcmFkaWVudCBDb2xvciBTdG9wcyBUbyBQb3NpdGlvblxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2dyYWRpZW50LWNvbG9yLXN0b3BzXG4gICAgICAgKi9cbiAgICAgICdncmFkaWVudC10by1wb3MnOiBbe1xuICAgICAgICB0bzogc2NhbGVHcmFkaWVudFN0b3BQb3NpdGlvbigpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogR3JhZGllbnQgQ29sb3IgU3RvcHMgRnJvbVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2dyYWRpZW50LWNvbG9yLXN0b3BzXG4gICAgICAgKi9cbiAgICAgICdncmFkaWVudC1mcm9tJzogW3tcbiAgICAgICAgZnJvbTogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogR3JhZGllbnQgQ29sb3IgU3RvcHMgVmlhXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvZ3JhZGllbnQtY29sb3Itc3RvcHNcbiAgICAgICAqL1xuICAgICAgJ2dyYWRpZW50LXZpYSc6IFt7XG4gICAgICAgIHZpYTogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogR3JhZGllbnQgQ29sb3IgU3RvcHMgVG9cbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ncmFkaWVudC1jb2xvci1zdG9wc1xuICAgICAgICovXG4gICAgICAnZ3JhZGllbnQtdG8nOiBbe1xuICAgICAgICB0bzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLVxuICAgICAgLy8gLS0tIEJvcmRlcnMgLS0tXG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLS1cbiAgICAgIC8qKlxuICAgICAgICogQm9yZGVyIFJhZGl1c1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JvcmRlci1yYWRpdXNcbiAgICAgICAqL1xuICAgICAgcm91bmRlZDogW3tcbiAgICAgICAgcm91bmRlZDogc2NhbGVSYWRpdXMoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJvcmRlciBSYWRpdXMgU3RhcnRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItcmFkaXVzXG4gICAgICAgKi9cbiAgICAgICdyb3VuZGVkLXMnOiBbe1xuICAgICAgICAncm91bmRlZC1zJzogc2NhbGVSYWRpdXMoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJvcmRlciBSYWRpdXMgRW5kXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYm9yZGVyLXJhZGl1c1xuICAgICAgICovXG4gICAgICAncm91bmRlZC1lJzogW3tcbiAgICAgICAgJ3JvdW5kZWQtZSc6IHNjYWxlUmFkaXVzKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCb3JkZXIgUmFkaXVzIFRvcFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JvcmRlci1yYWRpdXNcbiAgICAgICAqL1xuICAgICAgJ3JvdW5kZWQtdCc6IFt7XG4gICAgICAgICdyb3VuZGVkLXQnOiBzY2FsZVJhZGl1cygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQm9yZGVyIFJhZGl1cyBSaWdodFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JvcmRlci1yYWRpdXNcbiAgICAgICAqL1xuICAgICAgJ3JvdW5kZWQtcic6IFt7XG4gICAgICAgICdyb3VuZGVkLXInOiBzY2FsZVJhZGl1cygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQm9yZGVyIFJhZGl1cyBCb3R0b21cbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItcmFkaXVzXG4gICAgICAgKi9cbiAgICAgICdyb3VuZGVkLWInOiBbe1xuICAgICAgICAncm91bmRlZC1iJzogc2NhbGVSYWRpdXMoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJvcmRlciBSYWRpdXMgTGVmdFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JvcmRlci1yYWRpdXNcbiAgICAgICAqL1xuICAgICAgJ3JvdW5kZWQtbCc6IFt7XG4gICAgICAgICdyb3VuZGVkLWwnOiBzY2FsZVJhZGl1cygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQm9yZGVyIFJhZGl1cyBTdGFydCBTdGFydFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JvcmRlci1yYWRpdXNcbiAgICAgICAqL1xuICAgICAgJ3JvdW5kZWQtc3MnOiBbe1xuICAgICAgICAncm91bmRlZC1zcyc6IHNjYWxlUmFkaXVzKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCb3JkZXIgUmFkaXVzIFN0YXJ0IEVuZFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JvcmRlci1yYWRpdXNcbiAgICAgICAqL1xuICAgICAgJ3JvdW5kZWQtc2UnOiBbe1xuICAgICAgICAncm91bmRlZC1zZSc6IHNjYWxlUmFkaXVzKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCb3JkZXIgUmFkaXVzIEVuZCBFbmRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItcmFkaXVzXG4gICAgICAgKi9cbiAgICAgICdyb3VuZGVkLWVlJzogW3tcbiAgICAgICAgJ3JvdW5kZWQtZWUnOiBzY2FsZVJhZGl1cygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQm9yZGVyIFJhZGl1cyBFbmQgU3RhcnRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItcmFkaXVzXG4gICAgICAgKi9cbiAgICAgICdyb3VuZGVkLWVzJzogW3tcbiAgICAgICAgJ3JvdW5kZWQtZXMnOiBzY2FsZVJhZGl1cygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQm9yZGVyIFJhZGl1cyBUb3AgTGVmdFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JvcmRlci1yYWRpdXNcbiAgICAgICAqL1xuICAgICAgJ3JvdW5kZWQtdGwnOiBbe1xuICAgICAgICAncm91bmRlZC10bCc6IHNjYWxlUmFkaXVzKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCb3JkZXIgUmFkaXVzIFRvcCBSaWdodFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JvcmRlci1yYWRpdXNcbiAgICAgICAqL1xuICAgICAgJ3JvdW5kZWQtdHInOiBbe1xuICAgICAgICAncm91bmRlZC10cic6IHNjYWxlUmFkaXVzKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCb3JkZXIgUmFkaXVzIEJvdHRvbSBSaWdodFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JvcmRlci1yYWRpdXNcbiAgICAgICAqL1xuICAgICAgJ3JvdW5kZWQtYnInOiBbe1xuICAgICAgICAncm91bmRlZC1icic6IHNjYWxlUmFkaXVzKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCb3JkZXIgUmFkaXVzIEJvdHRvbSBMZWZ0XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYm9yZGVyLXJhZGl1c1xuICAgICAgICovXG4gICAgICAncm91bmRlZC1ibCc6IFt7XG4gICAgICAgICdyb3VuZGVkLWJsJzogc2NhbGVSYWRpdXMoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJvcmRlciBXaWR0aFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JvcmRlci13aWR0aFxuICAgICAgICovXG4gICAgICAnYm9yZGVyLXcnOiBbe1xuICAgICAgICBib3JkZXI6IHNjYWxlQm9yZGVyV2lkdGgoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJvcmRlciBXaWR0aCBJbmxpbmVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItd2lkdGhcbiAgICAgICAqL1xuICAgICAgJ2JvcmRlci13LXgnOiBbe1xuICAgICAgICAnYm9yZGVyLXgnOiBzY2FsZUJvcmRlcldpZHRoKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCb3JkZXIgV2lkdGggQmxvY2tcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItd2lkdGhcbiAgICAgICAqL1xuICAgICAgJ2JvcmRlci13LXknOiBbe1xuICAgICAgICAnYm9yZGVyLXknOiBzY2FsZUJvcmRlcldpZHRoKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCb3JkZXIgV2lkdGggSW5saW5lIFN0YXJ0XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYm9yZGVyLXdpZHRoXG4gICAgICAgKi9cbiAgICAgICdib3JkZXItdy1zJzogW3tcbiAgICAgICAgJ2JvcmRlci1zJzogc2NhbGVCb3JkZXJXaWR0aCgpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQm9yZGVyIFdpZHRoIElubGluZSBFbmRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItd2lkdGhcbiAgICAgICAqL1xuICAgICAgJ2JvcmRlci13LWUnOiBbe1xuICAgICAgICAnYm9yZGVyLWUnOiBzY2FsZUJvcmRlcldpZHRoKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCb3JkZXIgV2lkdGggQmxvY2sgU3RhcnRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItd2lkdGhcbiAgICAgICAqL1xuICAgICAgJ2JvcmRlci13LWJzJzogW3tcbiAgICAgICAgJ2JvcmRlci1icyc6IHNjYWxlQm9yZGVyV2lkdGgoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJvcmRlciBXaWR0aCBCbG9jayBFbmRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItd2lkdGhcbiAgICAgICAqL1xuICAgICAgJ2JvcmRlci13LWJlJzogW3tcbiAgICAgICAgJ2JvcmRlci1iZSc6IHNjYWxlQm9yZGVyV2lkdGgoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJvcmRlciBXaWR0aCBUb3BcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItd2lkdGhcbiAgICAgICAqL1xuICAgICAgJ2JvcmRlci13LXQnOiBbe1xuICAgICAgICAnYm9yZGVyLXQnOiBzY2FsZUJvcmRlcldpZHRoKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCb3JkZXIgV2lkdGggUmlnaHRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItd2lkdGhcbiAgICAgICAqL1xuICAgICAgJ2JvcmRlci13LXInOiBbe1xuICAgICAgICAnYm9yZGVyLXInOiBzY2FsZUJvcmRlcldpZHRoKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCb3JkZXIgV2lkdGggQm90dG9tXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYm9yZGVyLXdpZHRoXG4gICAgICAgKi9cbiAgICAgICdib3JkZXItdy1iJzogW3tcbiAgICAgICAgJ2JvcmRlci1iJzogc2NhbGVCb3JkZXJXaWR0aCgpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQm9yZGVyIFdpZHRoIExlZnRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItd2lkdGhcbiAgICAgICAqL1xuICAgICAgJ2JvcmRlci13LWwnOiBbe1xuICAgICAgICAnYm9yZGVyLWwnOiBzY2FsZUJvcmRlcldpZHRoKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBEaXZpZGUgV2lkdGggWFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JvcmRlci13aWR0aCNiZXR3ZWVuLWNoaWxkcmVuXG4gICAgICAgKi9cbiAgICAgICdkaXZpZGUteCc6IFt7XG4gICAgICAgICdkaXZpZGUteCc6IHNjYWxlQm9yZGVyV2lkdGgoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIERpdmlkZSBXaWR0aCBYIFJldmVyc2VcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItd2lkdGgjYmV0d2Vlbi1jaGlsZHJlblxuICAgICAgICovXG4gICAgICAnZGl2aWRlLXgtcmV2ZXJzZSc6IFsnZGl2aWRlLXgtcmV2ZXJzZSddLFxuICAgICAgLyoqXG4gICAgICAgKiBEaXZpZGUgV2lkdGggWVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JvcmRlci13aWR0aCNiZXR3ZWVuLWNoaWxkcmVuXG4gICAgICAgKi9cbiAgICAgICdkaXZpZGUteSc6IFt7XG4gICAgICAgICdkaXZpZGUteSc6IHNjYWxlQm9yZGVyV2lkdGgoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIERpdmlkZSBXaWR0aCBZIFJldmVyc2VcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItd2lkdGgjYmV0d2Vlbi1jaGlsZHJlblxuICAgICAgICovXG4gICAgICAnZGl2aWRlLXktcmV2ZXJzZSc6IFsnZGl2aWRlLXktcmV2ZXJzZSddLFxuICAgICAgLyoqXG4gICAgICAgKiBCb3JkZXIgU3R5bGVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItc3R5bGVcbiAgICAgICAqL1xuICAgICAgJ2JvcmRlci1zdHlsZSc6IFt7XG4gICAgICAgIGJvcmRlcjogWy4uLnNjYWxlTGluZVN0eWxlKCksICdoaWRkZW4nLCAnbm9uZSddXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogRGl2aWRlIFN0eWxlXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYm9yZGVyLXN0eWxlI3NldHRpbmctdGhlLWRpdmlkZXItc3R5bGVcbiAgICAgICAqL1xuICAgICAgJ2RpdmlkZS1zdHlsZSc6IFt7XG4gICAgICAgIGRpdmlkZTogWy4uLnNjYWxlTGluZVN0eWxlKCksICdoaWRkZW4nLCAnbm9uZSddXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQm9yZGVyIENvbG9yXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYm9yZGVyLWNvbG9yXG4gICAgICAgKi9cbiAgICAgICdib3JkZXItY29sb3InOiBbe1xuICAgICAgICBib3JkZXI6IHNjYWxlQ29sb3IoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJvcmRlciBDb2xvciBJbmxpbmVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItY29sb3JcbiAgICAgICAqL1xuICAgICAgJ2JvcmRlci1jb2xvci14JzogW3tcbiAgICAgICAgJ2JvcmRlci14Jzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQm9yZGVyIENvbG9yIEJsb2NrXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYm9yZGVyLWNvbG9yXG4gICAgICAgKi9cbiAgICAgICdib3JkZXItY29sb3IteSc6IFt7XG4gICAgICAgICdib3JkZXIteSc6IHNjYWxlQ29sb3IoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJvcmRlciBDb2xvciBJbmxpbmUgU3RhcnRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItY29sb3JcbiAgICAgICAqL1xuICAgICAgJ2JvcmRlci1jb2xvci1zJzogW3tcbiAgICAgICAgJ2JvcmRlci1zJzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQm9yZGVyIENvbG9yIElubGluZSBFbmRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItY29sb3JcbiAgICAgICAqL1xuICAgICAgJ2JvcmRlci1jb2xvci1lJzogW3tcbiAgICAgICAgJ2JvcmRlci1lJzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQm9yZGVyIENvbG9yIEJsb2NrIFN0YXJ0XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYm9yZGVyLWNvbG9yXG4gICAgICAgKi9cbiAgICAgICdib3JkZXItY29sb3ItYnMnOiBbe1xuICAgICAgICAnYm9yZGVyLWJzJzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQm9yZGVyIENvbG9yIEJsb2NrIEVuZFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JvcmRlci1jb2xvclxuICAgICAgICovXG4gICAgICAnYm9yZGVyLWNvbG9yLWJlJzogW3tcbiAgICAgICAgJ2JvcmRlci1iZSc6IHNjYWxlQ29sb3IoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJvcmRlciBDb2xvciBUb3BcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItY29sb3JcbiAgICAgICAqL1xuICAgICAgJ2JvcmRlci1jb2xvci10JzogW3tcbiAgICAgICAgJ2JvcmRlci10Jzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQm9yZGVyIENvbG9yIFJpZ2h0XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYm9yZGVyLWNvbG9yXG4gICAgICAgKi9cbiAgICAgICdib3JkZXItY29sb3Itcic6IFt7XG4gICAgICAgICdib3JkZXItcic6IHNjYWxlQ29sb3IoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJvcmRlciBDb2xvciBCb3R0b21cbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItY29sb3JcbiAgICAgICAqL1xuICAgICAgJ2JvcmRlci1jb2xvci1iJzogW3tcbiAgICAgICAgJ2JvcmRlci1iJzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQm9yZGVyIENvbG9yIExlZnRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3JkZXItY29sb3JcbiAgICAgICAqL1xuICAgICAgJ2JvcmRlci1jb2xvci1sJzogW3tcbiAgICAgICAgJ2JvcmRlci1sJzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogRGl2aWRlIENvbG9yXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvZGl2aWRlLWNvbG9yXG4gICAgICAgKi9cbiAgICAgICdkaXZpZGUtY29sb3InOiBbe1xuICAgICAgICBkaXZpZGU6IHNjYWxlQ29sb3IoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIE91dGxpbmUgU3R5bGVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9vdXRsaW5lLXN0eWxlXG4gICAgICAgKi9cbiAgICAgICdvdXRsaW5lLXN0eWxlJzogW3tcbiAgICAgICAgb3V0bGluZTogWy4uLnNjYWxlTGluZVN0eWxlKCksICdub25lJywgJ2hpZGRlbiddXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogT3V0bGluZSBPZmZzZXRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9vdXRsaW5lLW9mZnNldFxuICAgICAgICovXG4gICAgICAnb3V0bGluZS1vZmZzZXQnOiBbe1xuICAgICAgICAnb3V0bGluZS1vZmZzZXQnOiBbaXNOdW1iZXIsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogT3V0bGluZSBXaWR0aFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL291dGxpbmUtd2lkdGhcbiAgICAgICAqL1xuICAgICAgJ291dGxpbmUtdyc6IFt7XG4gICAgICAgIG91dGxpbmU6IFsnJywgaXNOdW1iZXIsIGlzQXJiaXRyYXJ5VmFyaWFibGVMZW5ndGgsIGlzQXJiaXRyYXJ5TGVuZ3RoXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIE91dGxpbmUgQ29sb3JcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9vdXRsaW5lLWNvbG9yXG4gICAgICAgKi9cbiAgICAgICdvdXRsaW5lLWNvbG9yJzogW3tcbiAgICAgICAgb3V0bGluZTogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLVxuICAgICAgLy8gLS0tIEVmZmVjdHMgLS0tXG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLS1cbiAgICAgIC8qKlxuICAgICAgICogQm94IFNoYWRvd1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JveC1zaGFkb3dcbiAgICAgICAqL1xuICAgICAgc2hhZG93OiBbe1xuICAgICAgICBzaGFkb3c6IFtcbiAgICAgICAgLy8gRGVwcmVjYXRlZCBzaW5jZSBUYWlsd2luZCBDU1MgdjQuMC4wXG4gICAgICAgICcnLCAnbm9uZScsIHRoZW1lU2hhZG93LCBpc0FyYml0cmFyeVZhcmlhYmxlU2hhZG93LCBpc0FyYml0cmFyeVNoYWRvd11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCb3ggU2hhZG93IENvbG9yXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYm94LXNoYWRvdyNzZXR0aW5nLXRoZS1zaGFkb3ctY29sb3JcbiAgICAgICAqL1xuICAgICAgJ3NoYWRvdy1jb2xvcic6IFt7XG4gICAgICAgIHNoYWRvdzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogSW5zZXQgQm94IFNoYWRvd1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JveC1zaGFkb3cjYWRkaW5nLWFuLWluc2V0LXNoYWRvd1xuICAgICAgICovXG4gICAgICAnaW5zZXQtc2hhZG93JzogW3tcbiAgICAgICAgJ2luc2V0LXNoYWRvdyc6IFsnbm9uZScsIHRoZW1lSW5zZXRTaGFkb3csIGlzQXJiaXRyYXJ5VmFyaWFibGVTaGFkb3csIGlzQXJiaXRyYXJ5U2hhZG93XVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEluc2V0IEJveCBTaGFkb3cgQ29sb3JcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3gtc2hhZG93I3NldHRpbmctdGhlLWluc2V0LXNoYWRvdy1jb2xvclxuICAgICAgICovXG4gICAgICAnaW5zZXQtc2hhZG93LWNvbG9yJzogW3tcbiAgICAgICAgJ2luc2V0LXNoYWRvdyc6IHNjYWxlQ29sb3IoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFJpbmcgV2lkdGhcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3gtc2hhZG93I2FkZGluZy1hLXJpbmdcbiAgICAgICAqL1xuICAgICAgJ3Jpbmctdyc6IFt7XG4gICAgICAgIHJpbmc6IHNjYWxlQm9yZGVyV2lkdGgoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFJpbmcgV2lkdGggSW5zZXRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly92My50YWlsd2luZGNzcy5jb20vZG9jcy9yaW5nLXdpZHRoI2luc2V0LXJpbmdzXG4gICAgICAgKiBAZGVwcmVjYXRlZCBzaW5jZSBUYWlsd2luZCBDU1MgdjQuMC4wXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MvYmxvYi92NC4wLjAvcGFja2FnZXMvdGFpbHdpbmRjc3Mvc3JjL3V0aWxpdGllcy50cyNMNDE1OFxuICAgICAgICovXG4gICAgICAncmluZy13LWluc2V0JzogWydyaW5nLWluc2V0J10sXG4gICAgICAvKipcbiAgICAgICAqIFJpbmcgQ29sb3JcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9ib3gtc2hhZG93I3NldHRpbmctdGhlLXJpbmctY29sb3JcbiAgICAgICAqL1xuICAgICAgJ3JpbmctY29sb3InOiBbe1xuICAgICAgICByaW5nOiBzY2FsZUNvbG9yKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBSaW5nIE9mZnNldCBXaWR0aFxuICAgICAgICogQHNlZSBodHRwczovL3YzLnRhaWx3aW5kY3NzLmNvbS9kb2NzL3Jpbmctb2Zmc2V0LXdpZHRoXG4gICAgICAgKiBAZGVwcmVjYXRlZCBzaW5jZSBUYWlsd2luZCBDU1MgdjQuMC4wXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGxhYnMvdGFpbHdpbmRjc3MvYmxvYi92NC4wLjAvcGFja2FnZXMvdGFpbHdpbmRjc3Mvc3JjL3V0aWxpdGllcy50cyNMNDE1OFxuICAgICAgICovXG4gICAgICAncmluZy1vZmZzZXQtdyc6IFt7XG4gICAgICAgICdyaW5nLW9mZnNldCc6IFtpc051bWJlciwgaXNBcmJpdHJhcnlMZW5ndGhdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogUmluZyBPZmZzZXQgQ29sb3JcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly92My50YWlsd2luZGNzcy5jb20vZG9jcy9yaW5nLW9mZnNldC1jb2xvclxuICAgICAgICogQGRlcHJlY2F0ZWQgc2luY2UgVGFpbHdpbmQgQ1NTIHY0LjAuMFxuICAgICAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRsYWJzL3RhaWx3aW5kY3NzL2Jsb2IvdjQuMC4wL3BhY2thZ2VzL3RhaWx3aW5kY3NzL3NyYy91dGlsaXRpZXMudHMjTDQxNThcbiAgICAgICAqL1xuICAgICAgJ3Jpbmctb2Zmc2V0LWNvbG9yJzogW3tcbiAgICAgICAgJ3Jpbmctb2Zmc2V0Jzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogSW5zZXQgUmluZyBXaWR0aFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JveC1zaGFkb3cjYWRkaW5nLWFuLWluc2V0LXJpbmdcbiAgICAgICAqL1xuICAgICAgJ2luc2V0LXJpbmctdyc6IFt7XG4gICAgICAgICdpbnNldC1yaW5nJzogc2NhbGVCb3JkZXJXaWR0aCgpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogSW5zZXQgUmluZyBDb2xvclxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JveC1zaGFkb3cjc2V0dGluZy10aGUtaW5zZXQtcmluZy1jb2xvclxuICAgICAgICovXG4gICAgICAnaW5zZXQtcmluZy1jb2xvcic6IFt7XG4gICAgICAgICdpbnNldC1yaW5nJzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogVGV4dCBTaGFkb3dcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90ZXh0LXNoYWRvd1xuICAgICAgICovXG4gICAgICAndGV4dC1zaGFkb3cnOiBbe1xuICAgICAgICAndGV4dC1zaGFkb3cnOiBbJ25vbmUnLCB0aGVtZVRleHRTaGFkb3csIGlzQXJiaXRyYXJ5VmFyaWFibGVTaGFkb3csIGlzQXJiaXRyYXJ5U2hhZG93XVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFRleHQgU2hhZG93IENvbG9yXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvdGV4dC1zaGFkb3cjc2V0dGluZy10aGUtc2hhZG93LWNvbG9yXG4gICAgICAgKi9cbiAgICAgICd0ZXh0LXNoYWRvdy1jb2xvcic6IFt7XG4gICAgICAgICd0ZXh0LXNoYWRvdyc6IHNjYWxlQ29sb3IoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIE9wYWNpdHlcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9vcGFjaXR5XG4gICAgICAgKi9cbiAgICAgIG9wYWNpdHk6IFt7XG4gICAgICAgIG9wYWNpdHk6IFtpc051bWJlciwgaXNBcmJpdHJhcnlWYXJpYWJsZSwgaXNBcmJpdHJhcnlWYWx1ZV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBNaXggQmxlbmQgTW9kZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL21peC1ibGVuZC1tb2RlXG4gICAgICAgKi9cbiAgICAgICdtaXgtYmxlbmQnOiBbe1xuICAgICAgICAnbWl4LWJsZW5kJzogWy4uLnNjYWxlQmxlbmRNb2RlKCksICdwbHVzLWRhcmtlcicsICdwbHVzLWxpZ2h0ZXInXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJhY2tncm91bmQgQmxlbmQgTW9kZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JhY2tncm91bmQtYmxlbmQtbW9kZVxuICAgICAgICovXG4gICAgICAnYmctYmxlbmQnOiBbe1xuICAgICAgICAnYmctYmxlbmQnOiBzY2FsZUJsZW5kTW9kZSgpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogTWFzayBDbGlwXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvbWFzay1jbGlwXG4gICAgICAgKi9cbiAgICAgICdtYXNrLWNsaXAnOiBbe1xuICAgICAgICAnbWFzay1jbGlwJzogWydib3JkZXInLCAncGFkZGluZycsICdjb250ZW50JywgJ2ZpbGwnLCAnc3Ryb2tlJywgJ3ZpZXcnXVxuICAgICAgfSwgJ21hc2stbm8tY2xpcCddLFxuICAgICAgLyoqXG4gICAgICAgKiBNYXNrIENvbXBvc2l0ZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL21hc2stY29tcG9zaXRlXG4gICAgICAgKi9cbiAgICAgICdtYXNrLWNvbXBvc2l0ZSc6IFt7XG4gICAgICAgIG1hc2s6IFsnYWRkJywgJ3N1YnRyYWN0JywgJ2ludGVyc2VjdCcsICdleGNsdWRlJ11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBNYXNrIEltYWdlXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvbWFzay1pbWFnZVxuICAgICAgICovXG4gICAgICAnbWFzay1pbWFnZS1saW5lYXItcG9zJzogW3tcbiAgICAgICAgJ21hc2stbGluZWFyJzogW2lzTnVtYmVyXVxuICAgICAgfV0sXG4gICAgICAnbWFzay1pbWFnZS1saW5lYXItZnJvbS1wb3MnOiBbe1xuICAgICAgICAnbWFzay1saW5lYXItZnJvbSc6IHNjYWxlTWFza0ltYWdlUG9zaXRpb24oKVxuICAgICAgfV0sXG4gICAgICAnbWFzay1pbWFnZS1saW5lYXItdG8tcG9zJzogW3tcbiAgICAgICAgJ21hc2stbGluZWFyLXRvJzogc2NhbGVNYXNrSW1hZ2VQb3NpdGlvbigpXG4gICAgICB9XSxcbiAgICAgICdtYXNrLWltYWdlLWxpbmVhci1mcm9tLWNvbG9yJzogW3tcbiAgICAgICAgJ21hc2stbGluZWFyLWZyb20nOiBzY2FsZUNvbG9yKClcbiAgICAgIH1dLFxuICAgICAgJ21hc2staW1hZ2UtbGluZWFyLXRvLWNvbG9yJzogW3tcbiAgICAgICAgJ21hc2stbGluZWFyLXRvJzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgICdtYXNrLWltYWdlLXQtZnJvbS1wb3MnOiBbe1xuICAgICAgICAnbWFzay10LWZyb20nOiBzY2FsZU1hc2tJbWFnZVBvc2l0aW9uKClcbiAgICAgIH1dLFxuICAgICAgJ21hc2staW1hZ2UtdC10by1wb3MnOiBbe1xuICAgICAgICAnbWFzay10LXRvJzogc2NhbGVNYXNrSW1hZ2VQb3NpdGlvbigpXG4gICAgICB9XSxcbiAgICAgICdtYXNrLWltYWdlLXQtZnJvbS1jb2xvcic6IFt7XG4gICAgICAgICdtYXNrLXQtZnJvbSc6IHNjYWxlQ29sb3IoKVxuICAgICAgfV0sXG4gICAgICAnbWFzay1pbWFnZS10LXRvLWNvbG9yJzogW3tcbiAgICAgICAgJ21hc2stdC10byc6IHNjYWxlQ29sb3IoKVxuICAgICAgfV0sXG4gICAgICAnbWFzay1pbWFnZS1yLWZyb20tcG9zJzogW3tcbiAgICAgICAgJ21hc2stci1mcm9tJzogc2NhbGVNYXNrSW1hZ2VQb3NpdGlvbigpXG4gICAgICB9XSxcbiAgICAgICdtYXNrLWltYWdlLXItdG8tcG9zJzogW3tcbiAgICAgICAgJ21hc2stci10byc6IHNjYWxlTWFza0ltYWdlUG9zaXRpb24oKVxuICAgICAgfV0sXG4gICAgICAnbWFzay1pbWFnZS1yLWZyb20tY29sb3InOiBbe1xuICAgICAgICAnbWFzay1yLWZyb20nOiBzY2FsZUNvbG9yKClcbiAgICAgIH1dLFxuICAgICAgJ21hc2staW1hZ2Utci10by1jb2xvcic6IFt7XG4gICAgICAgICdtYXNrLXItdG8nOiBzY2FsZUNvbG9yKClcbiAgICAgIH1dLFxuICAgICAgJ21hc2staW1hZ2UtYi1mcm9tLXBvcyc6IFt7XG4gICAgICAgICdtYXNrLWItZnJvbSc6IHNjYWxlTWFza0ltYWdlUG9zaXRpb24oKVxuICAgICAgfV0sXG4gICAgICAnbWFzay1pbWFnZS1iLXRvLXBvcyc6IFt7XG4gICAgICAgICdtYXNrLWItdG8nOiBzY2FsZU1hc2tJbWFnZVBvc2l0aW9uKClcbiAgICAgIH1dLFxuICAgICAgJ21hc2staW1hZ2UtYi1mcm9tLWNvbG9yJzogW3tcbiAgICAgICAgJ21hc2stYi1mcm9tJzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgICdtYXNrLWltYWdlLWItdG8tY29sb3InOiBbe1xuICAgICAgICAnbWFzay1iLXRvJzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgICdtYXNrLWltYWdlLWwtZnJvbS1wb3MnOiBbe1xuICAgICAgICAnbWFzay1sLWZyb20nOiBzY2FsZU1hc2tJbWFnZVBvc2l0aW9uKClcbiAgICAgIH1dLFxuICAgICAgJ21hc2staW1hZ2UtbC10by1wb3MnOiBbe1xuICAgICAgICAnbWFzay1sLXRvJzogc2NhbGVNYXNrSW1hZ2VQb3NpdGlvbigpXG4gICAgICB9XSxcbiAgICAgICdtYXNrLWltYWdlLWwtZnJvbS1jb2xvcic6IFt7XG4gICAgICAgICdtYXNrLWwtZnJvbSc6IHNjYWxlQ29sb3IoKVxuICAgICAgfV0sXG4gICAgICAnbWFzay1pbWFnZS1sLXRvLWNvbG9yJzogW3tcbiAgICAgICAgJ21hc2stbC10byc6IHNjYWxlQ29sb3IoKVxuICAgICAgfV0sXG4gICAgICAnbWFzay1pbWFnZS14LWZyb20tcG9zJzogW3tcbiAgICAgICAgJ21hc2steC1mcm9tJzogc2NhbGVNYXNrSW1hZ2VQb3NpdGlvbigpXG4gICAgICB9XSxcbiAgICAgICdtYXNrLWltYWdlLXgtdG8tcG9zJzogW3tcbiAgICAgICAgJ21hc2steC10byc6IHNjYWxlTWFza0ltYWdlUG9zaXRpb24oKVxuICAgICAgfV0sXG4gICAgICAnbWFzay1pbWFnZS14LWZyb20tY29sb3InOiBbe1xuICAgICAgICAnbWFzay14LWZyb20nOiBzY2FsZUNvbG9yKClcbiAgICAgIH1dLFxuICAgICAgJ21hc2staW1hZ2UteC10by1jb2xvcic6IFt7XG4gICAgICAgICdtYXNrLXgtdG8nOiBzY2FsZUNvbG9yKClcbiAgICAgIH1dLFxuICAgICAgJ21hc2staW1hZ2UteS1mcm9tLXBvcyc6IFt7XG4gICAgICAgICdtYXNrLXktZnJvbSc6IHNjYWxlTWFza0ltYWdlUG9zaXRpb24oKVxuICAgICAgfV0sXG4gICAgICAnbWFzay1pbWFnZS15LXRvLXBvcyc6IFt7XG4gICAgICAgICdtYXNrLXktdG8nOiBzY2FsZU1hc2tJbWFnZVBvc2l0aW9uKClcbiAgICAgIH1dLFxuICAgICAgJ21hc2staW1hZ2UteS1mcm9tLWNvbG9yJzogW3tcbiAgICAgICAgJ21hc2steS1mcm9tJzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgICdtYXNrLWltYWdlLXktdG8tY29sb3InOiBbe1xuICAgICAgICAnbWFzay15LXRvJzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgICdtYXNrLWltYWdlLXJhZGlhbCc6IFt7XG4gICAgICAgICdtYXNrLXJhZGlhbCc6IFtpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXVxuICAgICAgfV0sXG4gICAgICAnbWFzay1pbWFnZS1yYWRpYWwtZnJvbS1wb3MnOiBbe1xuICAgICAgICAnbWFzay1yYWRpYWwtZnJvbSc6IHNjYWxlTWFza0ltYWdlUG9zaXRpb24oKVxuICAgICAgfV0sXG4gICAgICAnbWFzay1pbWFnZS1yYWRpYWwtdG8tcG9zJzogW3tcbiAgICAgICAgJ21hc2stcmFkaWFsLXRvJzogc2NhbGVNYXNrSW1hZ2VQb3NpdGlvbigpXG4gICAgICB9XSxcbiAgICAgICdtYXNrLWltYWdlLXJhZGlhbC1mcm9tLWNvbG9yJzogW3tcbiAgICAgICAgJ21hc2stcmFkaWFsLWZyb20nOiBzY2FsZUNvbG9yKClcbiAgICAgIH1dLFxuICAgICAgJ21hc2staW1hZ2UtcmFkaWFsLXRvLWNvbG9yJzogW3tcbiAgICAgICAgJ21hc2stcmFkaWFsLXRvJzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgICdtYXNrLWltYWdlLXJhZGlhbC1zaGFwZSc6IFt7XG4gICAgICAgICdtYXNrLXJhZGlhbCc6IFsnY2lyY2xlJywgJ2VsbGlwc2UnXVxuICAgICAgfV0sXG4gICAgICAnbWFzay1pbWFnZS1yYWRpYWwtc2l6ZSc6IFt7XG4gICAgICAgICdtYXNrLXJhZGlhbCc6IFt7XG4gICAgICAgICAgY2xvc2VzdDogWydzaWRlJywgJ2Nvcm5lciddLFxuICAgICAgICAgIGZhcnRoZXN0OiBbJ3NpZGUnLCAnY29ybmVyJ11cbiAgICAgICAgfV1cbiAgICAgIH1dLFxuICAgICAgJ21hc2staW1hZ2UtcmFkaWFsLXBvcyc6IFt7XG4gICAgICAgICdtYXNrLXJhZGlhbC1hdCc6IHNjYWxlUG9zaXRpb24oKVxuICAgICAgfV0sXG4gICAgICAnbWFzay1pbWFnZS1jb25pYy1wb3MnOiBbe1xuICAgICAgICAnbWFzay1jb25pYyc6IFtpc051bWJlcl1cbiAgICAgIH1dLFxuICAgICAgJ21hc2staW1hZ2UtY29uaWMtZnJvbS1wb3MnOiBbe1xuICAgICAgICAnbWFzay1jb25pYy1mcm9tJzogc2NhbGVNYXNrSW1hZ2VQb3NpdGlvbigpXG4gICAgICB9XSxcbiAgICAgICdtYXNrLWltYWdlLWNvbmljLXRvLXBvcyc6IFt7XG4gICAgICAgICdtYXNrLWNvbmljLXRvJzogc2NhbGVNYXNrSW1hZ2VQb3NpdGlvbigpXG4gICAgICB9XSxcbiAgICAgICdtYXNrLWltYWdlLWNvbmljLWZyb20tY29sb3InOiBbe1xuICAgICAgICAnbWFzay1jb25pYy1mcm9tJzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgICdtYXNrLWltYWdlLWNvbmljLXRvLWNvbG9yJzogW3tcbiAgICAgICAgJ21hc2stY29uaWMtdG8nOiBzY2FsZUNvbG9yKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBNYXNrIE1vZGVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9tYXNrLW1vZGVcbiAgICAgICAqL1xuICAgICAgJ21hc2stbW9kZSc6IFt7XG4gICAgICAgIG1hc2s6IFsnYWxwaGEnLCAnbHVtaW5hbmNlJywgJ21hdGNoJ11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBNYXNrIE9yaWdpblxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL21hc2stb3JpZ2luXG4gICAgICAgKi9cbiAgICAgICdtYXNrLW9yaWdpbic6IFt7XG4gICAgICAgICdtYXNrLW9yaWdpbic6IFsnYm9yZGVyJywgJ3BhZGRpbmcnLCAnY29udGVudCcsICdmaWxsJywgJ3N0cm9rZScsICd2aWV3J11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBNYXNrIFBvc2l0aW9uXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvbWFzay1wb3NpdGlvblxuICAgICAgICovXG4gICAgICAnbWFzay1wb3NpdGlvbic6IFt7XG4gICAgICAgIG1hc2s6IHNjYWxlQmdQb3NpdGlvbigpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogTWFzayBSZXBlYXRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9tYXNrLXJlcGVhdFxuICAgICAgICovXG4gICAgICAnbWFzay1yZXBlYXQnOiBbe1xuICAgICAgICBtYXNrOiBzY2FsZUJnUmVwZWF0KClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBNYXNrIFNpemVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9tYXNrLXNpemVcbiAgICAgICAqL1xuICAgICAgJ21hc2stc2l6ZSc6IFt7XG4gICAgICAgIG1hc2s6IHNjYWxlQmdTaXplKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBNYXNrIFR5cGVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9tYXNrLXR5cGVcbiAgICAgICAqL1xuICAgICAgJ21hc2stdHlwZSc6IFt7XG4gICAgICAgICdtYXNrLXR5cGUnOiBbJ2FscGhhJywgJ2x1bWluYW5jZSddXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogTWFzayBJbWFnZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL21hc2staW1hZ2VcbiAgICAgICAqL1xuICAgICAgJ21hc2staW1hZ2UnOiBbe1xuICAgICAgICBtYXNrOiBbJ25vbmUnLCBpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXVxuICAgICAgfV0sXG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLS1cbiAgICAgIC8vIC0tLSBGaWx0ZXJzIC0tLVxuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tXG4gICAgICAvKipcbiAgICAgICAqIEZpbHRlclxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2ZpbHRlclxuICAgICAgICovXG4gICAgICBmaWx0ZXI6IFt7XG4gICAgICAgIGZpbHRlcjogW1xuICAgICAgICAvLyBEZXByZWNhdGVkIHNpbmNlIFRhaWx3aW5kIENTUyB2My4wLjBcbiAgICAgICAgJycsICdub25lJywgaXNBcmJpdHJhcnlWYXJpYWJsZSwgaXNBcmJpdHJhcnlWYWx1ZV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCbHVyXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYmx1clxuICAgICAgICovXG4gICAgICBibHVyOiBbe1xuICAgICAgICBibHVyOiBzY2FsZUJsdXIoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJyaWdodG5lc3NcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9icmlnaHRuZXNzXG4gICAgICAgKi9cbiAgICAgIGJyaWdodG5lc3M6IFt7XG4gICAgICAgIGJyaWdodG5lc3M6IFtpc051bWJlciwgaXNBcmJpdHJhcnlWYXJpYWJsZSwgaXNBcmJpdHJhcnlWYWx1ZV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBDb250cmFzdFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2NvbnRyYXN0XG4gICAgICAgKi9cbiAgICAgIGNvbnRyYXN0OiBbe1xuICAgICAgICBjb250cmFzdDogW2lzTnVtYmVyLCBpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIERyb3AgU2hhZG93XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvZHJvcC1zaGFkb3dcbiAgICAgICAqL1xuICAgICAgJ2Ryb3Atc2hhZG93JzogW3tcbiAgICAgICAgJ2Ryb3Atc2hhZG93JzogW1xuICAgICAgICAvLyBEZXByZWNhdGVkIHNpbmNlIFRhaWx3aW5kIENTUyB2NC4wLjBcbiAgICAgICAgJycsICdub25lJywgdGhlbWVEcm9wU2hhZG93LCBpc0FyYml0cmFyeVZhcmlhYmxlU2hhZG93LCBpc0FyYml0cmFyeVNoYWRvd11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBEcm9wIFNoYWRvdyBDb2xvclxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2ZpbHRlci1kcm9wLXNoYWRvdyNzZXR0aW5nLXRoZS1zaGFkb3ctY29sb3JcbiAgICAgICAqL1xuICAgICAgJ2Ryb3Atc2hhZG93LWNvbG9yJzogW3tcbiAgICAgICAgJ2Ryb3Atc2hhZG93Jzogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogR3JheXNjYWxlXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvZ3JheXNjYWxlXG4gICAgICAgKi9cbiAgICAgIGdyYXlzY2FsZTogW3tcbiAgICAgICAgZ3JheXNjYWxlOiBbJycsIGlzTnVtYmVyLCBpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEh1ZSBSb3RhdGVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9odWUtcm90YXRlXG4gICAgICAgKi9cbiAgICAgICdodWUtcm90YXRlJzogW3tcbiAgICAgICAgJ2h1ZS1yb3RhdGUnOiBbaXNOdW1iZXIsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogSW52ZXJ0XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvaW52ZXJ0XG4gICAgICAgKi9cbiAgICAgIGludmVydDogW3tcbiAgICAgICAgaW52ZXJ0OiBbJycsIGlzTnVtYmVyLCBpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFNhdHVyYXRlXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3Mvc2F0dXJhdGVcbiAgICAgICAqL1xuICAgICAgc2F0dXJhdGU6IFt7XG4gICAgICAgIHNhdHVyYXRlOiBbaXNOdW1iZXIsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogU2VwaWFcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9zZXBpYVxuICAgICAgICovXG4gICAgICBzZXBpYTogW3tcbiAgICAgICAgc2VwaWE6IFsnJywgaXNOdW1iZXIsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQmFja2Ryb3AgRmlsdGVyXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYmFja2Ryb3AtZmlsdGVyXG4gICAgICAgKi9cbiAgICAgICdiYWNrZHJvcC1maWx0ZXInOiBbe1xuICAgICAgICAnYmFja2Ryb3AtZmlsdGVyJzogW1xuICAgICAgICAvLyBEZXByZWNhdGVkIHNpbmNlIFRhaWx3aW5kIENTUyB2My4wLjBcbiAgICAgICAgJycsICdub25lJywgaXNBcmJpdHJhcnlWYXJpYWJsZSwgaXNBcmJpdHJhcnlWYWx1ZV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCYWNrZHJvcCBCbHVyXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYmFja2Ryb3AtYmx1clxuICAgICAgICovXG4gICAgICAnYmFja2Ryb3AtYmx1cic6IFt7XG4gICAgICAgICdiYWNrZHJvcC1ibHVyJzogc2NhbGVCbHVyKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCYWNrZHJvcCBCcmlnaHRuZXNzXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYmFja2Ryb3AtYnJpZ2h0bmVzc1xuICAgICAgICovXG4gICAgICAnYmFja2Ryb3AtYnJpZ2h0bmVzcyc6IFt7XG4gICAgICAgICdiYWNrZHJvcC1icmlnaHRuZXNzJzogW2lzTnVtYmVyLCBpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJhY2tkcm9wIENvbnRyYXN0XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYmFja2Ryb3AtY29udHJhc3RcbiAgICAgICAqL1xuICAgICAgJ2JhY2tkcm9wLWNvbnRyYXN0JzogW3tcbiAgICAgICAgJ2JhY2tkcm9wLWNvbnRyYXN0JzogW2lzTnVtYmVyLCBpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJhY2tkcm9wIEdyYXlzY2FsZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JhY2tkcm9wLWdyYXlzY2FsZVxuICAgICAgICovXG4gICAgICAnYmFja2Ryb3AtZ3JheXNjYWxlJzogW3tcbiAgICAgICAgJ2JhY2tkcm9wLWdyYXlzY2FsZSc6IFsnJywgaXNOdW1iZXIsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQmFja2Ryb3AgSHVlIFJvdGF0ZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JhY2tkcm9wLWh1ZS1yb3RhdGVcbiAgICAgICAqL1xuICAgICAgJ2JhY2tkcm9wLWh1ZS1yb3RhdGUnOiBbe1xuICAgICAgICAnYmFja2Ryb3AtaHVlLXJvdGF0ZSc6IFtpc051bWJlciwgaXNBcmJpdHJhcnlWYXJpYWJsZSwgaXNBcmJpdHJhcnlWYWx1ZV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCYWNrZHJvcCBJbnZlcnRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9iYWNrZHJvcC1pbnZlcnRcbiAgICAgICAqL1xuICAgICAgJ2JhY2tkcm9wLWludmVydCc6IFt7XG4gICAgICAgICdiYWNrZHJvcC1pbnZlcnQnOiBbJycsIGlzTnVtYmVyLCBpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEJhY2tkcm9wIE9wYWNpdHlcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9iYWNrZHJvcC1vcGFjaXR5XG4gICAgICAgKi9cbiAgICAgICdiYWNrZHJvcC1vcGFjaXR5JzogW3tcbiAgICAgICAgJ2JhY2tkcm9wLW9wYWNpdHknOiBbaXNOdW1iZXIsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQmFja2Ryb3AgU2F0dXJhdGVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9iYWNrZHJvcC1zYXR1cmF0ZVxuICAgICAgICovXG4gICAgICAnYmFja2Ryb3Atc2F0dXJhdGUnOiBbe1xuICAgICAgICAnYmFja2Ryb3Atc2F0dXJhdGUnOiBbaXNOdW1iZXIsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQmFja2Ryb3AgU2VwaWFcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9iYWNrZHJvcC1zZXBpYVxuICAgICAgICovXG4gICAgICAnYmFja2Ryb3Atc2VwaWEnOiBbe1xuICAgICAgICAnYmFja2Ryb3Atc2VwaWEnOiBbJycsIGlzTnVtYmVyLCBpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXVxuICAgICAgfV0sXG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLVxuICAgICAgLy8gLS0tIFRhYmxlcyAtLS1cbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tXG4gICAgICAvKipcbiAgICAgICAqIEJvcmRlciBDb2xsYXBzZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JvcmRlci1jb2xsYXBzZVxuICAgICAgICovXG4gICAgICAnYm9yZGVyLWNvbGxhcHNlJzogW3tcbiAgICAgICAgYm9yZGVyOiBbJ2NvbGxhcHNlJywgJ3NlcGFyYXRlJ11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCb3JkZXIgU3BhY2luZ1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JvcmRlci1zcGFjaW5nXG4gICAgICAgKi9cbiAgICAgICdib3JkZXItc3BhY2luZyc6IFt7XG4gICAgICAgICdib3JkZXItc3BhY2luZyc6IHNjYWxlVW5hbWJpZ3VvdXNTcGFjaW5nKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCb3JkZXIgU3BhY2luZyBYXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYm9yZGVyLXNwYWNpbmdcbiAgICAgICAqL1xuICAgICAgJ2JvcmRlci1zcGFjaW5nLXgnOiBbe1xuICAgICAgICAnYm9yZGVyLXNwYWNpbmcteCc6IHNjYWxlVW5hbWJpZ3VvdXNTcGFjaW5nKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBCb3JkZXIgU3BhY2luZyBZXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvYm9yZGVyLXNwYWNpbmdcbiAgICAgICAqL1xuICAgICAgJ2JvcmRlci1zcGFjaW5nLXknOiBbe1xuICAgICAgICAnYm9yZGVyLXNwYWNpbmcteSc6IHNjYWxlVW5hbWJpZ3VvdXNTcGFjaW5nKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBUYWJsZSBMYXlvdXRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90YWJsZS1sYXlvdXRcbiAgICAgICAqL1xuICAgICAgJ3RhYmxlLWxheW91dCc6IFt7XG4gICAgICAgIHRhYmxlOiBbJ2F1dG8nLCAnZml4ZWQnXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIENhcHRpb24gU2lkZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2NhcHRpb24tc2lkZVxuICAgICAgICovXG4gICAgICBjYXB0aW9uOiBbe1xuICAgICAgICBjYXB0aW9uOiBbJ3RvcCcsICdib3R0b20nXVxuICAgICAgfV0sXG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIC8vIC0tLSBUcmFuc2l0aW9ucyBhbmQgQW5pbWF0aW9uIC0tLVxuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAvKipcbiAgICAgICAqIFRyYW5zaXRpb24gUHJvcGVydHlcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90cmFuc2l0aW9uLXByb3BlcnR5XG4gICAgICAgKi9cbiAgICAgIHRyYW5zaXRpb246IFt7XG4gICAgICAgIHRyYW5zaXRpb246IFsnJywgJ2FsbCcsICdjb2xvcnMnLCAnb3BhY2l0eScsICdzaGFkb3cnLCAndHJhbnNmb3JtJywgJ25vbmUnLCBpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFRyYW5zaXRpb24gQmVoYXZpb3JcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90cmFuc2l0aW9uLWJlaGF2aW9yXG4gICAgICAgKi9cbiAgICAgICd0cmFuc2l0aW9uLWJlaGF2aW9yJzogW3tcbiAgICAgICAgdHJhbnNpdGlvbjogWydub3JtYWwnLCAnZGlzY3JldGUnXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFRyYW5zaXRpb24gRHVyYXRpb25cbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90cmFuc2l0aW9uLWR1cmF0aW9uXG4gICAgICAgKi9cbiAgICAgIGR1cmF0aW9uOiBbe1xuICAgICAgICBkdXJhdGlvbjogW2lzTnVtYmVyLCAnaW5pdGlhbCcsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogVHJhbnNpdGlvbiBUaW1pbmcgRnVuY3Rpb25cbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvblxuICAgICAgICovXG4gICAgICBlYXNlOiBbe1xuICAgICAgICBlYXNlOiBbJ2xpbmVhcicsICdpbml0aWFsJywgdGhlbWVFYXNlLCBpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFRyYW5zaXRpb24gRGVsYXlcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90cmFuc2l0aW9uLWRlbGF5XG4gICAgICAgKi9cbiAgICAgIGRlbGF5OiBbe1xuICAgICAgICBkZWxheTogW2lzTnVtYmVyLCBpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEFuaW1hdGlvblxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2FuaW1hdGlvblxuICAgICAgICovXG4gICAgICBhbmltYXRlOiBbe1xuICAgICAgICBhbmltYXRlOiBbJ25vbmUnLCB0aGVtZUFuaW1hdGUsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgLy8gLS0tIFRyYW5zZm9ybXMgLS0tXG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIC8qKlxuICAgICAgICogQmFja2ZhY2UgVmlzaWJpbGl0eVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2JhY2tmYWNlLXZpc2liaWxpdHlcbiAgICAgICAqL1xuICAgICAgYmFja2ZhY2U6IFt7XG4gICAgICAgIGJhY2tmYWNlOiBbJ2hpZGRlbicsICd2aXNpYmxlJ11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBQZXJzcGVjdGl2ZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3BlcnNwZWN0aXZlXG4gICAgICAgKi9cbiAgICAgIHBlcnNwZWN0aXZlOiBbe1xuICAgICAgICBwZXJzcGVjdGl2ZTogW3RoZW1lUGVyc3BlY3RpdmUsIGlzQXJiaXRyYXJ5VmFyaWFibGUsIGlzQXJiaXRyYXJ5VmFsdWVdXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogUGVyc3BlY3RpdmUgT3JpZ2luXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvcGVyc3BlY3RpdmUtb3JpZ2luXG4gICAgICAgKi9cbiAgICAgICdwZXJzcGVjdGl2ZS1vcmlnaW4nOiBbe1xuICAgICAgICAncGVyc3BlY3RpdmUtb3JpZ2luJzogc2NhbGVQb3NpdGlvbldpdGhBcmJpdHJhcnkoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFJvdGF0ZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3JvdGF0ZVxuICAgICAgICovXG4gICAgICByb3RhdGU6IFt7XG4gICAgICAgIHJvdGF0ZTogc2NhbGVSb3RhdGUoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFJvdGF0ZSBYXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3Mvcm90YXRlXG4gICAgICAgKi9cbiAgICAgICdyb3RhdGUteCc6IFt7XG4gICAgICAgICdyb3RhdGUteCc6IHNjYWxlUm90YXRlKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBSb3RhdGUgWVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3JvdGF0ZVxuICAgICAgICovXG4gICAgICAncm90YXRlLXknOiBbe1xuICAgICAgICAncm90YXRlLXknOiBzY2FsZVJvdGF0ZSgpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogUm90YXRlIFpcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9yb3RhdGVcbiAgICAgICAqL1xuICAgICAgJ3JvdGF0ZS16JzogW3tcbiAgICAgICAgJ3JvdGF0ZS16Jzogc2NhbGVSb3RhdGUoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFNjYWxlXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3Mvc2NhbGVcbiAgICAgICAqL1xuICAgICAgc2NhbGU6IFt7XG4gICAgICAgIHNjYWxlOiBzY2FsZVNjYWxlKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBTY2FsZSBYXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3Mvc2NhbGVcbiAgICAgICAqL1xuICAgICAgJ3NjYWxlLXgnOiBbe1xuICAgICAgICAnc2NhbGUteCc6IHNjYWxlU2NhbGUoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFNjYWxlIFlcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9zY2FsZVxuICAgICAgICovXG4gICAgICAnc2NhbGUteSc6IFt7XG4gICAgICAgICdzY2FsZS15Jzogc2NhbGVTY2FsZSgpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogU2NhbGUgWlxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3NjYWxlXG4gICAgICAgKi9cbiAgICAgICdzY2FsZS16JzogW3tcbiAgICAgICAgJ3NjYWxlLXonOiBzY2FsZVNjYWxlKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBTY2FsZSAzRFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3NjYWxlXG4gICAgICAgKi9cbiAgICAgICdzY2FsZS0zZCc6IFsnc2NhbGUtM2QnXSxcbiAgICAgIC8qKlxuICAgICAgICogU2tld1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3NrZXdcbiAgICAgICAqL1xuICAgICAgc2tldzogW3tcbiAgICAgICAgc2tldzogc2NhbGVTa2V3KClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBTa2V3IFhcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9za2V3XG4gICAgICAgKi9cbiAgICAgICdza2V3LXgnOiBbe1xuICAgICAgICAnc2tldy14Jzogc2NhbGVTa2V3KClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBTa2V3IFlcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9za2V3XG4gICAgICAgKi9cbiAgICAgICdza2V3LXknOiBbe1xuICAgICAgICAnc2tldy15Jzogc2NhbGVTa2V3KClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBUcmFuc2Zvcm1cbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90cmFuc2Zvcm1cbiAgICAgICAqL1xuICAgICAgdHJhbnNmb3JtOiBbe1xuICAgICAgICB0cmFuc2Zvcm06IFtpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlLCAnJywgJ25vbmUnLCAnZ3B1JywgJ2NwdSddXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogVHJhbnNmb3JtIE9yaWdpblxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3RyYW5zZm9ybS1vcmlnaW5cbiAgICAgICAqL1xuICAgICAgJ3RyYW5zZm9ybS1vcmlnaW4nOiBbe1xuICAgICAgICBvcmlnaW46IHNjYWxlUG9zaXRpb25XaXRoQXJiaXRyYXJ5KClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBUcmFuc2Zvcm0gU3R5bGVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90cmFuc2Zvcm0tc3R5bGVcbiAgICAgICAqL1xuICAgICAgJ3RyYW5zZm9ybS1zdHlsZSc6IFt7XG4gICAgICAgIHRyYW5zZm9ybTogWyczZCcsICdmbGF0J11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBUcmFuc2xhdGVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90cmFuc2xhdGVcbiAgICAgICAqL1xuICAgICAgdHJhbnNsYXRlOiBbe1xuICAgICAgICB0cmFuc2xhdGU6IHNjYWxlVHJhbnNsYXRlKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBUcmFuc2xhdGUgWFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3RyYW5zbGF0ZVxuICAgICAgICovXG4gICAgICAndHJhbnNsYXRlLXgnOiBbe1xuICAgICAgICAndHJhbnNsYXRlLXgnOiBzY2FsZVRyYW5zbGF0ZSgpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogVHJhbnNsYXRlIFlcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90cmFuc2xhdGVcbiAgICAgICAqL1xuICAgICAgJ3RyYW5zbGF0ZS15JzogW3tcbiAgICAgICAgJ3RyYW5zbGF0ZS15Jzogc2NhbGVUcmFuc2xhdGUoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFRyYW5zbGF0ZSBaXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvdHJhbnNsYXRlXG4gICAgICAgKi9cbiAgICAgICd0cmFuc2xhdGUteic6IFt7XG4gICAgICAgICd0cmFuc2xhdGUteic6IHNjYWxlVHJhbnNsYXRlKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBUcmFuc2xhdGUgTm9uZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3RyYW5zbGF0ZVxuICAgICAgICovXG4gICAgICAndHJhbnNsYXRlLW5vbmUnOiBbJ3RyYW5zbGF0ZS1ub25lJ10sXG4gICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIC8vIC0tLSBJbnRlcmFjdGl2aXR5IC0tLVxuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAvKipcbiAgICAgICAqIEFjY2VudCBDb2xvclxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2FjY2VudC1jb2xvclxuICAgICAgICovXG4gICAgICBhY2NlbnQ6IFt7XG4gICAgICAgIGFjY2VudDogc2NhbGVDb2xvcigpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogQXBwZWFyYW5jZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2FwcGVhcmFuY2VcbiAgICAgICAqL1xuICAgICAgYXBwZWFyYW5jZTogW3tcbiAgICAgICAgYXBwZWFyYW5jZTogWydub25lJywgJ2F1dG8nXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIENhcmV0IENvbG9yXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvanVzdC1pbi10aW1lLW1vZGUjY2FyZXQtY29sb3ItdXRpbGl0aWVzXG4gICAgICAgKi9cbiAgICAgICdjYXJldC1jb2xvcic6IFt7XG4gICAgICAgIGNhcmV0OiBzY2FsZUNvbG9yKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBDb2xvciBTY2hlbWVcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9jb2xvci1zY2hlbWVcbiAgICAgICAqL1xuICAgICAgJ2NvbG9yLXNjaGVtZSc6IFt7XG4gICAgICAgIHNjaGVtZTogWydub3JtYWwnLCAnZGFyaycsICdsaWdodCcsICdsaWdodC1kYXJrJywgJ29ubHktZGFyaycsICdvbmx5LWxpZ2h0J11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBDdXJzb3JcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9jdXJzb3JcbiAgICAgICAqL1xuICAgICAgY3Vyc29yOiBbe1xuICAgICAgICBjdXJzb3I6IFsnYXV0bycsICdkZWZhdWx0JywgJ3BvaW50ZXInLCAnd2FpdCcsICd0ZXh0JywgJ21vdmUnLCAnaGVscCcsICdub3QtYWxsb3dlZCcsICdub25lJywgJ2NvbnRleHQtbWVudScsICdwcm9ncmVzcycsICdjZWxsJywgJ2Nyb3NzaGFpcicsICd2ZXJ0aWNhbC10ZXh0JywgJ2FsaWFzJywgJ2NvcHknLCAnbm8tZHJvcCcsICdncmFiJywgJ2dyYWJiaW5nJywgJ2FsbC1zY3JvbGwnLCAnY29sLXJlc2l6ZScsICdyb3ctcmVzaXplJywgJ24tcmVzaXplJywgJ2UtcmVzaXplJywgJ3MtcmVzaXplJywgJ3ctcmVzaXplJywgJ25lLXJlc2l6ZScsICdudy1yZXNpemUnLCAnc2UtcmVzaXplJywgJ3N3LXJlc2l6ZScsICdldy1yZXNpemUnLCAnbnMtcmVzaXplJywgJ25lc3ctcmVzaXplJywgJ253c2UtcmVzaXplJywgJ3pvb20taW4nLCAnem9vbS1vdXQnLCBpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIEZpZWxkIFNpemluZ1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL2ZpZWxkLXNpemluZ1xuICAgICAgICovXG4gICAgICAnZmllbGQtc2l6aW5nJzogW3tcbiAgICAgICAgJ2ZpZWxkLXNpemluZyc6IFsnZml4ZWQnLCAnY29udGVudCddXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogUG9pbnRlciBFdmVudHNcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9wb2ludGVyLWV2ZW50c1xuICAgICAgICovXG4gICAgICAncG9pbnRlci1ldmVudHMnOiBbe1xuICAgICAgICAncG9pbnRlci1ldmVudHMnOiBbJ2F1dG8nLCAnbm9uZSddXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogUmVzaXplXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvcmVzaXplXG4gICAgICAgKi9cbiAgICAgIHJlc2l6ZTogW3tcbiAgICAgICAgcmVzaXplOiBbJ25vbmUnLCAnJywgJ3knLCAneCddXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogU2Nyb2xsIEJlaGF2aW9yXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3Mvc2Nyb2xsLWJlaGF2aW9yXG4gICAgICAgKi9cbiAgICAgICdzY3JvbGwtYmVoYXZpb3InOiBbe1xuICAgICAgICBzY3JvbGw6IFsnYXV0bycsICdzbW9vdGgnXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFNjcm9sbCBNYXJnaW5cbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9zY3JvbGwtbWFyZ2luXG4gICAgICAgKi9cbiAgICAgICdzY3JvbGwtbSc6IFt7XG4gICAgICAgICdzY3JvbGwtbSc6IHNjYWxlVW5hbWJpZ3VvdXNTcGFjaW5nKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBTY3JvbGwgTWFyZ2luIElubGluZVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3Njcm9sbC1tYXJnaW5cbiAgICAgICAqL1xuICAgICAgJ3Njcm9sbC1teCc6IFt7XG4gICAgICAgICdzY3JvbGwtbXgnOiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogU2Nyb2xsIE1hcmdpbiBCbG9ja1xuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3Njcm9sbC1tYXJnaW5cbiAgICAgICAqL1xuICAgICAgJ3Njcm9sbC1teSc6IFt7XG4gICAgICAgICdzY3JvbGwtbXknOiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogU2Nyb2xsIE1hcmdpbiBJbmxpbmUgU3RhcnRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9zY3JvbGwtbWFyZ2luXG4gICAgICAgKi9cbiAgICAgICdzY3JvbGwtbXMnOiBbe1xuICAgICAgICAnc2Nyb2xsLW1zJzogc2NhbGVVbmFtYmlndW91c1NwYWNpbmcoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFNjcm9sbCBNYXJnaW4gSW5saW5lIEVuZFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3Njcm9sbC1tYXJnaW5cbiAgICAgICAqL1xuICAgICAgJ3Njcm9sbC1tZSc6IFt7XG4gICAgICAgICdzY3JvbGwtbWUnOiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogU2Nyb2xsIE1hcmdpbiBCbG9jayBTdGFydFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3Njcm9sbC1tYXJnaW5cbiAgICAgICAqL1xuICAgICAgJ3Njcm9sbC1tYnMnOiBbe1xuICAgICAgICAnc2Nyb2xsLW1icyc6IHNjYWxlVW5hbWJpZ3VvdXNTcGFjaW5nKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBTY3JvbGwgTWFyZ2luIEJsb2NrIEVuZFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3Njcm9sbC1tYXJnaW5cbiAgICAgICAqL1xuICAgICAgJ3Njcm9sbC1tYmUnOiBbe1xuICAgICAgICAnc2Nyb2xsLW1iZSc6IHNjYWxlVW5hbWJpZ3VvdXNTcGFjaW5nKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBTY3JvbGwgTWFyZ2luIFRvcFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3Njcm9sbC1tYXJnaW5cbiAgICAgICAqL1xuICAgICAgJ3Njcm9sbC1tdCc6IFt7XG4gICAgICAgICdzY3JvbGwtbXQnOiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogU2Nyb2xsIE1hcmdpbiBSaWdodFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3Njcm9sbC1tYXJnaW5cbiAgICAgICAqL1xuICAgICAgJ3Njcm9sbC1tcic6IFt7XG4gICAgICAgICdzY3JvbGwtbXInOiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogU2Nyb2xsIE1hcmdpbiBCb3R0b21cbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9zY3JvbGwtbWFyZ2luXG4gICAgICAgKi9cbiAgICAgICdzY3JvbGwtbWInOiBbe1xuICAgICAgICAnc2Nyb2xsLW1iJzogc2NhbGVVbmFtYmlndW91c1NwYWNpbmcoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFNjcm9sbCBNYXJnaW4gTGVmdFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3Njcm9sbC1tYXJnaW5cbiAgICAgICAqL1xuICAgICAgJ3Njcm9sbC1tbCc6IFt7XG4gICAgICAgICdzY3JvbGwtbWwnOiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogU2Nyb2xsIFBhZGRpbmdcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9zY3JvbGwtcGFkZGluZ1xuICAgICAgICovXG4gICAgICAnc2Nyb2xsLXAnOiBbe1xuICAgICAgICAnc2Nyb2xsLXAnOiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogU2Nyb2xsIFBhZGRpbmcgSW5saW5lXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3Mvc2Nyb2xsLXBhZGRpbmdcbiAgICAgICAqL1xuICAgICAgJ3Njcm9sbC1weCc6IFt7XG4gICAgICAgICdzY3JvbGwtcHgnOiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogU2Nyb2xsIFBhZGRpbmcgQmxvY2tcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9zY3JvbGwtcGFkZGluZ1xuICAgICAgICovXG4gICAgICAnc2Nyb2xsLXB5JzogW3tcbiAgICAgICAgJ3Njcm9sbC1weSc6IHNjYWxlVW5hbWJpZ3VvdXNTcGFjaW5nKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBTY3JvbGwgUGFkZGluZyBJbmxpbmUgU3RhcnRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9zY3JvbGwtcGFkZGluZ1xuICAgICAgICovXG4gICAgICAnc2Nyb2xsLXBzJzogW3tcbiAgICAgICAgJ3Njcm9sbC1wcyc6IHNjYWxlVW5hbWJpZ3VvdXNTcGFjaW5nKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBTY3JvbGwgUGFkZGluZyBJbmxpbmUgRW5kXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3Mvc2Nyb2xsLXBhZGRpbmdcbiAgICAgICAqL1xuICAgICAgJ3Njcm9sbC1wZSc6IFt7XG4gICAgICAgICdzY3JvbGwtcGUnOiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogU2Nyb2xsIFBhZGRpbmcgQmxvY2sgU3RhcnRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9zY3JvbGwtcGFkZGluZ1xuICAgICAgICovXG4gICAgICAnc2Nyb2xsLXBicyc6IFt7XG4gICAgICAgICdzY3JvbGwtcGJzJzogc2NhbGVVbmFtYmlndW91c1NwYWNpbmcoKVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFNjcm9sbCBQYWRkaW5nIEJsb2NrIEVuZFxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3Njcm9sbC1wYWRkaW5nXG4gICAgICAgKi9cbiAgICAgICdzY3JvbGwtcGJlJzogW3tcbiAgICAgICAgJ3Njcm9sbC1wYmUnOiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogU2Nyb2xsIFBhZGRpbmcgVG9wXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3Mvc2Nyb2xsLXBhZGRpbmdcbiAgICAgICAqL1xuICAgICAgJ3Njcm9sbC1wdCc6IFt7XG4gICAgICAgICdzY3JvbGwtcHQnOiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogU2Nyb2xsIFBhZGRpbmcgUmlnaHRcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9zY3JvbGwtcGFkZGluZ1xuICAgICAgICovXG4gICAgICAnc2Nyb2xsLXByJzogW3tcbiAgICAgICAgJ3Njcm9sbC1wcic6IHNjYWxlVW5hbWJpZ3VvdXNTcGFjaW5nKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBTY3JvbGwgUGFkZGluZyBCb3R0b21cbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9zY3JvbGwtcGFkZGluZ1xuICAgICAgICovXG4gICAgICAnc2Nyb2xsLXBiJzogW3tcbiAgICAgICAgJ3Njcm9sbC1wYic6IHNjYWxlVW5hbWJpZ3VvdXNTcGFjaW5nKClcbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBTY3JvbGwgUGFkZGluZyBMZWZ0XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3Mvc2Nyb2xsLXBhZGRpbmdcbiAgICAgICAqL1xuICAgICAgJ3Njcm9sbC1wbCc6IFt7XG4gICAgICAgICdzY3JvbGwtcGwnOiBzY2FsZVVuYW1iaWd1b3VzU3BhY2luZygpXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogU2Nyb2xsIFNuYXAgQWxpZ25cbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9zY3JvbGwtc25hcC1hbGlnblxuICAgICAgICovXG4gICAgICAnc25hcC1hbGlnbic6IFt7XG4gICAgICAgIHNuYXA6IFsnc3RhcnQnLCAnZW5kJywgJ2NlbnRlcicsICdhbGlnbi1ub25lJ11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBTY3JvbGwgU25hcCBTdG9wXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3Mvc2Nyb2xsLXNuYXAtc3RvcFxuICAgICAgICovXG4gICAgICAnc25hcC1zdG9wJzogW3tcbiAgICAgICAgc25hcDogWydub3JtYWwnLCAnYWx3YXlzJ11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBTY3JvbGwgU25hcCBUeXBlXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3Mvc2Nyb2xsLXNuYXAtdHlwZVxuICAgICAgICovXG4gICAgICAnc25hcC10eXBlJzogW3tcbiAgICAgICAgc25hcDogWydub25lJywgJ3gnLCAneScsICdib3RoJ11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBTY3JvbGwgU25hcCBUeXBlIFN0cmljdG5lc3NcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9zY3JvbGwtc25hcC10eXBlXG4gICAgICAgKi9cbiAgICAgICdzbmFwLXN0cmljdG5lc3MnOiBbe1xuICAgICAgICBzbmFwOiBbJ21hbmRhdG9yeScsICdwcm94aW1pdHknXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFRvdWNoIEFjdGlvblxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3RvdWNoLWFjdGlvblxuICAgICAgICovXG4gICAgICB0b3VjaDogW3tcbiAgICAgICAgdG91Y2g6IFsnYXV0bycsICdub25lJywgJ21hbmlwdWxhdGlvbiddXG4gICAgICB9XSxcbiAgICAgIC8qKlxuICAgICAgICogVG91Y2ggQWN0aW9uIFhcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy90b3VjaC1hY3Rpb25cbiAgICAgICAqL1xuICAgICAgJ3RvdWNoLXgnOiBbe1xuICAgICAgICAndG91Y2gtcGFuJzogWyd4JywgJ2xlZnQnLCAncmlnaHQnXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFRvdWNoIEFjdGlvbiBZXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvdG91Y2gtYWN0aW9uXG4gICAgICAgKi9cbiAgICAgICd0b3VjaC15JzogW3tcbiAgICAgICAgJ3RvdWNoLXBhbic6IFsneScsICd1cCcsICdkb3duJ11cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBUb3VjaCBBY3Rpb24gUGluY2ggWm9vbVxuICAgICAgICogQHNlZSBodHRwczovL3RhaWx3aW5kY3NzLmNvbS9kb2NzL3RvdWNoLWFjdGlvblxuICAgICAgICovXG4gICAgICAndG91Y2gtcHonOiBbJ3RvdWNoLXBpbmNoLXpvb20nXSxcbiAgICAgIC8qKlxuICAgICAgICogVXNlciBTZWxlY3RcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy91c2VyLXNlbGVjdFxuICAgICAgICovXG4gICAgICBzZWxlY3Q6IFt7XG4gICAgICAgIHNlbGVjdDogWydub25lJywgJ3RleHQnLCAnYWxsJywgJ2F1dG8nXVxuICAgICAgfV0sXG4gICAgICAvKipcbiAgICAgICAqIFdpbGwgQ2hhbmdlXG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3Mvd2lsbC1jaGFuZ2VcbiAgICAgICAqL1xuICAgICAgJ3dpbGwtY2hhbmdlJzogW3tcbiAgICAgICAgJ3dpbGwtY2hhbmdlJzogWydhdXRvJywgJ3Njcm9sbCcsICdjb250ZW50cycsICd0cmFuc2Zvcm0nLCBpc0FyYml0cmFyeVZhcmlhYmxlLCBpc0FyYml0cmFyeVZhbHVlXVxuICAgICAgfV0sXG4gICAgICAvLyAtLS0tLS0tLS0tLVxuICAgICAgLy8gLS0tIFNWRyAtLS1cbiAgICAgIC8vIC0tLS0tLS0tLS0tXG4gICAgICAvKipcbiAgICAgICAqIEZpbGxcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9maWxsXG4gICAgICAgKi9cbiAgICAgIGZpbGw6IFt7XG4gICAgICAgIGZpbGw6IFsnbm9uZScsIC4uLnNjYWxlQ29sb3IoKV1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBTdHJva2UgV2lkdGhcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9zdHJva2Utd2lkdGhcbiAgICAgICAqL1xuICAgICAgJ3N0cm9rZS13JzogW3tcbiAgICAgICAgc3Ryb2tlOiBbaXNOdW1iZXIsIGlzQXJiaXRyYXJ5VmFyaWFibGVMZW5ndGgsIGlzQXJiaXRyYXJ5TGVuZ3RoLCBpc0FyYml0cmFyeU51bWJlcl1cbiAgICAgIH1dLFxuICAgICAgLyoqXG4gICAgICAgKiBTdHJva2VcbiAgICAgICAqIEBzZWUgaHR0cHM6Ly90YWlsd2luZGNzcy5jb20vZG9jcy9zdHJva2VcbiAgICAgICAqL1xuICAgICAgc3Ryb2tlOiBbe1xuICAgICAgICBzdHJva2U6IFsnbm9uZScsIC4uLnNjYWxlQ29sb3IoKV1cbiAgICAgIH1dLFxuICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAvLyAtLS0gQWNjZXNzaWJpbGl0eSAtLS1cbiAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgLyoqXG4gICAgICAgKiBGb3JjZWQgQ29sb3IgQWRqdXN0XG4gICAgICAgKiBAc2VlIGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tL2RvY3MvZm9yY2VkLWNvbG9yLWFkanVzdFxuICAgICAgICovXG4gICAgICAnZm9yY2VkLWNvbG9yLWFkanVzdCc6IFt7XG4gICAgICAgICdmb3JjZWQtY29sb3ItYWRqdXN0JzogWydhdXRvJywgJ25vbmUnXVxuICAgICAgfV1cbiAgICB9LFxuICAgIGNvbmZsaWN0aW5nQ2xhc3NHcm91cHM6IHtcbiAgICAgIG92ZXJmbG93OiBbJ292ZXJmbG93LXgnLCAnb3ZlcmZsb3cteSddLFxuICAgICAgb3ZlcnNjcm9sbDogWydvdmVyc2Nyb2xsLXgnLCAnb3ZlcnNjcm9sbC15J10sXG4gICAgICBpbnNldDogWydpbnNldC14JywgJ2luc2V0LXknLCAnaW5zZXQtYnMnLCAnaW5zZXQtYmUnLCAnc3RhcnQnLCAnZW5kJywgJ3RvcCcsICdyaWdodCcsICdib3R0b20nLCAnbGVmdCddLFxuICAgICAgJ2luc2V0LXgnOiBbJ3JpZ2h0JywgJ2xlZnQnXSxcbiAgICAgICdpbnNldC15JzogWyd0b3AnLCAnYm90dG9tJ10sXG4gICAgICBmbGV4OiBbJ2Jhc2lzJywgJ2dyb3cnLCAnc2hyaW5rJ10sXG4gICAgICBnYXA6IFsnZ2FwLXgnLCAnZ2FwLXknXSxcbiAgICAgIHA6IFsncHgnLCAncHknLCAncHMnLCAncGUnLCAncGJzJywgJ3BiZScsICdwdCcsICdwcicsICdwYicsICdwbCddLFxuICAgICAgcHg6IFsncHInLCAncGwnXSxcbiAgICAgIHB5OiBbJ3B0JywgJ3BiJ10sXG4gICAgICBtOiBbJ214JywgJ215JywgJ21zJywgJ21lJywgJ21icycsICdtYmUnLCAnbXQnLCAnbXInLCAnbWInLCAnbWwnXSxcbiAgICAgIG14OiBbJ21yJywgJ21sJ10sXG4gICAgICBteTogWydtdCcsICdtYiddLFxuICAgICAgc2l6ZTogWyd3JywgJ2gnXSxcbiAgICAgICdmb250LXNpemUnOiBbJ2xlYWRpbmcnXSxcbiAgICAgICdmdm4tbm9ybWFsJzogWydmdm4tb3JkaW5hbCcsICdmdm4tc2xhc2hlZC16ZXJvJywgJ2Z2bi1maWd1cmUnLCAnZnZuLXNwYWNpbmcnLCAnZnZuLWZyYWN0aW9uJ10sXG4gICAgICAnZnZuLW9yZGluYWwnOiBbJ2Z2bi1ub3JtYWwnXSxcbiAgICAgICdmdm4tc2xhc2hlZC16ZXJvJzogWydmdm4tbm9ybWFsJ10sXG4gICAgICAnZnZuLWZpZ3VyZSc6IFsnZnZuLW5vcm1hbCddLFxuICAgICAgJ2Z2bi1zcGFjaW5nJzogWydmdm4tbm9ybWFsJ10sXG4gICAgICAnZnZuLWZyYWN0aW9uJzogWydmdm4tbm9ybWFsJ10sXG4gICAgICAnbGluZS1jbGFtcCc6IFsnZGlzcGxheScsICdvdmVyZmxvdyddLFxuICAgICAgcm91bmRlZDogWydyb3VuZGVkLXMnLCAncm91bmRlZC1lJywgJ3JvdW5kZWQtdCcsICdyb3VuZGVkLXInLCAncm91bmRlZC1iJywgJ3JvdW5kZWQtbCcsICdyb3VuZGVkLXNzJywgJ3JvdW5kZWQtc2UnLCAncm91bmRlZC1lZScsICdyb3VuZGVkLWVzJywgJ3JvdW5kZWQtdGwnLCAncm91bmRlZC10cicsICdyb3VuZGVkLWJyJywgJ3JvdW5kZWQtYmwnXSxcbiAgICAgICdyb3VuZGVkLXMnOiBbJ3JvdW5kZWQtc3MnLCAncm91bmRlZC1lcyddLFxuICAgICAgJ3JvdW5kZWQtZSc6IFsncm91bmRlZC1zZScsICdyb3VuZGVkLWVlJ10sXG4gICAgICAncm91bmRlZC10JzogWydyb3VuZGVkLXRsJywgJ3JvdW5kZWQtdHInXSxcbiAgICAgICdyb3VuZGVkLXInOiBbJ3JvdW5kZWQtdHInLCAncm91bmRlZC1iciddLFxuICAgICAgJ3JvdW5kZWQtYic6IFsncm91bmRlZC1icicsICdyb3VuZGVkLWJsJ10sXG4gICAgICAncm91bmRlZC1sJzogWydyb3VuZGVkLXRsJywgJ3JvdW5kZWQtYmwnXSxcbiAgICAgICdib3JkZXItc3BhY2luZyc6IFsnYm9yZGVyLXNwYWNpbmcteCcsICdib3JkZXItc3BhY2luZy15J10sXG4gICAgICAnYm9yZGVyLXcnOiBbJ2JvcmRlci13LXgnLCAnYm9yZGVyLXcteScsICdib3JkZXItdy1zJywgJ2JvcmRlci13LWUnLCAnYm9yZGVyLXctYnMnLCAnYm9yZGVyLXctYmUnLCAnYm9yZGVyLXctdCcsICdib3JkZXItdy1yJywgJ2JvcmRlci13LWInLCAnYm9yZGVyLXctbCddLFxuICAgICAgJ2JvcmRlci13LXgnOiBbJ2JvcmRlci13LXInLCAnYm9yZGVyLXctbCddLFxuICAgICAgJ2JvcmRlci13LXknOiBbJ2JvcmRlci13LXQnLCAnYm9yZGVyLXctYiddLFxuICAgICAgJ2JvcmRlci1jb2xvcic6IFsnYm9yZGVyLWNvbG9yLXgnLCAnYm9yZGVyLWNvbG9yLXknLCAnYm9yZGVyLWNvbG9yLXMnLCAnYm9yZGVyLWNvbG9yLWUnLCAnYm9yZGVyLWNvbG9yLWJzJywgJ2JvcmRlci1jb2xvci1iZScsICdib3JkZXItY29sb3ItdCcsICdib3JkZXItY29sb3ItcicsICdib3JkZXItY29sb3ItYicsICdib3JkZXItY29sb3ItbCddLFxuICAgICAgJ2JvcmRlci1jb2xvci14JzogWydib3JkZXItY29sb3ItcicsICdib3JkZXItY29sb3ItbCddLFxuICAgICAgJ2JvcmRlci1jb2xvci15JzogWydib3JkZXItY29sb3ItdCcsICdib3JkZXItY29sb3ItYiddLFxuICAgICAgdHJhbnNsYXRlOiBbJ3RyYW5zbGF0ZS14JywgJ3RyYW5zbGF0ZS15JywgJ3RyYW5zbGF0ZS1ub25lJ10sXG4gICAgICAndHJhbnNsYXRlLW5vbmUnOiBbJ3RyYW5zbGF0ZScsICd0cmFuc2xhdGUteCcsICd0cmFuc2xhdGUteScsICd0cmFuc2xhdGUteiddLFxuICAgICAgJ3Njcm9sbC1tJzogWydzY3JvbGwtbXgnLCAnc2Nyb2xsLW15JywgJ3Njcm9sbC1tcycsICdzY3JvbGwtbWUnLCAnc2Nyb2xsLW1icycsICdzY3JvbGwtbWJlJywgJ3Njcm9sbC1tdCcsICdzY3JvbGwtbXInLCAnc2Nyb2xsLW1iJywgJ3Njcm9sbC1tbCddLFxuICAgICAgJ3Njcm9sbC1teCc6IFsnc2Nyb2xsLW1yJywgJ3Njcm9sbC1tbCddLFxuICAgICAgJ3Njcm9sbC1teSc6IFsnc2Nyb2xsLW10JywgJ3Njcm9sbC1tYiddLFxuICAgICAgJ3Njcm9sbC1wJzogWydzY3JvbGwtcHgnLCAnc2Nyb2xsLXB5JywgJ3Njcm9sbC1wcycsICdzY3JvbGwtcGUnLCAnc2Nyb2xsLXBicycsICdzY3JvbGwtcGJlJywgJ3Njcm9sbC1wdCcsICdzY3JvbGwtcHInLCAnc2Nyb2xsLXBiJywgJ3Njcm9sbC1wbCddLFxuICAgICAgJ3Njcm9sbC1weCc6IFsnc2Nyb2xsLXByJywgJ3Njcm9sbC1wbCddLFxuICAgICAgJ3Njcm9sbC1weSc6IFsnc2Nyb2xsLXB0JywgJ3Njcm9sbC1wYiddLFxuICAgICAgdG91Y2g6IFsndG91Y2gteCcsICd0b3VjaC15JywgJ3RvdWNoLXB6J10sXG4gICAgICAndG91Y2gteCc6IFsndG91Y2gnXSxcbiAgICAgICd0b3VjaC15JzogWyd0b3VjaCddLFxuICAgICAgJ3RvdWNoLXB6JzogWyd0b3VjaCddXG4gICAgfSxcbiAgICBjb25mbGljdGluZ0NsYXNzR3JvdXBNb2RpZmllcnM6IHtcbiAgICAgICdmb250LXNpemUnOiBbJ2xlYWRpbmcnXVxuICAgIH0sXG4gICAgb3JkZXJTZW5zaXRpdmVNb2RpZmllcnM6IFsnKicsICcqKicsICdhZnRlcicsICdiYWNrZHJvcCcsICdiZWZvcmUnLCAnZGV0YWlscy1jb250ZW50JywgJ2ZpbGUnLCAnZmlyc3QtbGV0dGVyJywgJ2ZpcnN0LWxpbmUnLCAnbWFya2VyJywgJ3BsYWNlaG9sZGVyJywgJ3NlbGVjdGlvbiddXG4gIH07XG59O1xuXG4vKipcbiAqIEBwYXJhbSBiYXNlQ29uZmlnIENvbmZpZyB3aGVyZSBvdGhlciBjb25maWcgd2lsbCBiZSBtZXJnZWQgaW50by4gVGhpcyBvYmplY3Qgd2lsbCBiZSBtdXRhdGVkLlxuICogQHBhcmFtIGNvbmZpZ0V4dGVuc2lvbiBQYXJ0aWFsIGNvbmZpZyB0byBtZXJnZSBpbnRvIHRoZSBgYmFzZUNvbmZpZ2AuXG4gKi9cbmNvbnN0IG1lcmdlQ29uZmlncyA9IChiYXNlQ29uZmlnLCB7XG4gIGNhY2hlU2l6ZSxcbiAgcHJlZml4LFxuICBleHBlcmltZW50YWxQYXJzZUNsYXNzTmFtZSxcbiAgZXh0ZW5kID0ge30sXG4gIG92ZXJyaWRlID0ge31cbn0pID0+IHtcbiAgb3ZlcnJpZGVQcm9wZXJ0eShiYXNlQ29uZmlnLCAnY2FjaGVTaXplJywgY2FjaGVTaXplKTtcbiAgb3ZlcnJpZGVQcm9wZXJ0eShiYXNlQ29uZmlnLCAncHJlZml4JywgcHJlZml4KTtcbiAgb3ZlcnJpZGVQcm9wZXJ0eShiYXNlQ29uZmlnLCAnZXhwZXJpbWVudGFsUGFyc2VDbGFzc05hbWUnLCBleHBlcmltZW50YWxQYXJzZUNsYXNzTmFtZSk7XG4gIG92ZXJyaWRlQ29uZmlnUHJvcGVydGllcyhiYXNlQ29uZmlnLnRoZW1lLCBvdmVycmlkZS50aGVtZSk7XG4gIG92ZXJyaWRlQ29uZmlnUHJvcGVydGllcyhiYXNlQ29uZmlnLmNsYXNzR3JvdXBzLCBvdmVycmlkZS5jbGFzc0dyb3Vwcyk7XG4gIG92ZXJyaWRlQ29uZmlnUHJvcGVydGllcyhiYXNlQ29uZmlnLmNvbmZsaWN0aW5nQ2xhc3NHcm91cHMsIG92ZXJyaWRlLmNvbmZsaWN0aW5nQ2xhc3NHcm91cHMpO1xuICBvdmVycmlkZUNvbmZpZ1Byb3BlcnRpZXMoYmFzZUNvbmZpZy5jb25mbGljdGluZ0NsYXNzR3JvdXBNb2RpZmllcnMsIG92ZXJyaWRlLmNvbmZsaWN0aW5nQ2xhc3NHcm91cE1vZGlmaWVycyk7XG4gIG92ZXJyaWRlUHJvcGVydHkoYmFzZUNvbmZpZywgJ29yZGVyU2Vuc2l0aXZlTW9kaWZpZXJzJywgb3ZlcnJpZGUub3JkZXJTZW5zaXRpdmVNb2RpZmllcnMpO1xuICBtZXJnZUNvbmZpZ1Byb3BlcnRpZXMoYmFzZUNvbmZpZy50aGVtZSwgZXh0ZW5kLnRoZW1lKTtcbiAgbWVyZ2VDb25maWdQcm9wZXJ0aWVzKGJhc2VDb25maWcuY2xhc3NHcm91cHMsIGV4dGVuZC5jbGFzc0dyb3Vwcyk7XG4gIG1lcmdlQ29uZmlnUHJvcGVydGllcyhiYXNlQ29uZmlnLmNvbmZsaWN0aW5nQ2xhc3NHcm91cHMsIGV4dGVuZC5jb25mbGljdGluZ0NsYXNzR3JvdXBzKTtcbiAgbWVyZ2VDb25maWdQcm9wZXJ0aWVzKGJhc2VDb25maWcuY29uZmxpY3RpbmdDbGFzc0dyb3VwTW9kaWZpZXJzLCBleHRlbmQuY29uZmxpY3RpbmdDbGFzc0dyb3VwTW9kaWZpZXJzKTtcbiAgbWVyZ2VBcnJheVByb3BlcnRpZXMoYmFzZUNvbmZpZywgZXh0ZW5kLCAnb3JkZXJTZW5zaXRpdmVNb2RpZmllcnMnKTtcbiAgcmV0dXJuIGJhc2VDb25maWc7XG59O1xuY29uc3Qgb3ZlcnJpZGVQcm9wZXJ0eSA9IChiYXNlT2JqZWN0LCBvdmVycmlkZUtleSwgb3ZlcnJpZGVWYWx1ZSkgPT4ge1xuICBpZiAob3ZlcnJpZGVWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgYmFzZU9iamVjdFtvdmVycmlkZUtleV0gPSBvdmVycmlkZVZhbHVlO1xuICB9XG59O1xuY29uc3Qgb3ZlcnJpZGVDb25maWdQcm9wZXJ0aWVzID0gKGJhc2VPYmplY3QsIG92ZXJyaWRlT2JqZWN0KSA9PiB7XG4gIGlmIChvdmVycmlkZU9iamVjdCkge1xuICAgIGZvciAoY29uc3Qga2V5IGluIG92ZXJyaWRlT2JqZWN0KSB7XG4gICAgICBvdmVycmlkZVByb3BlcnR5KGJhc2VPYmplY3QsIGtleSwgb3ZlcnJpZGVPYmplY3Rba2V5XSk7XG4gICAgfVxuICB9XG59O1xuY29uc3QgbWVyZ2VDb25maWdQcm9wZXJ0aWVzID0gKGJhc2VPYmplY3QsIG1lcmdlT2JqZWN0KSA9PiB7XG4gIGlmIChtZXJnZU9iamVjdCkge1xuICAgIGZvciAoY29uc3Qga2V5IGluIG1lcmdlT2JqZWN0KSB7XG4gICAgICBtZXJnZUFycmF5UHJvcGVydGllcyhiYXNlT2JqZWN0LCBtZXJnZU9iamVjdCwga2V5KTtcbiAgICB9XG4gIH1cbn07XG5jb25zdCBtZXJnZUFycmF5UHJvcGVydGllcyA9IChiYXNlT2JqZWN0LCBtZXJnZU9iamVjdCwga2V5KSA9PiB7XG4gIGNvbnN0IG1lcmdlVmFsdWUgPSBtZXJnZU9iamVjdFtrZXldO1xuICBpZiAobWVyZ2VWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgYmFzZU9iamVjdFtrZXldID0gYmFzZU9iamVjdFtrZXldID8gYmFzZU9iamVjdFtrZXldLmNvbmNhdChtZXJnZVZhbHVlKSA6IG1lcmdlVmFsdWU7XG4gIH1cbn07XG5jb25zdCBleHRlbmRUYWlsd2luZE1lcmdlID0gKGNvbmZpZ0V4dGVuc2lvbiwgLi4uY3JlYXRlQ29uZmlnKSA9PiB0eXBlb2YgY29uZmlnRXh0ZW5zaW9uID09PSAnZnVuY3Rpb24nID8gY3JlYXRlVGFpbHdpbmRNZXJnZShnZXREZWZhdWx0Q29uZmlnLCBjb25maWdFeHRlbnNpb24sIC4uLmNyZWF0ZUNvbmZpZykgOiBjcmVhdGVUYWlsd2luZE1lcmdlKCgpID0+IG1lcmdlQ29uZmlncyhnZXREZWZhdWx0Q29uZmlnKCksIGNvbmZpZ0V4dGVuc2lvbiksIC4uLmNyZWF0ZUNvbmZpZyk7XG5jb25zdCB0d01lcmdlID0gLyojX19QVVJFX18qL2NyZWF0ZVRhaWx3aW5kTWVyZ2UoZ2V0RGVmYXVsdENvbmZpZyk7XG5leHBvcnQgeyBjcmVhdGVUYWlsd2luZE1lcmdlLCBleHRlbmRUYWlsd2luZE1lcmdlLCBmcm9tVGhlbWUsIGdldERlZmF1bHRDb25maWcsIG1lcmdlQ29uZmlncywgdHdKb2luLCB0d01lcmdlLCB2YWxpZGF0b3JzIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1idW5kbGUtbWpzLm1qcy5tYXBcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/use-intl@4.9.0_react@19.2.4/node_modules/use-intl/dist/esm/development/format-message/index.js":
|
||
/*!***************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/use-intl@4.9.0_react@19.2.4/node_modules/use-intl/dist/esm/development/format-message/index.js ***!
|
||
\***************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ formatMessage)\n/* harmony export */ });\n/* harmony import */ var intl_messageformat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! intl-messageformat */ \"(app-pages-browser)/./node_modules/.pnpm/intl-messageformat@11.2.0/node_modules/intl-messageformat/src/core.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../formatters-r4aAmsMP.js */ \"(app-pages-browser)/./node_modules/.pnpm/use-intl@4.9.0_react@19.2.4/node_modules/use-intl/dist/esm/development/formatters-r4aAmsMP.js\");\n\n\n\n\n\n/**\n * `intl-messageformat` uses separate keys for `date` and `time`, but there's\n * only one native API: `Intl.DateTimeFormat`. Additionally you might want to\n * include both a time and a date in a value, therefore the separation doesn't\n * seem so useful. We offer a single `dateTime` namespace instead, but we have\n * to convert the format before `intl-messageformat` can be used.\n */\nfunction convertFormatsToIntlMessageFormat(globalFormats, inlineFormats, timeZone) {\n const mfDateDefaults = intl_messageformat__WEBPACK_IMPORTED_MODULE_1__.IntlMessageFormat.formats.date;\n const mfTimeDefaults = intl_messageformat__WEBPACK_IMPORTED_MODULE_1__.IntlMessageFormat.formats.time;\n const dateTimeFormats = {\n ...globalFormats?.dateTime,\n ...inlineFormats?.dateTime\n };\n const allFormats = {\n date: {\n ...mfDateDefaults,\n ...dateTimeFormats\n },\n time: {\n ...mfTimeDefaults,\n ...dateTimeFormats\n },\n number: {\n ...globalFormats?.number,\n ...inlineFormats?.number\n }\n // (list is not supported in ICU messages)\n };\n if (timeZone) {\n // The only way to set a time zone with `intl-messageformat` is to merge it into the formats\n // https://github.com/formatjs/formatjs/blob/8256c5271505cf2606e48e3c97ecdd16ede4f1b5/packages/intl/src/message.ts#L15\n ['date', 'time'].forEach(property => {\n const formats = allFormats[property];\n for (const [key, value] of Object.entries(formats)) {\n formats[key] = {\n timeZone,\n ...value\n };\n }\n });\n }\n return allFormats;\n}\n\n// Placed here for improved tree shaking. Somehow when this is placed in\n// `formatters.tsx`, then it can't be shaken off from `next-intl`.\nfunction createMessageFormatter(cache, intlFormatters) {\n const getMessageFormat = (0,_formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_2__.m)((...args) => new intl_messageformat__WEBPACK_IMPORTED_MODULE_1__.IntlMessageFormat(args[0], args[1], args[2], {\n formatters: intlFormatters,\n ...args[3]\n }), cache.message);\n return getMessageFormat;\n}\nfunction getPlainMessage(candidate, values) {\n // To improve runtime performance, only compile message if:\n return (\n // 1. Values are provided\n values ||\n // 2. There are escaped braces (e.g. \"'{name'}\")\n /'[{}]/.test(candidate) ||\n // 3. There are missing arguments or tags (dev-only error handling)\n /<|{/.test(candidate) ? undefined // Compile\n : candidate // Don't compile\n );\n}\n\n/**\n * Compiles and formats an ICU message at runtime using intl-messageformat.\n * This is the default implementation used when messages are not precompiled.\n */\nfunction formatMessage(/** The raw ICU message string (or precompiled message, though this implementation ignores precompilation) */\n...[key, message, values, options]) {\n if (Array.isArray(message)) {\n throw new _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_2__.I(_formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_2__.a.INVALID_MESSAGE, `Message at \\`${key}\\` resolved to an array, but only strings are supported. See https://next-intl.dev/docs/usage/translations#arrays-of-messages` );\n }\n if (typeof message === 'object') {\n throw new _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_2__.I(_formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_2__.a.INSUFFICIENT_PATH, `Message at \\`${key}\\` resolved to \\`${typeof message}\\`, but only strings are supported. Use a \\`.\\` to retrieve nested messages. See https://next-intl.dev/docs/usage/translations#structuring-messages` );\n }\n\n // Hot path that avoids creating an `IntlMessageFormat` instance\n if (typeof message === 'string') {\n const plainMessage = getPlainMessage(message, values);\n if (plainMessage) return plainMessage;\n }\n const {\n cache,\n formats,\n formatters,\n globalFormats,\n locale,\n timeZone\n } = options;\n\n // Lazy init the message formatter for better tree\n // shaking in case message formatting is not used.\n if (!formatters.getMessageFormat) {\n formatters.getMessageFormat = createMessageFormatter(cache, formatters);\n }\n let messageFormat;\n try {\n messageFormat = formatters.getMessageFormat(message, locale, convertFormatsToIntlMessageFormat(globalFormats, formats, timeZone), {\n formatters: {\n ...formatters,\n getDateTimeFormat(locales, dateTimeOptions) {\n // Workaround for https://github.com/formatjs/formatjs/issues/4279\n return formatters.getDateTimeFormat(locales, {\n ...dateTimeOptions,\n timeZone: dateTimeOptions?.timeZone ?? timeZone\n });\n }\n }\n });\n } catch (error) {\n throw new _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_2__.I(_formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_2__.a.INVALID_MESSAGE, `${error.message} (${error.originalMessage})` );\n }\n const formattedMessage = messageFormat.format(\n // @ts-expect-error `intl-messageformat` expects a different format\n // for rich text elements since a recent minor update. This\n // needs to be evaluated in detail, possibly also in regard\n // to be able to format to parts.\n values);\n\n // Limit the function signature to return strings or React elements\n return /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.isValidElement)(formattedMessage) ||\n // Arrays of React elements\n Array.isArray(formattedMessage) || typeof formattedMessage === 'string' ? formattedMessage : String(formattedMessage);\n}\n\n// `t.raw` is supported\nformatMessage.raw = true;\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS91c2UtaW50bEA0LjkuMF9yZWFjdEAxOS4yLjQvbm9kZV9tb2R1bGVzL3VzZS1pbnRsL2Rpc3QvZXNtL2RldmVsb3BtZW50L2Zvcm1hdC1tZXNzYWdlL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBdUQ7QUFDaEI7QUFDcUQ7OztBQUc1RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLGlFQUFpQjtBQUMxQyx5QkFBeUIsaUVBQWlCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQiwwREFBTSxrQkFBa0IsaUVBQWlCO0FBQ3BFO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMsTUFBTTtBQUNsRCxTQUFTO0FBQ1Q7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxzREFBUyxDQUFDLHNEQUFhLGtDQUFrQyxJQUFJO0FBQzNFO0FBQ0E7QUFDQSxjQUFjLHNEQUFTLENBQUMsc0RBQWEsb0NBQW9DLElBQUksbUJBQW1CLGVBQWU7QUFDL0c7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLEtBQUs7QUFDTCxJQUFJO0FBQ0osY0FBYyxzREFBUyxDQUFDLHNEQUFhLHFCQUFxQixlQUFlLEdBQUcsc0JBQXNCO0FBQ2xHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esc0JBQXNCLHFEQUFjO0FBQ3BDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVvQyIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS91c2UtaW50bEA0LjkuMF9yZWFjdEAxOS4yLjQvbm9kZV9tb2R1bGVzL3VzZS1pbnRsL2Rpc3QvZXNtL2RldmVsb3BtZW50L2Zvcm1hdC1tZXNzYWdlL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGxNZXNzYWdlRm9ybWF0IH0gZnJvbSAnaW50bC1tZXNzYWdlZm9ybWF0JztcbmltcG9ydCB7IGlzVmFsaWRFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSSBhcyBJbnRsRXJyb3IsIGEgYXMgSW50bEVycm9yQ29kZSwgbSBhcyBtZW1vRm4gfSBmcm9tICcuLi9mb3JtYXR0ZXJzLXI0YUFtc01QLmpzJztcblxuXG4vKipcbiAqIGBpbnRsLW1lc3NhZ2Vmb3JtYXRgIHVzZXMgc2VwYXJhdGUga2V5cyBmb3IgYGRhdGVgIGFuZCBgdGltZWAsIGJ1dCB0aGVyZSdzXG4gKiBvbmx5IG9uZSBuYXRpdmUgQVBJOiBgSW50bC5EYXRlVGltZUZvcm1hdGAuIEFkZGl0aW9uYWxseSB5b3UgbWlnaHQgd2FudCB0b1xuICogaW5jbHVkZSBib3RoIGEgdGltZSBhbmQgYSBkYXRlIGluIGEgdmFsdWUsIHRoZXJlZm9yZSB0aGUgc2VwYXJhdGlvbiBkb2Vzbid0XG4gKiBzZWVtIHNvIHVzZWZ1bC4gV2Ugb2ZmZXIgYSBzaW5nbGUgYGRhdGVUaW1lYCBuYW1lc3BhY2UgaW5zdGVhZCwgYnV0IHdlIGhhdmVcbiAqIHRvIGNvbnZlcnQgdGhlIGZvcm1hdCBiZWZvcmUgYGludGwtbWVzc2FnZWZvcm1hdGAgY2FuIGJlIHVzZWQuXG4gKi9cbmZ1bmN0aW9uIGNvbnZlcnRGb3JtYXRzVG9JbnRsTWVzc2FnZUZvcm1hdChnbG9iYWxGb3JtYXRzLCBpbmxpbmVGb3JtYXRzLCB0aW1lWm9uZSkge1xuICBjb25zdCBtZkRhdGVEZWZhdWx0cyA9IEludGxNZXNzYWdlRm9ybWF0LmZvcm1hdHMuZGF0ZTtcbiAgY29uc3QgbWZUaW1lRGVmYXVsdHMgPSBJbnRsTWVzc2FnZUZvcm1hdC5mb3JtYXRzLnRpbWU7XG4gIGNvbnN0IGRhdGVUaW1lRm9ybWF0cyA9IHtcbiAgICAuLi5nbG9iYWxGb3JtYXRzPy5kYXRlVGltZSxcbiAgICAuLi5pbmxpbmVGb3JtYXRzPy5kYXRlVGltZVxuICB9O1xuICBjb25zdCBhbGxGb3JtYXRzID0ge1xuICAgIGRhdGU6IHtcbiAgICAgIC4uLm1mRGF0ZURlZmF1bHRzLFxuICAgICAgLi4uZGF0ZVRpbWVGb3JtYXRzXG4gICAgfSxcbiAgICB0aW1lOiB7XG4gICAgICAuLi5tZlRpbWVEZWZhdWx0cyxcbiAgICAgIC4uLmRhdGVUaW1lRm9ybWF0c1xuICAgIH0sXG4gICAgbnVtYmVyOiB7XG4gICAgICAuLi5nbG9iYWxGb3JtYXRzPy5udW1iZXIsXG4gICAgICAuLi5pbmxpbmVGb3JtYXRzPy5udW1iZXJcbiAgICB9XG4gICAgLy8gKGxpc3QgaXMgbm90IHN1cHBvcnRlZCBpbiBJQ1UgbWVzc2FnZXMpXG4gIH07XG4gIGlmICh0aW1lWm9uZSkge1xuICAgIC8vIFRoZSBvbmx5IHdheSB0byBzZXQgYSB0aW1lIHpvbmUgd2l0aCBgaW50bC1tZXNzYWdlZm9ybWF0YCBpcyB0byBtZXJnZSBpdCBpbnRvIHRoZSBmb3JtYXRzXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2Zvcm1hdGpzL2Zvcm1hdGpzL2Jsb2IvODI1NmM1MjcxNTA1Y2YyNjA2ZTQ4ZTNjOTdlY2RkMTZlZGU0ZjFiNS9wYWNrYWdlcy9pbnRsL3NyYy9tZXNzYWdlLnRzI0wxNVxuICAgIFsnZGF0ZScsICd0aW1lJ10uZm9yRWFjaChwcm9wZXJ0eSA9PiB7XG4gICAgICBjb25zdCBmb3JtYXRzID0gYWxsRm9ybWF0c1twcm9wZXJ0eV07XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhmb3JtYXRzKSkge1xuICAgICAgICBmb3JtYXRzW2tleV0gPSB7XG4gICAgICAgICAgdGltZVpvbmUsXG4gICAgICAgICAgLi4udmFsdWVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICByZXR1cm4gYWxsRm9ybWF0cztcbn1cblxuLy8gUGxhY2VkIGhlcmUgZm9yIGltcHJvdmVkIHRyZWUgc2hha2luZy4gU29tZWhvdyB3aGVuIHRoaXMgaXMgcGxhY2VkIGluXG4vLyBgZm9ybWF0dGVycy50c3hgLCB0aGVuIGl0IGNhbid0IGJlIHNoYWtlbiBvZmYgZnJvbSBgbmV4dC1pbnRsYC5cbmZ1bmN0aW9uIGNyZWF0ZU1lc3NhZ2VGb3JtYXR0ZXIoY2FjaGUsIGludGxGb3JtYXR0ZXJzKSB7XG4gIGNvbnN0IGdldE1lc3NhZ2VGb3JtYXQgPSBtZW1vRm4oKC4uLmFyZ3MpID0+IG5ldyBJbnRsTWVzc2FnZUZvcm1hdChhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdLCB7XG4gICAgZm9ybWF0dGVyczogaW50bEZvcm1hdHRlcnMsXG4gICAgLi4uYXJnc1szXVxuICB9KSwgY2FjaGUubWVzc2FnZSk7XG4gIHJldHVybiBnZXRNZXNzYWdlRm9ybWF0O1xufVxuZnVuY3Rpb24gZ2V0UGxhaW5NZXNzYWdlKGNhbmRpZGF0ZSwgdmFsdWVzKSB7XG4gIC8vIFRvIGltcHJvdmUgcnVudGltZSBwZXJmb3JtYW5jZSwgb25seSBjb21waWxlIG1lc3NhZ2UgaWY6XG4gIHJldHVybiAoXG4gICAgLy8gMS4gVmFsdWVzIGFyZSBwcm92aWRlZFxuICAgIHZhbHVlcyB8fFxuICAgIC8vIDIuIFRoZXJlIGFyZSBlc2NhcGVkIGJyYWNlcyAoZS5nLiBcIid7bmFtZSd9XCIpXG4gICAgLydbe31dLy50ZXN0KGNhbmRpZGF0ZSkgfHxcbiAgICAvLyAzLiBUaGVyZSBhcmUgbWlzc2luZyBhcmd1bWVudHMgb3IgdGFncyAoZGV2LW9ubHkgZXJyb3IgaGFuZGxpbmcpXG4gICAgLzx8ey8udGVzdChjYW5kaWRhdGUpID8gdW5kZWZpbmVkIC8vIENvbXBpbGVcbiAgICA6IGNhbmRpZGF0ZSAvLyBEb24ndCBjb21waWxlXG4gICk7XG59XG5cbi8qKlxuICogQ29tcGlsZXMgYW5kIGZvcm1hdHMgYW4gSUNVIG1lc3NhZ2UgYXQgcnVudGltZSB1c2luZyBpbnRsLW1lc3NhZ2Vmb3JtYXQuXG4gKiBUaGlzIGlzIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIHVzZWQgd2hlbiBtZXNzYWdlcyBhcmUgbm90IHByZWNvbXBpbGVkLlxuICovXG5mdW5jdGlvbiBmb3JtYXRNZXNzYWdlKC8qKiBUaGUgcmF3IElDVSBtZXNzYWdlIHN0cmluZyAob3IgcHJlY29tcGlsZWQgbWVzc2FnZSwgdGhvdWdoIHRoaXMgaW1wbGVtZW50YXRpb24gaWdub3JlcyBwcmVjb21waWxhdGlvbikgKi9cbi4uLltrZXksIG1lc3NhZ2UsIHZhbHVlcywgb3B0aW9uc10pIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkobWVzc2FnZSkpIHtcbiAgICB0aHJvdyBuZXcgSW50bEVycm9yKEludGxFcnJvckNvZGUuSU5WQUxJRF9NRVNTQUdFLCBgTWVzc2FnZSBhdCBcXGAke2tleX1cXGAgcmVzb2x2ZWQgdG8gYW4gYXJyYXksIGJ1dCBvbmx5IHN0cmluZ3MgYXJlIHN1cHBvcnRlZC4gU2VlIGh0dHBzOi8vbmV4dC1pbnRsLmRldi9kb2NzL3VzYWdlL3RyYW5zbGF0aW9ucyNhcnJheXMtb2YtbWVzc2FnZXNgICk7XG4gIH1cbiAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSAnb2JqZWN0Jykge1xuICAgIHRocm93IG5ldyBJbnRsRXJyb3IoSW50bEVycm9yQ29kZS5JTlNVRkZJQ0lFTlRfUEFUSCwgYE1lc3NhZ2UgYXQgXFxgJHtrZXl9XFxgIHJlc29sdmVkIHRvIFxcYCR7dHlwZW9mIG1lc3NhZ2V9XFxgLCBidXQgb25seSBzdHJpbmdzIGFyZSBzdXBwb3J0ZWQuIFVzZSBhIFxcYC5cXGAgdG8gcmV0cmlldmUgbmVzdGVkIG1lc3NhZ2VzLiBTZWUgaHR0cHM6Ly9uZXh0LWludGwuZGV2L2RvY3MvdXNhZ2UvdHJhbnNsYXRpb25zI3N0cnVjdHVyaW5nLW1lc3NhZ2VzYCApO1xuICB9XG5cbiAgLy8gSG90IHBhdGggdGhhdCBhdm9pZHMgY3JlYXRpbmcgYW4gYEludGxNZXNzYWdlRm9ybWF0YCBpbnN0YW5jZVxuICBpZiAodHlwZW9mIG1lc3NhZ2UgPT09ICdzdHJpbmcnKSB7XG4gICAgY29uc3QgcGxhaW5NZXNzYWdlID0gZ2V0UGxhaW5NZXNzYWdlKG1lc3NhZ2UsIHZhbHVlcyk7XG4gICAgaWYgKHBsYWluTWVzc2FnZSkgcmV0dXJuIHBsYWluTWVzc2FnZTtcbiAgfVxuICBjb25zdCB7XG4gICAgY2FjaGUsXG4gICAgZm9ybWF0cyxcbiAgICBmb3JtYXR0ZXJzLFxuICAgIGdsb2JhbEZvcm1hdHMsXG4gICAgbG9jYWxlLFxuICAgIHRpbWVab25lXG4gIH0gPSBvcHRpb25zO1xuXG4gIC8vIExhenkgaW5pdCB0aGUgbWVzc2FnZSBmb3JtYXR0ZXIgZm9yIGJldHRlciB0cmVlXG4gIC8vIHNoYWtpbmcgaW4gY2FzZSBtZXNzYWdlIGZvcm1hdHRpbmcgaXMgbm90IHVzZWQuXG4gIGlmICghZm9ybWF0dGVycy5nZXRNZXNzYWdlRm9ybWF0KSB7XG4gICAgZm9ybWF0dGVycy5nZXRNZXNzYWdlRm9ybWF0ID0gY3JlYXRlTWVzc2FnZUZvcm1hdHRlcihjYWNoZSwgZm9ybWF0dGVycyk7XG4gIH1cbiAgbGV0IG1lc3NhZ2VGb3JtYXQ7XG4gIHRyeSB7XG4gICAgbWVzc2FnZUZvcm1hdCA9IGZvcm1hdHRlcnMuZ2V0TWVzc2FnZUZvcm1hdChtZXNzYWdlLCBsb2NhbGUsIGNvbnZlcnRGb3JtYXRzVG9JbnRsTWVzc2FnZUZvcm1hdChnbG9iYWxGb3JtYXRzLCBmb3JtYXRzLCB0aW1lWm9uZSksIHtcbiAgICAgIGZvcm1hdHRlcnM6IHtcbiAgICAgICAgLi4uZm9ybWF0dGVycyxcbiAgICAgICAgZ2V0RGF0ZVRpbWVGb3JtYXQobG9jYWxlcywgZGF0ZVRpbWVPcHRpb25zKSB7XG4gICAgICAgICAgLy8gV29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL2Zvcm1hdGpzL2Zvcm1hdGpzL2lzc3Vlcy80Mjc5XG4gICAgICAgICAgcmV0dXJuIGZvcm1hdHRlcnMuZ2V0RGF0ZVRpbWVGb3JtYXQobG9jYWxlcywge1xuICAgICAgICAgICAgLi4uZGF0ZVRpbWVPcHRpb25zLFxuICAgICAgICAgICAgdGltZVpvbmU6IGRhdGVUaW1lT3B0aW9ucz8udGltZVpvbmUgPz8gdGltZVpvbmVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHRocm93IG5ldyBJbnRsRXJyb3IoSW50bEVycm9yQ29kZS5JTlZBTElEX01FU1NBR0UsIGAke2Vycm9yLm1lc3NhZ2V9ICgke2Vycm9yLm9yaWdpbmFsTWVzc2FnZX0pYCApO1xuICB9XG4gIGNvbnN0IGZvcm1hdHRlZE1lc3NhZ2UgPSBtZXNzYWdlRm9ybWF0LmZvcm1hdChcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciBgaW50bC1tZXNzYWdlZm9ybWF0YCBleHBlY3RzIGEgZGlmZmVyZW50IGZvcm1hdFxuICAvLyBmb3IgcmljaCB0ZXh0IGVsZW1lbnRzIHNpbmNlIGEgcmVjZW50IG1pbm9yIHVwZGF0ZS4gVGhpc1xuICAvLyBuZWVkcyB0byBiZSBldmFsdWF0ZWQgaW4gZGV0YWlsLCBwb3NzaWJseSBhbHNvIGluIHJlZ2FyZFxuICAvLyB0byBiZSBhYmxlIHRvIGZvcm1hdCB0byBwYXJ0cy5cbiAgdmFsdWVzKTtcblxuICAvLyBMaW1pdCB0aGUgZnVuY3Rpb24gc2lnbmF0dXJlIHRvIHJldHVybiBzdHJpbmdzIG9yIFJlYWN0IGVsZW1lbnRzXG4gIHJldHVybiAvKiNfX1BVUkVfXyovaXNWYWxpZEVsZW1lbnQoZm9ybWF0dGVkTWVzc2FnZSkgfHxcbiAgLy8gQXJyYXlzIG9mIFJlYWN0IGVsZW1lbnRzXG4gIEFycmF5LmlzQXJyYXkoZm9ybWF0dGVkTWVzc2FnZSkgfHwgdHlwZW9mIGZvcm1hdHRlZE1lc3NhZ2UgPT09ICdzdHJpbmcnID8gZm9ybWF0dGVkTWVzc2FnZSA6IFN0cmluZyhmb3JtYXR0ZWRNZXNzYWdlKTtcbn1cblxuLy8gYHQucmF3YCBpcyBzdXBwb3J0ZWRcbmZvcm1hdE1lc3NhZ2UucmF3ID0gdHJ1ZTtcblxuZXhwb3J0IHsgZm9ybWF0TWVzc2FnZSBhcyBkZWZhdWx0IH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/use-intl@4.9.0_react@19.2.4/node_modules/use-intl/dist/esm/development/format-message/index.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/use-intl@4.9.0_react@19.2.4/node_modules/use-intl/dist/esm/development/formatters-r4aAmsMP.js":
|
||
/*!**************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/use-intl@4.9.0_react@19.2.4/node_modules/use-intl/dist/esm/development/formatters-r4aAmsMP.js ***!
|
||
\**************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ I: () => (/* binding */ IntlError),\n/* harmony export */ a: () => (/* binding */ IntlErrorCode),\n/* harmony export */ b: () => (/* binding */ createCache),\n/* harmony export */ c: () => (/* binding */ createIntlFormatters),\n/* harmony export */ m: () => (/* binding */ memoFn)\n/* harmony export */ });\n/* harmony import */ var _formatjs_fast_memoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @formatjs/fast-memoize */ \"(app-pages-browser)/./node_modules/.pnpm/@formatjs+fast-memoize@3.1.1/node_modules/@formatjs/fast-memoize/index.js\");\n\n\nclass IntlError extends Error {\n constructor(code, originalMessage) {\n let message = code;\n if (originalMessage) {\n message += ': ' + originalMessage;\n }\n super(message);\n this.code = code;\n if (originalMessage) {\n this.originalMessage = originalMessage;\n }\n }\n}\n\nvar IntlErrorCode = /*#__PURE__*/function (IntlErrorCode) {\n IntlErrorCode[\"MISSING_MESSAGE\"] = \"MISSING_MESSAGE\";\n IntlErrorCode[\"MISSING_FORMAT\"] = \"MISSING_FORMAT\";\n IntlErrorCode[\"ENVIRONMENT_FALLBACK\"] = \"ENVIRONMENT_FALLBACK\";\n IntlErrorCode[\"INSUFFICIENT_PATH\"] = \"INSUFFICIENT_PATH\";\n IntlErrorCode[\"INVALID_MESSAGE\"] = \"INVALID_MESSAGE\";\n IntlErrorCode[\"INVALID_KEY\"] = \"INVALID_KEY\";\n IntlErrorCode[\"FORMATTING_ERROR\"] = \"FORMATTING_ERROR\";\n return IntlErrorCode;\n}(IntlErrorCode || {});\n\nfunction createCache() {\n return {\n dateTime: {},\n number: {},\n message: {},\n relativeTime: {},\n pluralRules: {},\n list: {},\n displayNames: {}\n };\n}\nfunction createMemoCache(store) {\n return {\n create() {\n return {\n get(key) {\n return store[key];\n },\n set(key, value) {\n store[key] = value;\n }\n };\n }\n };\n}\nfunction memoFn(fn, cache) {\n return (0,_formatjs_fast_memoize__WEBPACK_IMPORTED_MODULE_0__.memoize)(fn, {\n cache: createMemoCache(cache),\n strategy: _formatjs_fast_memoize__WEBPACK_IMPORTED_MODULE_0__.strategies.variadic\n });\n}\nfunction memoConstructor(ConstructorFn, cache) {\n return memoFn((...args) => new ConstructorFn(...args), cache);\n}\nfunction createIntlFormatters(cache) {\n const getDateTimeFormat = memoConstructor(Intl.DateTimeFormat, cache.dateTime);\n const getNumberFormat = memoConstructor(Intl.NumberFormat, cache.number);\n const getPluralRules = memoConstructor(Intl.PluralRules, cache.pluralRules);\n const getRelativeTimeFormat = memoConstructor(Intl.RelativeTimeFormat, cache.relativeTime);\n const getListFormat = memoConstructor(Intl.ListFormat, cache.list);\n const getDisplayNames = memoConstructor(Intl.DisplayNames, cache.displayNames);\n return {\n getDateTimeFormat,\n getNumberFormat,\n getPluralRules,\n getRelativeTimeFormat,\n getListFormat,\n getDisplayNames\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS91c2UtaW50bEA0LjkuMF9yZWFjdEAxOS4yLjQvbm9kZV9tb2R1bGVzL3VzZS1pbnRsL2Rpc3QvZXNtL2RldmVsb3BtZW50L2Zvcm1hdHRlcnMtcjRhQW1zTVAuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQTZEOztBQUU3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLG9CQUFvQjs7QUFFckI7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQixjQUFjO0FBQ2QsZUFBZTtBQUNmLG9CQUFvQjtBQUNwQixtQkFBbUI7QUFDbkIsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUywrREFBTztBQUNoQjtBQUNBLGNBQWMsOERBQVU7QUFDeEIsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXdHIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL3VzZS1pbnRsQDQuOS4wX3JlYWN0QDE5LjIuNC9ub2RlX21vZHVsZXMvdXNlLWludGwvZGlzdC9lc20vZGV2ZWxvcG1lbnQvZm9ybWF0dGVycy1yNGFBbXNNUC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtZW1vaXplLCBzdHJhdGVnaWVzIH0gZnJvbSAnQGZvcm1hdGpzL2Zhc3QtbWVtb2l6ZSc7XG5cbmNsYXNzIEludGxFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IoY29kZSwgb3JpZ2luYWxNZXNzYWdlKSB7XG4gICAgbGV0IG1lc3NhZ2UgPSBjb2RlO1xuICAgIGlmIChvcmlnaW5hbE1lc3NhZ2UpIHtcbiAgICAgIG1lc3NhZ2UgKz0gJzogJyArIG9yaWdpbmFsTWVzc2FnZTtcbiAgICB9XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5jb2RlID0gY29kZTtcbiAgICBpZiAob3JpZ2luYWxNZXNzYWdlKSB7XG4gICAgICB0aGlzLm9yaWdpbmFsTWVzc2FnZSA9IG9yaWdpbmFsTWVzc2FnZTtcbiAgICB9XG4gIH1cbn1cblxudmFyIEludGxFcnJvckNvZGUgPSAvKiNfX1BVUkVfXyovZnVuY3Rpb24gKEludGxFcnJvckNvZGUpIHtcbiAgSW50bEVycm9yQ29kZVtcIk1JU1NJTkdfTUVTU0FHRVwiXSA9IFwiTUlTU0lOR19NRVNTQUdFXCI7XG4gIEludGxFcnJvckNvZGVbXCJNSVNTSU5HX0ZPUk1BVFwiXSA9IFwiTUlTU0lOR19GT1JNQVRcIjtcbiAgSW50bEVycm9yQ29kZVtcIkVOVklST05NRU5UX0ZBTExCQUNLXCJdID0gXCJFTlZJUk9OTUVOVF9GQUxMQkFDS1wiO1xuICBJbnRsRXJyb3JDb2RlW1wiSU5TVUZGSUNJRU5UX1BBVEhcIl0gPSBcIklOU1VGRklDSUVOVF9QQVRIXCI7XG4gIEludGxFcnJvckNvZGVbXCJJTlZBTElEX01FU1NBR0VcIl0gPSBcIklOVkFMSURfTUVTU0FHRVwiO1xuICBJbnRsRXJyb3JDb2RlW1wiSU5WQUxJRF9LRVlcIl0gPSBcIklOVkFMSURfS0VZXCI7XG4gIEludGxFcnJvckNvZGVbXCJGT1JNQVRUSU5HX0VSUk9SXCJdID0gXCJGT1JNQVRUSU5HX0VSUk9SXCI7XG4gIHJldHVybiBJbnRsRXJyb3JDb2RlO1xufShJbnRsRXJyb3JDb2RlIHx8IHt9KTtcblxuZnVuY3Rpb24gY3JlYXRlQ2FjaGUoKSB7XG4gIHJldHVybiB7XG4gICAgZGF0ZVRpbWU6IHt9LFxuICAgIG51bWJlcjoge30sXG4gICAgbWVzc2FnZToge30sXG4gICAgcmVsYXRpdmVUaW1lOiB7fSxcbiAgICBwbHVyYWxSdWxlczoge30sXG4gICAgbGlzdDoge30sXG4gICAgZGlzcGxheU5hbWVzOiB7fVxuICB9O1xufVxuZnVuY3Rpb24gY3JlYXRlTWVtb0NhY2hlKHN0b3JlKSB7XG4gIHJldHVybiB7XG4gICAgY3JlYXRlKCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZ2V0KGtleSkge1xuICAgICAgICAgIHJldHVybiBzdG9yZVtrZXldO1xuICAgICAgICB9LFxuICAgICAgICBzZXQoa2V5LCB2YWx1ZSkge1xuICAgICAgICAgIHN0b3JlW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gIH07XG59XG5mdW5jdGlvbiBtZW1vRm4oZm4sIGNhY2hlKSB7XG4gIHJldHVybiBtZW1vaXplKGZuLCB7XG4gICAgY2FjaGU6IGNyZWF0ZU1lbW9DYWNoZShjYWNoZSksXG4gICAgc3RyYXRlZ3k6IHN0cmF0ZWdpZXMudmFyaWFkaWNcbiAgfSk7XG59XG5mdW5jdGlvbiBtZW1vQ29uc3RydWN0b3IoQ29uc3RydWN0b3JGbiwgY2FjaGUpIHtcbiAgcmV0dXJuIG1lbW9GbigoLi4uYXJncykgPT4gbmV3IENvbnN0cnVjdG9yRm4oLi4uYXJncyksIGNhY2hlKTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUludGxGb3JtYXR0ZXJzKGNhY2hlKSB7XG4gIGNvbnN0IGdldERhdGVUaW1lRm9ybWF0ID0gbWVtb0NvbnN0cnVjdG9yKEludGwuRGF0ZVRpbWVGb3JtYXQsIGNhY2hlLmRhdGVUaW1lKTtcbiAgY29uc3QgZ2V0TnVtYmVyRm9ybWF0ID0gbWVtb0NvbnN0cnVjdG9yKEludGwuTnVtYmVyRm9ybWF0LCBjYWNoZS5udW1iZXIpO1xuICBjb25zdCBnZXRQbHVyYWxSdWxlcyA9IG1lbW9Db25zdHJ1Y3RvcihJbnRsLlBsdXJhbFJ1bGVzLCBjYWNoZS5wbHVyYWxSdWxlcyk7XG4gIGNvbnN0IGdldFJlbGF0aXZlVGltZUZvcm1hdCA9IG1lbW9Db25zdHJ1Y3RvcihJbnRsLlJlbGF0aXZlVGltZUZvcm1hdCwgY2FjaGUucmVsYXRpdmVUaW1lKTtcbiAgY29uc3QgZ2V0TGlzdEZvcm1hdCA9IG1lbW9Db25zdHJ1Y3RvcihJbnRsLkxpc3RGb3JtYXQsIGNhY2hlLmxpc3QpO1xuICBjb25zdCBnZXREaXNwbGF5TmFtZXMgPSBtZW1vQ29uc3RydWN0b3IoSW50bC5EaXNwbGF5TmFtZXMsIGNhY2hlLmRpc3BsYXlOYW1lcyk7XG4gIHJldHVybiB7XG4gICAgZ2V0RGF0ZVRpbWVGb3JtYXQsXG4gICAgZ2V0TnVtYmVyRm9ybWF0LFxuICAgIGdldFBsdXJhbFJ1bGVzLFxuICAgIGdldFJlbGF0aXZlVGltZUZvcm1hdCxcbiAgICBnZXRMaXN0Rm9ybWF0LFxuICAgIGdldERpc3BsYXlOYW1lc1xuICB9O1xufVxuXG5leHBvcnQgeyBJbnRsRXJyb3IgYXMgSSwgSW50bEVycm9yQ29kZSBhcyBhLCBjcmVhdGVDYWNoZSBhcyBiLCBjcmVhdGVJbnRsRm9ybWF0dGVycyBhcyBjLCBtZW1vRm4gYXMgbSB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/use-intl@4.9.0_react@19.2.4/node_modules/use-intl/dist/esm/development/formatters-r4aAmsMP.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/use-intl@4.9.0_react@19.2.4/node_modules/use-intl/dist/esm/development/initializeConfig-B5qJiBCm.js":
|
||
/*!********************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/use-intl@4.9.0_react@19.2.4/node_modules/use-intl/dist/esm/development/initializeConfig-B5qJiBCm.js ***!
|
||
\********************************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ a: () => (/* binding */ createBaseTranslator),\n/* harmony export */ b: () => (/* binding */ defaultOnError),\n/* harmony export */ c: () => (/* binding */ createFormatter),\n/* harmony export */ d: () => (/* binding */ defaultGetMessageFallback),\n/* harmony export */ i: () => (/* binding */ initializeConfig),\n/* harmony export */ r: () => (/* binding */ resolveNamespace)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var use_intl_format_message__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! use-intl/format-message */ \"(app-pages-browser)/./node_modules/.pnpm/use-intl@4.9.0_react@19.2.4/node_modules/use-intl/dist/esm/development/format-message/index.js\");\n/* harmony import */ var _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./formatters-r4aAmsMP.js */ \"(app-pages-browser)/./node_modules/.pnpm/use-intl@4.9.0_react@19.2.4/node_modules/use-intl/dist/esm/development/formatters-r4aAmsMP.js\");\n\n\n\n\nfunction joinPath(...parts) {\n return parts.filter(Boolean).join('.');\n}\n\n/**\n * Contains defaults that are used for all entry points into the core.\n * See also `InitializedIntlConfiguration`.\n */\n\nfunction defaultGetMessageFallback(props) {\n return joinPath(props.namespace, props.key);\n}\nfunction defaultOnError(error) {\n console.error(error);\n}\n\nfunction prepareTranslationValues(values) {\n // Related to https://github.com/formatjs/formatjs/issues/1467\n const transformedValues = {};\n Object.keys(values).forEach(key => {\n let index = 0;\n const value = values[key];\n let transformed;\n if (typeof value === 'function') {\n transformed = chunks => {\n const result = value(chunks);\n return /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.isValidElement)(result) ? /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(result, {\n key: key + index++\n }) : result;\n };\n } else {\n transformed = value;\n }\n transformedValues[key] = transformed;\n });\n return transformedValues;\n}\nfunction resolvePath(locale, messages, key, namespace) {\n const fullKey = joinPath(namespace, key);\n if (!messages) {\n throw new Error(`No messages available at \\`${namespace}\\`.` );\n }\n let message = messages;\n key.split('.').forEach(part => {\n const next = message[part];\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (part == null || next == null) {\n throw new Error(`Could not resolve \\`${fullKey}\\` in messages for locale \\`${locale}\\`.` );\n }\n message = next;\n });\n return message;\n}\nfunction getMessagesOrError(locale, messages, namespace) {\n try {\n if (!messages) {\n throw new Error(`No messages were configured.` );\n }\n const retrievedMessages = namespace ? resolvePath(locale, messages, namespace) : messages;\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!retrievedMessages) {\n throw new Error(`No messages for namespace \\`${namespace}\\` found.` );\n }\n return retrievedMessages;\n } catch (error) {\n const intlError = new _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.I(_formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.a.MISSING_MESSAGE, error.message);\n return intlError;\n }\n}\nfunction createBaseTranslator(config) {\n const messagesOrError = getMessagesOrError(config.locale, config.messages, config.namespace);\n return createBaseTranslatorImpl({\n ...config,\n messagesOrError\n });\n}\nfunction createBaseTranslatorImpl({\n cache,\n formats: globalFormats,\n formatters,\n getMessageFallback = defaultGetMessageFallback,\n locale,\n messagesOrError,\n namespace,\n onError,\n timeZone\n}) {\n const hasMessagesError = messagesOrError instanceof _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.I;\n function getFallbackFromErrorAndNotify(key, code, message, fallback) {\n const error = new _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.I(code, message);\n onError(error);\n return fallback ?? getMessageFallback({\n error,\n key,\n namespace\n });\n }\n function translateBaseFn(/** Use a dot to indicate a level of nesting (e.g. `namespace.nestedLabel`). */\n key, /** Key value pairs for values to interpolate into the message. */\n values, /** Provide custom formats for numbers, dates and times. */\n formats, _fallback) {\n const fallback = _fallback;\n let message;\n if (hasMessagesError) {\n if (fallback) {\n message = fallback;\n } else {\n onError(messagesOrError);\n return getMessageFallback({\n error: messagesOrError,\n key,\n namespace\n });\n }\n } else {\n const messages = messagesOrError;\n try {\n message = resolvePath(locale, messages, key, namespace);\n } catch (error) {\n if (fallback) {\n message = fallback;\n } else {\n return getFallbackFromErrorAndNotify(key, _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.a.MISSING_MESSAGE, error.message, fallback);\n }\n }\n }\n try {\n const messagePath = joinPath(namespace, key);\n return (0,use_intl_format_message__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(messagePath,\n // @ts-expect-error -- We have additional validation either in `compile-format.tsx` or in case of `format-only.tsx` in the loader\n message, values ? prepareTranslationValues(values) : values, {\n cache,\n formatters,\n globalFormats,\n formats,\n locale,\n timeZone\n });\n } catch (error) {\n let errorCode, errorMessage;\n if (error instanceof _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.I) {\n errorCode = error.code;\n errorMessage = error.originalMessage;\n } else {\n errorCode = _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.a.FORMATTING_ERROR;\n errorMessage = error.message;\n }\n return getFallbackFromErrorAndNotify(key, errorCode, errorMessage, fallback);\n }\n }\n function translateFn(/** Use a dot to indicate a level of nesting (e.g. `namespace.nestedLabel`). */\n key, /** Key value pairs for values to interpolate into the message. */\n values, /** Custom formats for numbers, dates and times. */\n formats, _fallback) {\n const result = translateBaseFn(key, values, formats, _fallback);\n if (typeof result !== 'string') {\n return getFallbackFromErrorAndNotify(key, _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.a.INVALID_MESSAGE, `The message \\`${key}\\` in ${namespace ? `namespace \\`${namespace}\\`` : 'messages'} didn't resolve to a string. If you want to format rich text, use \\`t.rich\\` instead.` );\n }\n return result;\n }\n translateFn.rich = translateBaseFn;\n\n // Augment `translateBaseFn` to return plain strings\n translateFn.markup = (key, values, formats, _fallback) => {\n const result = translateBaseFn(key,\n // @ts-expect-error -- `MarkupTranslationValues` is practically a sub type\n // of `RichTranslationValues` but TypeScript isn't smart enough here.\n values, formats, _fallback);\n if (typeof result !== 'string') {\n const error = new _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.I(_formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.a.FORMATTING_ERROR, \"`t.markup` only accepts functions for formatting that receive and return strings.\\n\\nE.g. t.markup('markup', {b: (chunks) => `<b>${chunks}</b>`})\");\n onError(error);\n return getMessageFallback({\n error,\n key,\n namespace\n });\n }\n return result;\n };\n translateFn.raw = key => {\n {\n if (!use_intl_format_message__WEBPACK_IMPORTED_MODULE_2__[\"default\"].raw) {\n throw new Error('`t.raw` is not supported when messages are precompiled.');\n }\n }\n if (hasMessagesError) {\n onError(messagesOrError);\n return getMessageFallback({\n error: messagesOrError,\n key,\n namespace\n });\n }\n const messages = messagesOrError;\n try {\n return resolvePath(locale, messages, key, namespace);\n } catch (error) {\n return getFallbackFromErrorAndNotify(key, _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.a.MISSING_MESSAGE, error.message);\n }\n };\n translateFn.has = key => {\n if (hasMessagesError) {\n return false;\n }\n try {\n resolvePath(locale, messagesOrError, key, namespace);\n return true;\n } catch {\n return false;\n }\n };\n return translateFn;\n}\n\n/**\n * For the strictly typed messages to work we have to wrap the namespace into\n * a mandatory prefix. See https://stackoverflow.com/a/71529575/343045\n */\nfunction resolveNamespace(namespace, namespacePrefix) {\n return namespace === namespacePrefix ? undefined : namespace.slice((namespacePrefix + '.').length);\n}\n\nconst SECOND = 1;\nconst MINUTE = SECOND * 60;\nconst HOUR = MINUTE * 60;\nconst DAY = HOUR * 24;\nconst WEEK = DAY * 7;\nconst MONTH = DAY * (365 / 12); // Approximation\nconst QUARTER = MONTH * 3;\nconst YEAR = DAY * 365;\nconst UNIT_SECONDS = {\n second: SECOND,\n seconds: SECOND,\n minute: MINUTE,\n minutes: MINUTE,\n hour: HOUR,\n hours: HOUR,\n day: DAY,\n days: DAY,\n week: WEEK,\n weeks: WEEK,\n month: MONTH,\n months: MONTH,\n quarter: QUARTER,\n quarters: QUARTER,\n year: YEAR,\n years: YEAR\n};\nfunction resolveRelativeTimeUnit(seconds) {\n const absValue = Math.abs(seconds);\n if (absValue < MINUTE) {\n return 'second';\n } else if (absValue < HOUR) {\n return 'minute';\n } else if (absValue < DAY) {\n return 'hour';\n } else if (absValue < WEEK) {\n return 'day';\n } else if (absValue < MONTH) {\n return 'week';\n } else if (absValue < YEAR) {\n return 'month';\n }\n return 'year';\n}\nfunction calculateRelativeTimeValue(seconds, unit) {\n // We have to round the resulting values, as `Intl.RelativeTimeFormat`\n // will include fractions like '2.1 hours ago'.\n return Math.round(seconds / UNIT_SECONDS[unit]);\n}\nfunction createFormatter(props) {\n const {\n _cache: cache = (0,_formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.b)(),\n _formatters: formatters = (0,_formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.c)(cache),\n formats,\n locale,\n onError = defaultOnError,\n timeZone: globalTimeZone\n } = props;\n function applyTimeZone(options) {\n if (!options?.timeZone) {\n if (globalTimeZone) {\n options = {\n ...options,\n timeZone: globalTimeZone\n };\n } else {\n onError(new _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.I(_formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.a.ENVIRONMENT_FALLBACK, `The \\`timeZone\\` parameter wasn't provided and there is no global default configured. Consider adding a global default to avoid markup mismatches caused by environment differences. Learn more: https://next-intl.dev/docs/configuration#time-zone` ));\n }\n }\n return options;\n }\n function resolveFormatOrOptions(typeFormats, formatOrOptions, overrides) {\n let options;\n if (typeof formatOrOptions === 'string') {\n const formatName = formatOrOptions;\n options = typeFormats?.[formatName];\n if (!options) {\n const error = new _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.I(_formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.a.MISSING_FORMAT, `Format \\`${formatName}\\` is not available.` );\n onError(error);\n throw error;\n }\n } else {\n options = formatOrOptions;\n }\n if (overrides) {\n options = {\n ...options,\n ...overrides\n };\n }\n return options;\n }\n function getFormattedValue(formatOrOptions, overrides, typeFormats, formatter, getFallback) {\n let options;\n try {\n options = resolveFormatOrOptions(typeFormats, formatOrOptions, overrides);\n } catch {\n return getFallback();\n }\n try {\n return formatter(options);\n } catch (error) {\n onError(new _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.I(_formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.a.FORMATTING_ERROR, error.message));\n return getFallback();\n }\n }\n function dateTime(value, formatOrOptions, overrides) {\n return getFormattedValue(formatOrOptions, overrides, formats?.dateTime, options => {\n options = applyTimeZone(options);\n return formatters.getDateTimeFormat(locale, options).format(value);\n }, () => String(value));\n }\n function dateTimeRange(start, end, formatOrOptions, overrides) {\n return getFormattedValue(formatOrOptions, overrides, formats?.dateTime, options => {\n options = applyTimeZone(options);\n return formatters.getDateTimeFormat(locale, options).formatRange(start, end);\n }, () => [dateTime(start), dateTime(end)].join(' – '));\n }\n function number(value, formatOrOptions, overrides) {\n return getFormattedValue(formatOrOptions, overrides, formats?.number, options => formatters.getNumberFormat(locale, options).format(value), () => String(value));\n }\n function getGlobalNow() {\n // Only read when necessary to avoid triggering a `dynamicIO` error\n // unnecessarily (`now` is only needed for `format.relativeTime`)\n if (props.now) {\n return props.now;\n } else {\n onError(new _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.I(_formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.a.ENVIRONMENT_FALLBACK, `The \\`now\\` parameter wasn't provided to \\`relativeTime\\` and there is no global default configured, therefore the current time will be used as a fallback. See https://next-intl.dev/docs/usage/dates-times#relative-times-usenow` ));\n return new Date();\n }\n }\n function relativeTime(date, nowOrOptions) {\n try {\n let nowDate, unit;\n const opts = {};\n if (nowOrOptions instanceof Date || typeof nowOrOptions === 'number') {\n nowDate = new Date(nowOrOptions);\n } else if (nowOrOptions) {\n if (nowOrOptions.now != null) {\n nowDate = new Date(nowOrOptions.now);\n } else {\n nowDate = getGlobalNow();\n }\n unit = nowOrOptions.unit;\n opts.style = nowOrOptions.style;\n // @ts-expect-error -- Types are slightly outdated\n opts.numberingSystem = nowOrOptions.numberingSystem;\n }\n if (!nowDate) {\n nowDate = getGlobalNow();\n }\n const dateDate = new Date(date);\n const seconds = (dateDate.getTime() - nowDate.getTime()) / 1000;\n if (!unit) {\n unit = resolveRelativeTimeUnit(seconds);\n }\n\n // `numeric: 'auto'` can theoretically produce output like \"yesterday\",\n // but it only works with integers. E.g. -1 day will produce \"yesterday\",\n // but -1.1 days will produce \"-1.1 days\". Rounding before formatting is\n // not desired, as the given dates might cross a threshold were the\n // output isn't correct anymore. Example: 2024-01-08T23:00:00.000Z and\n // 2024-01-08T01:00:00.000Z would produce \"yesterday\", which is not the\n // case. By using `always` we can ensure correct output. The only exception\n // is the formatting of times <1 second as \"now\".\n opts.numeric = unit === 'second' ? 'auto' : 'always';\n const value = calculateRelativeTimeValue(seconds, unit);\n return formatters.getRelativeTimeFormat(locale, opts).format(value, unit);\n } catch (error) {\n onError(new _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.I(_formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.a.FORMATTING_ERROR, error.message));\n return String(date);\n }\n }\n function list(value, formatOrOptions, overrides) {\n const serializedValue = [];\n const richValues = new Map();\n\n // `formatToParts` only accepts strings, therefore we have to temporarily\n // replace React elements with a placeholder ID that can be used to retrieve\n // the original value afterwards.\n let index = 0;\n for (const item of value) {\n let serializedItem;\n if (typeof item === 'object') {\n serializedItem = String(index);\n richValues.set(serializedItem, item);\n } else {\n serializedItem = String(item);\n }\n serializedValue.push(serializedItem);\n index++;\n }\n return getFormattedValue(formatOrOptions, overrides, formats?.list,\n // @ts-expect-error -- `richValues.size` is used to determine the return type, but TypeScript can't infer the meaning of this correctly\n options => {\n const result = formatters.getListFormat(locale, options).formatToParts(serializedValue).map(part => part.type === 'literal' ? part.value : richValues.get(part.value) || part.value);\n if (richValues.size > 0) {\n return result;\n } else {\n return result.join('');\n }\n }, () => String(value));\n }\n return {\n dateTime,\n number,\n relativeTime,\n list,\n dateTimeRange\n };\n}\n\nfunction validateMessagesSegment(messages, invalidKeyLabels, parentPath) {\n Object.entries(messages).forEach(([key, messageOrMessages]) => {\n if (key.includes('.')) {\n let keyLabel = key;\n if (parentPath) keyLabel += ` (at ${parentPath})`;\n invalidKeyLabels.push(keyLabel);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (messageOrMessages != null && typeof messageOrMessages === 'object') {\n validateMessagesSegment(messageOrMessages, invalidKeyLabels, joinPath(parentPath, key));\n }\n });\n}\nfunction validateMessages(messages, onError) {\n const invalidKeyLabels = [];\n validateMessagesSegment(messages, invalidKeyLabels);\n if (invalidKeyLabels.length > 0) {\n onError(new _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.I(_formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_1__.a.INVALID_KEY, `Namespace keys cannot contain the character \".\" as this is used to express nesting. Please remove it or replace it with another character.\n\nInvalid ${invalidKeyLabels.length === 1 ? 'key' : 'keys'}: ${invalidKeyLabels.join(', ')}\n\nIf you're migrating from a flat structure, you can convert your messages as follows:\n\nimport {set} from \"lodash\";\n\nconst input = {\n \"one.one\": \"1.1\",\n \"one.two\": \"1.2\",\n \"two.one.one\": \"2.1.1\"\n};\n\nconst output = Object.entries(input).reduce(\n (acc, [key, value]) => set(acc, key, value),\n {}\n);\n\n// Output:\n//\n// {\n// \"one\": {\n// \"one\": \"1.1\",\n// \"two\": \"1.2\"\n// },\n// \"two\": {\n// \"one\": {\n// \"one\": \"2.1.1\"\n// }\n// }\n// }\n` ));\n }\n}\n\n/**\n * Enhances the incoming props with defaults.\n */\nfunction initializeConfig({\n formats,\n getMessageFallback,\n messages,\n onError,\n ...rest\n}) {\n const finalOnError = onError || defaultOnError;\n const finalGetMessageFallback = getMessageFallback || defaultGetMessageFallback;\n {\n if (messages) {\n validateMessages(messages, finalOnError);\n }\n }\n return {\n ...rest,\n formats: formats || undefined,\n messages: messages || undefined,\n onError: finalOnError,\n getMessageFallback: finalGetMessageFallback\n };\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS91c2UtaW50bEA0LjkuMF9yZWFjdEAxOS4yLjQvbm9kZV9tb2R1bGVzL3VzZS1pbnRsL2Rpc3QvZXNtL2RldmVsb3BtZW50L2luaXRpYWxpemVDb25maWctQjVxSmlCQ20uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQXFEO0FBQ0Q7QUFDdUU7O0FBRTNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIscURBQWMsd0JBQXdCLG1EQUFZO0FBQzlFO0FBQ0EsU0FBUztBQUNUO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0RBQWtELFVBQVU7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDZDQUE2QyxRQUFRLDhCQUE4QixPQUFPO0FBQzFGO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscURBQXFELFVBQVU7QUFDL0Q7QUFDQTtBQUNBLElBQUk7QUFDSiwwQkFBMEIsc0RBQVMsQ0FBQyxzREFBYTtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Qsc0RBQXNELHNEQUFTO0FBQy9EO0FBQ0Esc0JBQXNCLHNEQUFTO0FBQy9CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLFVBQVU7QUFDVixvREFBb0Qsc0RBQWE7QUFDakU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsbUVBQWE7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxNQUFNO0FBQ047QUFDQSwyQkFBMkIsc0RBQVM7QUFDcEM7QUFDQTtBQUNBLFFBQVE7QUFDUixvQkFBb0Isc0RBQWE7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCxzREFBYSxtQ0FBbUMsSUFBSSxRQUFRLDJCQUEyQixVQUFVLGtCQUFrQjtBQUNuSztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixzREFBUyxDQUFDLHNEQUFhLGtJQUFrSSxxQkFBcUIsT0FBTyxNQUFNO0FBQ25OO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsK0RBQWE7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOLGdEQUFnRCxzREFBYTtBQUM3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDBEQUFXO0FBQy9CLDhCQUE4QiwwREFBb0I7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1Isb0JBQW9CLHNEQUFTLENBQUMsc0RBQWE7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsc0RBQVMsQ0FBQyxzREFBYSw2QkFBNkIsV0FBVztBQUN6RjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTixrQkFBa0Isc0RBQVMsQ0FBQyxzREFBYTtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTixrQkFBa0Isc0RBQVMsQ0FBQyxzREFBYTtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTixrQkFBa0Isc0RBQVMsQ0FBQyxzREFBYTtBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsV0FBVztBQUNyRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0Isc0RBQVMsQ0FBQyxzREFBYTs7QUFFdkMsVUFBVSwrQ0FBK0MsSUFBSTs7QUFFN0Q7O0FBRUEsUUFBUSxLQUFLOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUU4SiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS91c2UtaW50bEA0LjkuMF9yZWFjdEAxOS4yLjQvbm9kZV9tb2R1bGVzL3VzZS1pbnRsL2Rpc3QvZXNtL2RldmVsb3BtZW50L2luaXRpYWxpemVDb25maWctQjVxSmlCQ20uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2xvbmVFbGVtZW50LCBpc1ZhbGlkRWxlbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBmb3JtYXRNZXNzYWdlIGZyb20gJ3VzZS1pbnRsL2Zvcm1hdC1tZXNzYWdlJztcbmltcG9ydCB7IEkgYXMgSW50bEVycm9yLCBhIGFzIEludGxFcnJvckNvZGUsIGMgYXMgY3JlYXRlSW50bEZvcm1hdHRlcnMsIGIgYXMgY3JlYXRlQ2FjaGUgfSBmcm9tICcuL2Zvcm1hdHRlcnMtcjRhQW1zTVAuanMnO1xuXG5mdW5jdGlvbiBqb2luUGF0aCguLi5wYXJ0cykge1xuICByZXR1cm4gcGFydHMuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJy4nKTtcbn1cblxuLyoqXG4gKiBDb250YWlucyBkZWZhdWx0cyB0aGF0IGFyZSB1c2VkIGZvciBhbGwgZW50cnkgcG9pbnRzIGludG8gdGhlIGNvcmUuXG4gKiBTZWUgYWxzbyBgSW5pdGlhbGl6ZWRJbnRsQ29uZmlndXJhdGlvbmAuXG4gKi9cblxuZnVuY3Rpb24gZGVmYXVsdEdldE1lc3NhZ2VGYWxsYmFjayhwcm9wcykge1xuICByZXR1cm4gam9pblBhdGgocHJvcHMubmFtZXNwYWNlLCBwcm9wcy5rZXkpO1xufVxuZnVuY3Rpb24gZGVmYXVsdE9uRXJyb3IoZXJyb3IpIHtcbiAgY29uc29sZS5lcnJvcihlcnJvcik7XG59XG5cbmZ1bmN0aW9uIHByZXBhcmVUcmFuc2xhdGlvblZhbHVlcyh2YWx1ZXMpIHtcbiAgLy8gUmVsYXRlZCB0byBodHRwczovL2dpdGh1Yi5jb20vZm9ybWF0anMvZm9ybWF0anMvaXNzdWVzLzE0NjdcbiAgY29uc3QgdHJhbnNmb3JtZWRWYWx1ZXMgPSB7fTtcbiAgT2JqZWN0LmtleXModmFsdWVzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgbGV0IGluZGV4ID0gMDtcbiAgICBjb25zdCB2YWx1ZSA9IHZhbHVlc1trZXldO1xuICAgIGxldCB0cmFuc2Zvcm1lZDtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0cmFuc2Zvcm1lZCA9IGNodW5rcyA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHZhbHVlKGNodW5rcyk7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovaXNWYWxpZEVsZW1lbnQocmVzdWx0KSA/IC8qI19fUFVSRV9fKi9jbG9uZUVsZW1lbnQocmVzdWx0LCB7XG4gICAgICAgICAga2V5OiBrZXkgKyBpbmRleCsrXG4gICAgICAgIH0pIDogcmVzdWx0O1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHJhbnNmb3JtZWQgPSB2YWx1ZTtcbiAgICB9XG4gICAgdHJhbnNmb3JtZWRWYWx1ZXNba2V5XSA9IHRyYW5zZm9ybWVkO1xuICB9KTtcbiAgcmV0dXJuIHRyYW5zZm9ybWVkVmFsdWVzO1xufVxuZnVuY3Rpb24gcmVzb2x2ZVBhdGgobG9jYWxlLCBtZXNzYWdlcywga2V5LCBuYW1lc3BhY2UpIHtcbiAgY29uc3QgZnVsbEtleSA9IGpvaW5QYXRoKG5hbWVzcGFjZSwga2V5KTtcbiAgaWYgKCFtZXNzYWdlcykge1xuICAgIHRocm93IG5ldyBFcnJvcihgTm8gbWVzc2FnZXMgYXZhaWxhYmxlIGF0IFxcYCR7bmFtZXNwYWNlfVxcYC5gICk7XG4gIH1cbiAgbGV0IG1lc3NhZ2UgPSBtZXNzYWdlcztcbiAga2V5LnNwbGl0KCcuJykuZm9yRWFjaChwYXJ0ID0+IHtcbiAgICBjb25zdCBuZXh0ID0gbWVzc2FnZVtwYXJ0XTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXG4gICAgaWYgKHBhcnQgPT0gbnVsbCB8fCBuZXh0ID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IHJlc29sdmUgXFxgJHtmdWxsS2V5fVxcYCBpbiBtZXNzYWdlcyBmb3IgbG9jYWxlIFxcYCR7bG9jYWxlfVxcYC5gICk7XG4gICAgfVxuICAgIG1lc3NhZ2UgPSBuZXh0O1xuICB9KTtcbiAgcmV0dXJuIG1lc3NhZ2U7XG59XG5mdW5jdGlvbiBnZXRNZXNzYWdlc09yRXJyb3IobG9jYWxlLCBtZXNzYWdlcywgbmFtZXNwYWNlKSB7XG4gIHRyeSB7XG4gICAgaWYgKCFtZXNzYWdlcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBtZXNzYWdlcyB3ZXJlIGNvbmZpZ3VyZWQuYCApO1xuICAgIH1cbiAgICBjb25zdCByZXRyaWV2ZWRNZXNzYWdlcyA9IG5hbWVzcGFjZSA/IHJlc29sdmVQYXRoKGxvY2FsZSwgbWVzc2FnZXMsIG5hbWVzcGFjZSkgOiBtZXNzYWdlcztcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXG4gICAgaWYgKCFyZXRyaWV2ZWRNZXNzYWdlcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBtZXNzYWdlcyBmb3IgbmFtZXNwYWNlIFxcYCR7bmFtZXNwYWNlfVxcYCBmb3VuZC5gICk7XG4gICAgfVxuICAgIHJldHVybiByZXRyaWV2ZWRNZXNzYWdlcztcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zdCBpbnRsRXJyb3IgPSBuZXcgSW50bEVycm9yKEludGxFcnJvckNvZGUuTUlTU0lOR19NRVNTQUdFLCBlcnJvci5tZXNzYWdlKTtcbiAgICByZXR1cm4gaW50bEVycm9yO1xuICB9XG59XG5mdW5jdGlvbiBjcmVhdGVCYXNlVHJhbnNsYXRvcihjb25maWcpIHtcbiAgY29uc3QgbWVzc2FnZXNPckVycm9yID0gZ2V0TWVzc2FnZXNPckVycm9yKGNvbmZpZy5sb2NhbGUsIGNvbmZpZy5tZXNzYWdlcywgY29uZmlnLm5hbWVzcGFjZSk7XG4gIHJldHVybiBjcmVhdGVCYXNlVHJhbnNsYXRvckltcGwoe1xuICAgIC4uLmNvbmZpZyxcbiAgICBtZXNzYWdlc09yRXJyb3JcbiAgfSk7XG59XG5mdW5jdGlvbiBjcmVhdGVCYXNlVHJhbnNsYXRvckltcGwoe1xuICBjYWNoZSxcbiAgZm9ybWF0czogZ2xvYmFsRm9ybWF0cyxcbiAgZm9ybWF0dGVycyxcbiAgZ2V0TWVzc2FnZUZhbGxiYWNrID0gZGVmYXVsdEdldE1lc3NhZ2VGYWxsYmFjayxcbiAgbG9jYWxlLFxuICBtZXNzYWdlc09yRXJyb3IsXG4gIG5hbWVzcGFjZSxcbiAgb25FcnJvcixcbiAgdGltZVpvbmVcbn0pIHtcbiAgY29uc3QgaGFzTWVzc2FnZXNFcnJvciA9IG1lc3NhZ2VzT3JFcnJvciBpbnN0YW5jZW9mIEludGxFcnJvcjtcbiAgZnVuY3Rpb24gZ2V0RmFsbGJhY2tGcm9tRXJyb3JBbmROb3RpZnkoa2V5LCBjb2RlLCBtZXNzYWdlLCBmYWxsYmFjaykge1xuICAgIGNvbnN0IGVycm9yID0gbmV3IEludGxFcnJvcihjb2RlLCBtZXNzYWdlKTtcbiAgICBvbkVycm9yKGVycm9yKTtcbiAgICByZXR1cm4gZmFsbGJhY2sgPz8gZ2V0TWVzc2FnZUZhbGxiYWNrKHtcbiAgICAgIGVycm9yLFxuICAgICAga2V5LFxuICAgICAgbmFtZXNwYWNlXG4gICAgfSk7XG4gIH1cbiAgZnVuY3Rpb24gdHJhbnNsYXRlQmFzZUZuKC8qKiBVc2UgYSBkb3QgdG8gaW5kaWNhdGUgYSBsZXZlbCBvZiBuZXN0aW5nIChlLmcuIGBuYW1lc3BhY2UubmVzdGVkTGFiZWxgKS4gKi9cbiAga2V5LCAvKiogS2V5IHZhbHVlIHBhaXJzIGZvciB2YWx1ZXMgdG8gaW50ZXJwb2xhdGUgaW50byB0aGUgbWVzc2FnZS4gKi9cbiAgdmFsdWVzLCAvKiogUHJvdmlkZSBjdXN0b20gZm9ybWF0cyBmb3IgbnVtYmVycywgZGF0ZXMgYW5kIHRpbWVzLiAqL1xuICBmb3JtYXRzLCBfZmFsbGJhY2spIHtcbiAgICBjb25zdCBmYWxsYmFjayA9IF9mYWxsYmFjaztcbiAgICBsZXQgbWVzc2FnZTtcbiAgICBpZiAoaGFzTWVzc2FnZXNFcnJvcikge1xuICAgICAgaWYgKGZhbGxiYWNrKSB7XG4gICAgICAgIG1lc3NhZ2UgPSBmYWxsYmFjaztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9uRXJyb3IobWVzc2FnZXNPckVycm9yKTtcbiAgICAgICAgcmV0dXJuIGdldE1lc3NhZ2VGYWxsYmFjayh7XG4gICAgICAgICAgZXJyb3I6IG1lc3NhZ2VzT3JFcnJvcixcbiAgICAgICAgICBrZXksXG4gICAgICAgICAgbmFtZXNwYWNlXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtZXNzYWdlcyA9IG1lc3NhZ2VzT3JFcnJvcjtcbiAgICAgIHRyeSB7XG4gICAgICAgIG1lc3NhZ2UgPSByZXNvbHZlUGF0aChsb2NhbGUsIG1lc3NhZ2VzLCBrZXksIG5hbWVzcGFjZSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZmFsbGJhY2spIHtcbiAgICAgICAgICBtZXNzYWdlID0gZmFsbGJhY2s7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGdldEZhbGxiYWNrRnJvbUVycm9yQW5kTm90aWZ5KGtleSwgSW50bEVycm9yQ29kZS5NSVNTSU5HX01FU1NBR0UsIGVycm9yLm1lc3NhZ2UsIGZhbGxiYWNrKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgbWVzc2FnZVBhdGggPSBqb2luUGF0aChuYW1lc3BhY2UsIGtleSk7XG4gICAgICByZXR1cm4gZm9ybWF0TWVzc2FnZShtZXNzYWdlUGF0aCxcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLS0gV2UgaGF2ZSBhZGRpdGlvbmFsIHZhbGlkYXRpb24gZWl0aGVyIGluIGBjb21waWxlLWZvcm1hdC50c3hgIG9yIGluIGNhc2Ugb2YgYGZvcm1hdC1vbmx5LnRzeGAgaW4gdGhlIGxvYWRlclxuICAgICAgbWVzc2FnZSwgdmFsdWVzID8gcHJlcGFyZVRyYW5zbGF0aW9uVmFsdWVzKHZhbHVlcykgOiB2YWx1ZXMsIHtcbiAgICAgICAgY2FjaGUsXG4gICAgICAgIGZvcm1hdHRlcnMsXG4gICAgICAgIGdsb2JhbEZvcm1hdHMsXG4gICAgICAgIGZvcm1hdHMsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgdGltZVpvbmVcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBsZXQgZXJyb3JDb2RlLCBlcnJvck1lc3NhZ2U7XG4gICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBJbnRsRXJyb3IpIHtcbiAgICAgICAgZXJyb3JDb2RlID0gZXJyb3IuY29kZTtcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gZXJyb3Iub3JpZ2luYWxNZXNzYWdlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3JDb2RlID0gSW50bEVycm9yQ29kZS5GT1JNQVRUSU5HX0VSUk9SO1xuICAgICAgICBlcnJvck1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGdldEZhbGxiYWNrRnJvbUVycm9yQW5kTm90aWZ5KGtleSwgZXJyb3JDb2RlLCBlcnJvck1lc3NhZ2UsIGZhbGxiYWNrKTtcbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gdHJhbnNsYXRlRm4oLyoqIFVzZSBhIGRvdCB0byBpbmRpY2F0ZSBhIGxldmVsIG9mIG5lc3RpbmcgKGUuZy4gYG5hbWVzcGFjZS5uZXN0ZWRMYWJlbGApLiAqL1xuICBrZXksIC8qKiBLZXkgdmFsdWUgcGFpcnMgZm9yIHZhbHVlcyB0byBpbnRlcnBvbGF0ZSBpbnRvIHRoZSBtZXNzYWdlLiAqL1xuICB2YWx1ZXMsIC8qKiBDdXN0b20gZm9ybWF0cyBmb3IgbnVtYmVycywgZGF0ZXMgYW5kIHRpbWVzLiAqL1xuICBmb3JtYXRzLCBfZmFsbGJhY2spIHtcbiAgICBjb25zdCByZXN1bHQgPSB0cmFuc2xhdGVCYXNlRm4oa2V5LCB2YWx1ZXMsIGZvcm1hdHMsIF9mYWxsYmFjayk7XG4gICAgaWYgKHR5cGVvZiByZXN1bHQgIT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gZ2V0RmFsbGJhY2tGcm9tRXJyb3JBbmROb3RpZnkoa2V5LCBJbnRsRXJyb3JDb2RlLklOVkFMSURfTUVTU0FHRSwgYFRoZSBtZXNzYWdlIFxcYCR7a2V5fVxcYCBpbiAke25hbWVzcGFjZSA/IGBuYW1lc3BhY2UgXFxgJHtuYW1lc3BhY2V9XFxgYCA6ICdtZXNzYWdlcyd9IGRpZG4ndCByZXNvbHZlIHRvIGEgc3RyaW5nLiBJZiB5b3Ugd2FudCB0byBmb3JtYXQgcmljaCB0ZXh0LCB1c2UgXFxgdC5yaWNoXFxgIGluc3RlYWQuYCApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIHRyYW5zbGF0ZUZuLnJpY2ggPSB0cmFuc2xhdGVCYXNlRm47XG5cbiAgLy8gQXVnbWVudCBgdHJhbnNsYXRlQmFzZUZuYCB0byByZXR1cm4gcGxhaW4gc3RyaW5nc1xuICB0cmFuc2xhdGVGbi5tYXJrdXAgPSAoa2V5LCB2YWx1ZXMsIGZvcm1hdHMsIF9mYWxsYmFjaykgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRyYW5zbGF0ZUJhc2VGbihrZXksXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciAtLSBgTWFya3VwVHJhbnNsYXRpb25WYWx1ZXNgIGlzIHByYWN0aWNhbGx5IGEgc3ViIHR5cGVcbiAgICAvLyBvZiBgUmljaFRyYW5zbGF0aW9uVmFsdWVzYCBidXQgVHlwZVNjcmlwdCBpc24ndCBzbWFydCBlbm91Z2ggaGVyZS5cbiAgICB2YWx1ZXMsIGZvcm1hdHMsIF9mYWxsYmFjayk7XG4gICAgaWYgKHR5cGVvZiByZXN1bHQgIT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBlcnJvciA9IG5ldyBJbnRsRXJyb3IoSW50bEVycm9yQ29kZS5GT1JNQVRUSU5HX0VSUk9SLCBcImB0Lm1hcmt1cGAgb25seSBhY2NlcHRzIGZ1bmN0aW9ucyBmb3IgZm9ybWF0dGluZyB0aGF0IHJlY2VpdmUgYW5kIHJldHVybiBzdHJpbmdzLlxcblxcbkUuZy4gdC5tYXJrdXAoJ21hcmt1cCcsIHtiOiAoY2h1bmtzKSA9PiBgPGI+JHtjaHVua3N9PC9iPmB9KVwiKTtcbiAgICAgIG9uRXJyb3IoZXJyb3IpO1xuICAgICAgcmV0dXJuIGdldE1lc3NhZ2VGYWxsYmFjayh7XG4gICAgICAgIGVycm9yLFxuICAgICAgICBrZXksXG4gICAgICAgIG5hbWVzcGFjZVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG4gIHRyYW5zbGF0ZUZuLnJhdyA9IGtleSA9PiB7XG4gICAge1xuICAgICAgaWYgKCFmb3JtYXRNZXNzYWdlLnJhdykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2B0LnJhd2AgaXMgbm90IHN1cHBvcnRlZCB3aGVuIG1lc3NhZ2VzIGFyZSBwcmVjb21waWxlZC4nKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGhhc01lc3NhZ2VzRXJyb3IpIHtcbiAgICAgIG9uRXJyb3IobWVzc2FnZXNPckVycm9yKTtcbiAgICAgIHJldHVybiBnZXRNZXNzYWdlRmFsbGJhY2soe1xuICAgICAgICBlcnJvcjogbWVzc2FnZXNPckVycm9yLFxuICAgICAgICBrZXksXG4gICAgICAgIG5hbWVzcGFjZVxuICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IG1lc3NhZ2VzID0gbWVzc2FnZXNPckVycm9yO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gcmVzb2x2ZVBhdGgobG9jYWxlLCBtZXNzYWdlcywga2V5LCBuYW1lc3BhY2UpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gZ2V0RmFsbGJhY2tGcm9tRXJyb3JBbmROb3RpZnkoa2V5LCBJbnRsRXJyb3JDb2RlLk1JU1NJTkdfTUVTU0FHRSwgZXJyb3IubWVzc2FnZSk7XG4gICAgfVxuICB9O1xuICB0cmFuc2xhdGVGbi5oYXMgPSBrZXkgPT4ge1xuICAgIGlmIChoYXNNZXNzYWdlc0Vycm9yKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICByZXNvbHZlUGF0aChsb2NhbGUsIG1lc3NhZ2VzT3JFcnJvciwga2V5LCBuYW1lc3BhY2UpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9O1xuICByZXR1cm4gdHJhbnNsYXRlRm47XG59XG5cbi8qKlxuICogRm9yIHRoZSBzdHJpY3RseSB0eXBlZCBtZXNzYWdlcyB0byB3b3JrIHdlIGhhdmUgdG8gd3JhcCB0aGUgbmFtZXNwYWNlIGludG9cbiAqIGEgbWFuZGF0b3J5IHByZWZpeC4gU2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS83MTUyOTU3NS8zNDMwNDVcbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZU5hbWVzcGFjZShuYW1lc3BhY2UsIG5hbWVzcGFjZVByZWZpeCkge1xuICByZXR1cm4gbmFtZXNwYWNlID09PSBuYW1lc3BhY2VQcmVmaXggPyB1bmRlZmluZWQgOiBuYW1lc3BhY2Uuc2xpY2UoKG5hbWVzcGFjZVByZWZpeCArICcuJykubGVuZ3RoKTtcbn1cblxuY29uc3QgU0VDT05EID0gMTtcbmNvbnN0IE1JTlVURSA9IFNFQ09ORCAqIDYwO1xuY29uc3QgSE9VUiA9IE1JTlVURSAqIDYwO1xuY29uc3QgREFZID0gSE9VUiAqIDI0O1xuY29uc3QgV0VFSyA9IERBWSAqIDc7XG5jb25zdCBNT05USCA9IERBWSAqICgzNjUgLyAxMik7IC8vIEFwcHJveGltYXRpb25cbmNvbnN0IFFVQVJURVIgPSBNT05USCAqIDM7XG5jb25zdCBZRUFSID0gREFZICogMzY1O1xuY29uc3QgVU5JVF9TRUNPTkRTID0ge1xuICBzZWNvbmQ6IFNFQ09ORCxcbiAgc2Vjb25kczogU0VDT05ELFxuICBtaW51dGU6IE1JTlVURSxcbiAgbWludXRlczogTUlOVVRFLFxuICBob3VyOiBIT1VSLFxuICBob3VyczogSE9VUixcbiAgZGF5OiBEQVksXG4gIGRheXM6IERBWSxcbiAgd2VlazogV0VFSyxcbiAgd2Vla3M6IFdFRUssXG4gIG1vbnRoOiBNT05USCxcbiAgbW9udGhzOiBNT05USCxcbiAgcXVhcnRlcjogUVVBUlRFUixcbiAgcXVhcnRlcnM6IFFVQVJURVIsXG4gIHllYXI6IFlFQVIsXG4gIHllYXJzOiBZRUFSXG59O1xuZnVuY3Rpb24gcmVzb2x2ZVJlbGF0aXZlVGltZVVuaXQoc2Vjb25kcykge1xuICBjb25zdCBhYnNWYWx1ZSA9IE1hdGguYWJzKHNlY29uZHMpO1xuICBpZiAoYWJzVmFsdWUgPCBNSU5VVEUpIHtcbiAgICByZXR1cm4gJ3NlY29uZCc7XG4gIH0gZWxzZSBpZiAoYWJzVmFsdWUgPCBIT1VSKSB7XG4gICAgcmV0dXJuICdtaW51dGUnO1xuICB9IGVsc2UgaWYgKGFic1ZhbHVlIDwgREFZKSB7XG4gICAgcmV0dXJuICdob3VyJztcbiAgfSBlbHNlIGlmIChhYnNWYWx1ZSA8IFdFRUspIHtcbiAgICByZXR1cm4gJ2RheSc7XG4gIH0gZWxzZSBpZiAoYWJzVmFsdWUgPCBNT05USCkge1xuICAgIHJldHVybiAnd2Vlayc7XG4gIH0gZWxzZSBpZiAoYWJzVmFsdWUgPCBZRUFSKSB7XG4gICAgcmV0dXJuICdtb250aCc7XG4gIH1cbiAgcmV0dXJuICd5ZWFyJztcbn1cbmZ1bmN0aW9uIGNhbGN1bGF0ZVJlbGF0aXZlVGltZVZhbHVlKHNlY29uZHMsIHVuaXQpIHtcbiAgLy8gV2UgaGF2ZSB0byByb3VuZCB0aGUgcmVzdWx0aW5nIHZhbHVlcywgYXMgYEludGwuUmVsYXRpdmVUaW1lRm9ybWF0YFxuICAvLyB3aWxsIGluY2x1ZGUgZnJhY3Rpb25zIGxpa2UgJzIuMSBob3VycyBhZ28nLlxuICByZXR1cm4gTWF0aC5yb3VuZChzZWNvbmRzIC8gVU5JVF9TRUNPTkRTW3VuaXRdKTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUZvcm1hdHRlcihwcm9wcykge1xuICBjb25zdCB7XG4gICAgX2NhY2hlOiBjYWNoZSA9IGNyZWF0ZUNhY2hlKCksXG4gICAgX2Zvcm1hdHRlcnM6IGZvcm1hdHRlcnMgPSBjcmVhdGVJbnRsRm9ybWF0dGVycyhjYWNoZSksXG4gICAgZm9ybWF0cyxcbiAgICBsb2NhbGUsXG4gICAgb25FcnJvciA9IGRlZmF1bHRPbkVycm9yLFxuICAgIHRpbWVab25lOiBnbG9iYWxUaW1lWm9uZVxuICB9ID0gcHJvcHM7XG4gIGZ1bmN0aW9uIGFwcGx5VGltZVpvbmUob3B0aW9ucykge1xuICAgIGlmICghb3B0aW9ucz8udGltZVpvbmUpIHtcbiAgICAgIGlmIChnbG9iYWxUaW1lWm9uZSkge1xuICAgICAgICBvcHRpb25zID0ge1xuICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgdGltZVpvbmU6IGdsb2JhbFRpbWVab25lXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvbkVycm9yKG5ldyBJbnRsRXJyb3IoSW50bEVycm9yQ29kZS5FTlZJUk9OTUVOVF9GQUxMQkFDSywgYFRoZSBcXGB0aW1lWm9uZVxcYCBwYXJhbWV0ZXIgd2Fzbid0IHByb3ZpZGVkIGFuZCB0aGVyZSBpcyBubyBnbG9iYWwgZGVmYXVsdCBjb25maWd1cmVkLiBDb25zaWRlciBhZGRpbmcgYSBnbG9iYWwgZGVmYXVsdCB0byBhdm9pZCBtYXJrdXAgbWlzbWF0Y2hlcyBjYXVzZWQgYnkgZW52aXJvbm1lbnQgZGlmZmVyZW5jZXMuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dC1pbnRsLmRldi9kb2NzL2NvbmZpZ3VyYXRpb24jdGltZS16b25lYCApKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cbiAgZnVuY3Rpb24gcmVzb2x2ZUZvcm1hdE9yT3B0aW9ucyh0eXBlRm9ybWF0cywgZm9ybWF0T3JPcHRpb25zLCBvdmVycmlkZXMpIHtcbiAgICBsZXQgb3B0aW9ucztcbiAgICBpZiAodHlwZW9mIGZvcm1hdE9yT3B0aW9ucyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IGZvcm1hdE5hbWUgPSBmb3JtYXRPck9wdGlvbnM7XG4gICAgICBvcHRpb25zID0gdHlwZUZvcm1hdHM/Lltmb3JtYXROYW1lXTtcbiAgICAgIGlmICghb3B0aW9ucykge1xuICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBJbnRsRXJyb3IoSW50bEVycm9yQ29kZS5NSVNTSU5HX0ZPUk1BVCwgYEZvcm1hdCBcXGAke2Zvcm1hdE5hbWV9XFxgIGlzIG5vdCBhdmFpbGFibGUuYCApO1xuICAgICAgICBvbkVycm9yKGVycm9yKTtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG9wdGlvbnMgPSBmb3JtYXRPck9wdGlvbnM7XG4gICAgfVxuICAgIGlmIChvdmVycmlkZXMpIHtcbiAgICAgIG9wdGlvbnMgPSB7XG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIC4uLm92ZXJyaWRlc1xuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cbiAgZnVuY3Rpb24gZ2V0Rm9ybWF0dGVkVmFsdWUoZm9ybWF0T3JPcHRpb25zLCBvdmVycmlkZXMsIHR5cGVGb3JtYXRzLCBmb3JtYXR0ZXIsIGdldEZhbGxiYWNrKSB7XG4gICAgbGV0IG9wdGlvbnM7XG4gICAgdHJ5IHtcbiAgICAgIG9wdGlvbnMgPSByZXNvbHZlRm9ybWF0T3JPcHRpb25zKHR5cGVGb3JtYXRzLCBmb3JtYXRPck9wdGlvbnMsIG92ZXJyaWRlcyk7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gZ2V0RmFsbGJhY2soKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBmb3JtYXR0ZXIob3B0aW9ucyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIG9uRXJyb3IobmV3IEludGxFcnJvcihJbnRsRXJyb3JDb2RlLkZPUk1BVFRJTkdfRVJST1IsIGVycm9yLm1lc3NhZ2UpKTtcbiAgICAgIHJldHVybiBnZXRGYWxsYmFjaygpO1xuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBkYXRlVGltZSh2YWx1ZSwgZm9ybWF0T3JPcHRpb25zLCBvdmVycmlkZXMpIHtcbiAgICByZXR1cm4gZ2V0Rm9ybWF0dGVkVmFsdWUoZm9ybWF0T3JPcHRpb25zLCBvdmVycmlkZXMsIGZvcm1hdHM/LmRhdGVUaW1lLCBvcHRpb25zID0+IHtcbiAgICAgIG9wdGlvbnMgPSBhcHBseVRpbWVab25lKG9wdGlvbnMpO1xuICAgICAgcmV0dXJuIGZvcm1hdHRlcnMuZ2V0RGF0ZVRpbWVGb3JtYXQobG9jYWxlLCBvcHRpb25zKS5mb3JtYXQodmFsdWUpO1xuICAgIH0sICgpID0+IFN0cmluZyh2YWx1ZSkpO1xuICB9XG4gIGZ1bmN0aW9uIGRhdGVUaW1lUmFuZ2Uoc3RhcnQsIGVuZCwgZm9ybWF0T3JPcHRpb25zLCBvdmVycmlkZXMpIHtcbiAgICByZXR1cm4gZ2V0Rm9ybWF0dGVkVmFsdWUoZm9ybWF0T3JPcHRpb25zLCBvdmVycmlkZXMsIGZvcm1hdHM/LmRhdGVUaW1lLCBvcHRpb25zID0+IHtcbiAgICAgIG9wdGlvbnMgPSBhcHBseVRpbWVab25lKG9wdGlvbnMpO1xuICAgICAgcmV0dXJuIGZvcm1hdHRlcnMuZ2V0RGF0ZVRpbWVGb3JtYXQobG9jYWxlLCBvcHRpb25zKS5mb3JtYXRSYW5nZShzdGFydCwgZW5kKTtcbiAgICB9LCAoKSA9PiBbZGF0ZVRpbWUoc3RhcnQpLCBkYXRlVGltZShlbmQpXS5qb2luKCfigInigJPigIknKSk7XG4gIH1cbiAgZnVuY3Rpb24gbnVtYmVyKHZhbHVlLCBmb3JtYXRPck9wdGlvbnMsIG92ZXJyaWRlcykge1xuICAgIHJldHVybiBnZXRGb3JtYXR0ZWRWYWx1ZShmb3JtYXRPck9wdGlvbnMsIG92ZXJyaWRlcywgZm9ybWF0cz8ubnVtYmVyLCBvcHRpb25zID0+IGZvcm1hdHRlcnMuZ2V0TnVtYmVyRm9ybWF0KGxvY2FsZSwgb3B0aW9ucykuZm9ybWF0KHZhbHVlKSwgKCkgPT4gU3RyaW5nKHZhbHVlKSk7XG4gIH1cbiAgZnVuY3Rpb24gZ2V0R2xvYmFsTm93KCkge1xuICAgIC8vIE9ubHkgcmVhZCB3aGVuIG5lY2Vzc2FyeSB0byBhdm9pZCB0cmlnZ2VyaW5nIGEgYGR5bmFtaWNJT2AgZXJyb3JcbiAgICAvLyB1bm5lY2Vzc2FyaWx5IChgbm93YCBpcyBvbmx5IG5lZWRlZCBmb3IgYGZvcm1hdC5yZWxhdGl2ZVRpbWVgKVxuICAgIGlmIChwcm9wcy5ub3cpIHtcbiAgICAgIHJldHVybiBwcm9wcy5ub3c7XG4gICAgfSBlbHNlIHtcbiAgICAgIG9uRXJyb3IobmV3IEludGxFcnJvcihJbnRsRXJyb3JDb2RlLkVOVklST05NRU5UX0ZBTExCQUNLLCBgVGhlIFxcYG5vd1xcYCBwYXJhbWV0ZXIgd2Fzbid0IHByb3ZpZGVkIHRvIFxcYHJlbGF0aXZlVGltZVxcYCBhbmQgdGhlcmUgaXMgbm8gZ2xvYmFsIGRlZmF1bHQgY29uZmlndXJlZCwgdGhlcmVmb3JlIHRoZSBjdXJyZW50IHRpbWUgd2lsbCBiZSB1c2VkIGFzIGEgZmFsbGJhY2suIFNlZSBodHRwczovL25leHQtaW50bC5kZXYvZG9jcy91c2FnZS9kYXRlcy10aW1lcyNyZWxhdGl2ZS10aW1lcy11c2Vub3dgICkpO1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKCk7XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIHJlbGF0aXZlVGltZShkYXRlLCBub3dPck9wdGlvbnMpIHtcbiAgICB0cnkge1xuICAgICAgbGV0IG5vd0RhdGUsIHVuaXQ7XG4gICAgICBjb25zdCBvcHRzID0ge307XG4gICAgICBpZiAobm93T3JPcHRpb25zIGluc3RhbmNlb2YgRGF0ZSB8fCB0eXBlb2Ygbm93T3JPcHRpb25zID09PSAnbnVtYmVyJykge1xuICAgICAgICBub3dEYXRlID0gbmV3IERhdGUobm93T3JPcHRpb25zKTtcbiAgICAgIH0gZWxzZSBpZiAobm93T3JPcHRpb25zKSB7XG4gICAgICAgIGlmIChub3dPck9wdGlvbnMubm93ICE9IG51bGwpIHtcbiAgICAgICAgICBub3dEYXRlID0gbmV3IERhdGUobm93T3JPcHRpb25zLm5vdyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbm93RGF0ZSA9IGdldEdsb2JhbE5vdygpO1xuICAgICAgICB9XG4gICAgICAgIHVuaXQgPSBub3dPck9wdGlvbnMudW5pdDtcbiAgICAgICAgb3B0cy5zdHlsZSA9IG5vd09yT3B0aW9ucy5zdHlsZTtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciAtLSBUeXBlcyBhcmUgc2xpZ2h0bHkgb3V0ZGF0ZWRcbiAgICAgICAgb3B0cy5udW1iZXJpbmdTeXN0ZW0gPSBub3dPck9wdGlvbnMubnVtYmVyaW5nU3lzdGVtO1xuICAgICAgfVxuICAgICAgaWYgKCFub3dEYXRlKSB7XG4gICAgICAgIG5vd0RhdGUgPSBnZXRHbG9iYWxOb3coKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGVEYXRlID0gbmV3IERhdGUoZGF0ZSk7XG4gICAgICBjb25zdCBzZWNvbmRzID0gKGRhdGVEYXRlLmdldFRpbWUoKSAtIG5vd0RhdGUuZ2V0VGltZSgpKSAvIDEwMDA7XG4gICAgICBpZiAoIXVuaXQpIHtcbiAgICAgICAgdW5pdCA9IHJlc29sdmVSZWxhdGl2ZVRpbWVVbml0KHNlY29uZHMpO1xuICAgICAgfVxuXG4gICAgICAvLyBgbnVtZXJpYzogJ2F1dG8nYCBjYW4gdGhlb3JldGljYWxseSBwcm9kdWNlIG91dHB1dCBsaWtlIFwieWVzdGVyZGF5XCIsXG4gICAgICAvLyBidXQgaXQgb25seSB3b3JrcyB3aXRoIGludGVnZXJzLiBFLmcuIC0xIGRheSB3aWxsIHByb2R1Y2UgXCJ5ZXN0ZXJkYXlcIixcbiAgICAgIC8vIGJ1dCAtMS4xIGRheXMgd2lsbCBwcm9kdWNlIFwiLTEuMSBkYXlzXCIuIFJvdW5kaW5nIGJlZm9yZSBmb3JtYXR0aW5nIGlzXG4gICAgICAvLyBub3QgZGVzaXJlZCwgYXMgdGhlIGdpdmVuIGRhdGVzIG1pZ2h0IGNyb3NzIGEgdGhyZXNob2xkIHdlcmUgdGhlXG4gICAgICAvLyBvdXRwdXQgaXNuJ3QgY29ycmVjdCBhbnltb3JlLiBFeGFtcGxlOiAyMDI0LTAxLTA4VDIzOjAwOjAwLjAwMFogYW5kXG4gICAgICAvLyAyMDI0LTAxLTA4VDAxOjAwOjAwLjAwMFogd291bGQgcHJvZHVjZSBcInllc3RlcmRheVwiLCB3aGljaCBpcyBub3QgdGhlXG4gICAgICAvLyBjYXNlLiBCeSB1c2luZyBgYWx3YXlzYCB3ZSBjYW4gZW5zdXJlIGNvcnJlY3Qgb3V0cHV0LiBUaGUgb25seSBleGNlcHRpb25cbiAgICAgIC8vIGlzIHRoZSBmb3JtYXR0aW5nIG9mIHRpbWVzIDwxIHNlY29uZCBhcyBcIm5vd1wiLlxuICAgICAgb3B0cy5udW1lcmljID0gdW5pdCA9PT0gJ3NlY29uZCcgPyAnYXV0bycgOiAnYWx3YXlzJztcbiAgICAgIGNvbnN0IHZhbHVlID0gY2FsY3VsYXRlUmVsYXRpdmVUaW1lVmFsdWUoc2Vjb25kcywgdW5pdCk7XG4gICAgICByZXR1cm4gZm9ybWF0dGVycy5nZXRSZWxhdGl2ZVRpbWVGb3JtYXQobG9jYWxlLCBvcHRzKS5mb3JtYXQodmFsdWUsIHVuaXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBvbkVycm9yKG5ldyBJbnRsRXJyb3IoSW50bEVycm9yQ29kZS5GT1JNQVRUSU5HX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICByZXR1cm4gU3RyaW5nKGRhdGUpO1xuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBsaXN0KHZhbHVlLCBmb3JtYXRPck9wdGlvbnMsIG92ZXJyaWRlcykge1xuICAgIGNvbnN0IHNlcmlhbGl6ZWRWYWx1ZSA9IFtdO1xuICAgIGNvbnN0IHJpY2hWYWx1ZXMgPSBuZXcgTWFwKCk7XG5cbiAgICAvLyBgZm9ybWF0VG9QYXJ0c2Agb25seSBhY2NlcHRzIHN0cmluZ3MsIHRoZXJlZm9yZSB3ZSBoYXZlIHRvIHRlbXBvcmFyaWx5XG4gICAgLy8gcmVwbGFjZSBSZWFjdCBlbGVtZW50cyB3aXRoIGEgcGxhY2Vob2xkZXIgSUQgdGhhdCBjYW4gYmUgdXNlZCB0byByZXRyaWV2ZVxuICAgIC8vIHRoZSBvcmlnaW5hbCB2YWx1ZSBhZnRlcndhcmRzLlxuICAgIGxldCBpbmRleCA9IDA7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHZhbHVlKSB7XG4gICAgICBsZXQgc2VyaWFsaXplZEl0ZW07XG4gICAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHNlcmlhbGl6ZWRJdGVtID0gU3RyaW5nKGluZGV4KTtcbiAgICAgICAgcmljaFZhbHVlcy5zZXQoc2VyaWFsaXplZEl0ZW0sIGl0ZW0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2VyaWFsaXplZEl0ZW0gPSBTdHJpbmcoaXRlbSk7XG4gICAgICB9XG4gICAgICBzZXJpYWxpemVkVmFsdWUucHVzaChzZXJpYWxpemVkSXRlbSk7XG4gICAgICBpbmRleCsrO1xuICAgIH1cbiAgICByZXR1cm4gZ2V0Rm9ybWF0dGVkVmFsdWUoZm9ybWF0T3JPcHRpb25zLCBvdmVycmlkZXMsIGZvcm1hdHM/Lmxpc3QsXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciAtLSBgcmljaFZhbHVlcy5zaXplYCBpcyB1c2VkIHRvIGRldGVybWluZSB0aGUgcmV0dXJuIHR5cGUsIGJ1dCBUeXBlU2NyaXB0IGNhbid0IGluZmVyIHRoZSBtZWFuaW5nIG9mIHRoaXMgY29ycmVjdGx5XG4gICAgb3B0aW9ucyA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBmb3JtYXR0ZXJzLmdldExpc3RGb3JtYXQobG9jYWxlLCBvcHRpb25zKS5mb3JtYXRUb1BhcnRzKHNlcmlhbGl6ZWRWYWx1ZSkubWFwKHBhcnQgPT4gcGFydC50eXBlID09PSAnbGl0ZXJhbCcgPyBwYXJ0LnZhbHVlIDogcmljaFZhbHVlcy5nZXQocGFydC52YWx1ZSkgfHwgcGFydC52YWx1ZSk7XG4gICAgICBpZiAocmljaFZhbHVlcy5zaXplID4gMCkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5qb2luKCcnKTtcbiAgICAgIH1cbiAgICB9LCAoKSA9PiBTdHJpbmcodmFsdWUpKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGRhdGVUaW1lLFxuICAgIG51bWJlcixcbiAgICByZWxhdGl2ZVRpbWUsXG4gICAgbGlzdCxcbiAgICBkYXRlVGltZVJhbmdlXG4gIH07XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlTWVzc2FnZXNTZWdtZW50KG1lc3NhZ2VzLCBpbnZhbGlkS2V5TGFiZWxzLCBwYXJlbnRQYXRoKSB7XG4gIE9iamVjdC5lbnRyaWVzKG1lc3NhZ2VzKS5mb3JFYWNoKChba2V5LCBtZXNzYWdlT3JNZXNzYWdlc10pID0+IHtcbiAgICBpZiAoa2V5LmluY2x1ZGVzKCcuJykpIHtcbiAgICAgIGxldCBrZXlMYWJlbCA9IGtleTtcbiAgICAgIGlmIChwYXJlbnRQYXRoKSBrZXlMYWJlbCArPSBgIChhdCAke3BhcmVudFBhdGh9KWA7XG4gICAgICBpbnZhbGlkS2V5TGFiZWxzLnB1c2goa2V5TGFiZWwpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXG4gICAgaWYgKG1lc3NhZ2VPck1lc3NhZ2VzICE9IG51bGwgJiYgdHlwZW9mIG1lc3NhZ2VPck1lc3NhZ2VzID09PSAnb2JqZWN0Jykge1xuICAgICAgdmFsaWRhdGVNZXNzYWdlc1NlZ21lbnQobWVzc2FnZU9yTWVzc2FnZXMsIGludmFsaWRLZXlMYWJlbHMsIGpvaW5QYXRoKHBhcmVudFBhdGgsIGtleSkpO1xuICAgIH1cbiAgfSk7XG59XG5mdW5jdGlvbiB2YWxpZGF0ZU1lc3NhZ2VzKG1lc3NhZ2VzLCBvbkVycm9yKSB7XG4gIGNvbnN0IGludmFsaWRLZXlMYWJlbHMgPSBbXTtcbiAgdmFsaWRhdGVNZXNzYWdlc1NlZ21lbnQobWVzc2FnZXMsIGludmFsaWRLZXlMYWJlbHMpO1xuICBpZiAoaW52YWxpZEtleUxhYmVscy5sZW5ndGggPiAwKSB7XG4gICAgb25FcnJvcihuZXcgSW50bEVycm9yKEludGxFcnJvckNvZGUuSU5WQUxJRF9LRVksIGBOYW1lc3BhY2Uga2V5cyBjYW5ub3QgY29udGFpbiB0aGUgY2hhcmFjdGVyIFwiLlwiIGFzIHRoaXMgaXMgdXNlZCB0byBleHByZXNzIG5lc3RpbmcuIFBsZWFzZSByZW1vdmUgaXQgb3IgcmVwbGFjZSBpdCB3aXRoIGFub3RoZXIgY2hhcmFjdGVyLlxuXG5JbnZhbGlkICR7aW52YWxpZEtleUxhYmVscy5sZW5ndGggPT09IDEgPyAna2V5JyA6ICdrZXlzJ306ICR7aW52YWxpZEtleUxhYmVscy5qb2luKCcsICcpfVxuXG5JZiB5b3UncmUgbWlncmF0aW5nIGZyb20gYSBmbGF0IHN0cnVjdHVyZSwgeW91IGNhbiBjb252ZXJ0IHlvdXIgbWVzc2FnZXMgYXMgZm9sbG93czpcblxuaW1wb3J0IHtzZXR9IGZyb20gXCJsb2Rhc2hcIjtcblxuY29uc3QgaW5wdXQgPSB7XG4gIFwib25lLm9uZVwiOiBcIjEuMVwiLFxuICBcIm9uZS50d29cIjogXCIxLjJcIixcbiAgXCJ0d28ub25lLm9uZVwiOiBcIjIuMS4xXCJcbn07XG5cbmNvbnN0IG91dHB1dCA9IE9iamVjdC5lbnRyaWVzKGlucHV0KS5yZWR1Y2UoXG4gIChhY2MsIFtrZXksIHZhbHVlXSkgPT4gc2V0KGFjYywga2V5LCB2YWx1ZSksXG4gIHt9XG4pO1xuXG4vLyBPdXRwdXQ6XG4vL1xuLy8ge1xuLy8gICBcIm9uZVwiOiB7XG4vLyAgICAgXCJvbmVcIjogXCIxLjFcIixcbi8vICAgICBcInR3b1wiOiBcIjEuMlwiXG4vLyAgIH0sXG4vLyAgIFwidHdvXCI6IHtcbi8vICAgICBcIm9uZVwiOiB7XG4vLyAgICAgICBcIm9uZVwiOiBcIjIuMS4xXCJcbi8vICAgICB9XG4vLyAgIH1cbi8vIH1cbmAgKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBFbmhhbmNlcyB0aGUgaW5jb21pbmcgcHJvcHMgd2l0aCBkZWZhdWx0cy5cbiAqL1xuZnVuY3Rpb24gaW5pdGlhbGl6ZUNvbmZpZyh7XG4gIGZvcm1hdHMsXG4gIGdldE1lc3NhZ2VGYWxsYmFjayxcbiAgbWVzc2FnZXMsXG4gIG9uRXJyb3IsXG4gIC4uLnJlc3Rcbn0pIHtcbiAgY29uc3QgZmluYWxPbkVycm9yID0gb25FcnJvciB8fCBkZWZhdWx0T25FcnJvcjtcbiAgY29uc3QgZmluYWxHZXRNZXNzYWdlRmFsbGJhY2sgPSBnZXRNZXNzYWdlRmFsbGJhY2sgfHwgZGVmYXVsdEdldE1lc3NhZ2VGYWxsYmFjaztcbiAge1xuICAgIGlmIChtZXNzYWdlcykge1xuICAgICAgdmFsaWRhdGVNZXNzYWdlcyhtZXNzYWdlcywgZmluYWxPbkVycm9yKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHtcbiAgICAuLi5yZXN0LFxuICAgIGZvcm1hdHM6IGZvcm1hdHMgfHwgdW5kZWZpbmVkLFxuICAgIG1lc3NhZ2VzOiBtZXNzYWdlcyB8fCB1bmRlZmluZWQsXG4gICAgb25FcnJvcjogZmluYWxPbkVycm9yLFxuICAgIGdldE1lc3NhZ2VGYWxsYmFjazogZmluYWxHZXRNZXNzYWdlRmFsbGJhY2tcbiAgfTtcbn1cblxuZXhwb3J0IHsgY3JlYXRlQmFzZVRyYW5zbGF0b3IgYXMgYSwgZGVmYXVsdE9uRXJyb3IgYXMgYiwgY3JlYXRlRm9ybWF0dGVyIGFzIGMsIGRlZmF1bHRHZXRNZXNzYWdlRmFsbGJhY2sgYXMgZCwgaW5pdGlhbGl6ZUNvbmZpZyBhcyBpLCByZXNvbHZlTmFtZXNwYWNlIGFzIHIgfTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/use-intl@4.9.0_react@19.2.4/node_modules/use-intl/dist/esm/development/initializeConfig-B5qJiBCm.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/use-intl@4.9.0_react@19.2.4/node_modules/use-intl/dist/esm/development/react.js":
|
||
/*!************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/use-intl@4.9.0_react@19.2.4/node_modules/use-intl/dist/esm/development/react.js ***!
|
||
\************************************************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ IntlProvider: () => (/* binding */ IntlProvider),\n/* harmony export */ _useExtracted: () => (/* binding */ useExtracted),\n/* harmony export */ useFormatter: () => (/* binding */ useFormatter),\n/* harmony export */ useLocale: () => (/* binding */ useLocale),\n/* harmony export */ useMessages: () => (/* binding */ useMessages),\n/* harmony export */ useNow: () => (/* binding */ useNow),\n/* harmony export */ useTimeZone: () => (/* binding */ useTimeZone),\n/* harmony export */ useTranslations: () => (/* binding */ useTranslations)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./formatters-r4aAmsMP.js */ \"(app-pages-browser)/./node_modules/.pnpm/use-intl@4.9.0_react@19.2.4/node_modules/use-intl/dist/esm/development/formatters-r4aAmsMP.js\");\n/* harmony import */ var _initializeConfig_B5qJiBCm_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./initializeConfig-B5qJiBCm.js */ \"(app-pages-browser)/./node_modules/.pnpm/use-intl@4.9.0_react@19.2.4/node_modules/use-intl/dist/esm/development/initializeConfig-B5qJiBCm.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/compiled/react/jsx-runtime.js\");\n\n\n\n\n\n\n\nconst IntlContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(undefined);\n\nfunction IntlProvider({\n children,\n formats,\n getMessageFallback,\n locale,\n messages,\n now,\n onError,\n timeZone\n}) {\n const prevContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(IntlContext);\n\n // The formatter cache is released when the locale changes. For\n // long-running apps with a persistent `IntlProvider` at the root,\n // this can reduce the memory footprint (e.g. in React Native).\n const cache = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\n return prevContext?.cache || (0,_formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_2__.b)();\n }, [locale, prevContext?.cache]);\n const formatters = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => prevContext?.formatters || (0,_formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_2__.c)(cache), [cache, prevContext?.formatters]);\n\n // Memoizing this value helps to avoid triggering a re-render of all\n // context consumers in case the configuration didn't change. However,\n // if some of the non-primitive values change, a re-render will still\n // be triggered. Note that there's no need to put `memo` on `IntlProvider`\n // itself, because the `children` typically change on every render.\n // There's some burden on the consumer side if it's important to reduce\n // re-renders, put that's how React works.\n // See: https://blog.isquaredsoftware.com/2020/05/blogged-answers-a-mostly-complete-guide-to-react-rendering-behavior/#context-updates-and-render-optimizations\n const value = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => ({\n ...(0,_initializeConfig_B5qJiBCm_js__WEBPACK_IMPORTED_MODULE_3__.i)({\n locale,\n // (required by provider)\n formats: formats === undefined ? prevContext?.formats : formats,\n getMessageFallback: getMessageFallback || prevContext?.getMessageFallback,\n messages: messages === undefined ? prevContext?.messages : messages,\n now: now || prevContext?.now,\n onError: onError || prevContext?.onError,\n timeZone: timeZone || prevContext?.timeZone\n }),\n formatters,\n cache\n }), [cache, formats, formatters, getMessageFallback, locale, messages, now, onError, prevContext, timeZone]);\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(IntlContext.Provider, {\n value: value,\n children: children\n });\n}\n\nfunction useIntlContext() {\n const context = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(IntlContext);\n if (!context) {\n throw new Error('No intl context found. Have you configured the provider? See https://next-intl.dev/docs/usage/configuration#server-client-components' );\n }\n return context;\n}\n\nlet hasWarnedForMissingTimezone = false;\nconst isServer = typeof window === 'undefined';\nfunction useTranslationsImpl(allMessagesPrefixed, namespacePrefixed, namespacePrefix) {\n const {\n cache,\n formats: globalFormats,\n formatters,\n getMessageFallback,\n locale,\n onError,\n timeZone\n } = useIntlContext();\n\n // The `namespacePrefix` is part of the type system.\n // See the comment in the hook invocation.\n const allMessages = allMessagesPrefixed[namespacePrefix];\n const namespace = (0,_initializeConfig_B5qJiBCm_js__WEBPACK_IMPORTED_MODULE_3__.r)(namespacePrefixed, namespacePrefix);\n if (!timeZone && !hasWarnedForMissingTimezone && isServer) {\n // eslint-disable-next-line react-compiler/react-compiler\n hasWarnedForMissingTimezone = true;\n onError(new _formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_2__.I(_formatters_r4aAmsMP_js__WEBPACK_IMPORTED_MODULE_2__.a.ENVIRONMENT_FALLBACK, `There is no \\`timeZone\\` configured, this can lead to markup mismatches caused by environment differences. Consider adding a global default: https://next-intl.dev/docs/configuration#time-zone` ));\n }\n const translate = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => (0,_initializeConfig_B5qJiBCm_js__WEBPACK_IMPORTED_MODULE_3__.a)({\n cache,\n formatters,\n getMessageFallback,\n messages: allMessages,\n namespace,\n onError,\n formats: globalFormats,\n locale,\n timeZone\n }), [cache, formatters, getMessageFallback, allMessages, namespace, onError, globalFormats, locale, timeZone]);\n return translate;\n}\n\n/**\n * Translates messages from the given namespace by using the ICU syntax.\n * See https://formatjs.io/docs/core-concepts/icu-syntax.\n *\n * If no namespace is provided, all available messages are returned.\n * The namespace can also indicate nesting by using a dot\n * (e.g. `namespace.Component`).\n */\nfunction useTranslations(namespace) {\n const context = useIntlContext();\n const messages = context.messages;\n\n // We have to wrap the actual hook so the type inference for the optional\n // namespace works correctly. See https://stackoverflow.com/a/71529575/343045\n // The prefix (\"!\") is arbitrary.\n // @ts-expect-error Use the explicit annotation instead\n return useTranslationsImpl({\n '!': messages\n },\n // @ts-expect-error\n namespace ? `!.${namespace}` : '!', '!');\n}\n\nfunction useLocale() {\n return useIntlContext().locale;\n}\n\nfunction getNow() {\n return new Date();\n}\n\n/**\n * @see https://next-intl.dev/docs/usage/dates-times#relative-times-usenow\n */\nfunction useNow(options) {\n const updateInterval = options?.updateInterval;\n const {\n now: globalNow\n } = useIntlContext();\n const [now, setNow] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(globalNow || getNow());\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n if (!updateInterval) return;\n const intervalId = setInterval(() => {\n setNow(getNow());\n }, updateInterval);\n return () => {\n clearInterval(intervalId);\n };\n }, [globalNow, updateInterval]);\n return updateInterval == null && globalNow ? globalNow : now;\n}\n\nfunction useTimeZone() {\n return useIntlContext().timeZone;\n}\n\nfunction useMessages() {\n const context = useIntlContext();\n if (!context.messages) {\n throw new Error('No messages found. Have you configured them correctly? See https://next-intl.dev/docs/configuration#messages' );\n }\n return context.messages;\n}\n\nfunction useFormatter() {\n const {\n formats,\n formatters,\n locale,\n now: globalNow,\n onError,\n timeZone\n } = useIntlContext();\n return (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => (0,_initializeConfig_B5qJiBCm_js__WEBPACK_IMPORTED_MODULE_3__.c)({\n formats,\n locale,\n now: globalNow,\n onError,\n timeZone,\n _formatters: formatters\n }), [formats, formatters, globalNow, locale, onError, timeZone]);\n}\n\nfunction getArgs(messageOrParams, ...rest) {\n let message, values, formats;\n if (typeof messageOrParams === 'string') {\n message = messageOrParams;\n values = rest[0];\n formats = rest[1];\n } else {\n message = messageOrParams.message;\n values = messageOrParams.values;\n formats = messageOrParams.formats;\n // `description` is is not used at runtime\n }\n // @ts-expect-error -- Secret fallback parameter\n return [undefined,\n // Always use fallback if not compiled\n values, formats, message ];\n}\n\n// Note: This API is usually compiled into `useTranslations`,\n// but there is some fallback handling which allows this hook\n// to still work when not being compiled.\n//\n// This is relevant for:\n// - Isolated environments like tests, Storybook, etc.\n// - Fallbacks in case an extracted message is not yet available\nfunction useExtracted(namespace) {\n const t = useTranslations(namespace);\n function translateFn(...params) {\n // @ts-expect-error -- Passing `undefined` as an ID is secretly allowed here\n return t(...getArgs(...params));\n }\n translateFn.rich = (...params) =>\n // @ts-expect-error -- Passing `undefined` as an ID is secretly allowed here\n t.rich(...getArgs(...params));\n translateFn.markup = (...params) =>\n // @ts-expect-error -- Passing `undefined` as an ID is secretly allowed here\n t.markup(...getArgs(...params));\n translateFn.has = function translateHasFn(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n message) {\n // Not really something better we can do here\n return true;\n };\n return translateFn;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS91c2UtaW50bEA0LjkuMF9yZWFjdEAxOS4yLjQvbm9kZV9tb2R1bGVzL3VzZS1pbnRsL2Rpc3QvZXNtL2RldmVsb3BtZW50L3JlYWN0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFnRjtBQUMyQztBQUNvQjtBQUN2Rzs7OztBQUl4QyxpQ0FBaUMsb0RBQWE7O0FBRTlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxzQkFBc0IsaURBQVU7O0FBRWhDO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQiw4Q0FBTztBQUN2QixpQ0FBaUMsMERBQVc7QUFDNUMsR0FBRztBQUNILHFCQUFxQiw4Q0FBTyxrQ0FBa0MsMERBQW9COztBQUVsRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLDhDQUFPO0FBQ3ZCLE9BQU8sZ0VBQWdCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSCxzQkFBc0Isc0RBQUc7QUFDekI7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBLGtCQUFrQixpREFBVTtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOztBQUVKO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixnRUFBZ0I7QUFDcEM7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLHNEQUFTLENBQUMsc0RBQWE7QUFDdkM7QUFDQSxvQkFBb0IsOENBQU8sT0FBTyxnRUFBb0I7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxtQkFBbUIsVUFBVTtBQUM3Qjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLHdCQUF3QiwrQ0FBUTtBQUNoQyxFQUFFLGdEQUFTO0FBQ1g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLFNBQVMsOENBQU8sT0FBTyxnRUFBZTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFbUkiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vdXNlLWludGxANC45LjBfcmVhY3RAMTkuMi40L25vZGVfbW9kdWxlcy91c2UtaW50bC9kaXN0L2VzbS9kZXZlbG9wbWVudC9yZWFjdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VNZW1vLCB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYiBhcyBjcmVhdGVDYWNoZSwgYyBhcyBjcmVhdGVJbnRsRm9ybWF0dGVycywgSSBhcyBJbnRsRXJyb3IsIGEgYXMgSW50bEVycm9yQ29kZSB9IGZyb20gJy4vZm9ybWF0dGVycy1yNGFBbXNNUC5qcyc7XG5pbXBvcnQgeyBpIGFzIGluaXRpYWxpemVDb25maWcsIHIgYXMgcmVzb2x2ZU5hbWVzcGFjZSwgYSBhcyBjcmVhdGVCYXNlVHJhbnNsYXRvciwgYyBhcyBjcmVhdGVGb3JtYXR0ZXIgfSBmcm9tICcuL2luaXRpYWxpemVDb25maWctQjVxSmlCQ20uanMnO1xuaW1wb3J0IHsganN4IH0gZnJvbSAncmVhY3QvanN4LXJ1bnRpbWUnO1xuXG5cblxuY29uc3QgSW50bENvbnRleHQgPSAvKiNfX1BVUkVfXyovY3JlYXRlQ29udGV4dCh1bmRlZmluZWQpO1xuXG5mdW5jdGlvbiBJbnRsUHJvdmlkZXIoe1xuICBjaGlsZHJlbixcbiAgZm9ybWF0cyxcbiAgZ2V0TWVzc2FnZUZhbGxiYWNrLFxuICBsb2NhbGUsXG4gIG1lc3NhZ2VzLFxuICBub3csXG4gIG9uRXJyb3IsXG4gIHRpbWVab25lXG59KSB7XG4gIGNvbnN0IHByZXZDb250ZXh0ID0gdXNlQ29udGV4dChJbnRsQ29udGV4dCk7XG5cbiAgLy8gVGhlIGZvcm1hdHRlciBjYWNoZSBpcyByZWxlYXNlZCB3aGVuIHRoZSBsb2NhbGUgY2hhbmdlcy4gRm9yXG4gIC8vIGxvbmctcnVubmluZyBhcHBzIHdpdGggYSBwZXJzaXN0ZW50IGBJbnRsUHJvdmlkZXJgIGF0IHRoZSByb290LFxuICAvLyB0aGlzIGNhbiByZWR1Y2UgdGhlIG1lbW9yeSBmb290cHJpbnQgKGUuZy4gaW4gUmVhY3QgTmF0aXZlKS5cbiAgY29uc3QgY2FjaGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gcHJldkNvbnRleHQ/LmNhY2hlIHx8IGNyZWF0ZUNhY2hlKCk7XG4gIH0sIFtsb2NhbGUsIHByZXZDb250ZXh0Py5jYWNoZV0pO1xuICBjb25zdCBmb3JtYXR0ZXJzID0gdXNlTWVtbygoKSA9PiBwcmV2Q29udGV4dD8uZm9ybWF0dGVycyB8fCBjcmVhdGVJbnRsRm9ybWF0dGVycyhjYWNoZSksIFtjYWNoZSwgcHJldkNvbnRleHQ/LmZvcm1hdHRlcnNdKTtcblxuICAvLyBNZW1vaXppbmcgdGhpcyB2YWx1ZSBoZWxwcyB0byBhdm9pZCB0cmlnZ2VyaW5nIGEgcmUtcmVuZGVyIG9mIGFsbFxuICAvLyBjb250ZXh0IGNvbnN1bWVycyBpbiBjYXNlIHRoZSBjb25maWd1cmF0aW9uIGRpZG4ndCBjaGFuZ2UuIEhvd2V2ZXIsXG4gIC8vIGlmIHNvbWUgb2YgdGhlIG5vbi1wcmltaXRpdmUgdmFsdWVzIGNoYW5nZSwgYSByZS1yZW5kZXIgd2lsbCBzdGlsbFxuICAvLyBiZSB0cmlnZ2VyZWQuIE5vdGUgdGhhdCB0aGVyZSdzIG5vIG5lZWQgdG8gcHV0IGBtZW1vYCBvbiBgSW50bFByb3ZpZGVyYFxuICAvLyBpdHNlbGYsIGJlY2F1c2UgdGhlIGBjaGlsZHJlbmAgdHlwaWNhbGx5IGNoYW5nZSBvbiBldmVyeSByZW5kZXIuXG4gIC8vIFRoZXJlJ3Mgc29tZSBidXJkZW4gb24gdGhlIGNvbnN1bWVyIHNpZGUgaWYgaXQncyBpbXBvcnRhbnQgdG8gcmVkdWNlXG4gIC8vIHJlLXJlbmRlcnMsIHB1dCB0aGF0J3MgaG93IFJlYWN0IHdvcmtzLlxuICAvLyBTZWU6IGh0dHBzOi8vYmxvZy5pc3F1YXJlZHNvZnR3YXJlLmNvbS8yMDIwLzA1L2Jsb2dnZWQtYW5zd2Vycy1hLW1vc3RseS1jb21wbGV0ZS1ndWlkZS10by1yZWFjdC1yZW5kZXJpbmctYmVoYXZpb3IvI2NvbnRleHQtdXBkYXRlcy1hbmQtcmVuZGVyLW9wdGltaXphdGlvbnNcbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKCgpID0+ICh7XG4gICAgLi4uaW5pdGlhbGl6ZUNvbmZpZyh7XG4gICAgICBsb2NhbGUsXG4gICAgICAvLyAocmVxdWlyZWQgYnkgcHJvdmlkZXIpXG4gICAgICBmb3JtYXRzOiBmb3JtYXRzID09PSB1bmRlZmluZWQgPyBwcmV2Q29udGV4dD8uZm9ybWF0cyA6IGZvcm1hdHMsXG4gICAgICBnZXRNZXNzYWdlRmFsbGJhY2s6IGdldE1lc3NhZ2VGYWxsYmFjayB8fCBwcmV2Q29udGV4dD8uZ2V0TWVzc2FnZUZhbGxiYWNrLFxuICAgICAgbWVzc2FnZXM6IG1lc3NhZ2VzID09PSB1bmRlZmluZWQgPyBwcmV2Q29udGV4dD8ubWVzc2FnZXMgOiBtZXNzYWdlcyxcbiAgICAgIG5vdzogbm93IHx8IHByZXZDb250ZXh0Py5ub3csXG4gICAgICBvbkVycm9yOiBvbkVycm9yIHx8IHByZXZDb250ZXh0Py5vbkVycm9yLFxuICAgICAgdGltZVpvbmU6IHRpbWVab25lIHx8IHByZXZDb250ZXh0Py50aW1lWm9uZVxuICAgIH0pLFxuICAgIGZvcm1hdHRlcnMsXG4gICAgY2FjaGVcbiAgfSksIFtjYWNoZSwgZm9ybWF0cywgZm9ybWF0dGVycywgZ2V0TWVzc2FnZUZhbGxiYWNrLCBsb2NhbGUsIG1lc3NhZ2VzLCBub3csIG9uRXJyb3IsIHByZXZDb250ZXh0LCB0aW1lWm9uZV0pO1xuICByZXR1cm4gLyojX19QVVJFX18qL2pzeChJbnRsQ29udGV4dC5Qcm92aWRlciwge1xuICAgIHZhbHVlOiB2YWx1ZSxcbiAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHVzZUludGxDb250ZXh0KCkge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChJbnRsQ29udGV4dCk7XG4gIGlmICghY29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcignTm8gaW50bCBjb250ZXh0IGZvdW5kLiBIYXZlIHlvdSBjb25maWd1cmVkIHRoZSBwcm92aWRlcj8gU2VlIGh0dHBzOi8vbmV4dC1pbnRsLmRldi9kb2NzL3VzYWdlL2NvbmZpZ3VyYXRpb24jc2VydmVyLWNsaWVudC1jb21wb25lbnRzJyApO1xuICB9XG4gIHJldHVybiBjb250ZXh0O1xufVxuXG5sZXQgaGFzV2FybmVkRm9yTWlzc2luZ1RpbWV6b25lID0gZmFsc2U7XG5jb25zdCBpc1NlcnZlciA9IHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnO1xuZnVuY3Rpb24gdXNlVHJhbnNsYXRpb25zSW1wbChhbGxNZXNzYWdlc1ByZWZpeGVkLCBuYW1lc3BhY2VQcmVmaXhlZCwgbmFtZXNwYWNlUHJlZml4KSB7XG4gIGNvbnN0IHtcbiAgICBjYWNoZSxcbiAgICBmb3JtYXRzOiBnbG9iYWxGb3JtYXRzLFxuICAgIGZvcm1hdHRlcnMsXG4gICAgZ2V0TWVzc2FnZUZhbGxiYWNrLFxuICAgIGxvY2FsZSxcbiAgICBvbkVycm9yLFxuICAgIHRpbWVab25lXG4gIH0gPSB1c2VJbnRsQ29udGV4dCgpO1xuXG4gIC8vIFRoZSBgbmFtZXNwYWNlUHJlZml4YCBpcyBwYXJ0IG9mIHRoZSB0eXBlIHN5c3RlbS5cbiAgLy8gU2VlIHRoZSBjb21tZW50IGluIHRoZSBob29rIGludm9jYXRpb24uXG4gIGNvbnN0IGFsbE1lc3NhZ2VzID0gYWxsTWVzc2FnZXNQcmVmaXhlZFtuYW1lc3BhY2VQcmVmaXhdO1xuICBjb25zdCBuYW1lc3BhY2UgPSByZXNvbHZlTmFtZXNwYWNlKG5hbWVzcGFjZVByZWZpeGVkLCBuYW1lc3BhY2VQcmVmaXgpO1xuICBpZiAoIXRpbWVab25lICYmICFoYXNXYXJuZWRGb3JNaXNzaW5nVGltZXpvbmUgJiYgaXNTZXJ2ZXIpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtY29tcGlsZXIvcmVhY3QtY29tcGlsZXJcbiAgICBoYXNXYXJuZWRGb3JNaXNzaW5nVGltZXpvbmUgPSB0cnVlO1xuICAgIG9uRXJyb3IobmV3IEludGxFcnJvcihJbnRsRXJyb3JDb2RlLkVOVklST05NRU5UX0ZBTExCQUNLLCBgVGhlcmUgaXMgbm8gXFxgdGltZVpvbmVcXGAgY29uZmlndXJlZCwgdGhpcyBjYW4gbGVhZCB0byBtYXJrdXAgbWlzbWF0Y2hlcyBjYXVzZWQgYnkgZW52aXJvbm1lbnQgZGlmZmVyZW5jZXMuIENvbnNpZGVyIGFkZGluZyBhIGdsb2JhbCBkZWZhdWx0OiBodHRwczovL25leHQtaW50bC5kZXYvZG9jcy9jb25maWd1cmF0aW9uI3RpbWUtem9uZWAgKSk7XG4gIH1cbiAgY29uc3QgdHJhbnNsYXRlID0gdXNlTWVtbygoKSA9PiBjcmVhdGVCYXNlVHJhbnNsYXRvcih7XG4gICAgY2FjaGUsXG4gICAgZm9ybWF0dGVycyxcbiAgICBnZXRNZXNzYWdlRmFsbGJhY2ssXG4gICAgbWVzc2FnZXM6IGFsbE1lc3NhZ2VzLFxuICAgIG5hbWVzcGFjZSxcbiAgICBvbkVycm9yLFxuICAgIGZvcm1hdHM6IGdsb2JhbEZvcm1hdHMsXG4gICAgbG9jYWxlLFxuICAgIHRpbWVab25lXG4gIH0pLCBbY2FjaGUsIGZvcm1hdHRlcnMsIGdldE1lc3NhZ2VGYWxsYmFjaywgYWxsTWVzc2FnZXMsIG5hbWVzcGFjZSwgb25FcnJvciwgZ2xvYmFsRm9ybWF0cywgbG9jYWxlLCB0aW1lWm9uZV0pO1xuICByZXR1cm4gdHJhbnNsYXRlO1xufVxuXG4vKipcbiAqIFRyYW5zbGF0ZXMgbWVzc2FnZXMgZnJvbSB0aGUgZ2l2ZW4gbmFtZXNwYWNlIGJ5IHVzaW5nIHRoZSBJQ1Ugc3ludGF4LlxuICogU2VlIGh0dHBzOi8vZm9ybWF0anMuaW8vZG9jcy9jb3JlLWNvbmNlcHRzL2ljdS1zeW50YXguXG4gKlxuICogSWYgbm8gbmFtZXNwYWNlIGlzIHByb3ZpZGVkLCBhbGwgYXZhaWxhYmxlIG1lc3NhZ2VzIGFyZSByZXR1cm5lZC5cbiAqIFRoZSBuYW1lc3BhY2UgY2FuIGFsc28gaW5kaWNhdGUgbmVzdGluZyBieSB1c2luZyBhIGRvdFxuICogKGUuZy4gYG5hbWVzcGFjZS5Db21wb25lbnRgKS5cbiAqL1xuZnVuY3Rpb24gdXNlVHJhbnNsYXRpb25zKG5hbWVzcGFjZSkge1xuICBjb25zdCBjb250ZXh0ID0gdXNlSW50bENvbnRleHQoKTtcbiAgY29uc3QgbWVzc2FnZXMgPSBjb250ZXh0Lm1lc3NhZ2VzO1xuXG4gIC8vIFdlIGhhdmUgdG8gd3JhcCB0aGUgYWN0dWFsIGhvb2sgc28gdGhlIHR5cGUgaW5mZXJlbmNlIGZvciB0aGUgb3B0aW9uYWxcbiAgLy8gbmFtZXNwYWNlIHdvcmtzIGNvcnJlY3RseS4gU2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS83MTUyOTU3NS8zNDMwNDVcbiAgLy8gVGhlIHByZWZpeCAoXCIhXCIpIGlzIGFyYml0cmFyeS5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvciBVc2UgdGhlIGV4cGxpY2l0IGFubm90YXRpb24gaW5zdGVhZFxuICByZXR1cm4gdXNlVHJhbnNsYXRpb25zSW1wbCh7XG4gICAgJyEnOiBtZXNzYWdlc1xuICB9LFxuICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gIG5hbWVzcGFjZSA/IGAhLiR7bmFtZXNwYWNlfWAgOiAnIScsICchJyk7XG59XG5cbmZ1bmN0aW9uIHVzZUxvY2FsZSgpIHtcbiAgcmV0dXJuIHVzZUludGxDb250ZXh0KCkubG9jYWxlO1xufVxuXG5mdW5jdGlvbiBnZXROb3coKSB7XG4gIHJldHVybiBuZXcgRGF0ZSgpO1xufVxuXG4vKipcbiAqIEBzZWUgaHR0cHM6Ly9uZXh0LWludGwuZGV2L2RvY3MvdXNhZ2UvZGF0ZXMtdGltZXMjcmVsYXRpdmUtdGltZXMtdXNlbm93XG4gKi9cbmZ1bmN0aW9uIHVzZU5vdyhvcHRpb25zKSB7XG4gIGNvbnN0IHVwZGF0ZUludGVydmFsID0gb3B0aW9ucz8udXBkYXRlSW50ZXJ2YWw7XG4gIGNvbnN0IHtcbiAgICBub3c6IGdsb2JhbE5vd1xuICB9ID0gdXNlSW50bENvbnRleHQoKTtcbiAgY29uc3QgW25vdywgc2V0Tm93XSA9IHVzZVN0YXRlKGdsb2JhbE5vdyB8fCBnZXROb3coKSk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCF1cGRhdGVJbnRlcnZhbCkgcmV0dXJuO1xuICAgIGNvbnN0IGludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBzZXROb3coZ2V0Tm93KCkpO1xuICAgIH0sIHVwZGF0ZUludGVydmFsKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKTtcbiAgICB9O1xuICB9LCBbZ2xvYmFsTm93LCB1cGRhdGVJbnRlcnZhbF0pO1xuICByZXR1cm4gdXBkYXRlSW50ZXJ2YWwgPT0gbnVsbCAmJiBnbG9iYWxOb3cgPyBnbG9iYWxOb3cgOiBub3c7XG59XG5cbmZ1bmN0aW9uIHVzZVRpbWVab25lKCkge1xuICByZXR1cm4gdXNlSW50bENvbnRleHQoKS50aW1lWm9uZTtcbn1cblxuZnVuY3Rpb24gdXNlTWVzc2FnZXMoKSB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VJbnRsQ29udGV4dCgpO1xuICBpZiAoIWNvbnRleHQubWVzc2FnZXMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIG1lc3NhZ2VzIGZvdW5kLiBIYXZlIHlvdSBjb25maWd1cmVkIHRoZW0gY29ycmVjdGx5PyBTZWUgaHR0cHM6Ly9uZXh0LWludGwuZGV2L2RvY3MvY29uZmlndXJhdGlvbiNtZXNzYWdlcycgKTtcbiAgfVxuICByZXR1cm4gY29udGV4dC5tZXNzYWdlcztcbn1cblxuZnVuY3Rpb24gdXNlRm9ybWF0dGVyKCkge1xuICBjb25zdCB7XG4gICAgZm9ybWF0cyxcbiAgICBmb3JtYXR0ZXJzLFxuICAgIGxvY2FsZSxcbiAgICBub3c6IGdsb2JhbE5vdyxcbiAgICBvbkVycm9yLFxuICAgIHRpbWVab25lXG4gIH0gPSB1c2VJbnRsQ29udGV4dCgpO1xuICByZXR1cm4gdXNlTWVtbygoKSA9PiBjcmVhdGVGb3JtYXR0ZXIoe1xuICAgIGZvcm1hdHMsXG4gICAgbG9jYWxlLFxuICAgIG5vdzogZ2xvYmFsTm93LFxuICAgIG9uRXJyb3IsXG4gICAgdGltZVpvbmUsXG4gICAgX2Zvcm1hdHRlcnM6IGZvcm1hdHRlcnNcbiAgfSksIFtmb3JtYXRzLCBmb3JtYXR0ZXJzLCBnbG9iYWxOb3csIGxvY2FsZSwgb25FcnJvciwgdGltZVpvbmVdKTtcbn1cblxuZnVuY3Rpb24gZ2V0QXJncyhtZXNzYWdlT3JQYXJhbXMsIC4uLnJlc3QpIHtcbiAgbGV0IG1lc3NhZ2UsIHZhbHVlcywgZm9ybWF0cztcbiAgaWYgKHR5cGVvZiBtZXNzYWdlT3JQYXJhbXMgPT09ICdzdHJpbmcnKSB7XG4gICAgbWVzc2FnZSA9IG1lc3NhZ2VPclBhcmFtcztcbiAgICB2YWx1ZXMgPSByZXN0WzBdO1xuICAgIGZvcm1hdHMgPSByZXN0WzFdO1xuICB9IGVsc2Uge1xuICAgIG1lc3NhZ2UgPSBtZXNzYWdlT3JQYXJhbXMubWVzc2FnZTtcbiAgICB2YWx1ZXMgPSBtZXNzYWdlT3JQYXJhbXMudmFsdWVzO1xuICAgIGZvcm1hdHMgPSBtZXNzYWdlT3JQYXJhbXMuZm9ybWF0cztcbiAgICAvLyBgZGVzY3JpcHRpb25gIGlzIGlzIG5vdCB1c2VkIGF0IHJ1bnRpbWVcbiAgfVxuICAvLyBAdHMtZXhwZWN0LWVycm9yIC0tIFNlY3JldCBmYWxsYmFjayBwYXJhbWV0ZXJcbiAgcmV0dXJuIFt1bmRlZmluZWQsXG4gIC8vIEFsd2F5cyB1c2UgZmFsbGJhY2sgaWYgbm90IGNvbXBpbGVkXG4gIHZhbHVlcywgZm9ybWF0cywgbWVzc2FnZSBdO1xufVxuXG4vLyBOb3RlOiBUaGlzIEFQSSBpcyB1c3VhbGx5IGNvbXBpbGVkIGludG8gYHVzZVRyYW5zbGF0aW9uc2AsXG4vLyBidXQgdGhlcmUgaXMgc29tZSBmYWxsYmFjayBoYW5kbGluZyB3aGljaCBhbGxvd3MgdGhpcyBob29rXG4vLyB0byBzdGlsbCB3b3JrIHdoZW4gbm90IGJlaW5nIGNvbXBpbGVkLlxuLy9cbi8vIFRoaXMgaXMgcmVsZXZhbnQgZm9yOlxuLy8gLSBJc29sYXRlZCBlbnZpcm9ubWVudHMgbGlrZSB0ZXN0cywgU3Rvcnlib29rLCBldGMuXG4vLyAtIEZhbGxiYWNrcyBpbiBjYXNlIGFuIGV4dHJhY3RlZCBtZXNzYWdlIGlzIG5vdCB5ZXQgYXZhaWxhYmxlXG5mdW5jdGlvbiB1c2VFeHRyYWN0ZWQobmFtZXNwYWNlKSB7XG4gIGNvbnN0IHQgPSB1c2VUcmFuc2xhdGlvbnMobmFtZXNwYWNlKTtcbiAgZnVuY3Rpb24gdHJhbnNsYXRlRm4oLi4ucGFyYW1zKSB7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciAtLSBQYXNzaW5nIGB1bmRlZmluZWRgIGFzIGFuIElEIGlzIHNlY3JldGx5IGFsbG93ZWQgaGVyZVxuICAgIHJldHVybiB0KC4uLmdldEFyZ3MoLi4ucGFyYW1zKSk7XG4gIH1cbiAgdHJhbnNsYXRlRm4ucmljaCA9ICguLi5wYXJhbXMpID0+XG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgLS0gUGFzc2luZyBgdW5kZWZpbmVkYCBhcyBhbiBJRCBpcyBzZWNyZXRseSBhbGxvd2VkIGhlcmVcbiAgdC5yaWNoKC4uLmdldEFyZ3MoLi4ucGFyYW1zKSk7XG4gIHRyYW5zbGF0ZUZuLm1hcmt1cCA9ICguLi5wYXJhbXMpID0+XG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgLS0gUGFzc2luZyBgdW5kZWZpbmVkYCBhcyBhbiBJRCBpcyBzZWNyZXRseSBhbGxvd2VkIGhlcmVcbiAgdC5tYXJrdXAoLi4uZ2V0QXJncyguLi5wYXJhbXMpKTtcbiAgdHJhbnNsYXRlRm4uaGFzID0gZnVuY3Rpb24gdHJhbnNsYXRlSGFzRm4oXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgbWVzc2FnZSkge1xuICAgIC8vIE5vdCByZWFsbHkgc29tZXRoaW5nIGJldHRlciB3ZSBjYW4gZG8gaGVyZVxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuICByZXR1cm4gdHJhbnNsYXRlRm47XG59XG5cbmV4cG9ydCB7IEludGxQcm92aWRlciwgdXNlRXh0cmFjdGVkIGFzIF91c2VFeHRyYWN0ZWQsIHVzZUZvcm1hdHRlciwgdXNlTG9jYWxlLCB1c2VNZXNzYWdlcywgdXNlTm93LCB1c2VUaW1lWm9uZSwgdXNlVHJhbnNsYXRpb25zIH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/use-intl@4.9.0_react@19.2.4/node_modules/use-intl/dist/esm/development/react.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js":
|
||
/*!************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js ***!
|
||
\************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ZodError: () => (/* binding */ ZodError),\n/* harmony export */ ZodIssueCode: () => (/* binding */ ZodIssueCode),\n/* harmony export */ quotelessJson: () => (/* binding */ quotelessJson)\n/* harmony export */ });\n/* harmony import */ var _helpers_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers/util.js */ \"(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js\");\n\nconst ZodIssueCode = _helpers_util_js__WEBPACK_IMPORTED_MODULE_0__.util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\"\n]);\nconst quotelessJson = (obj)=>{\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nclass ZodError extends Error {\n get errors() {\n return this.issues;\n }\n constructor(issues){\n super();\n this.issues = [];\n this.addIssue = (sub)=>{\n this.issues = [\n ...this.issues,\n sub\n ];\n };\n this.addIssues = (subs = [])=>{\n this.issues = [\n ...this.issues,\n ...subs\n ];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n } else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n format(_mapper) {\n const mapper = _mapper || function(issue) {\n return issue.message;\n };\n const fieldErrors = {\n _errors: []\n };\n const processError = (error)=>{\n for (const issue of error.issues){\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n } else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n } else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n } else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n } else {\n let curr = fieldErrors;\n let i = 0;\n while(i < issue.path.length){\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || {\n _errors: []\n };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n } else {\n curr[el] = curr[el] || {\n _errors: []\n };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n static assert(value) {\n if (!(value instanceof ZodError)) {\n throw new Error(`Not a ZodError: ${value}`);\n }\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, _helpers_util_js__WEBPACK_IMPORTED_MODULE_0__.util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue)=>issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues){\n if (sub.path.length > 0) {\n const firstEl = sub.path[0];\n fieldErrors[firstEl] = fieldErrors[firstEl] || [];\n fieldErrors[firstEl].push(mapper(sub));\n } else {\n formErrors.push(mapper(sub));\n }\n }\n return {\n formErrors,\n fieldErrors\n };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nZodError.create = (issues)=>{\n const error = new ZodError(issues);\n return error;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS96b2RAMy4yNS43Ni9ub2RlX21vZHVsZXMvem9kL3YzL1pvZEVycm9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBeUM7QUFDbEMsTUFBTUMsZUFBZUQsa0RBQUlBLENBQUNFLFdBQVcsQ0FBQztJQUN6QztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNILEVBQUU7QUFDSSxNQUFNQyxnQkFBZ0IsQ0FBQ0M7SUFDMUIsTUFBTUMsT0FBT0MsS0FBS0MsU0FBUyxDQUFDSCxLQUFLLE1BQU07SUFDdkMsT0FBT0MsS0FBS0csT0FBTyxDQUFDLGVBQWU7QUFDdkMsRUFBRTtBQUNLLE1BQU1DLGlCQUFpQkM7SUFDMUIsSUFBSUMsU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDQyxNQUFNO0lBQ3RCO0lBQ0EsWUFBWUEsTUFBTSxDQUFFO1FBQ2hCLEtBQUs7UUFDTCxJQUFJLENBQUNBLE1BQU0sR0FBRyxFQUFFO1FBQ2hCLElBQUksQ0FBQ0MsUUFBUSxHQUFHLENBQUNDO1lBQ2IsSUFBSSxDQUFDRixNQUFNLEdBQUc7bUJBQUksSUFBSSxDQUFDQSxNQUFNO2dCQUFFRTthQUFJO1FBQ3ZDO1FBQ0EsSUFBSSxDQUFDQyxTQUFTLEdBQUcsQ0FBQ0MsT0FBTyxFQUFFO1lBQ3ZCLElBQUksQ0FBQ0osTUFBTSxHQUFHO21CQUFJLElBQUksQ0FBQ0EsTUFBTTttQkFBS0k7YUFBSztRQUMzQztRQUNBLE1BQU1DLGNBQWMsV0FBV0MsU0FBUztRQUN4QyxJQUFJQyxPQUFPQyxjQUFjLEVBQUU7WUFDdkIsbUNBQW1DO1lBQ25DRCxPQUFPQyxjQUFjLENBQUMsSUFBSSxFQUFFSDtRQUNoQyxPQUNLO1lBQ0QsSUFBSSxDQUFDSSxTQUFTLEdBQUdKO1FBQ3JCO1FBQ0EsSUFBSSxDQUFDSyxJQUFJLEdBQUc7UUFDWixJQUFJLENB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QyxXQUFXWCxJQUFJLENBQUNkLE9BQU9YO1lBQzNCO1FBQ0o7UUFDQSxPQUFPO1lBQUVvQztZQUFZdEI7UUFBWTtJQUNyQztJQUNBLElBQUlzQixhQUFhO1FBQ2IsT0FBTyxJQUFJLENBQUNELE9BQU87SUFDdkI7QUFDSjtBQUNBeEMsU0FBUzJDLE1BQU0sR0FBRyxDQUFDeEM7SUFDZixNQUFNbUIsUUFBUSxJQUFJdEIsU0FBU0c7SUFDM0IsT0FBT21CO0FBQ1giLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vem9kQDMuMjUuNzYvbm9kZV9tb2R1bGVzL3pvZC92My9ab2RFcnJvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dGlsIH0gZnJvbSBcIi4vaGVscGVycy91dGlsLmpzXCI7XG5leHBvcnQgY29uc3QgWm9kSXNzdWVDb2RlID0gdXRpbC5hcnJheVRvRW51bShbXG4gICAgXCJpbnZhbGlkX3R5cGVcIixcbiAgICBcImludmFsaWRfbGl0ZXJhbFwiLFxuICAgIFwiY3VzdG9tXCIsXG4gICAgXCJpbnZhbGlkX3VuaW9uXCIsXG4gICAgXCJpbnZhbGlkX3VuaW9uX2Rpc2NyaW1pbmF0b3JcIixcbiAgICBcImludmFsaWRfZW51bV92YWx1ZVwiLFxuICAgIFwidW5yZWNvZ25pemVkX2tleXNcIixcbiAgICBcImludmFsaWRfYXJndW1lbnRzXCIsXG4gICAgXCJpbnZhbGlkX3JldHVybl90eXBlXCIsXG4gICAgXCJpbnZhbGlkX2RhdGVcIixcbiAgICBcImludmFsaWRfc3RyaW5nXCIsXG4gICAgXCJ0b29fc21hbGxcIixcbiAgICBcInRvb19iaWdcIixcbiAgICBcImludmFsaWRfaW50ZXJzZWN0aW9uX3R5cGVzXCIsXG4gICAgXCJub3RfbXVsdGlwbGVfb2ZcIixcbiAgICBcIm5vdF9maW5pdGVcIixcbl0pO1xuZXhwb3J0IGNvbnN0IHF1b3RlbGVzc0pzb24gPSAob2JqKSA9PiB7XG4gICAgY29uc3QganNvbiA9IEpTT04uc3RyaW5naWZ5KG9iaiwgbnVsbCwgMik7XG4gICAgcmV0dXJuIGpzb24ucmVwbGFjZSgvXCIoW15cIl0rKVwiOi9nLCBcIiQxOlwiKTtcbn07XG5leHBvcnQgY2xhc3MgWm9kRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgZ2V0IGVycm9ycygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNzdWVzO1xuICAgIH1cbiAgICBjb25zdHJ1Y3Rvcihpc3N1ZXMpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5pc3N1ZXMgPSBbXTtcbiAgICAgICAgdGhpcy5hZGRJc3N1ZSA9IChzdWIpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNzdWVzID0gWy4uLnRoaXMuaXNzdWVzLCBzdWJdO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmFkZElzc3VlcyA9IChzdWJzID0gW10pID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNzdWVzID0gWy4uLnRoaXMuaXNzdWVzLCAuLi5zdWJzXTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgYWN0dWFsUHJvdG8gPSBuZXcudGFyZ2V0LnByb3RvdHlwZTtcbiAgICAgICAgaWYgKE9iamVjdC5zZXRQcm90b3R5cGVPZikge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGJhbi9iYW5cbiAgICAgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBhY3R1YWxQcm90byk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9fcHJvdG9fXyA9IGFjdHVhbFByb3RvO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubmFtZSA9IFwiWm9kRXJyb3JcIjtcbiAgICAgICAgdGhpcy5pc3N1ZXMgPSBpc3N1ZXM7XG4gICAgfVxuICAgIGZvcm1hdChfbWFwcGVyKSB7XG4gICAgICAgIGNvbnN0IG1hcHBlciA9IF9tYXBwZXIgfHxcbiAgICAgICAgICAgIGZ1bmN0aW9uIChpc3N1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpc3N1ZS5tZXNzYWdlO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSB7IF9lcnJvcnM6IFtdIH07XG4gICAgICAgIGNvbnN0IHByb2Nlc3NFcnJvciA9IChlcnJvcikgPT4ge1xuICAgICAgICAgICAgZm9yIChjb25zdCBpc3N1ZSBvZiBlcnJvci5pc3N1ZXMpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNzdWUuY29kZSA9PT0gXCJpbnZhbGlkX3VuaW9uXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgaXNzdWUudW5pb25FcnJvcnMubWFwKHByb2Nlc3NFcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGlzc3VlLmNvZGUgPT09IFwiaW52YWxpZF9yZXR1cm5fdHlwZVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHByb2Nlc3NFcnJvcihpc3N1ZS5yZXR1cm5UeXBlRXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChpc3N1ZS5jb2RlID09PSBcImludmFsaWRfYXJndW1lbnRzXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc0Vycm9yKGlzc3VlLmFyZ3VtZW50c0Vycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoaXNzdWUucGF0aC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGRFcnJvcnMuX2Vycm9ycy5wdXNoKG1hcHBlcihpc3N1ZSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGN1cnIgPSBmaWVsZEVycm9ycztcbiAgICAgICAgICAgICAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaSA8IGlzc3VlLnBhdGgubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbCA9IGlzc3VlLnBhdGhbaV07XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXJtaW5hbCA9IGkgPT09IGlzc3VlLnBhdGgubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVybWluYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyW2VsXSA9IGN1cnJbZWxdIHx8IHsgX2Vycm9yczogW10gfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiAodHlwZW9mIGVsID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICBjdXJyW2VsXSA9IGN1cnJbZWxdIHx8IHsgX2Vycm9yczogW10gfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB9IGVsc2UgaWYgKHR5cGVvZiBlbCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgY29uc3QgZXJyb3JBcnJheTogYW55ID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICBlcnJvckFycmF5Ll9lcnJvcnMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgIGN1cnJbZWxdID0gY3VycltlbF0gfHwgZXJyb3JBcnJheTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyW2VsXSA9IGN1cnJbZWxdIHx8IHsgX2Vycm9yczogW10gfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyW2VsXS5fZXJyb3JzLnB1c2gobWFwcGVyKGlzc3VlKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyID0gY3VycltlbF07XG4gICAgICAgICAgICAgICAgICAgICAgICBpKys7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHByb2Nlc3NFcnJvcih0aGlzKTtcbiAgICAgICAgcmV0dXJuIGZpZWxkRXJyb3JzO1xuICAgIH1cbiAgICBzdGF0aWMgYXNzZXJ0KHZhbHVlKSB7XG4gICAgICAgIGlmICghKHZhbHVlIGluc3RhbmNlb2YgWm9kRXJyb3IpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vdCBhIFpvZEVycm9yOiAke3ZhbHVlfWApO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRvU3RyaW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlO1xuICAgIH1cbiAgICBnZXQgbWVzc2FnZSgpIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuaXNzdWVzLCB1dGlsLmpzb25TdHJpbmdpZnlSZXBsYWNlciwgMik7XG4gICAgfVxuICAgIGdldCBpc0VtcHR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc3N1ZXMubGVuZ3RoID09PSAwO1xuICAgIH1cbiAgICBmbGF0dGVuKG1hcHBlciA9IChpc3N1ZSkgPT4gaXNzdWUubWVzc2FnZSkge1xuICAgICAgICBjb25zdCBmaWVsZEVycm9ycyA9IHt9O1xuICAgICAgICBjb25zdCBmb3JtRXJyb3JzID0gW107XG4gICAgICAgIGZvciAoY29uc3Qgc3ViIG9mIHRoaXMuaXNzdWVzKSB7XG4gICAgICAgICAgICBpZiAoc3ViLnBhdGgubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0RWwgPSBzdWIucGF0aFswXTtcbiAgICAgICAgICAgICAgICBmaWVsZEVycm9yc1tmaXJzdEVsXSA9IGZpZWxkRXJyb3JzW2ZpcnN0RWxdIHx8IFtdO1xuICAgICAgICAgICAgICAgIGZpZWxkRXJyb3JzW2ZpcnN0RWxdLnB1c2gobWFwcGVyKHN1YikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgZm9ybUVycm9ycy5wdXNoKG1hcHBlcihzdWIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBmb3JtRXJyb3JzLCBmaWVsZEVycm9ycyB9O1xuICAgIH1cbiAgICBnZXQgZm9ybUVycm9ycygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmxhdHRlbigpO1xuICAgIH1cbn1cblpvZEVycm9yLmNyZWF0ZSA9IChpc3N1ZXMpID0+IHtcbiAgICBjb25zdCBlcnJvciA9IG5ldyBab2RFcnJvcihpc3N1ZXMpO1xuICAgIHJldHVybiBlcnJvcjtcbn07XG4iXSwibmFtZXMiOlsidXRpbCIsIlpvZElzc3VlQ29kZSIsImFycmF5VG9FbnVtIiwicXVvdGVsZXNzSnNvbiIsIm9iaiIsImpzb24iLCJKU09OIiwic3RyaW5naWZ5IiwicmVwbGFjZSIsIlpvZEVycm9yIiwiRXJyb3IiLCJlcnJvcnMiLCJpc3N1ZXMiLCJhZGRJc3N1ZSIsInN1YiIsImFkZElzc3VlcyIsInN1YnMiLCJhY3R1YWxQcm90byIsInByb3RvdHlwZSIsIk9iamVjdCIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwibmFtZSIsImZvcm1hdCIsIl9tYXBwZXIiLCJtYXBwZXIiLCJpc3N1ZSIsIm1lc3NhZ2UiLCJmaWVsZEVycm9ycyIsIl9lcnJvcnMiLCJwcm9jZXNzRXJyb3IiLCJlcnJvciIsImNvZGUiLCJ1bmlvbkVycm9ycyIsIm1hcCIsInJldHVyblR5cGVFcnJvciIsImFyZ3VtZW50c0Vycm9yIiwicGF0aCIsImxlbmd0aCIsInB1c2giLCJjdXJyIiwiaSIsImVsIiwidGVybWluYWwiLCJhc3NlcnQiLCJ2YWx1ZSIsInRvU3RyaW5nIiwianNvblN0cmluZ2lmeVJlcGxhY2VyIiwiaXNFbXB0eSIsImZsYXR0ZW4iLCJmb3JtRXJyb3JzIiwiZmlyc3RFbCIsImNyZWF0ZSJdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js":
|
||
/*!**********************************************************************!*\
|
||
!*** ./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js ***!
|
||
\**********************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ defaultErrorMap: () => (/* reexport safe */ _locales_en_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]),\n/* harmony export */ getErrorMap: () => (/* binding */ getErrorMap),\n/* harmony export */ setErrorMap: () => (/* binding */ setErrorMap)\n/* harmony export */ });\n/* harmony import */ var _locales_en_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./locales/en.js */ \"(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js\");\n\nlet overrideErrorMap = _locales_en_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\nfunction setErrorMap(map) {\n overrideErrorMap = map;\n}\nfunction getErrorMap() {\n return overrideErrorMap;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS96b2RAMy4yNS43Ni9ub2RlX21vZHVsZXMvem9kL3YzL2Vycm9ycy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQThDO0FBQzlDLElBQUlDLG1CQUFtQkQsc0RBQWVBO0FBQ1g7QUFDcEIsU0FBU0UsWUFBWUMsR0FBRztJQUMzQkYsbUJBQW1CRTtBQUN2QjtBQUNPLFNBQVNDO0lBQ1osT0FBT0g7QUFDWCIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS96b2RAMy4yNS43Ni9ub2RlX21vZHVsZXMvem9kL3YzL2Vycm9ycy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVmYXVsdEVycm9yTWFwIGZyb20gXCIuL2xvY2FsZXMvZW4uanNcIjtcbmxldCBvdmVycmlkZUVycm9yTWFwID0gZGVmYXVsdEVycm9yTWFwO1xuZXhwb3J0IHsgZGVmYXVsdEVycm9yTWFwIH07XG5leHBvcnQgZnVuY3Rpb24gc2V0RXJyb3JNYXAobWFwKSB7XG4gICAgb3ZlcnJpZGVFcnJvck1hcCA9IG1hcDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRFcnJvck1hcCgpIHtcbiAgICByZXR1cm4gb3ZlcnJpZGVFcnJvck1hcDtcbn1cbiJdLCJuYW1lcyI6WyJkZWZhdWx0RXJyb3JNYXAiLCJvdmVycmlkZUVycm9yTWFwIiwic2V0RXJyb3JNYXAiLCJtYXAiLCJnZXRFcnJvck1hcCJdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js":
|
||
/*!*********************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js ***!
|
||
\*********************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ errorUtil: () => (/* binding */ errorUtil)\n/* harmony export */ });\nvar errorUtil;\n(function(errorUtil) {\n errorUtil.errToObj = (message)=>typeof message === \"string\" ? {\n message\n } : message || {};\n // biome-ignore lint:\n errorUtil.toString = (message)=>typeof message === \"string\" ? message : message?.message;\n})(errorUtil || (errorUtil = {}));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS96b2RAMy4yNS43Ni9ub2RlX21vZHVsZXMvem9kL3YzL2hlbHBlcnMvZXJyb3JVdGlsLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBTyxJQUFJQSxVQUFVO0FBQ3BCLFVBQVVBLFNBQVM7SUFDaEJBLFVBQVVDLFFBQVEsR0FBRyxDQUFDQyxVQUFZLE9BQU9BLFlBQVksV0FBVztZQUFFQTtRQUFRLElBQUlBLFdBQVcsQ0FBQztJQUMxRixxQkFBcUI7SUFDckJGLFVBQVVHLFFBQVEsR0FBRyxDQUFDRCxVQUFZLE9BQU9BLFlBQVksV0FBV0EsVUFBVUEsU0FBU0E7QUFDdkYsR0FBR0YsYUFBY0EsQ0FBQUEsWUFBWSxDQUFDIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL3pvZEAzLjI1Ljc2L25vZGVfbW9kdWxlcy96b2QvdjMvaGVscGVycy9lcnJvclV0aWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHZhciBlcnJvclV0aWw7XG4oZnVuY3Rpb24gKGVycm9yVXRpbCkge1xuICAgIGVycm9yVXRpbC5lcnJUb09iaiA9IChtZXNzYWdlKSA9PiB0eXBlb2YgbWVzc2FnZSA9PT0gXCJzdHJpbmdcIiA/IHsgbWVzc2FnZSB9IDogbWVzc2FnZSB8fCB7fTtcbiAgICAvLyBiaW9tZS1pZ25vcmUgbGludDpcbiAgICBlcnJvclV0aWwudG9TdHJpbmcgPSAobWVzc2FnZSkgPT4gdHlwZW9mIG1lc3NhZ2UgPT09IFwic3RyaW5nXCIgPyBtZXNzYWdlIDogbWVzc2FnZT8ubWVzc2FnZTtcbn0pKGVycm9yVXRpbCB8fCAoZXJyb3JVdGlsID0ge30pKTtcbiJdLCJuYW1lcyI6WyJlcnJvclV0aWwiLCJlcnJUb09iaiIsIm1lc3NhZ2UiLCJ0b1N0cmluZyJdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js":
|
||
/*!*********************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js ***!
|
||
\*********************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DIRTY: () => (/* binding */ DIRTY),\n/* harmony export */ EMPTY_PATH: () => (/* binding */ EMPTY_PATH),\n/* harmony export */ INVALID: () => (/* binding */ INVALID),\n/* harmony export */ OK: () => (/* binding */ OK),\n/* harmony export */ ParseStatus: () => (/* binding */ ParseStatus),\n/* harmony export */ addIssueToContext: () => (/* binding */ addIssueToContext),\n/* harmony export */ isAborted: () => (/* binding */ isAborted),\n/* harmony export */ isAsync: () => (/* binding */ isAsync),\n/* harmony export */ isDirty: () => (/* binding */ isDirty),\n/* harmony export */ isValid: () => (/* binding */ isValid),\n/* harmony export */ makeIssue: () => (/* binding */ makeIssue)\n/* harmony export */ });\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors.js */ \"(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js\");\n/* harmony import */ var _locales_en_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../locales/en.js */ \"(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js\");\n\n\nconst makeIssue = (params)=>{\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [\n ...path,\n ...issueData.path || []\n ];\n const fullIssue = {\n ...issueData,\n path: fullPath\n };\n if (issueData.message !== undefined) {\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message\n };\n }\n let errorMessage = \"\";\n const maps = errorMaps.filter((m)=>!!m).slice().reverse();\n for (const map of maps){\n errorMessage = map(fullIssue, {\n data,\n defaultError: errorMessage\n }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: errorMessage\n };\n};\nconst EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n const overrideMap = (0,_errors_js__WEBPACK_IMPORTED_MODULE_0__.getErrorMap)();\n const issue = makeIssue({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n overrideMap,\n overrideMap === _locales_en_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"] ? undefined : _locales_en_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n ].filter((x)=>!!x)\n });\n ctx.common.issues.push(issue);\n}\nclass ParseStatus {\n constructor(){\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\") this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\") this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results){\n if (s.status === \"aborted\") return INVALID;\n if (s.status === \"dirty\") status.dirty();\n arrayValue.push(s.value);\n }\n return {\n status: status.value,\n value: arrayValue\n };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs){\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs){\n const { key, value } = pair;\n if (key.status === \"aborted\") return INVALID;\n if (value.status === \"aborted\") return INVALID;\n if (key.status === \"dirty\") status.dirty();\n if (value.status === \"dirty\") status.dirty();\n if (key.value !== \"__proto__\" && (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return {\n status: status.value,\n value: finalObject\n };\n }\n}\nconst INVALID = Object.freeze({\n status: \"aborted\"\n});\nconst DIRTY = (value)=>({\n status: \"dirty\",\n value\n });\n_c = DIRTY;\nconst OK = (value)=>({\n status: \"valid\",\n value\n });\n_c1 = OK;\nconst isAborted = (x)=>x.status === \"aborted\";\nconst isDirty = (x)=>x.status === \"dirty\";\nconst isValid = (x)=>x.status === \"valid\";\nconst isAsync = (x)=>typeof Promise !== \"undefined\" && x instanceof Promise;\nvar _c, _c1;\n$RefreshReg$(_c, \"DIRTY\");\n$RefreshReg$(_c1, \"OK\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS96b2RAMy4yNS43Ni9ub2RlX21vZHVsZXMvem9kL3YzL2hlbHBlcnMvcGFyc2VVdGlsLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBMkM7QUFDSTtBQUN4QyxNQUFNRSxZQUFZLENBQUNDO0lBQ3RCLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLFNBQVMsRUFBRUMsU0FBUyxFQUFFLEdBQUdKO0lBQzdDLE1BQU1LLFdBQVc7V0FBSUg7V0FBVUUsVUFBVUYsSUFBSSxJQUFJLEVBQUU7S0FBRTtJQUNyRCxNQUFNSSxZQUFZO1FBQ2QsR0FBR0YsU0FBUztRQUNaRixNQUFNRztJQUNWO0lBQ0EsSUFBSUQsVUFBVUcsT0FBTyxLQUFLQyxXQUFXO1FBQ2pDLE9BQU87WUFDSCxHQUFHSixTQUFTO1lBQ1pGLE1BQU1HO1lBQ05FLFNBQVNILFVBQVVHLE9BQU87UUFDOUI7SUFDSjtJQUNBLElBQUlFLGVBQWU7SUFDbkIsTUFBTUMsT0FBT1AsVUFDUlEsTUFBTSxDQUFDLENBQUNDLElBQU0sQ0FBQyxDQUFDQSxHQUNoQkMsS0FBSyxHQUNMQyxPQUFPO0lBQ1osS0FBSyxNQUFNQyxPQUFPTCxLQUFNO1FBQ3BCRCxlQUFlTSxJQUFJVCxXQUFXO1lBQUVMO1lBQU1lLGNBQWNQO1FBQWEsR0FBR0YsT0FBTztJQUMvRTtJQUNBLE9BQU87UUFDSCxHQUFHSCxTQUFTO1FBQ1pGLE1BQU1HO1FBQ05FLFNBQVNFO0lBQ2I7QUFDSixFQUFFO0FBQ0ssTUFBTVEsYUFBYSxFQUFFLENBQUM7QUFDdEIsU0FBU0Msa0JBQWtCQyxHQUFHLEVBQUVmLFNBQVM7SUFDNUMsTUFBTWdCLGNBQWN2Qix1REFBV0E7SUFDL0IsTUFBTXdCLFFBQVF0QixVQUFVO1FBQ3BCSyxXQUFXQTtRQUNYSCxNQUFNa0IsSUFBSWxCLElBQUk7UUFDZEMsTUFBTWlCLElBQUlqQixJQUFJO1FBQ2RDLFdBQVc7WUFDUGdC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LFFBQVEiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vem9kQDMuMjUuNzYvbm9kZV9tb2R1bGVzL3pvZC92My9oZWxwZXJzL3BhcnNlVXRpbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRFcnJvck1hcCB9IGZyb20gXCIuLi9lcnJvcnMuanNcIjtcbmltcG9ydCBkZWZhdWx0RXJyb3JNYXAgZnJvbSBcIi4uL2xvY2FsZXMvZW4uanNcIjtcbmV4cG9ydCBjb25zdCBtYWtlSXNzdWUgPSAocGFyYW1zKSA9PiB7XG4gICAgY29uc3QgeyBkYXRhLCBwYXRoLCBlcnJvck1hcHMsIGlzc3VlRGF0YSB9ID0gcGFyYW1zO1xuICAgIGNvbnN0IGZ1bGxQYXRoID0gWy4uLnBhdGgsIC4uLihpc3N1ZURhdGEucGF0aCB8fCBbXSldO1xuICAgIGNvbnN0IGZ1bGxJc3N1ZSA9IHtcbiAgICAgICAgLi4uaXNzdWVEYXRhLFxuICAgICAgICBwYXRoOiBmdWxsUGF0aCxcbiAgICB9O1xuICAgIGlmIChpc3N1ZURhdGEubWVzc2FnZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5pc3N1ZURhdGEsXG4gICAgICAgICAgICBwYXRoOiBmdWxsUGF0aCxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGlzc3VlRGF0YS5tZXNzYWdlLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBsZXQgZXJyb3JNZXNzYWdlID0gXCJcIjtcbiAgICBjb25zdCBtYXBzID0gZXJyb3JNYXBzXG4gICAgICAgIC5maWx0ZXIoKG0pID0+ICEhbSlcbiAgICAgICAgLnNsaWNlKClcbiAgICAgICAgLnJldmVyc2UoKTtcbiAgICBmb3IgKGNvbnN0IG1hcCBvZiBtYXBzKSB7XG4gICAgICAgIGVycm9yTWVzc2FnZSA9IG1hcChmdWxsSXNzdWUsIHsgZGF0YSwgZGVmYXVsdEVycm9yOiBlcnJvck1lc3NhZ2UgfSkubWVzc2FnZTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaXNzdWVEYXRhLFxuICAgICAgICBwYXRoOiBmdWxsUGF0aCxcbiAgICAgICAgbWVzc2FnZTogZXJyb3JNZXNzYWdlLFxuICAgIH07XG59O1xuZXhwb3J0IGNvbnN0IEVNUFRZX1BBVEggPSBbXTtcbmV4cG9ydCBmdW5jdGlvbiBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIGlzc3VlRGF0YSkge1xuICAgIGNvbnN0IG92ZXJyaWRlTWFwID0gZ2V0RXJyb3JNYXAoKTtcbiAgICBjb25zdCBpc3N1ZSA9IG1ha2VJc3N1ZSh7XG4gICAgICAgIGlzc3VlRGF0YTogaXNzdWVEYXRhLFxuICAgICAgICBkYXRhOiBjdHguZGF0YSxcbiAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgIGVycm9yTWFwczogW1xuICAgICAgICAgICAgY3R4LmNvbW1vbi5jb250ZXh0dWFsRXJyb3JNYXAsIC8vIGNvbnRleHR1YWwgZXJyb3IgbWFwIGlzIGZpcnN0IHByaW9yaXR5XG4gICAgICAgICAgICBjdHguc2NoZW1hRXJyb3JNYXAsIC8vIHRoZW4gc2NoZW1hLWJvdW5kIG1hcCBpZiBhdmFpbGFibGVcbiAgICAgICAgICAgIG92ZXJyaWRlTWFwLCAvLyB0aGVuIGdsb2JhbCBvdmVycmlkZSBtYXBcbiAgICAgICAgICAgIG92ZXJyaWRlTWFwID09PSBkZWZhdWx0RXJyb3JNYXAgPyB1bmRlZmluZWQgOiBkZWZhdWx0RXJyb3JNYXAsIC8vIHRoZW4gZ2xvYmFsIGRlZmF1bHQgbWFwXG4gICAgICAgIF0uZmlsdGVyKCh4KSA9PiAhIXgpLFxuICAgIH0pO1xuICAgIGN0eC5jb21tb24uaXNzdWVzLnB1c2goaXNzdWUpO1xufVxuZXhwb3J0IGNsYXNzIFBhcnNlU3RhdHVzIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IFwidmFsaWRcIjtcbiAgICB9XG4gICAgZGlydHkoKSB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlID09PSBcInZhbGlkXCIpXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gXCJkaXJ0eVwiO1xuICAgIH1cbiAgICBhYm9ydCgpIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgIT09IFwiYWJvcnRlZFwiKVxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IFwiYWJvcnRlZFwiO1xuICAgIH1cbiAgICBzdGF0aWMgbWVyZ2VBcnJheShzdGF0dXMsIHJlc3VsdHMpIHtcbiAgICAgICAgY29uc3QgYXJyYXlWYWx1ZSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHMgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgaWYgKHMuc3RhdHVzID09PSBcImFib3J0ZWRcIilcbiAgICAgICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgICAgIGlmIChzLnN0YXR1cyA9PT0gXCJkaXJ0eVwiKVxuICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgYXJyYXlWYWx1ZS5wdXNoKHMudmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHN0YXR1czogc3RhdHVzLnZhbHVlLCB2YWx1ZTogYXJyYXlWYWx1ZSB9O1xuICAgIH1cbiAgICBzdGF0aWMgYXN5bmMgbWVyZ2VPYmplY3RBc3luYyhzdGF0dXMsIHBhaXJzKSB7XG4gICAgICAgIGNvbnN0IHN5bmNQYWlycyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHBhaXIgb2YgcGFpcnMpIHtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGF3YWl0IHBhaXIua2V5O1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBhd2FpdCBwYWlyLnZhbHVlO1xuICAgICAgICAgICAgc3luY1BhaXJzLnB1c2goe1xuICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQYXJzZVN0YXR1cy5tZXJnZU9iamVjdFN5bmMoc3RhdHVzLCBzeW5jUGFpcnMpO1xuICAgIH1cbiAgICBzdGF0aWMgbWVyZ2VPYmplY3RTeW5jKHN0YXR1cywgcGFpcnMpIHtcbiAgICAgICAgY29uc3QgZmluYWxPYmplY3QgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBwYWlyIG9mIHBhaXJzKSB7XG4gICAgICAgICAgICBjb25zdCB7IGtleSwgdmFsdWUgfSA9IHBhaXI7XG4gICAgICAgICAgICBpZiAoa2V5LnN0YXR1cyA9PT0gXCJhYm9ydGVkXCIpXG4gICAgICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgICAgICBpZiAodmFsdWUuc3RhdHVzID09PSBcImFib3J0ZWRcIilcbiAgICAgICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgICAgIGlmIChrZXkuc3RhdHVzID09PSBcImRpcnR5XCIpXG4gICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICBpZiAodmFsdWUuc3RhdHVzID09PSBcImRpcnR5XCIpXG4gICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICBpZiAoa2V5LnZhbHVlICE9PSBcIl9fcHJvdG9fX1wiICYmICh0eXBlb2YgdmFsdWUudmFsdWUgIT09IFwidW5kZWZpbmVkXCIgfHwgcGFpci5hbHdheXNTZXQpKSB7XG4gICAgICAgICAgICAgICAgZmluYWxPYmplY3Rba2V5LnZhbHVlXSA9IHZhbHVlLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHN0YXR1czogc3RhdHVzLnZhbHVlLCB2YWx1ZTogZmluYWxPYmplY3QgfTtcbiAgICB9XG59XG5leHBvcnQgY29uc3QgSU5WQUxJRCA9IE9iamVjdC5mcmVlemUoe1xuICAgIHN0YXR1czogXCJhYm9ydGVkXCIsXG59KTtcbmV4cG9ydCBjb25zdCBESVJUWSA9ICh2YWx1ZSkgPT4gKHsgc3RhdHVzOiBcImRpcnR5XCIsIHZhbHVlIH0pO1xuZXhwb3J0IGNvbnN0IE9LID0gKHZhbHVlKSA9PiAoeyBzdGF0dXM6IFwidmFsaWRcIiwgdmFsdWUgfSk7XG5leHBvcnQgY29uc3QgaXNBYm9ydGVkID0gKHgpID0+IHguc3RhdHVzID09PSBcImFib3J0ZWRcIjtcbmV4cG9ydCBjb25zdCBpc0RpcnR5ID0gKHgpID0+IHguc3RhdHVzID09PSBcImRpcnR5XCI7XG5leHBvcnQgY29uc3QgaXNWYWxpZCA9ICh4KSA9PiB4LnN0YXR1cyA9PT0gXCJ2YWxpZFwiO1xuZXhwb3J0IGNvbnN0IGlzQXN5bmMgPSAoeCkgPT4gdHlwZW9mIFByb21pc2UgIT09IFwidW5kZWZpbmVkXCIgJiYgeCBpbnN0YW5jZW9mIFByb21pc2U7XG4iXSwibmFtZXMiOlsiZ2V0RXJyb3JNYXAiLCJkZWZhdWx0RXJyb3JNYXAiLCJtYWtlSXNzdWUiLCJwYXJhbXMiLCJkYXRhIiwicGF0aCIsImVycm9yTWFwcyIsImlzc3VlRGF0YSIsImZ1bGxQYXRoIiwiZnVsbElzc3VlIiwibWVzc2FnZSIsInVuZGVmaW5lZCIsImVycm9yTWVzc2FnZSIsIm1hcHMiLCJmaWx0ZXIiLCJtIiwic2xpY2UiLCJyZXZlcnNlIiwibWFwIiwiZGVmYXVsdEVycm9yIiwiRU1QVFlfUEFUSCIsImFkZElzc3VlVG9Db250ZXh0IiwiY3R4Iiwib3ZlcnJpZGVNYXAiLCJpc3N1ZSIsImNvbW1vbiIsImNvbnRleHR1YWxFcnJvck1hcCIsInNjaGVtYUVycm9yTWFwIiwieCIsImlzc3VlcyIsInB1c2giLCJQYXJzZVN0YXR1cyIsInZhbHVlIiwiZGlydHkiLCJhYm9ydCIsIm1lcmdlQXJyYXkiLCJzdGF0dXMiLCJyZXN1bHRzIiwiYXJyYXlWYWx1ZSIsInMiLCJJTlZBTElEIiwibWVyZ2VPYmplY3RBc3luYyIsInBhaXJzIiwic3luY1BhaXJzIiwicGFpciIsImtleSIsIm1lcmdlT2JqZWN0U3luYyIsImZpbmFsT2JqZWN0IiwiYWx3YXlzU2V0IiwiT2JqZWN0IiwiZnJlZXplIiwiRElSVFkiLCJPSyIsImlzQWJvcnRlZCIsImlzRGlydHkiLCJpc1ZhbGlkIiwiaXNBc3luYyIsIlByb21pc2UiXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js":
|
||
/*!****************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js ***!
|
||
\****************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ZodParsedType: () => (/* binding */ ZodParsedType),\n/* harmony export */ getParsedType: () => (/* binding */ getParsedType),\n/* harmony export */ objectUtil: () => (/* binding */ objectUtil),\n/* harmony export */ util: () => (/* binding */ util)\n/* harmony export */ });\nvar util;\n(function(util) {\n util.assertEqual = (_)=>{};\n function assertIs(_arg) {}\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items)=>{\n const obj = {};\n for (const item of items){\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj)=>{\n const validKeys = util.objectKeys(obj).filter((k)=>typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys){\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj)=>{\n return util.objectKeys(obj).map(function(e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj)=>Object.keys(obj) // eslint-disable-line ban/ban\n : (object)=>{\n const keys = [];\n for(const key in object){\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker)=>{\n for (const item of arr){\n if (checker(item)) return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\" ? (val)=>Number.isInteger(val) // eslint-disable-line ban/ban\n : (val)=>typeof val === \"number\" && Number.isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array.map((val)=>typeof val === \"string\" ? `'${val}'` : val).join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value)=>{\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (util = {}));\nvar objectUtil;\n(function(objectUtil) {\n objectUtil.mergeShapes = (first, second)=>{\n return {\n ...first,\n ...second\n };\n };\n})(objectUtil || (objectUtil = {}));\nconst ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\"\n]);\nconst getParsedType = (data)=>{\n const t = typeof data;\n switch(t){\n case \"undefined\":\n return ZodParsedType.undefined;\n case \"string\":\n return ZodParsedType.string;\n case \"number\":\n return Number.isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;\n case \"boolean\":\n return ZodParsedType.boolean;\n case \"function\":\n return ZodParsedType.function;\n case \"bigint\":\n return ZodParsedType.bigint;\n case \"symbol\":\n return ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return ZodParsedType.array;\n }\n if (data === null) {\n return ZodParsedType.null;\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return ZodParsedType.date;\n }\n return ZodParsedType.object;\n default:\n return ZodParsedType.unknown;\n }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS96b2RAMy4yNS43Ni9ub2RlX21vZHVsZXMvem9kL3YzL2hlbHBlcnMvdXRpbC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQU8sSUFBSUEsS0FBSztBQUNmLFVBQVVBLElBQUk7SUFDWEEsS0FBS0MsV0FBVyxHQUFHLENBQUNDLEtBQVE7SUFDNUIsU0FBU0MsU0FBU0MsSUFBSSxHQUFJO0lBQzFCSixLQUFLRyxRQUFRLEdBQUdBO0lBQ2hCLFNBQVNFLFlBQVlDLEVBQUU7UUFDbkIsTUFBTSxJQUFJQztJQUNkO0lBQ0FQLEtBQUtLLFdBQVcsR0FBR0E7SUFDbkJMLEtBQUtRLFdBQVcsR0FBRyxDQUFDQztRQUNoQixNQUFNQyxNQUFNLENBQUM7UUFDYixLQUFLLE1BQU1DLFFBQVFGLE1BQU87WUFDdEJDLEdBQUcsQ0FBQ0MsS0FBSyxHQUFHQTtRQUNoQjtRQUNBLE9BQU9EO0lBQ1g7SUFDQVYsS0FBS1ksa0JBQWtCLEdBQUcsQ0FBQ0Y7UUFDdkIsTUFBTUcsWUFBWWIsS0FBS2MsVUFBVSxDQUFDSixLQUFLSyxNQUFNLENBQUMsQ0FBQ0MsSUFBTSxPQUFPTixHQUFHLENBQUNBLEdBQUcsQ0FBQ00sRUFBRSxDQUFDLEtBQUs7UUFDNUUsTUFBTUMsV0FBVyxDQUFDO1FBQ2xCLEtBQUssTUFBTUQsS0FBS0gsVUFBVztZQUN2QkksUUFBUSxDQUFDRCxFQUFFLEdBQUdOLEdBQUcsQ0FBQ00sRUFBRTtRQUN4QjtRQUNBLE9BQU9oQixLQUFLa0IsWUFBWSxDQUFDRDtJQUM3QjtJQUNBakIsS0FBS2tCLFlBQVksR0FBRyxDQUFDUjtRQUNqQixPQUFPVixLQUFLYyxVQUFVLENBQUNKLEtBQUtTLEdBQUcsQ0FBQyxTQUFVQyxDQUFDO1lBQ3ZDLE9BQU9WLEdBQUcsQ0FBQ1UsRUFBRTtRQUNqQjtJQUNKO0lBQ0FwQixLQUFLYyxVQUFVLEdBQUcsT0FBT08sT0FBT0MsSUFBSSxLQUFLLFdBQVcsOEJBQThCO09B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O1lBQ0EsSUFBSSxPQUFPa0QsUUFBUSxlQUFlakIsZ0JBQWdCaUIsS0FBSztnQkFDbkQsT0FBT25CLGNBQWNvQixHQUFHO1lBQzVCO1lBQ0EsSUFBSSxPQUFPQyxTQUFTLGVBQWVuQixnQkFBZ0JtQixNQUFNO2dCQUNyRCxPQUFPckIsY0FBY3NCLElBQUk7WUFDN0I7WUFDQSxPQUFPdEIsY0FBYzNCLE1BQU07UUFDL0I7WUFDSSxPQUFPMkIsY0FBY3VCLE9BQU87SUFDcEM7QUFDSixFQUFFIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL3pvZEAzLjI1Ljc2L25vZGVfbW9kdWxlcy96b2QvdjMvaGVscGVycy91dGlsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB2YXIgdXRpbDtcbihmdW5jdGlvbiAodXRpbCkge1xuICAgIHV0aWwuYXNzZXJ0RXF1YWwgPSAoXykgPT4geyB9O1xuICAgIGZ1bmN0aW9uIGFzc2VydElzKF9hcmcpIHsgfVxuICAgIHV0aWwuYXNzZXJ0SXMgPSBhc3NlcnRJcztcbiAgICBmdW5jdGlvbiBhc3NlcnROZXZlcihfeCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKTtcbiAgICB9XG4gICAgdXRpbC5hc3NlcnROZXZlciA9IGFzc2VydE5ldmVyO1xuICAgIHV0aWwuYXJyYXlUb0VudW0gPSAoaXRlbXMpID0+IHtcbiAgICAgICAgY29uc3Qgb2JqID0ge307XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgICAgICAgb2JqW2l0ZW1dID0gaXRlbTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2JqO1xuICAgIH07XG4gICAgdXRpbC5nZXRWYWxpZEVudW1WYWx1ZXMgPSAob2JqKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbGlkS2V5cyA9IHV0aWwub2JqZWN0S2V5cyhvYmopLmZpbHRlcigoaykgPT4gdHlwZW9mIG9ialtvYmpba11dICE9PSBcIm51bWJlclwiKTtcbiAgICAgICAgY29uc3QgZmlsdGVyZWQgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBrIG9mIHZhbGlkS2V5cykge1xuICAgICAgICAgICAgZmlsdGVyZWRba10gPSBvYmpba107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHV0aWwub2JqZWN0VmFsdWVzKGZpbHRlcmVkKTtcbiAgICB9O1xuICAgIHV0aWwub2JqZWN0VmFsdWVzID0gKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gdXRpbC5vYmplY3RLZXlzKG9iaikubWFwKGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gb2JqW2VdO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIHV0aWwub2JqZWN0S2V5cyA9IHR5cGVvZiBPYmplY3Qua2V5cyA9PT0gXCJmdW5jdGlvblwiIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgYmFuL2JhblxuICAgICAgICA/IChvYmopID0+IE9iamVjdC5rZXlzKG9iaikgLy8gZXNsaW50LWRpc2FibGUtbGluZSBiYW4vYmFuXG4gICAgICAgIDogKG9iamVjdCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qga2V5cyA9IFtdO1xuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gb2JqZWN0KSB7XG4gICAgICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAga2V5cy5wdXNoKGtleSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGtleXM7XG4gICAgICAgIH07XG4gICAgdXRpbC5maW5kID0gKGFyciwgY2hlY2tlcikgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgYXJyKSB7XG4gICAgICAgICAgICBpZiAoY2hlY2tlcihpdGVtKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH07XG4gICAgdXRpbC5pc0ludGVnZXIgPSB0eXBlb2YgTnVtYmVyLmlzSW50ZWdlciA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgID8gKHZhbCkgPT4gTnVtYmVyLmlzSW50ZWdlcih2YWwpIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgYmFuL2JhblxuICAgICAgICA6ICh2YWwpID0+IHR5cGVvZiB2YWwgPT09IFwibnVtYmVyXCIgJiYgTnVtYmVyLmlzRmluaXRlKHZhbCkgJiYgTWF0aC5mbG9vcih2YWwpID09PSB2YWw7XG4gICAgZnVuY3Rpb24gam9pblZhbHVlcyhhcnJheSwgc2VwYXJhdG9yID0gXCIgfCBcIikge1xuICAgICAgICByZXR1cm4gYXJyYXkubWFwKCh2YWwpID0+ICh0eXBlb2YgdmFsID09PSBcInN0cmluZ1wiID8gYCcke3ZhbH0nYCA6IHZhbCkpLmpvaW4oc2VwYXJhdG9yKTtcbiAgICB9XG4gICAgdXRpbC5qb2luVmFsdWVzID0gam9pblZhbHVlcztcbiAgICB1dGlsLmpzb25TdHJpbmdpZnlSZXBsYWNlciA9IChfLCB2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcImJpZ2ludFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcbn0pKHV0aWwgfHwgKHV0aWwgPSB7fSkpO1xuZXhwb3J0IHZhciBvYmplY3RVdGlsO1xuKGZ1bmN0aW9uIChvYmplY3RVdGlsKSB7XG4gICAgb2JqZWN0VXRpbC5tZXJnZVNoYXBlcyA9IChmaXJzdCwgc2Vjb25kKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5maXJzdCxcbiAgICAgICAgICAgIC4uLnNlY29uZCwgLy8gc2Vjb25kIG92ZXJ3cml0ZXMgZmlyc3RcbiAgICAgICAgfTtcbiAgICB9O1xufSkob2JqZWN0VXRpbCB8fCAob2JqZWN0VXRpbCA9IHt9KSk7XG5leHBvcnQgY29uc3QgWm9kUGFyc2VkVHlwZSA9IHV0aWwuYXJyYXlUb0VudW0oW1xuICAgIFwic3RyaW5nXCIsXG4gICAgXCJuYW5cIixcbiAgICBcIm51bWJlclwiLFxuICAgIFwiaW50ZWdlclwiLFxuICAgIFwiZmxvYXRcIixcbiAgICBcImJvb2xlYW5cIixcbiAgICBcImRhdGVcIixcbiAgICBcImJpZ2ludFwiLFxuICAgIFwic3ltYm9sXCIsXG4gICAgXCJmdW5jdGlvblwiLFxuICAgIFwidW5kZWZpbmVkXCIsXG4gICAgXCJudWxsXCIsXG4gICAgXCJhcnJheVwiLFxuICAgIFwib2JqZWN0XCIsXG4gICAgXCJ1bmtub3duXCIsXG4gICAgXCJwcm9taXNlXCIsXG4gICAgXCJ2b2lkXCIsXG4gICAgXCJuZXZlclwiLFxuICAgIFwibWFwXCIsXG4gICAgXCJzZXRcIixcbl0pO1xuZXhwb3J0IGNvbnN0IGdldFBhcnNlZFR5cGUgPSAoZGF0YSkgPT4ge1xuICAgIGNvbnN0IHQgPSB0eXBlb2YgZGF0YTtcbiAgICBzd2l0Y2ggKHQpIHtcbiAgICAgICAgY2FzZSBcInVuZGVmaW5lZFwiOlxuICAgICAgICAgICAgcmV0dXJuIFpvZFBhcnNlZFR5cGUudW5kZWZpbmVkO1xuICAgICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS5zdHJpbmc7XG4gICAgICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIuaXNOYU4oZGF0YSkgPyBab2RQYXJzZWRUeXBlLm5hbiA6IFpvZFBhcnNlZFR5cGUubnVtYmVyO1xuICAgICAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgICAgICAgcmV0dXJuIFpvZFBhcnNlZFR5cGUuYm9vbGVhbjtcbiAgICAgICAgY2FzZSBcImZ1bmN0aW9uXCI6XG4gICAgICAgICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS5mdW5jdGlvbjtcbiAgICAgICAgY2FzZSBcImJpZ2ludFwiOlxuICAgICAgICAgICAgcmV0dXJuIFpvZFBhcnNlZFR5cGUuYmlnaW50O1xuICAgICAgICBjYXNlIFwic3ltYm9sXCI6XG4gICAgICAgICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS5zeW1ib2w7XG4gICAgICAgIGNhc2UgXCJvYmplY3RcIjpcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFpvZFBhcnNlZFR5cGUuYXJyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGF0YSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBab2RQYXJzZWRUeXBlLm51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGF0YS50aGVuICYmIHR5cGVvZiBkYXRhLnRoZW4gPT09IFwiZnVuY3Rpb25cIiAmJiBkYXRhLmNhdGNoICYmIHR5cGVvZiBkYXRhLmNhdGNoID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS5wcm9taXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHR5cGVvZiBNYXAgIT09IFwidW5kZWZpbmVkXCIgJiYgZGF0YSBpbnN0YW5jZW9mIE1hcCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBab2RQYXJzZWRUeXBlLm1hcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2YgU2V0ICE9PSBcInVuZGVmaW5lZFwiICYmIGRhdGEgaW5zdGFuY2VvZiBTZXQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS5zZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodHlwZW9mIERhdGUgIT09IFwidW5kZWZpbmVkXCIgJiYgZGF0YSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gWm9kUGFyc2VkVHlwZS5kYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIFpvZFBhcnNlZFR5cGUub2JqZWN0O1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIFpvZFBhcnNlZFR5cGUudW5rbm93bjtcbiAgICB9XG59O1xuIl0sIm5hbWVzIjpbInV0aWwiLCJhc3NlcnRFcXVhbCIsIl8iLCJhc3NlcnRJcyIsIl9hcmciLCJhc3NlcnROZXZlciIsIl94IiwiRXJyb3IiLCJhcnJheVRvRW51bSIsIml0ZW1zIiwib2JqIiwiaXRlbSIsImdldFZhbGlkRW51bVZhbHVlcyIsInZhbGlkS2V5cyIsIm9iamVjdEtleXMiLCJmaWx0ZXIiLCJrIiwiZmlsdGVyZWQiLCJvYmplY3RWYWx1ZXMiLCJtYXAiLCJlIiwiT2JqZWN0Iiwia2V5cyIsIm9iamVjdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsInB1c2giLCJmaW5kIiwiYXJyIiwiY2hlY2tlciIsInVuZGVmaW5lZCIsImlzSW50ZWdlciIsIk51bWJlciIsInZhbCIsImlzRmluaXRlIiwiTWF0aCIsImZsb29yIiwiam9pblZhbHVlcyIsImFycmF5Iiwic2VwYXJhdG9yIiwiam9pbiIsImpzb25TdHJpbmdpZnlSZXBsYWNlciIsInZhbHVlIiwidG9TdHJpbmciLCJvYmplY3RVdGlsIiwibWVyZ2VTaGFwZXMiLCJmaXJzdCIsInNlY29uZCIsIlpvZFBhcnNlZFR5cGUiLCJnZXRQYXJzZWRUeXBlIiwiZGF0YSIsInQiLCJzdHJpbmciLCJpc05hTiIsIm5hbiIsIm51bWJlciIsImJvb2xlYW4iLCJmdW5jdGlvbiIsImJpZ2ludCIsInN5bWJvbCIsIkFycmF5IiwiaXNBcnJheSIsIm51bGwiLCJ0aGVuIiwiY2F0Y2giLCJwcm9taXNlIiwiTWFwIiwiU2V0Iiwic2V0IiwiRGF0ZSIsImRhdGUiLCJ1bmtub3duIl0sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js":
|
||
/*!**************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js ***!
|
||
\**************************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _ZodError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../ZodError.js */ \"(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js\");\n/* harmony import */ var _helpers_util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../helpers/util.js */ \"(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js\");\n\n\nconst errorMap = (issue, _ctx)=>{\n let message;\n switch(issue.code){\n case _ZodError_js__WEBPACK_IMPORTED_MODULE_0__.ZodIssueCode.invalid_type:\n if (issue.received === _helpers_util_js__WEBPACK_IMPORTED_MODULE_1__.ZodParsedType.undefined) {\n message = \"Required\";\n } else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case _ZodError_js__WEBPACK_IMPORTED_MODULE_0__.ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, _helpers_util_js__WEBPACK_IMPORTED_MODULE_1__.util.jsonStringifyReplacer)}`;\n break;\n case _ZodError_js__WEBPACK_IMPORTED_MODULE_0__.ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${_helpers_util_js__WEBPACK_IMPORTED_MODULE_1__.util.joinValues(issue.keys, \", \")}`;\n break;\n case _ZodError_js__WEBPACK_IMPORTED_MODULE_0__.ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case _ZodError_js__WEBPACK_IMPORTED_MODULE_0__.ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${_helpers_util_js__WEBPACK_IMPORTED_MODULE_1__.util.joinValues(issue.options)}`;\n break;\n case _ZodError_js__WEBPACK_IMPORTED_MODULE_0__.ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${_helpers_util_js__WEBPACK_IMPORTED_MODULE_1__.util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case _ZodError_js__WEBPACK_IMPORTED_MODULE_0__.ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case _ZodError_js__WEBPACK_IMPORTED_MODULE_0__.ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case _ZodError_js__WEBPACK_IMPORTED_MODULE_0__.ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case _ZodError_js__WEBPACK_IMPORTED_MODULE_0__.ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"includes\" in issue.validation) {\n message = `Invalid input: must include \"${issue.validation.includes}\"`;\n if (typeof issue.validation.position === \"number\") {\n message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n }\n } else if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n } else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n } else {\n _helpers_util_js__WEBPACK_IMPORTED_MODULE_1__.util.assertNever(issue.validation);\n }\n } else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n } else {\n message = \"Invalid\";\n }\n break;\n case _ZodError_js__WEBPACK_IMPORTED_MODULE_0__.ZodIssueCode.too_small:\n if (issue.type === \"array\") message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\") message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\") message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;\n else if (issue.type === \"bigint\") message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\") message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`;\n else message = \"Invalid input\";\n break;\n case _ZodError_js__WEBPACK_IMPORTED_MODULE_0__.ZodIssueCode.too_big:\n if (issue.type === \"array\") message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\") message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\") message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\") message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\") message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else message = \"Invalid input\";\n break;\n case _ZodError_js__WEBPACK_IMPORTED_MODULE_0__.ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case _ZodError_js__WEBPACK_IMPORTED_MODULE_0__.ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case _ZodError_js__WEBPACK_IMPORTED_MODULE_0__.ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case _ZodError_js__WEBPACK_IMPORTED_MODULE_0__.ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n _helpers_util_js__WEBPACK_IMPORTED_MODULE_1__.util.assertNever(issue);\n }\n return {\n message\n };\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (errorMap);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS96b2RAMy4yNS43Ni9ub2RlX21vZHVsZXMvem9kL3YzL2xvY2FsZXMvZW4uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQThDO0FBQ1c7QUFDekQsTUFBTUcsV0FBVyxDQUFDQyxPQUFPQztJQUNyQixJQUFJQztJQUNKLE9BQVFGLE1BQU1HLElBQUk7UUFDZCxLQUFLUCxzREFBWUEsQ0FBQ1EsWUFBWTtZQUMxQixJQUFJSixNQUFNSyxRQUFRLEtBQUtQLDJEQUFhQSxDQUFDUSxTQUFTLEVBQUU7Z0JBQzVDSixVQUFVO1lBQ2QsT0FDSztnQkFDREEsVUFBVSxDQUFDLFNBQVMsRUFBRUYsTUFBTU8sUUFBUSxDQUFDLFdBQVcsRUFBRVAsTUFBTUssUUFBUSxFQUFFO1lBQ3RFO1lBQ0E7UUFDSixLQUFLVCxzREFBWUEsQ0FBQ1ksZUFBZTtZQUM3Qk4sVUFBVSxDQUFDLGdDQUFnQyxFQUFFTyxLQUFLQyxTQUFTLENBQUNWLE1BQU1PLFFBQVEsRUFBRVYsa0RBQUlBLENBQUNjLHFCQUFxQixHQUFHO1lBQ3pHO1FBQ0osS0FBS2Ysc0RBQVlBLENBQUNnQixpQkFBaUI7WUFDL0JWLFVBQVUsQ0FBQywrQkFBK0IsRUFBRUwsa0RBQUlBLENBQUNnQixVQUFVLENBQUNiLE1BQU1jLElBQUksRUFBRSxPQUFPO1lBQy9FO1FBQ0osS0FBS2xCLHNEQUFZQSxDQUFDbUIsYUFBYTtZQUMzQmIsVUFBVSxDQUFDLGFBQWEsQ0FBQztZQUN6QjtRQUNKLEtBQUtOLHNEQUFZQSxDQUFDb0IsMkJBQTJCO1lBQ3pDZCxVQUFVLENBQUMsc0NBQXNDLEVBQUVMLGtEQUFJQSxDQUFDZ0IsVUFBVSxDQUFDYixNQUFNaUIsT0FBTyxHQUFHO1lBQ25GO1FBQ0osS0FBS3JCLHNEQUFZQSxDQUFDc0Isa0JBQWtCO1lBQ2hDaEIsVUFBVSxDQUFDLDZCQUE2QixFQUFFTCxrREFBSUEsQ0FBQ2dCLFVBQVUsQ0FBQ2IsTUFBTWlCLE9BQU8s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QyxNQUFNcUMsT0FBTyxFQUFFO2lCQUMvSCxJQUFJckMsTUFBTThCLElBQUksS0FBSyxRQUNwQjVCLFVBQVUsQ0FBQyxhQUFhLEVBQUVGLE1BQU0rQixLQUFLLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRy9CLE1BQU1nQyxTQUFTLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUlFLEtBQUtDLE9BQU9uQyxNQUFNcUMsT0FBTyxJQUFJO2lCQUV0Sm5DLFVBQVU7WUFDZDtRQUNKLEtBQUtOLHNEQUFZQSxDQUFDMEMsTUFBTTtZQUNwQnBDLFVBQVUsQ0FBQyxhQUFhLENBQUM7WUFDekI7UUFDSixLQUFLTixzREFBWUEsQ0FBQzJDLDBCQUEwQjtZQUN4Q3JDLFVBQVUsQ0FBQyx3Q0FBd0MsQ0FBQztZQUNwRDtRQUNKLEtBQUtOLHNEQUFZQSxDQUFDNEMsZUFBZTtZQUM3QnRDLFVBQVUsQ0FBQyw2QkFBNkIsRUFBRUYsTUFBTXlDLFVBQVUsRUFBRTtZQUM1RDtRQUNKLEtBQUs3QyxzREFBWUEsQ0FBQzhDLFVBQVU7WUFDeEJ4QyxVQUFVO1lBQ1Y7UUFDSjtZQUNJQSxVQUFVRCxLQUFLMEMsWUFBWTtZQUMzQjlDLGtEQUFJQSxDQUFDK0IsV0FBVyxDQUFDNUI7SUFDekI7SUFDQSxPQUFPO1FBQUVFO0lBQVE7QUFDckI7QUFDQSxpRUFBZUgsUUFBUUEsRUFBQyIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS96b2RAMy4yNS43Ni9ub2RlX21vZHVsZXMvem9kL3YzL2xvY2FsZXMvZW4uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWm9kSXNzdWVDb2RlIH0gZnJvbSBcIi4uL1pvZEVycm9yLmpzXCI7XG5pbXBvcnQgeyB1dGlsLCBab2RQYXJzZWRUeXBlIH0gZnJvbSBcIi4uL2hlbHBlcnMvdXRpbC5qc1wiO1xuY29uc3QgZXJyb3JNYXAgPSAoaXNzdWUsIF9jdHgpID0+IHtcbiAgICBsZXQgbWVzc2FnZTtcbiAgICBzd2l0Y2ggKGlzc3VlLmNvZGUpIHtcbiAgICAgICAgY2FzZSBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlOlxuICAgICAgICAgICAgaWYgKGlzc3VlLnJlY2VpdmVkID09PSBab2RQYXJzZWRUeXBlLnVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBcIlJlcXVpcmVkXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlID0gYEV4cGVjdGVkICR7aXNzdWUuZXhwZWN0ZWR9LCByZWNlaXZlZCAke2lzc3VlLnJlY2VpdmVkfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBab2RJc3N1ZUNvZGUuaW52YWxpZF9saXRlcmFsOlxuICAgICAgICAgICAgbWVzc2FnZSA9IGBJbnZhbGlkIGxpdGVyYWwgdmFsdWUsIGV4cGVjdGVkICR7SlNPTi5zdHJpbmdpZnkoaXNzdWUuZXhwZWN0ZWQsIHV0aWwuanNvblN0cmluZ2lmeVJlcGxhY2VyKX1gO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgWm9kSXNzdWVDb2RlLnVucmVjb2duaXplZF9rZXlzOlxuICAgICAgICAgICAgbWVzc2FnZSA9IGBVbnJlY29nbml6ZWQga2V5KHMpIGluIG9iamVjdDogJHt1dGlsLmpvaW5WYWx1ZXMoaXNzdWUua2V5cywgXCIsIFwiKX1gO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgWm9kSXNzdWVDb2RlLmludmFsaWRfdW5pb246XG4gICAgICAgICAgICBtZXNzYWdlID0gYEludmFsaWQgaW5wdXRgO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgWm9kSXNzdWVDb2RlLmludmFsaWRfdW5pb25fZGlzY3JpbWluYXRvcjpcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgSW52YWxpZCBkaXNjcmltaW5hdG9yIHZhbHVlLiBFeHBlY3RlZCAke3V0aWwuam9pblZhbHVlcyhpc3N1ZS5vcHRpb25zKX1gO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgWm9kSXNzdWVDb2RlLmludmFsaWRfZW51bV92YWx1ZTpcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgSW52YWxpZCBlbnVtIHZhbHVlLiBFeHBlY3RlZCAke3V0aWwuam9pblZhbHVlcyhpc3N1ZS5vcHRpb25zKX0sIHJlY2VpdmVkICcke2lzc3VlLnJlY2VpdmVkfSdgO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgWm9kSXNzdWVDb2RlLmludmFsaWRfYXJndW1lbnRzOlxuICAgICAgICAgICAgbWVzc2FnZSA9IGBJbnZhbGlkIGZ1bmN0aW9uIGFyZ3VtZW50c2A7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBab2RJc3N1ZUNvZGUuaW52YWxpZF9yZXR1cm5fdHlwZTpcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgSW52YWxpZCBmdW5jdGlvbiByZXR1cm4gdHlwZWA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBab2RJc3N1ZUNvZGUuaW52YWxpZF9kYXRlOlxuICAgICAgICAgICAgbWVzc2FnZSA9IGBJbnZhbGlkIGRhdGVgO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nOlxuICAgICAgICAgICAgaWYgKHR5cGVvZiBpc3N1ZS52YWxpZGF0aW9uID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKFwiaW5jbHVkZXNcIiBpbiBpc3N1ZS52YWxpZGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgSW52YWxpZCBpbnB1dDogbXVzdCBpbmNsdWRlIFwiJHtpc3N1ZS52YWxpZGF0aW9uLmluY2x1ZGVzfVwiYDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBpc3N1ZS52YWxpZGF0aW9uLnBvc2l0aW9uID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gYCR7bWVzc2FnZX0gYXQgb25lIG9yIG1vcmUgcG9zaXRpb25zIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAke2lzc3VlLnZhbGlkYXRpb24ucG9zaXRpb259YDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChcInN0YXJ0c1dpdGhcIiBpbiBpc3N1ZS52YWxpZGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgSW52YWxpZCBpbnB1dDogbXVzdCBzdGFydCB3aXRoIFwiJHtpc3N1ZS52YWxpZGF0aW9uLnN0YXJ0c1dpdGh9XCJgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChcImVuZHNXaXRoXCIgaW4gaXNzdWUudmFsaWRhdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gYEludmFsaWQgaW5wdXQ6IG11c3QgZW5kIHdpdGggXCIke2lzc3VlLnZhbGlkYXRpb24uZW5kc1dpdGh9XCJgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdXRpbC5hc3NlcnROZXZlcihpc3N1ZS52YWxpZGF0aW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChpc3N1ZS52YWxpZGF0aW9uICE9PSBcInJlZ2V4XCIpIHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlID0gYEludmFsaWQgJHtpc3N1ZS52YWxpZGF0aW9ufWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlID0gXCJJbnZhbGlkXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBab2RJc3N1ZUNvZGUudG9vX3NtYWxsOlxuICAgICAgICAgICAgaWYgKGlzc3VlLnR5cGUgPT09IFwiYXJyYXlcIilcbiAgICAgICAgICAgICAgICBtZXNzYWdlID0gYEFycmF5IG11c3QgY29udGFpbiAke2lzc3VlLmV4YWN0ID8gXCJleGFjdGx5XCIgOiBpc3N1ZS5pbmNsdXNpdmUgPyBgYXQgbGVhc3RgIDogYG1vcmUgdGhhbmB9ICR7aXNzdWUubWluaW11bX0gZWxlbWVudChzKWA7XG4gICAgICAgICAgICBlbHNlIGlmIChpc3N1ZS50eXBlID09PSBcInN0cmluZ1wiKVxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgU3RyaW5nIG11c3QgY29udGFpbiAke2lzc3VlLmV4YWN0ID8gXCJleGFjdGx5XCIgOiBpc3N1ZS5pbmNsdXNpdmUgPyBgYXQgbGVhc3RgIDogYG92ZXJgfSAke2lzc3VlLm1pbmltdW19IGNoYXJhY3RlcihzKWA7XG4gICAgICAgICAgICBlbHNlIGlmIChpc3N1ZS50eXBlID09PSBcIm51bWJlclwiKVxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgTnVtYmVyIG11c3QgYmUgJHtpc3N1ZS5leGFjdCA/IGBleGFjdGx5IGVxdWFsIHRvIGAgOiBpc3N1ZS5pbmNsdXNpdmUgPyBgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGAgOiBgZ3JlYXRlciB0aGFuIGB9JHtpc3N1ZS5taW5pbXVtfWA7XG4gICAgICAgICAgICBlbHNlIGlmIChpc3N1ZS50eXBlID09PSBcImJpZ2ludFwiKVxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgTnVtYmVyIG11c3QgYmUgJHtpc3N1ZS5leGFjdCA/IGBleGFjdGx5IGVxdWFsIHRvIGAgOiBpc3N1ZS5pbmNsdXNpdmUgPyBgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGAgOiBgZ3JlYXRlciB0aGFuIGB9JHtpc3N1ZS5taW5pbXVtfWA7XG4gICAgICAgICAgICBlbHNlIGlmIChpc3N1ZS50eXBlID09PSBcImRhdGVcIilcbiAgICAgICAgICAgICAgICBtZXNzYWdlID0gYERhdGUgbXVzdCBiZSAke2lzc3VlLmV4YWN0ID8gYGV4YWN0bHkgZXF1YWwgdG8gYCA6IGlzc3VlLmluY2x1c2l2ZSA/IGBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gYCA6IGBncmVhdGVyIHRoYW4gYH0ke25ldyBEYXRlKE51bWJlcihpc3N1ZS5taW5pbXVtKSl9YDtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBtZXNzYWdlID0gXCJJbnZhbGlkIGlucHV0XCI7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBab2RJc3N1ZUNvZGUudG9vX2JpZzpcbiAgICAgICAgICAgIGlmIChpc3N1ZS50eXBlID09PSBcImFycmF5XCIpXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBBcnJheSBtdXN0IGNvbnRhaW4gJHtpc3N1ZS5leGFjdCA/IGBleGFjdGx5YCA6IGlzc3VlLmluY2x1c2l2ZSA/IGBhdCBtb3N0YCA6IGBsZXNzIHRoYW5gfSAke2lzc3VlLm1heGltdW19IGVsZW1lbnQocylgO1xuICAgICAgICAgICAgZWxzZSBpZiAoaXNzdWUudHlwZSA9PT0gXCJzdHJpbmdcIilcbiAgICAgICAgICAgICAgICBtZXNzYWdlID0gYFN0cmluZyBtdXN0IGNvbnRhaW4gJHtpc3N1ZS5leGFjdCA/IGBleGFjdGx5YCA6IGlzc3VlLmluY2x1c2l2ZSA/IGBhdCBtb3N0YCA6IGB1bmRlcmB9ICR7aXNzdWUubWF4aW11bX0gY2hhcmFjdGVyKHMpYDtcbiAgICAgICAgICAgIGVsc2UgaWYgKGlzc3VlLnR5cGUgPT09IFwibnVtYmVyXCIpXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBOdW1iZXIgbXVzdCBiZSAke2lzc3VlLmV4YWN0ID8gYGV4YWN0bHlgIDogaXNzdWUuaW5jbHVzaXZlID8gYGxlc3MgdGhhbiBvciBlcXVhbCB0b2AgOiBgbGVzcyB0aGFuYH0gJHtpc3N1ZS5tYXhpbXVtfWA7XG4gICAgICAgICAgICBlbHNlIGlmIChpc3N1ZS50eXBlID09PSBcImJpZ2ludFwiKVxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgQmlnSW50IG11c3QgYmUgJHtpc3N1ZS5leGFjdCA/IGBleGFjdGx5YCA6IGlzc3VlLmluY2x1c2l2ZSA/IGBsZXNzIHRoYW4gb3IgZXF1YWwgdG9gIDogYGxlc3MgdGhhbmB9ICR7aXNzdWUubWF4aW11bX1gO1xuICAgICAgICAgICAgZWxzZSBpZiAoaXNzdWUudHlwZSA9PT0gXCJkYXRlXCIpXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBEYXRlIG11c3QgYmUgJHtpc3N1ZS5leGFjdCA/IGBleGFjdGx5YCA6IGlzc3VlLmluY2x1c2l2ZSA/IGBzbWFsbGVyIHRoYW4gb3IgZXF1YWwgdG9gIDogYHNtYWxsZXIgdGhhbmB9ICR7bmV3IERhdGUoTnVtYmVyKGlzc3VlLm1heGltdW0pKX1gO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBcIkludmFsaWQgaW5wdXRcIjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFpvZElzc3VlQ29kZS5jdXN0b206XG4gICAgICAgICAgICBtZXNzYWdlID0gYEludmFsaWQgaW5wdXRgO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgWm9kSXNzdWVDb2RlLmludmFsaWRfaW50ZXJzZWN0aW9uX3R5cGVzOlxuICAgICAgICAgICAgbWVzc2FnZSA9IGBJbnRlcnNlY3Rpb24gcmVzdWx0cyBjb3VsZCBub3QgYmUgbWVyZ2VkYDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFpvZElzc3VlQ29kZS5ub3RfbXVsdGlwbGVfb2Y6XG4gICAgICAgICAgICBtZXNzYWdlID0gYE51bWJlciBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgJHtpc3N1ZS5tdWx0aXBsZU9mfWA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBab2RJc3N1ZUNvZGUubm90X2Zpbml0ZTpcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBcIk51bWJlciBtdXN0IGJlIGZpbml0ZVwiO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBtZXNzYWdlID0gX2N0eC5kZWZhdWx0RXJyb3I7XG4gICAgICAgICAgICB1dGlsLmFzc2VydE5ldmVyKGlzc3VlKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgbWVzc2FnZSB9O1xufTtcbmV4cG9ydCBkZWZhdWx0IGVycm9yTWFwO1xuIl0sIm5hbWVzIjpbIlpvZElzc3VlQ29kZSIsInV0aWwiLCJab2RQYXJzZWRUeXBlIiwiZXJyb3JNYXAiLCJpc3N1ZSIsIl9jdHgiLCJtZXNzYWdlIiwiY29kZSIsImludmFsaWRfdHlwZSIsInJlY2VpdmVkIiwidW5kZWZpbmVkIiwiZXhwZWN0ZWQiLCJpbnZhbGlkX2xpdGVyYWwiLCJKU09OIiwic3RyaW5naWZ5IiwianNvblN0cmluZ2lmeVJlcGxhY2VyIiwidW5yZWNvZ25pemVkX2tleXMiLCJqb2luVmFsdWVzIiwia2V5cyIsImludmFsaWRfdW5pb24iLCJpbnZhbGlkX3VuaW9uX2Rpc2NyaW1pbmF0b3IiLCJvcHRpb25zIiwiaW52YWxpZF9lbnVtX3ZhbHVlIiwiaW52YWxpZF9hcmd1bWVudHMiLCJpbnZhbGlkX3JldHVybl90eXBlIiwiaW52YWxpZF9kYXRlIiwiaW52YWxpZF9zdHJpbmciLCJ2YWxpZGF0aW9uIiwiaW5jbHVkZXMiLCJwb3NpdGlvbiIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsImFzc2VydE5ldmVyIiwidG9vX3NtYWxsIiwidHlwZSIsImV4YWN0IiwiaW5jbHVzaXZlIiwibWluaW11bSIsIkRhdGUiLCJOdW1iZXIiLCJ0b29fYmlnIiwibWF4aW11bSIsImN1c3RvbSIsImludmFsaWRfaW50ZXJzZWN0aW9uX3R5cGVzIiwibm90X211bHRpcGxlX29mIiwibXVsdGlwbGVPZiIsIm5vdF9maW5pdGUiLCJkZWZhdWx0RXJyb3IiXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js":
|
||
/*!*********************************************************************!*\
|
||
!*** ./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js ***!
|
||
\*********************************************************************/
|
||
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BRAND: () => (/* binding */ BRAND),\n/* harmony export */ NEVER: () => (/* binding */ NEVER),\n/* harmony export */ Schema: () => (/* binding */ ZodType),\n/* harmony export */ ZodAny: () => (/* binding */ ZodAny),\n/* harmony export */ ZodArray: () => (/* binding */ ZodArray),\n/* harmony export */ ZodBigInt: () => (/* binding */ ZodBigInt),\n/* harmony export */ ZodBoolean: () => (/* binding */ ZodBoolean),\n/* harmony export */ ZodBranded: () => (/* binding */ ZodBranded),\n/* harmony export */ ZodCatch: () => (/* binding */ ZodCatch),\n/* harmony export */ ZodDate: () => (/* binding */ ZodDate),\n/* harmony export */ ZodDefault: () => (/* binding */ ZodDefault),\n/* harmony export */ ZodDiscriminatedUnion: () => (/* binding */ ZodDiscriminatedUnion),\n/* harmony export */ ZodEffects: () => (/* binding */ ZodEffects),\n/* harmony export */ ZodEnum: () => (/* binding */ ZodEnum),\n/* harmony export */ ZodFirstPartyTypeKind: () => (/* binding */ ZodFirstPartyTypeKind),\n/* harmony export */ ZodFunction: () => (/* binding */ ZodFunction),\n/* harmony export */ ZodIntersection: () => (/* binding */ ZodIntersection),\n/* harmony export */ ZodLazy: () => (/* binding */ ZodLazy),\n/* harmony export */ ZodLiteral: () => (/* binding */ ZodLiteral),\n/* harmony export */ ZodMap: () => (/* binding */ ZodMap),\n/* harmony export */ ZodNaN: () => (/* binding */ ZodNaN),\n/* harmony export */ ZodNativeEnum: () => (/* binding */ ZodNativeEnum),\n/* harmony export */ ZodNever: () => (/* binding */ ZodNever),\n/* harmony export */ ZodNull: () => (/* binding */ ZodNull),\n/* harmony export */ ZodNullable: () => (/* binding */ ZodNullable),\n/* harmony export */ ZodNumber: () => (/* binding */ ZodNumber),\n/* harmony export */ ZodObject: () => (/* binding */ ZodObject),\n/* harmony export */ ZodOptional: () => (/* binding */ ZodOptional),\n/* harmony export */ ZodPipeline: () => (/* binding */ ZodPipeline),\n/* harmony export */ ZodPromise: () => (/* binding */ ZodPromise),\n/* harmony export */ ZodReadonly: () => (/* binding */ ZodReadonly),\n/* harmony export */ ZodRecord: () => (/* binding */ ZodRecord),\n/* harmony export */ ZodSchema: () => (/* binding */ ZodType),\n/* harmony export */ ZodSet: () => (/* binding */ ZodSet),\n/* harmony export */ ZodString: () => (/* binding */ ZodString),\n/* harmony export */ ZodSymbol: () => (/* binding */ ZodSymbol),\n/* harmony export */ ZodTransformer: () => (/* binding */ ZodEffects),\n/* harmony export */ ZodTuple: () => (/* binding */ ZodTuple),\n/* harmony export */ ZodType: () => (/* binding */ ZodType),\n/* harmony export */ ZodUndefined: () => (/* binding */ ZodUndefined),\n/* harmony export */ ZodUnion: () => (/* binding */ ZodUnion),\n/* harmony export */ ZodUnknown: () => (/* binding */ ZodUnknown),\n/* harmony export */ ZodVoid: () => (/* binding */ ZodVoid),\n/* harmony export */ any: () => (/* binding */ anyType),\n/* harmony export */ array: () => (/* binding */ arrayType),\n/* harmony export */ bigint: () => (/* binding */ bigIntType),\n/* harmony export */ boolean: () => (/* binding */ booleanType),\n/* harmony export */ coerce: () => (/* binding */ coerce),\n/* harmony export */ custom: () => (/* binding */ custom),\n/* harmony export */ date: () => (/* binding */ dateType),\n/* harmony export */ datetimeRegex: () => (/* binding */ datetimeRegex),\n/* harmony export */ discriminatedUnion: () => (/* binding */ discriminatedUnionType),\n/* harmony export */ effect: () => (/* binding */ effectsType),\n/* harmony export */ \"enum\": () => (/* binding */ enumType),\n/* harmony export */ \"function\": () => (/* binding */ functionType),\n/* harmony export */ \"instanceof\": () => (/* binding */ instanceOfType),\n/* harmony export */ intersection: () => (/* binding */ intersectionType),\n/* harmony export */ late: () => (/* binding */ late),\n/* harmony export */ lazy: () => (/* binding */ lazyType),\n/* harmony export */ literal: () => (/* binding */ literalType),\n/* harmony export */ map: () => (/* binding */ mapType),\n/* harmony export */ nan: () => (/* binding */ nanType),\n/* harmony export */ nativeEnum: () => (/* binding */ nativeEnumType),\n/* harmony export */ never: () => (/* binding */ neverType),\n/* harmony export */ \"null\": () => (/* binding */ nullType),\n/* harmony export */ nullable: () => (/* binding */ nullableType),\n/* harmony export */ number: () => (/* binding */ numberType),\n/* harmony export */ object: () => (/* binding */ objectType),\n/* harmony export */ oboolean: () => (/* binding */ oboolean),\n/* harmony export */ onumber: () => (/* binding */ onumber),\n/* harmony export */ optional: () => (/* binding */ optionalType),\n/* harmony export */ ostring: () => (/* binding */ ostring),\n/* harmony export */ pipeline: () => (/* binding */ pipelineType),\n/* harmony export */ preprocess: () => (/* binding */ preprocessType),\n/* harmony export */ promise: () => (/* binding */ promiseType),\n/* harmony export */ record: () => (/* binding */ recordType),\n/* harmony export */ set: () => (/* binding */ setType),\n/* harmony export */ strictObject: () => (/* binding */ strictObjectType),\n/* harmony export */ string: () => (/* binding */ stringType),\n/* harmony export */ symbol: () => (/* binding */ symbolType),\n/* harmony export */ transformer: () => (/* binding */ effectsType),\n/* harmony export */ tuple: () => (/* binding */ tupleType),\n/* harmony export */ undefined: () => (/* binding */ undefinedType),\n/* harmony export */ union: () => (/* binding */ unionType),\n/* harmony export */ unknown: () => (/* binding */ unknownType),\n/* harmony export */ \"void\": () => (/* binding */ voidType)\n/* harmony export */ });\n/* harmony import */ var _ZodError_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ZodError.js */ \"(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js\");\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./errors.js */ \"(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js\");\n/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./errors.js */ \"(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js\");\n/* harmony import */ var _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers/errorUtil.js */ \"(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js\");\n/* harmony import */ var _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers/parseUtil.js */ \"(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js\");\n/* harmony import */ var _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers/util.js */ \"(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js\");\n\n\n\n\n\nclass ParseInputLazyPath {\n constructor(parent, value, path, key){\n this._cachedPath = [];\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n if (!this._cachedPath.length) {\n if (Array.isArray(this._key)) {\n this._cachedPath.push(...this._path, ...this._key);\n } else {\n this._cachedPath.push(...this._path, this._key);\n }\n }\n return this._cachedPath;\n }\n}\nconst handleResult = (ctx, result)=>{\n if ((0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.isValid)(result)) {\n return {\n success: true,\n data: result.value\n };\n } else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n return {\n success: false,\n get error () {\n if (this._error) return this._error;\n const error = new _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodError(ctx.common.issues);\n this._error = error;\n return this._error;\n }\n };\n }\n};\nfunction processCreateParams(params) {\n if (!params) return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap) return {\n errorMap: errorMap,\n description\n };\n const customMap = (iss, ctx)=>{\n const { message } = params;\n if (iss.code === \"invalid_enum_value\") {\n return {\n message: message ?? ctx.defaultError\n };\n }\n if (typeof ctx.data === \"undefined\") {\n return {\n message: message ?? required_error ?? ctx.defaultError\n };\n }\n if (iss.code !== \"invalid_type\") return {\n message: ctx.defaultError\n };\n return {\n message: message ?? invalid_type_error ?? ctx.defaultError\n };\n };\n return {\n errorMap: customMap,\n description\n };\n}\nclass ZodType {\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return (0,_helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.getParsedType)(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: (0,_helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.getParsedType)(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent\n };\n }\n _processInputParams(input) {\n return {\n status: new _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: (0,_helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.getParsedType)(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent\n }\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if ((0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.isAsync)(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success) return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n const ctx = {\n common: {\n issues: [],\n async: params?.async ?? false,\n contextualErrorMap: params?.errorMap\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0,_helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.getParsedType)(data)\n };\n const result = this._parseSync({\n data,\n path: ctx.path,\n parent: ctx\n });\n return handleResult(ctx, result);\n }\n \"~validate\"(data) {\n const ctx = {\n common: {\n issues: [],\n async: !!this[\"~standard\"].async\n },\n path: [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0,_helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.getParsedType)(data)\n };\n if (!this[\"~standard\"].async) {\n try {\n const result = this._parseSync({\n data,\n path: [],\n parent: ctx\n });\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.isValid)(result) ? {\n value: result.value\n } : {\n issues: ctx.common.issues\n };\n } catch (err) {\n if (err?.message?.toLowerCase()?.includes(\"encountered\")) {\n this[\"~standard\"].async = true;\n }\n ctx.common = {\n issues: [],\n async: true\n };\n }\n }\n return this._parseAsync({\n data,\n path: [],\n parent: ctx\n }).then((result)=>(0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.isValid)(result) ? {\n value: result.value\n } : {\n issues: ctx.common.issues\n });\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success) return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params?.errorMap,\n async: true\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0,_helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.getParsedType)(data)\n };\n const maybeAsyncResult = this._parse({\n data,\n path: ctx.path,\n parent: ctx\n });\n const result = await ((0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.isAsync)(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val)=>{\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return {\n message\n };\n } else if (typeof message === \"function\") {\n return message(val);\n } else {\n return message;\n }\n };\n return this._refinement((val, ctx)=>{\n const result = check(val);\n const setError = ()=>ctx.addIssue({\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.custom,\n ...getIssueProperties(val)\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data)=>{\n if (!data) {\n setError();\n return false;\n } else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n } else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx)=>{\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\" ? refinementData(val, ctx) : refinementData);\n return false;\n } else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: {\n type: \"refinement\",\n refinement\n }\n });\n }\n superRefine(refinement) {\n return this._refinement(refinement);\n }\n constructor(def){\n /** Alias of safeParseAsync */ this.spa = this.safeParseAsync;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.brand = this.brand.bind(this);\n this.default = this.default.bind(this);\n this.catch = this.catch.bind(this);\n this.describe = this.describe.bind(this);\n this.pipe = this.pipe.bind(this);\n this.readonly = this.readonly.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n this[\"~standard\"] = {\n version: 1,\n vendor: \"zod\",\n validate: (data)=>this[\"~validate\"](data)\n };\n }\n optional() {\n return ZodOptional.create(this, this._def);\n }\n nullable() {\n return ZodNullable.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return ZodArray.create(this);\n }\n promise() {\n return ZodPromise.create(this, this._def);\n }\n or(option) {\n return ZodUnion.create([\n this,\n option\n ], this._def);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming, this._def);\n }\n transform(transform) {\n return new ZodEffects({\n ...processCreateParams(this._def),\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: {\n type: \"transform\",\n transform\n }\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : ()=>def;\n return new ZodDefault({\n ...processCreateParams(this._def),\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(this._def)\n });\n }\n catch(def) {\n const catchValueFunc = typeof def === \"function\" ? def : ()=>def;\n return new ZodCatch({\n ...processCreateParams(this._def),\n innerType: this,\n catchValue: catchValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodCatch\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description\n });\n }\n pipe(target) {\n return ZodPipeline.create(this, target);\n }\n readonly() {\n return ZodReadonly.create(this);\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[0-9a-z]+$/;\nconst ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/i;\n// const uuidRegex =\n// /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst uuidRegex = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i;\nconst nanoidRegex = /^[a-z0-9_-]{21}$/i;\nconst jwtRegex = /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/;\nconst durationRegex = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n//old email regex\n// const emailRegex = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@((?!-)([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{1,})[^-<>()[\\].,;:\\s@\"]$/i;\n// eslint-disable-next-line\n// const emailRegex =\n// /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\n// const emailRegex =\n// /^[a-zA-Z0-9\\.\\!\\#\\$\\%\\&\\'\\*\\+\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~\\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// const emailRegex =\n// /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nconst emailRegex = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_'+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;\n// const emailRegex =\n// /^[a-z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\\.[a-z0-9\\-]+)*$/i;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emojiRegex = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nlet emojiRegex;\n// faster, simpler, safer\nconst ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nconst ipv4CidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/;\n// const ipv6Regex =\n// /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\nconst ipv6Regex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;\nconst ipv6CidrRegex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nconst base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;\n// https://base64.guru/standards/base64url\nconst base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/;\n// simple\n// const dateRegexSource = `\\\\d{4}-\\\\d{2}-\\\\d{2}`;\n// no leap year validation\n// const dateRegexSource = `\\\\d{4}-((0[13578]|10|12)-31|(0[13-9]|1[0-2])-30|(0[1-9]|1[0-2])-(0[1-9]|1\\\\d|2\\\\d))`;\n// with leap year validation\nconst dateRegexSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateRegex = new RegExp(`^${dateRegexSource}$`);\nfunction timeRegexSource(args) {\n let secondsRegexSource = `[0-5]\\\\d`;\n if (args.precision) {\n secondsRegexSource = `${secondsRegexSource}\\\\.\\\\d{${args.precision}}`;\n } else if (args.precision == null) {\n secondsRegexSource = `${secondsRegexSource}(\\\\.\\\\d+)?`;\n }\n const secondsQuantifier = args.precision ? \"+\" : \"?\"; // require seconds if precision is nonzero\n return `([01]\\\\d|2[0-3]):[0-5]\\\\d(:${secondsRegexSource})${secondsQuantifier}`;\n}\nfunction timeRegex(args) {\n return new RegExp(`^${timeRegexSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nfunction datetimeRegex(args) {\n let regex = `${dateRegexSource}T${timeRegexSource(args)}`;\n const opts = [];\n opts.push(args.local ? `Z?` : `Z`);\n if (args.offset) opts.push(`([+-]\\\\d{2}:?\\\\d{2})`);\n regex = `${regex}(${opts.join(\"|\")})`;\n return new RegExp(`^${regex}$`);\n}\nfunction isValidIP(ip, version) {\n if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n return true;\n }\n return false;\n}\nfunction isValidJWT(jwt, alg) {\n if (!jwtRegex.test(jwt)) return false;\n try {\n const [header] = jwt.split(\".\");\n if (!header) return false;\n // Convert base64url to base64\n const base64 = header.replace(/-/g, \"+\").replace(/_/g, \"/\").padEnd(header.length + (4 - header.length % 4) % 4, \"=\");\n const decoded = JSON.parse(atob(base64));\n if (typeof decoded !== \"object\" || decoded === null) return false;\n if (\"typ\" in decoded && decoded?.typ !== \"JWT\") return false;\n if (!decoded.alg) return false;\n if (alg && decoded.alg !== alg) return false;\n return true;\n } catch {\n return false;\n }\n}\nfunction isValidCidr(ip, version) {\n if ((version === \"v4\" || !version) && ipv4CidrRegex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6CidrRegex.test(ip)) {\n return true;\n }\n return false;\n}\nclass ZodString extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.string,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n const status = new _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks){\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"length\") {\n const tooBig = input.data.length > check.value;\n const tooSmall = input.data.length < check.value;\n if (tooBig || tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n if (tooBig) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message\n });\n } else if (tooSmall) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message\n });\n }\n status.dirty();\n }\n } else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n validation: \"email\",\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"emoji\") {\n if (!emojiRegex) {\n emojiRegex = new RegExp(_emojiRegex, \"u\");\n }\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n validation: \"emoji\",\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n validation: \"uuid\",\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"nanoid\") {\n if (!nanoidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n validation: \"nanoid\",\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n validation: \"cuid\",\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"cuid2\") {\n if (!cuid2Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n validation: \"cuid2\",\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"ulid\") {\n if (!ulidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n validation: \"ulid\",\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n } catch {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n validation: \"url\",\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n validation: \"regex\",\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n } else if (check.kind === \"includes\") {\n if (!input.data.includes(check.value, check.position)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n validation: {\n includes: check.value,\n position: check.position\n },\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"toLowerCase\") {\n input.data = input.data.toLowerCase();\n } else if (check.kind === \"toUpperCase\") {\n input.data = input.data.toUpperCase();\n } else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n validation: {\n startsWith: check.value\n },\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n validation: {\n endsWith: check.value\n },\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"datetime\") {\n const regex = datetimeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n validation: \"datetime\",\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"date\") {\n const regex = dateRegex;\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n validation: \"date\",\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"time\") {\n const regex = timeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n validation: \"time\",\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"duration\") {\n if (!durationRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n validation: \"duration\",\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"ip\") {\n if (!isValidIP(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n validation: \"ip\",\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"jwt\") {\n if (!isValidJWT(input.data, check.alg)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n validation: \"jwt\",\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"cidr\") {\n if (!isValidCidr(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n validation: \"cidr\",\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"base64\") {\n if (!base64Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n validation: \"base64\",\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"base64url\") {\n if (!base64urlRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n validation: \"base64url\",\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n message: check.message\n });\n status.dirty();\n }\n } else {\n _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: input.data\n };\n }\n _regex(regex, validation, message) {\n return this.refinement((data)=>regex.test(data), {\n validation,\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_string,\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message)\n });\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [\n ...this._def.checks,\n check\n ]\n });\n }\n email(message) {\n return this._addCheck({\n kind: \"email\",\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message)\n });\n }\n url(message) {\n return this._addCheck({\n kind: \"url\",\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message)\n });\n }\n emoji(message) {\n return this._addCheck({\n kind: \"emoji\",\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message)\n });\n }\n uuid(message) {\n return this._addCheck({\n kind: \"uuid\",\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message)\n });\n }\n nanoid(message) {\n return this._addCheck({\n kind: \"nanoid\",\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message)\n });\n }\n cuid(message) {\n return this._addCheck({\n kind: \"cuid\",\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message)\n });\n }\n cuid2(message) {\n return this._addCheck({\n kind: \"cuid2\",\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message)\n });\n }\n ulid(message) {\n return this._addCheck({\n kind: \"ulid\",\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message)\n });\n }\n base64(message) {\n return this._addCheck({\n kind: \"base64\",\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message)\n });\n }\n base64url(message) {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return this._addCheck({\n kind: \"base64url\",\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message)\n });\n }\n jwt(options) {\n return this._addCheck({\n kind: \"jwt\",\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(options)\n });\n }\n ip(options) {\n return this._addCheck({\n kind: \"ip\",\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(options)\n });\n }\n cidr(options) {\n return this._addCheck({\n kind: \"cidr\",\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(options)\n });\n }\n datetime(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n local: false,\n message: options\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n offset: options?.offset ?? false,\n local: options?.local ?? false,\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(options?.message)\n });\n }\n date(message) {\n return this._addCheck({\n kind: \"date\",\n message\n });\n }\n time(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"time\",\n precision: null,\n message: options\n });\n }\n return this._addCheck({\n kind: \"time\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(options?.message)\n });\n }\n duration(message) {\n return this._addCheck({\n kind: \"duration\",\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message)\n });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message)\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options?.position,\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(options?.message)\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message)\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message)\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message)\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message)\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ..._helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message)\n });\n }\n /**\n * Equivalent to `.min(1)`\n */ nonempty(message) {\n return this.min(1, _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message));\n }\n trim() {\n return new ZodString({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind: \"trim\"\n }\n ]\n });\n }\n toLowerCase() {\n return new ZodString({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind: \"toLowerCase\"\n }\n ]\n });\n }\n toUpperCase() {\n return new ZodString({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind: \"toUpperCase\"\n }\n ]\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch)=>ch.kind === \"datetime\");\n }\n get isDate() {\n return !!this._def.checks.find((ch)=>ch.kind === \"date\");\n }\n get isTime() {\n return !!this._def.checks.find((ch)=>ch.kind === \"time\");\n }\n get isDuration() {\n return !!this._def.checks.find((ch)=>ch.kind === \"duration\");\n }\n get isEmail() {\n return !!this._def.checks.find((ch)=>ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch)=>ch.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((ch)=>ch.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch)=>ch.kind === \"uuid\");\n }\n get isNANOID() {\n return !!this._def.checks.find((ch)=>ch.kind === \"nanoid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch)=>ch.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((ch)=>ch.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((ch)=>ch.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((ch)=>ch.kind === \"ip\");\n }\n get isCIDR() {\n return !!this._def.checks.find((ch)=>ch.kind === \"cidr\");\n }\n get isBase64() {\n return !!this._def.checks.find((ch)=>ch.kind === \"base64\");\n }\n get isBase64url() {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return !!this._def.checks.find((ch)=>ch.kind === \"base64url\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks){\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min) min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks){\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max) max = ch.value;\n }\n }\n return max;\n }\n}\nZodString.create = (params)=>{\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params)\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return valInt % stepInt / 10 ** decCount;\n}\nclass ZodNumber extends ZodType {\n constructor(){\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = Number(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.number,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n let ctx = undefined;\n const status = new _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.ParseStatus();\n for (const check of this._def.checks){\n if (check.kind === \"int\") {\n if (!_helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"min\") {\n const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"max\") {\n const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"finite\") {\n if (!Number.isFinite(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.not_finite,\n message: check.message\n });\n status.dirty();\n }\n } else {\n _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: input.data\n };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n }\n ]\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n check\n ]\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n });\n }\n safe(message) {\n return this._addCheck({\n kind: \"min\",\n inclusive: true,\n value: Number.MIN_SAFE_INTEGER,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks){\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min) min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks){\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max) max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch)=>ch.kind === \"int\" || ch.kind === \"multipleOf\" && _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.isInteger(ch.value));\n }\n get isFinite() {\n let max = null;\n let min = null;\n for (const ch of this._def.checks){\n if (ch.kind === \"finite\" || ch.kind === \"int\" || ch.kind === \"multipleOf\") {\n return true;\n } else if (ch.kind === \"min\") {\n if (min === null || ch.value > min) min = ch.value;\n } else if (ch.kind === \"max\") {\n if (max === null || ch.value < max) max = ch.value;\n }\n }\n return Number.isFinite(min) && Number.isFinite(max);\n }\n}\nZodNumber.create = (params)=>{\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: params?.coerce || false,\n ...processCreateParams(params)\n });\n};\nclass ZodBigInt extends ZodType {\n constructor(){\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n }\n _parse(input) {\n if (this._def.coerce) {\n try {\n input.data = BigInt(input.data);\n } catch {\n return this._getInvalidInput(input);\n }\n }\n const parsedType = this._getType(input);\n if (parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.bigint) {\n return this._getInvalidInput(input);\n }\n let ctx = undefined;\n const status = new _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.ParseStatus();\n for (const check of this._def.checks){\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.too_small,\n type: \"bigint\",\n minimum: check.value,\n inclusive: check.inclusive,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"max\") {\n const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.too_big,\n type: \"bigint\",\n maximum: check.value,\n inclusive: check.inclusive,\n message: check.message\n });\n status.dirty();\n }\n } else if (check.kind === \"multipleOf\") {\n if (input.data % check.value !== BigInt(0)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message\n });\n status.dirty();\n }\n } else {\n _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: input.data\n };\n }\n _getInvalidInput(input) {\n const ctx = this._getOrReturnCtx(input);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.bigint,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodBigInt({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n }\n ]\n });\n }\n _addCheck(check) {\n return new ZodBigInt({\n ...this._def,\n checks: [\n ...this._def.checks,\n check\n ]\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: false,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: false,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: true,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: true,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks){\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min) min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks){\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max) max = ch.value;\n }\n }\n return max;\n }\n}\nZodBigInt.create = (params)=>{\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params)\n });\n};\nclass ZodBoolean extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = Boolean(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.boolean,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.OK)(input.data);\n }\n}\nZodBoolean.create = (params)=>{\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: params?.coerce || false,\n ...processCreateParams(params)\n });\n};\nclass ZodDate extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = new Date(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.date,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n if (Number.isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_date\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n const status = new _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks){\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n exact: false,\n minimum: check.value,\n type: \"date\"\n });\n status.dirty();\n }\n } else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n exact: false,\n maximum: check.value,\n type: \"date\"\n });\n status.dirty();\n }\n } else {\n _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime())\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [\n ...this._def.checks,\n check\n ]\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks){\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min) min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks){\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max) max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nZodDate.create = (params)=>{\n return new ZodDate({\n checks: [],\n coerce: params?.coerce || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params)\n });\n};\nclass ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.symbol,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.OK)(input.data);\n }\n}\nZodSymbol.create = (params)=>{\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params)\n });\n};\nclass ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.undefined,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.OK)(input.data);\n }\n}\nZodUndefined.create = (params)=>{\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params)\n });\n};\nclass ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.null,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.OK)(input.data);\n }\n}\nZodNull.create = (params)=>{\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params)\n });\n};\nclass ZodAny extends ZodType {\n constructor(){\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.OK)(input.data);\n }\n}\nZodAny.create = (params)=>{\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params)\n });\n};\nclass ZodUnknown extends ZodType {\n constructor(){\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.OK)(input.data);\n }\n}\nZodUnknown.create = (params)=>{\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params)\n });\n};\nclass ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.never,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n}\nZodNever.create = (params)=>{\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params)\n });\n};\nclass ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.void,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.OK)(input.data);\n }\n}\nZodVoid.create = (params)=>{\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params)\n });\n};\nclass ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.array) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.array,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n if (def.exactLength !== null) {\n const tooBig = ctx.data.length > def.exactLength.value;\n const tooSmall = ctx.data.length < def.exactLength.value;\n if (tooBig || tooSmall) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: tooBig ? _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.too_big : _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.too_small,\n minimum: tooSmall ? def.exactLength.value : undefined,\n maximum: tooBig ? def.exactLength.value : undefined,\n type: \"array\",\n inclusive: true,\n exact: true,\n message: def.exactLength.message\n });\n status.dirty();\n }\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.minLength.message\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.maxLength.message\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all([\n ...ctx.data\n ].map((item, i)=>{\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result)=>{\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.ParseStatus.mergeArray(status, result);\n });\n }\n const result = [\n ...ctx.data\n ].map((item, i)=>{\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: {\n value: minLength,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n }\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: {\n value: maxLength,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n }\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: {\n value: len,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n }\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodArray.create = (schema, params)=>{\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params)\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for(const key in schema.shape){\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: ()=>newShape\n });\n } else if (schema instanceof ZodArray) {\n return new ZodArray({\n ...schema._def,\n type: deepPartialify(schema.element)\n });\n } else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n } else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n } else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item)=>deepPartialify(item)));\n } else {\n return schema;\n }\n}\nclass ZodObject extends ZodType {\n constructor(){\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */ this.nonstrict = this.passthrough;\n // extend<\n // Augmentation extends ZodRawShape,\n // NewOutput extends util.flatten<{\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // }>,\n // NewInput extends util.flatten<{\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }>\n // >(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<T, Augmentation>,\n // UnknownKeys,\n // Catchall,\n // NewOutput,\n // NewInput\n // > {\n // return new ZodObject({\n // ...this._def,\n // shape: () => ({\n // ...this._def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // }\n /**\n * @deprecated Use `.extend` instead\n * */ this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null) return this._cached;\n const shape = this._def.shape();\n const keys = _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.objectKeys(shape);\n this._cached = {\n shape,\n keys\n };\n return this._cached;\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.object,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever && this._def.unknownKeys === \"strip\")) {\n for(const key in ctx.data){\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys){\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: {\n status: \"valid\",\n value: key\n },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys){\n pairs.push({\n key: {\n status: \"valid\",\n value: key\n },\n value: {\n status: \"valid\",\n value: ctx.data[key]\n }\n });\n }\n } else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.unrecognized_keys,\n keys: extraKeys\n });\n status.dirty();\n }\n } else if (unknownKeys === \"strip\") {} else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n } else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys){\n const value = ctx.data[key];\n pairs.push({\n key: {\n status: \"valid\",\n value: key\n },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve().then(async ()=>{\n const syncPairs = [];\n for (const pair of pairs){\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n alwaysSet: pair.alwaysSet\n });\n }\n return syncPairs;\n }).then((syncPairs)=>{\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.ParseStatus.mergeObjectSync(status, syncPairs);\n });\n } else {\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...message !== undefined ? {\n errorMap: (issue, ctx)=>{\n const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError;\n if (issue.code === \"unrecognized_keys\") return {\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.errToObj(message).message ?? defaultError\n };\n return {\n message: defaultError\n };\n }\n } : {}\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\"\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\"\n });\n }\n // const AugmentFactory =\n // <Def extends ZodObjectDef>(def: Def) =>\n // <Augmentation extends ZodRawShape>(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<ReturnType<Def[\"shape\"]>, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: ()=>({\n ...this._def.shape(),\n ...augmentation\n })\n });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */ merge(merging) {\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: ()=>({\n ...this._def.shape(),\n ...merging._def.shape()\n }),\n typeName: ZodFirstPartyTypeKind.ZodObject\n });\n return merged;\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(key, schema) {\n return this.augment({\n [key]: schema\n });\n }\n // merge<Incoming extends AnyZodObject>(\n // merging: Incoming\n // ): //ZodObject<T & Incoming[\"_shape\"], UnknownKeys, Catchall> = (merging) => {\n // ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index\n });\n }\n pick(mask) {\n const shape = {};\n for (const key of _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.objectKeys(mask)){\n if (mask[key] && this.shape[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: ()=>shape\n });\n }\n omit(mask) {\n const shape = {};\n for (const key of _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.objectKeys(this.shape)){\n if (!mask[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: ()=>shape\n });\n }\n /**\n * @deprecated\n */ deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n for (const key of _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.objectKeys(this.shape)){\n const fieldSchema = this.shape[key];\n if (mask && !mask[key]) {\n newShape[key] = fieldSchema;\n } else {\n newShape[key] = fieldSchema.optional();\n }\n }\n return new ZodObject({\n ...this._def,\n shape: ()=>newShape\n });\n }\n required(mask) {\n const newShape = {};\n for (const key of _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.objectKeys(this.shape)){\n if (mask && !mask[key]) {\n newShape[key] = this.shape[key];\n } else {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while(newField instanceof ZodOptional){\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n }\n return new ZodObject({\n ...this._def,\n shape: ()=>newShape\n });\n }\n keyof() {\n return createZodEnum(_helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.objectKeys(this.shape));\n }\n}\nZodObject.create = (shape, params)=>{\n return new ZodObject({\n shape: ()=>shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params)\n });\n};\nZodObject.strictCreate = (shape, params)=>{\n return new ZodObject({\n shape: ()=>shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params)\n });\n};\nZodObject.lazycreate = (shape, params)=>{\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params)\n });\n};\nclass ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results){\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results){\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result)=>new _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodError(result.ctx.common.issues));\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_union,\n unionErrors\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option)=>{\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: []\n },\n parent: null\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx\n }),\n ctx: childCtx\n };\n })).then(handleResults);\n } else {\n let dirty = undefined;\n const issues = [];\n for (const option of options){\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: []\n },\n parent: null\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx\n });\n if (result.status === \"valid\") {\n return result;\n } else if (result.status === \"dirty\" && !dirty) {\n dirty = {\n result,\n ctx: childCtx\n };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues)=>new _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodError(issues));\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_union,\n unionErrors\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nZodUnion.create = (types, params)=>{\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params)\n });\n};\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\n////////// //////////\n////////// ZodDiscriminatedUnion //////////\n////////// //////////\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\nconst getDiscriminator = (type)=>{\n if (type instanceof ZodLazy) {\n return getDiscriminator(type.schema);\n } else if (type instanceof ZodEffects) {\n return getDiscriminator(type.innerType());\n } else if (type instanceof ZodLiteral) {\n return [\n type.value\n ];\n } else if (type instanceof ZodEnum) {\n return type.options;\n } else if (type instanceof ZodNativeEnum) {\n // eslint-disable-next-line ban/ban\n return _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.objectValues(type.enum);\n } else if (type instanceof ZodDefault) {\n return getDiscriminator(type._def.innerType);\n } else if (type instanceof ZodUndefined) {\n return [\n undefined\n ];\n } else if (type instanceof ZodNull) {\n return [\n null\n ];\n } else if (type instanceof ZodOptional) {\n return [\n undefined,\n ...getDiscriminator(type.unwrap())\n ];\n } else if (type instanceof ZodNullable) {\n return [\n null,\n ...getDiscriminator(type.unwrap())\n ];\n } else if (type instanceof ZodBranded) {\n return getDiscriminator(type.unwrap());\n } else if (type instanceof ZodReadonly) {\n return getDiscriminator(type.unwrap());\n } else if (type instanceof ZodCatch) {\n return getDiscriminator(type._def.innerType);\n } else {\n return [];\n }\n};\nclass ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.object) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.object,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [\n discriminator\n ]\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx\n });\n } else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */ static create(discriminator, options, params) {\n // Get all the valid discriminator values\n const optionsMap = new Map();\n // try {\n for (const type of options){\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues.length) {\n throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n }\n for (const value of discriminatorValues){\n if (optionsMap.has(value)) {\n throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n }\n optionsMap.set(value, type);\n }\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n optionsMap,\n ...processCreateParams(params)\n });\n }\n}\nfunction mergeValues(a, b) {\n const aType = (0,_helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.getParsedType)(a);\n const bType = (0,_helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.getParsedType)(b);\n if (a === b) {\n return {\n valid: true,\n data: a\n };\n } else if (aType === _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.object && bType === _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.object) {\n const bKeys = _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.objectKeys(b);\n const sharedKeys = _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.objectKeys(a).filter((key)=>bKeys.indexOf(key) !== -1);\n const newObj = {\n ...a,\n ...b\n };\n for (const key of sharedKeys){\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return {\n valid: false\n };\n }\n newObj[key] = sharedValue.data;\n }\n return {\n valid: true,\n data: newObj\n };\n } else if (aType === _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.array && bType === _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.array) {\n if (a.length !== b.length) {\n return {\n valid: false\n };\n }\n const newArray = [];\n for(let index = 0; index < a.length; index++){\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return {\n valid: false\n };\n }\n newArray.push(sharedValue.data);\n }\n return {\n valid: true,\n data: newArray\n };\n } else if (aType === _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.date && bType === _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.date && +a === +b) {\n return {\n valid: true,\n data: a\n };\n } else {\n return {\n valid: false\n };\n }\n}\nclass ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight)=>{\n if ((0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.isAborted)(parsedLeft) || (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.isAborted)(parsedRight)) {\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_intersection_types\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n if ((0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.isDirty)(parsedLeft) || (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.isDirty)(parsedRight)) {\n status.dirty();\n }\n return {\n status: status.value,\n value: merged.data\n };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx\n })\n ]).then(([left, right])=>handleParsed(left, right));\n } else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx\n }));\n }\n }\n}\nZodIntersection.create = (left, right, params)=>{\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params)\n });\n};\n// type ZodTupleItems = [ZodTypeAny, ...ZodTypeAny[]];\nclass ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.array) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.array,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\"\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\"\n });\n status.dirty();\n }\n const items = [\n ...ctx.data\n ].map((item, itemIndex)=>{\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema) return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n }).filter((x)=>!!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results)=>{\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.ParseStatus.mergeArray(status, results);\n });\n } else {\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest\n });\n }\n}\nZodTuple.create = (schemas, params)=>{\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params)\n });\n};\nclass ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.object) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.object,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for(const key in ctx.data){\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n alwaysSet: key in ctx.data\n });\n }\n if (ctx.common.async) {\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.ParseStatus.mergeObjectAsync(status, pairs);\n } else {\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third)\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second)\n });\n }\n}\nclass ZodMap extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.map) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.map,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [\n ...ctx.data.entries()\n ].map(([key, value], index)=>{\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [\n index,\n \"key\"\n ])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [\n index,\n \"value\"\n ]))\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async ()=>{\n for (const pair of pairs){\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return {\n status: status.value,\n value: finalMap\n };\n });\n } else {\n const finalMap = new Map();\n for (const pair of pairs){\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return {\n status: status.value,\n value: finalMap\n };\n }\n }\n}\nZodMap.create = (keyType, valueType, params)=>{\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params)\n });\n};\nclass ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.set) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.set,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.minSize.message\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.maxSize.message\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements){\n if (element.status === \"aborted\") return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n if (element.status === \"dirty\") status.dirty();\n parsedSet.add(element.value);\n }\n return {\n status: status.value,\n value: parsedSet\n };\n }\n const elements = [\n ...ctx.data.values()\n ].map((item, i)=>valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements)=>finalizeSet(elements));\n } else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: {\n value: minSize,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n }\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: {\n value: maxSize,\n message: _helpers_errorUtil_js__WEBPACK_IMPORTED_MODULE_3__.errorUtil.toString(message)\n }\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodSet.create = (valueType, params)=>{\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params)\n });\n};\nclass ZodFunction extends ZodType {\n constructor(){\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.function) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.function,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n function makeArgsIssue(args, error) {\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.makeIssue)({\n data: args,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n (0,_errors_js__WEBPACK_IMPORTED_MODULE_4__.getErrorMap)(),\n _errors_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n ].filter((x)=>!!x),\n issueData: {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_arguments,\n argumentsError: error\n }\n });\n }\n function makeReturnsIssue(returns, error) {\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.makeIssue)({\n data: returns,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n (0,_errors_js__WEBPACK_IMPORTED_MODULE_4__.getErrorMap)(),\n _errors_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n ].filter((x)=>!!x),\n issueData: {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_return_type,\n returnTypeError: error\n }\n });\n }\n const params = {\n errorMap: ctx.common.contextualErrorMap\n };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.OK)(async function(...args) {\n const error = new _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodError([]);\n const parsedArgs = await me._def.args.parseAsync(args, params).catch((e)=>{\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await Reflect.apply(fn, this, parsedArgs);\n const parsedReturns = await me._def.returns._def.type.parseAsync(result, params).catch((e)=>{\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n } else {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.OK)(function(...args) {\n const parsedArgs = me._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodError([\n makeArgsIssue(args, parsedArgs.error)\n ]);\n }\n const result = Reflect.apply(fn, this, parsedArgs.data);\n const parsedReturns = me._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodError([\n makeReturnsIssue(result, parsedReturns.error)\n ]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create())\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: args ? args : ZodTuple.create([]).rest(ZodUnknown.create()),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params)\n });\n }\n}\nclass ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({\n data: ctx.data,\n path: ctx.path,\n parent: ctx\n });\n }\n}\nZodLazy.create = (getter, params)=>{\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params)\n });\n};\nclass ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n received: ctx.data,\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_literal,\n expected: this._def.value\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n return {\n status: \"valid\",\n value: input.data\n };\n }\n get value() {\n return this._def.value;\n }\n}\nZodLiteral.create = (value, params)=>{\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params)\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params)\n });\n}\nclass ZodEnum extends ZodType {\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n if (!this._cache) {\n this._cache = new Set(this._def.values);\n }\n if (!this._cache.has(input.data)) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n received: ctx.data,\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_enum_value,\n options: expectedValues\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.OK)(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values){\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values){\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values){\n enumValues[val] = val;\n }\n return enumValues;\n }\n extract(values, newDef = this._def) {\n return ZodEnum.create(values, {\n ...this._def,\n ...newDef\n });\n }\n exclude(values, newDef = this._def) {\n return ZodEnum.create(this.options.filter((opt)=>!values.includes(opt)), {\n ...this._def,\n ...newDef\n });\n }\n}\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n _parse(input) {\n const nativeEnumValues = _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.string && ctx.parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.number) {\n const expectedValues = _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.objectValues(nativeEnumValues);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n if (!this._cache) {\n this._cache = new Set(_helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.getValidEnumValues(this._def.values));\n }\n if (!this._cache.has(input.data)) {\n const expectedValues = _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.objectValues(nativeEnumValues);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n received: ctx.data,\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_enum_value,\n options: expectedValues\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.OK)(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\nZodNativeEnum.create = (values, params)=>{\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params)\n });\n};\nclass ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.promise && ctx.common.async === false) {\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.promise,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n const promisified = ctx.parsedType === _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data);\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.OK)(promisified.then((data)=>{\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap\n });\n }));\n }\n}\nZodPromise.create = (schema, params)=>{\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params)\n });\n};\nclass ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects ? this._def.schema.sourceType() : this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n const checkCtx = {\n addIssue: (arg)=>{\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, arg);\n if (arg.fatal) {\n status.abort();\n } else {\n status.dirty();\n }\n },\n get path () {\n return ctx.path;\n }\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(processed).then(async (processed)=>{\n if (status.value === \"aborted\") return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n const result = await this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx\n });\n if (result.status === \"aborted\") return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n if (result.status === \"dirty\") return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.DIRTY)(result.value);\n if (status.value === \"dirty\") return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.DIRTY)(result.value);\n return result;\n });\n } else {\n if (status.value === \"aborted\") return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n const result = this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx\n });\n if (result.status === \"aborted\") return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n if (result.status === \"dirty\") return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.DIRTY)(result.value);\n if (status.value === \"dirty\") return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.DIRTY)(result.value);\n return result;\n }\n }\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc)=>{\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx\n });\n if (inner.status === \"aborted\") return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n if (inner.status === \"dirty\") status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return {\n status: status.value,\n value: inner.value\n };\n } else {\n return this._def.schema._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx\n }).then((inner)=>{\n if (inner.status === \"aborted\") return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n if (inner.status === \"dirty\") status.dirty();\n return executeRefinement(inner.value).then(()=>{\n return {\n status: status.value,\n value: inner.value\n };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx\n });\n if (!(0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.isValid)(base)) return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return {\n status: status.value,\n value: result\n };\n } else {\n return this._def.schema._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx\n }).then((base)=>{\n if (!(0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.isValid)(base)) return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result)=>({\n status: status.value,\n value: result\n }));\n });\n }\n }\n _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.util.assertNever(effect);\n }\n}\nZodEffects.create = (schema, effect, params)=>{\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params)\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params)=>{\n return new ZodEffects({\n schema,\n effect: {\n type: \"preprocess\",\n transform: preprocess\n },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params)\n });\n};\n\nclass ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.undefined) {\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.OK)(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodOptional.create = (type, params)=>{\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params)\n });\n};\nclass ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.null) {\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.OK)(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodNullable.create = (type, params)=>{\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params)\n });\n};\nclass ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nZodDefault.create = (type, params)=>{\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\" ? params.default : ()=>params.default,\n ...processCreateParams(params)\n });\n};\nclass ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n // newCtx is used to not collect issues from inner types in ctx\n const newCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: []\n }\n };\n const result = this._def.innerType._parse({\n data: newCtx.data,\n path: newCtx.path,\n parent: {\n ...newCtx\n }\n });\n if ((0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.isAsync)(result)) {\n return result.then((result)=>{\n return {\n status: \"valid\",\n value: result.status === \"valid\" ? result.value : this._def.catchValue({\n get error () {\n return new _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodError(newCtx.common.issues);\n },\n input: newCtx.data\n })\n };\n });\n } else {\n return {\n status: \"valid\",\n value: result.status === \"valid\" ? result.value : this._def.catchValue({\n get error () {\n return new _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodError(newCtx.common.issues);\n },\n input: newCtx.data\n })\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nZodCatch.create = (type, params)=>{\n return new ZodCatch({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n catchValue: typeof params.catch === \"function\" ? params.catch : ()=>params.catch,\n ...processCreateParams(params)\n });\n};\nclass ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.addIssueToContext)(ctx, {\n code: _ZodError_js__WEBPACK_IMPORTED_MODULE_1__.ZodIssueCode.invalid_type,\n expected: _helpers_util_js__WEBPACK_IMPORTED_MODULE_2__.ZodParsedType.nan,\n received: ctx.parsedType\n });\n return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n }\n return {\n status: \"valid\",\n value: input.data\n };\n }\n}\nZodNaN.create = (params)=>{\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params)\n });\n};\nconst BRAND = Symbol(\"zod_brand\");\nclass ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nclass ZodPipeline extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.common.async) {\n const handleAsync = async ()=>{\n const inResult = await this._def.in._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx\n });\n if (inResult.status === \"aborted\") return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.DIRTY)(inResult.value);\n } else {\n return this._def.out._parseAsync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx\n });\n }\n };\n return handleAsync();\n } else {\n const inResult = this._def.in._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx\n });\n if (inResult.status === \"aborted\") return _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return {\n status: \"dirty\",\n value: inResult.value\n };\n } else {\n return this._def.out._parseSync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx\n });\n }\n }\n }\n static create(a, b) {\n return new ZodPipeline({\n in: a,\n out: b,\n typeName: ZodFirstPartyTypeKind.ZodPipeline\n });\n }\n}\nclass ZodReadonly extends ZodType {\n _parse(input) {\n const result = this._def.innerType._parse(input);\n const freeze = (data)=>{\n if ((0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.isValid)(data)) {\n data.value = Object.freeze(data.value);\n }\n return data;\n };\n return (0,_helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.isAsync)(result) ? result.then((data)=>freeze(data)) : freeze(result);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodReadonly.create = (type, params)=>{\n return new ZodReadonly({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodReadonly,\n ...processCreateParams(params)\n });\n};\n////////////////////////////////////////\n////////////////////////////////////////\n////////// //////////\n////////// z.custom //////////\n////////// //////////\n////////////////////////////////////////\n////////////////////////////////////////\nfunction cleanParams(params, data) {\n const p = typeof params === \"function\" ? params(data) : typeof params === \"string\" ? {\n message: params\n } : params;\n const p2 = typeof p === \"string\" ? {\n message: p\n } : p;\n return p2;\n}\nfunction custom(check, _params = {}, /**\n * @deprecated\n *\n * Pass `fatal` into the params object instead:\n *\n * ```ts\n * z.string().custom((val) => val.length > 5, { fatal: false })\n * ```\n *\n */ fatal) {\n if (check) return ZodAny.create().superRefine((data, ctx)=>{\n const r = check(data);\n if (r instanceof Promise) {\n return r.then((r)=>{\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({\n code: \"custom\",\n ...params,\n fatal: _fatal\n });\n }\n });\n }\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({\n code: \"custom\",\n ...params,\n fatal: _fatal\n });\n }\n return;\n });\n return ZodAny.create();\n}\n\nconst late = {\n object: ZodObject.lazycreate\n};\nvar ZodFirstPartyTypeKind;\n(function(ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n ZodFirstPartyTypeKind[\"ZodReadonly\"] = \"ZodReadonly\";\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\n// requires TS 4.4+\nclass Class {\n constructor(..._){}\n}\nconst instanceOfType = (// const instanceOfType = <T extends new (...args: any[]) => any>(\ncls, params = {\n message: `Input not instance of ${cls.name}`\n})=>custom((data)=>data instanceof cls, params);\nconst stringType = ZodString.create;\nconst numberType = ZodNumber.create;\nconst nanType = ZodNaN.create;\nconst bigIntType = ZodBigInt.create;\nconst booleanType = ZodBoolean.create;\nconst dateType = ZodDate.create;\nconst symbolType = ZodSymbol.create;\nconst undefinedType = ZodUndefined.create;\nconst nullType = ZodNull.create;\nconst anyType = ZodAny.create;\nconst unknownType = ZodUnknown.create;\nconst neverType = ZodNever.create;\nconst voidType = ZodVoid.create;\nconst arrayType = ZodArray.create;\nconst objectType = ZodObject.create;\nconst strictObjectType = ZodObject.strictCreate;\nconst unionType = ZodUnion.create;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nconst intersectionType = ZodIntersection.create;\nconst tupleType = ZodTuple.create;\nconst recordType = ZodRecord.create;\nconst mapType = ZodMap.create;\nconst setType = ZodSet.create;\nconst functionType = ZodFunction.create;\nconst lazyType = ZodLazy.create;\nconst literalType = ZodLiteral.create;\nconst enumType = ZodEnum.create;\nconst nativeEnumType = ZodNativeEnum.create;\nconst promiseType = ZodPromise.create;\nconst effectsType = ZodEffects.create;\nconst optionalType = ZodOptional.create;\nconst nullableType = ZodNullable.create;\nconst preprocessType = ZodEffects.createWithPreprocess;\nconst pipelineType = ZodPipeline.create;\nconst ostring = ()=>stringType().optional();\nconst onumber = ()=>numberType().optional();\nconst oboolean = ()=>booleanType().optional();\nconst coerce = {\n string: (arg)=>ZodString.create({\n ...arg,\n coerce: true\n }),\n number: (arg)=>ZodNumber.create({\n ...arg,\n coerce: true\n }),\n boolean: (arg)=>ZodBoolean.create({\n ...arg,\n coerce: true\n }),\n bigint: (arg)=>ZodBigInt.create({\n ...arg,\n coerce: true\n }),\n date: (arg)=>ZodDate.create({\n ...arg,\n coerce: true\n })\n};\n\nconst NEVER = _helpers_parseUtil_js__WEBPACK_IMPORTED_MODULE_0__.INVALID;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy8ucG5wbS96b2RAMy4yNS43Ni9ub2RlX21vZHVsZXMvem9kL3YzL3R5cGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXdEO0FBQ0c7QUFDUjtBQUMyRjtBQUN2RTtBQUN2RSxNQUFNa0I7SUFDRixZQUFZQyxNQUFNLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFQyxHQUFHLENBQUU7UUFDbEMsSUFBSSxDQUFDQyxXQUFXLEdBQUcsRUFBRTtRQUNyQixJQUFJLENBQUNKLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNLLElBQUksR0FBR0o7UUFDWixJQUFJLENBQUNLLEtBQUssR0FBR0o7UUFDYixJQUFJLENBQUNLLElBQUksR0FBR0o7SUFDaEI7SUFDQSxJQUFJRCxPQUFPO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQ0UsV0FBVyxDQUFDSSxNQUFNLEVBQUU7WUFDMUIsSUFBSUMsTUFBTUMsT0FBTyxDQUFDLElBQUksQ0FBQ0gsSUFBSSxHQUFHO2dCQUMxQixJQUFJLENBQUNILFdBQVcsQ0FBQ08sSUFBSSxJQUFJLElBQUksQ0FBQ0wsS0FBSyxLQUFLLElBQUksQ0FBQ0MsSUFBSTtZQUNyRCxPQUNLO2dCQUNELElBQUksQ0FBQ0gsV0FBVyxDQUFDTyxJQUFJLElBQUksSUFBSSxDQUFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDQyxJQUFJO1lBQ2xEO1FBQ0o7UUFDQSxPQUFPLElBQUksQ0FBQ0gsV0FBVztJQUMzQjtBQUNKO0FBQ0EsTUFBTVEsZUFBZSxDQUFDQyxLQUFLQztJQUN2QixJQUFJcEIsOERBQU9BLENBQUNvQixTQUFTO1FBQ2pCLE9BQU87WUFBRUMsU0FBUztZQUFNVixNQUFNUyxPQUFPYixLQUFLO1FBQUM7SUFDL0MsT0FDSztRQUNE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R21YLEdBQUc7WUFBRTlTLFFBQVE7UUFBSztJQUMxRGdILFNBQVUsQ0FBQzhMLE1BQVFoTSxXQUFXbkwsTUFBTSxDQUFDO1lBQ2pDLEdBQUdtWCxHQUFHO1lBQ045UyxRQUFRO1FBQ1o7SUFDQTZHLFFBQVMsQ0FBQ2lNLE1BQVFwTSxVQUFVL0ssTUFBTSxDQUFDO1lBQUUsR0FBR21YLEdBQUc7WUFBRTlTLFFBQVE7UUFBSztJQUMxRDJDLE1BQU8sQ0FBQ21RLE1BQVE3TCxRQUFRdEwsTUFBTSxDQUFDO1lBQUUsR0FBR21YLEdBQUc7WUFBRTlTLFFBQVE7UUFBSztBQUMxRCxFQUFFO0FBQ3MzQjtBQUNqM0IsTUFBTXVZLFFBQVExakIsMERBQU9BLENBQUMiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vem9kQDMuMjUuNzYvbm9kZV9tb2R1bGVzL3pvZC92My90eXBlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBab2RFcnJvciwgWm9kSXNzdWVDb2RlLCB9IGZyb20gXCIuL1pvZEVycm9yLmpzXCI7XG5pbXBvcnQgeyBkZWZhdWx0RXJyb3JNYXAsIGdldEVycm9yTWFwIH0gZnJvbSBcIi4vZXJyb3JzLmpzXCI7XG5pbXBvcnQgeyBlcnJvclV0aWwgfSBmcm9tIFwiLi9oZWxwZXJzL2Vycm9yVXRpbC5qc1wiO1xuaW1wb3J0IHsgRElSVFksIElOVkFMSUQsIE9LLCBQYXJzZVN0YXR1cywgYWRkSXNzdWVUb0NvbnRleHQsIGlzQWJvcnRlZCwgaXNBc3luYywgaXNEaXJ0eSwgaXNWYWxpZCwgbWFrZUlzc3VlLCB9IGZyb20gXCIuL2hlbHBlcnMvcGFyc2VVdGlsLmpzXCI7XG5pbXBvcnQgeyB1dGlsLCBab2RQYXJzZWRUeXBlLCBnZXRQYXJzZWRUeXBlIH0gZnJvbSBcIi4vaGVscGVycy91dGlsLmpzXCI7XG5jbGFzcyBQYXJzZUlucHV0TGF6eVBhdGgge1xuICAgIGNvbnN0cnVjdG9yKHBhcmVudCwgdmFsdWUsIHBhdGgsIGtleSkge1xuICAgICAgICB0aGlzLl9jYWNoZWRQYXRoID0gW107XG4gICAgICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICAgICAgICB0aGlzLmRhdGEgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fcGF0aCA9IHBhdGg7XG4gICAgICAgIHRoaXMuX2tleSA9IGtleTtcbiAgICB9XG4gICAgZ2V0IHBhdGgoKSB7XG4gICAgICAgIGlmICghdGhpcy5fY2FjaGVkUGF0aC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuX2tleSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jYWNoZWRQYXRoLnB1c2goLi4udGhpcy5fcGF0aCwgLi4udGhpcy5fa2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NhY2hlZFBhdGgucHVzaCguLi50aGlzLl9wYXRoLCB0aGlzLl9rZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9jYWNoZWRQYXRoO1xuICAgIH1cbn1cbmNvbnN0IGhhbmRsZVJlc3VsdCA9IChjdHgsIHJlc3VsdCkgPT4ge1xuICAgIGlmIChpc1ZhbGlkKHJlc3VsdCkpIHtcbiAgICAgICAgcmV0dXJuIHsgc3VjY2VzczogdHJ1ZSwgZGF0YTogcmVzdWx0LnZhbHVlIH07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBpZiAoIWN0eC5jb21tb24uaXNzdWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVmFsaWRhdGlvbiBmYWlsZWQgYnV0IG5vIGlzc3VlcyBkZXRlY3RlZC5cIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICAgICAgZ2V0IGVycm9yKCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9lcnJvcilcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2Vycm9yO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gbmV3IFpvZEVycm9yKGN0eC5jb21tb24uaXNzdWVzKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9lcnJvciA9IGVycm9yO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9lcnJvcjtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgfVxufTtcbmZ1bmN0aW9uIHByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSB7XG4gICAgaWYgKCFwYXJhbXMpXG4gICAgICAgIHJldHVybiB7fTtcbiAgICBjb25zdCB7IGVycm9yTWFwLCBpbnZhbGlkX3R5cGVfZXJyb3IsIHJlcXVpcmVkX2Vycm9yLCBkZXNjcmlwdGlvbiB9ID0gcGFyYW1zO1xuICAgIGlmIChlcnJvck1hcCAmJiAoaW52YWxpZF90eXBlX2Vycm9yIHx8IHJlcXVpcmVkX2Vycm9yKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbid0IHVzZSBcImludmFsaWRfdHlwZV9lcnJvclwiIG9yIFwicmVxdWlyZWRfZXJyb3JcIiBpbiBjb25qdW5jdGlvbiB3aXRoIGN1c3RvbSBlcnJvciBtYXAuYCk7XG4gICAgfVxuICAgIGlmIChlcnJvck1hcClcbiAgICAgICAgcmV0dXJuIHsgZXJyb3JNYXA6IGVycm9yTWFwLCBkZXNjcmlwdGlvbiB9O1xuICAgIGNvbnN0IGN1c3RvbU1hcCA9IChpc3MsIGN0eCkgPT4ge1xuICAgICAgICBjb25zdCB7IG1lc3NhZ2UgfSA9IHBhcmFtcztcbiAgICAgICAgaWYgKGlzcy5jb2RlID09PSBcImludmFsaWRfZW51bV92YWx1ZVwiKSB7XG4gICAgICAgICAgICByZXR1cm4geyBtZXNzYWdlOiBtZXNzYWdlID8/IGN0eC5kZWZhdWx0RXJyb3IgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIGN0eC5kYXRhID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4geyBtZXNzYWdlOiBtZXNzYWdlID8/IHJlcXVpcmVkX2Vycm9yID8/IGN0eC5kZWZhdWx0RXJyb3IgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNzLmNvZGUgIT09IFwiaW52YWxpZF90eXBlXCIpXG4gICAgICAgICAgICByZXR1cm4geyBtZXNzYWdlOiBjdHguZGVmYXVsdEVycm9yIH07XG4gICAgICAgIHJldHVybiB7IG1lc3NhZ2U6IG1lc3NhZ2UgPz8gaW52YWxpZF90eXBlX2Vycm9yID8/IGN0eC5kZWZhdWx0RXJyb3IgfTtcbiAgICB9O1xuICAgIHJldHVybiB7IGVycm9yTWFwOiBjdXN0b21NYXAsIGRlc2NyaXB0aW9uIH07XG59XG5leHBvcnQgY2xhc3MgWm9kVHlwZSB7XG4gICAgZ2V0IGRlc2NyaXB0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLmRlc2NyaXB0aW9uO1xuICAgIH1cbiAgICBfZ2V0VHlwZShpbnB1dCkge1xuICAgICAgICByZXR1cm4gZ2V0UGFyc2VkVHlwZShpbnB1dC5kYXRhKTtcbiAgICB9XG4gICAgX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpIHtcbiAgICAgICAgcmV0dXJuIChjdHggfHwge1xuICAgICAgICAgICAgY29tbW9uOiBpbnB1dC5wYXJlbnQuY29tbW9uLFxuICAgICAgICAgICAgZGF0YTogaW5wdXQuZGF0YSxcbiAgICAgICAgICAgIHBhcnNlZFR5cGU6IGdldFBhcnNlZFR5cGUoaW5wdXQuZGF0YSksXG4gICAgICAgICAgICBzY2hlbWFFcnJvck1hcDogdGhpcy5fZGVmLmVycm9yTWFwLFxuICAgICAgICAgICAgcGF0aDogaW5wdXQucGF0aCxcbiAgICAgICAgICAgIHBhcmVudDogaW5wdXQucGFyZW50LFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc3RhdHVzOiBuZXcgUGFyc2VTdGF0dXMoKSxcbiAgICAgICAgICAgIGN0eDoge1xuICAgICAgICAgICAgICAgIGNvbW1vbjogaW5wdXQucGFyZW50LmNvbW1vbixcbiAgICAgICAgICAgICAgICBkYXRhOiBpbnB1dC5kYXRhLFxuICAgICAgICAgICAgICAgIHBhcnNlZFR5cGU6IGdldFBhcnNlZFR5cGUoaW5wdXQuZGF0YSksXG4gICAgICAgICAgICAgICAgc2NoZW1hRXJyb3JNYXA6IHRoaXMuX2RlZi5lcnJvck1hcCxcbiAgICAgICAgICAgICAgICBwYXRoOiBpbnB1dC5wYXRoLFxuICAgICAgICAgICAgICAgIHBhcmVudDogaW5wdXQucGFyZW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgX3BhcnNlU3luYyhpbnB1dCkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9wYXJzZShpbnB1dCk7XG4gICAgICAgIGlmIChpc0FzeW5jKHJlc3VsdCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlN5bmNocm9ub3VzIHBhcnNlIGVuY291bnRlcmVkIHByb21pc2UuXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIF9wYXJzZUFzeW5jKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3BhcnNlKGlucHV0KTtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXN1bHQpO1xuICAgIH1cbiAgICBwYXJzZShkYXRhLCBwYXJhbXMpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5zYWZlUGFyc2UoZGF0YSwgcGFyYW1zKTtcbiAgICAgICAgaWYgKHJlc3VsdC5zdWNjZXNzKVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5kYXRhO1xuICAgICAgICB0aHJvdyByZXN1bHQuZXJyb3I7XG4gICAgfVxuICAgIHNhZmVQYXJzZShkYXRhLCBwYXJhbXMpIHtcbiAgICAgICAgY29uc3QgY3R4ID0ge1xuICAgICAgICAgICAgY29tbW9uOiB7XG4gICAgICAgICAgICAgICAgaXNzdWVzOiBbXSxcbiAgICAgICAgICAgICAgICBhc3luYzogcGFyYW1zPy5hc3luYyA/PyBmYWxzZSxcbiAgICAgICAgICAgICAgICBjb250ZXh0dWFsRXJyb3JNYXA6IHBhcmFtcz8uZXJyb3JNYXAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGF0aDogcGFyYW1zPy5wYXRoIHx8IFtdLFxuICAgICAgICAgICAgc2NoZW1hRXJyb3JNYXA6IHRoaXMuX2RlZi5lcnJvck1hcCxcbiAgICAgICAgICAgIHBhcmVudDogbnVsbCxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBwYXJzZWRUeXBlOiBnZXRQYXJzZWRUeXBlKGRhdGEpLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9wYXJzZVN5bmMoeyBkYXRhLCBwYXRoOiBjdHgucGF0aCwgcGFyZW50OiBjdHggfSk7XG4gICAgICAgIHJldHVybiBoYW5kbGVSZXN1bHQoY3R4LCByZXN1bHQpO1xuICAgIH1cbiAgICBcIn52YWxpZGF0ZVwiKGRhdGEpIHtcbiAgICAgICAgY29uc3QgY3R4ID0ge1xuICAgICAgICAgICAgY29tbW9uOiB7XG4gICAgICAgICAgICAgICAgaXNzdWVzOiBbXSxcbiAgICAgICAgICAgICAgICBhc3luYzogISF0aGlzW1wifnN0YW5kYXJkXCJdLmFzeW5jLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBhdGg6IFtdLFxuICAgICAgICAgICAgc2NoZW1hRXJyb3JNYXA6IHRoaXMuX2RlZi5lcnJvck1hcCxcbiAgICAgICAgICAgIHBhcmVudDogbnVsbCxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBwYXJzZWRUeXBlOiBnZXRQYXJzZWRUeXBlKGRhdGEpLFxuICAgICAgICB9O1xuICAgICAgICBpZiAoIXRoaXNbXCJ+c3RhbmRhcmRcIl0uYXN5bmMpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fcGFyc2VTeW5jKHsgZGF0YSwgcGF0aDogW10sIHBhcmVudDogY3R4IH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBpc1ZhbGlkKHJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcmVzdWx0LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWVzOiBjdHguY29tbW9uLmlzc3VlcyxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyPy5tZXNzYWdlPy50b0xvd2VyQ2FzZSgpPy5pbmNsdWRlcyhcImVuY291bnRlcmVkXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXNbXCJ+c3RhbmRhcmRcIl0uYXN5bmMgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjdHguY29tbW9uID0ge1xuICAgICAgICAgICAgICAgICAgICBpc3N1ZXM6IFtdLFxuICAgICAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9wYXJzZUFzeW5jKHsgZGF0YSwgcGF0aDogW10sIHBhcmVudDogY3R4IH0pLnRoZW4oKHJlc3VsdCkgPT4gaXNWYWxpZChyZXN1bHQpXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzdWx0LnZhbHVlLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgaXNzdWVzOiBjdHguY29tbW9uLmlzc3VlcyxcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbiAgICBhc3luYyBwYXJzZUFzeW5jKGRhdGEsIHBhcmFtcykge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnNhZmVQYXJzZUFzeW5jKGRhdGEsIHBhcmFtcyk7XG4gICAgICAgIGlmIChyZXN1bHQuc3VjY2VzcylcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQuZGF0YTtcbiAgICAgICAgdGhyb3cgcmVzdWx0LmVycm9yO1xuICAgIH1cbiAgICBhc3luYyBzYWZlUGFyc2VBc3luYyhkYXRhLCBwYXJhbXMpIHtcbiAgICAgICAgY29uc3QgY3R4ID0ge1xuICAgICAgICAgICAgY29tbW9uOiB7XG4gICAgICAgICAgICAgICAgaXNzdWVzOiBbXSxcbiAgICAgICAgICAgICAgICBjb250ZXh0dWFsRXJyb3JNYXA6IHBhcmFtcz8uZXJyb3JNYXAsXG4gICAgICAgICAgICAgICAgYXN5bmM6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGF0aDogcGFyYW1zPy5wYXRoIHx8IFtdLFxuICAgICAgICAgICAgc2NoZW1hRXJyb3JNYXA6IHRoaXMuX2RlZi5lcnJvck1hcCxcbiAgICAgICAgICAgIHBhcmVudDogbnVsbCxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBwYXJzZWRUeXBlOiBnZXRQYXJzZWRUeXBlKGRhdGEpLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBtYXliZUFzeW5jUmVzdWx0ID0gdGhpcy5fcGFyc2UoeyBkYXRhLCBwYXRoOiBjdHgucGF0aCwgcGFyZW50OiBjdHggfSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IChpc0FzeW5jKG1heWJlQXN5bmNSZXN1bHQpID8gbWF5YmVBc3luY1Jlc3VsdCA6IFByb21pc2UucmVzb2x2ZShtYXliZUFzeW5jUmVzdWx0KSk7XG4gICAgICAgIHJldHVybiBoYW5kbGVSZXN1bHQoY3R4LCByZXN1bHQpO1xuICAgIH1cbiAgICByZWZpbmUoY2hlY2ssIG1lc3NhZ2UpIHtcbiAgICAgICAgY29uc3QgZ2V0SXNzdWVQcm9wZXJ0aWVzID0gKHZhbCkgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSBcInN0cmluZ1wiIHx8IHR5cGVvZiBtZXNzYWdlID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgbWVzc2FnZSB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodHlwZW9mIG1lc3NhZ2UgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBtZXNzYWdlKHZhbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWVzc2FnZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlZmluZW1lbnQoKHZhbCwgY3R4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBjaGVjayh2YWwpO1xuICAgICAgICAgICAgY29uc3Qgc2V0RXJyb3IgPSAoKSA9PiBjdHguYWRkSXNzdWUoe1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5jdXN0b20sXG4gICAgICAgICAgICAgICAgLi4uZ2V0SXNzdWVQcm9wZXJ0aWVzKHZhbCksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgUHJvbWlzZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiByZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0RXJyb3IoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHNldEVycm9yKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZWZpbmVtZW50KGNoZWNrLCByZWZpbmVtZW50RGF0YSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVmaW5lbWVudCgodmFsLCBjdHgpID0+IHtcbiAgICAgICAgICAgIGlmICghY2hlY2sodmFsKSkge1xuICAgICAgICAgICAgICAgIGN0eC5hZGRJc3N1ZSh0eXBlb2YgcmVmaW5lbWVudERhdGEgPT09IFwiZnVuY3Rpb25cIiA/IHJlZmluZW1lbnREYXRhKHZhbCwgY3R4KSA6IHJlZmluZW1lbnREYXRhKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF9yZWZpbmVtZW50KHJlZmluZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBab2RFZmZlY3RzKHtcbiAgICAgICAgICAgIHNjaGVtYTogdGhpcyxcbiAgICAgICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kRWZmZWN0cyxcbiAgICAgICAgICAgIGVmZmVjdDogeyB0eXBlOiBcInJlZmluZW1lbnRcIiwgcmVmaW5lbWVudCB9LFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgc3VwZXJSZWZpbmUocmVmaW5lbWVudCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVmaW5lbWVudChyZWZpbmVtZW50KTtcbiAgICB9XG4gICAgY29uc3RydWN0b3IoZGVmKSB7XG4gICAgICAgIC8qKiBBbGlhcyBvZiBzYWZlUGFyc2VBc3luYyAqL1xuICAgICAgICB0aGlzLnNwYSA9IHRoaXMuc2FmZVBhcnNlQXN5bmM7XG4gICAgICAgIHRoaXMuX2RlZiA9IGRlZjtcbiAgICAgICAgdGhpcy5wYXJzZSA9IHRoaXMucGFyc2UuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5zYWZlUGFyc2UgPSB0aGlzLnNhZmVQYXJzZS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLnBhcnNlQXN5bmMgPSB0aGlzLnBhcnNlQXN5bmMuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5zYWZlUGFyc2VBc3luYyA9IHRoaXMuc2FmZVBhcnNlQXN5bmMuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5zcGEgPSB0aGlzLnNwYS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLnJlZmluZSA9IHRoaXMucmVmaW5lLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMucmVmaW5lbWVudCA9IHRoaXMucmVmaW5lbWVudC5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLnN1cGVyUmVmaW5lID0gdGhpcy5zdXBlclJlZmluZS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLm9wdGlvbmFsID0gdGhpcy5vcHRpb25hbC5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLm51bGxhYmxlID0gdGhpcy5udWxsYWJsZS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLm51bGxpc2ggPSB0aGlzLm51bGxpc2guYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5hcnJheSA9IHRoaXMuYXJyYXkuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5wcm9taXNlID0gdGhpcy5wcm9taXNlLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMub3IgPSB0aGlzLm9yLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuYW5kID0gdGhpcy5hbmQuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy50cmFuc2Zvcm0gPSB0aGlzLnRyYW5zZm9ybS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLmJyYW5kID0gdGhpcy5icmFuZC5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLmRlZmF1bHQgPSB0aGlzLmRlZmF1bHQuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5jYXRjaCA9IHRoaXMuY2F0Y2guYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5kZXNjcmliZSA9IHRoaXMuZGVzY3JpYmUuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5waXBlID0gdGhpcy5waXBlLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMucmVhZG9ubHkgPSB0aGlzLnJlYWRvbmx5LmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuaXNOdWxsYWJsZSA9IHRoaXMuaXNOdWxsYWJsZS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLmlzT3B0aW9uYWwgPSB0aGlzLmlzT3B0aW9uYWwuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpc1tcIn5zdGFuZGFyZFwiXSA9IHtcbiAgICAgICAgICAgIHZlcnNpb246IDEsXG4gICAgICAgICAgICB2ZW5kb3I6IFwiem9kXCIsXG4gICAgICAgICAgICB2YWxpZGF0ZTogKGRhdGEpID0+IHRoaXNbXCJ+dmFsaWRhdGVcIl0oZGF0YSksXG4gICAgICAgIH07XG4gICAgfVxuICAgIG9wdGlvbmFsKCkge1xuICAgICAgICByZXR1cm4gWm9kT3B0aW9uYWwuY3JlYXRlKHRoaXMsIHRoaXMuX2RlZik7XG4gICAgfVxuICAgIG51bGxhYmxlKCkge1xuICAgICAgICByZXR1cm4gWm9kTnVsbGFibGUuY3JlYXRlKHRoaXMsIHRoaXMuX2RlZik7XG4gICAgfVxuICAgIG51bGxpc2goKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm51bGxhYmxlKCkub3B0aW9uYWwoKTtcbiAgICB9XG4gICAgYXJyYXkoKSB7XG4gICAgICAgIHJldHVybiBab2RBcnJheS5jcmVhdGUodGhpcyk7XG4gICAgfVxuICAgIHByb21pc2UoKSB7XG4gICAgICAgIHJldHVybiBab2RQcm9taXNlLmNyZWF0ZSh0aGlzLCB0aGlzLl9kZWYpO1xuICAgIH1cbiAgICBvcihvcHRpb24pIHtcbiAgICAgICAgcmV0dXJuIFpvZFVuaW9uLmNyZWF0ZShbdGhpcywgb3B0aW9uXSwgdGhpcy5fZGVmKTtcbiAgICB9XG4gICAgYW5kKGluY29taW5nKSB7XG4gICAgICAgIHJldHVybiBab2RJbnRlcnNlY3Rpb24uY3JlYXRlKHRoaXMsIGluY29taW5nLCB0aGlzLl9kZWYpO1xuICAgIH1cbiAgICB0cmFuc2Zvcm0odHJhbnNmb3JtKSB7XG4gICAgICAgIHJldHVybiBuZXcgWm9kRWZmZWN0cyh7XG4gICAgICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHRoaXMuX2RlZiksXG4gICAgICAgICAgICBzY2hlbWE6IHRoaXMsXG4gICAgICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEVmZmVjdHMsXG4gICAgICAgICAgICBlZmZlY3Q6IHsgdHlwZTogXCJ0cmFuc2Zvcm1cIiwgdHJhbnNmb3JtIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBkZWZhdWx0KGRlZikge1xuICAgICAgICBjb25zdCBkZWZhdWx0VmFsdWVGdW5jID0gdHlwZW9mIGRlZiA9PT0gXCJmdW5jdGlvblwiID8gZGVmIDogKCkgPT4gZGVmO1xuICAgICAgICByZXR1cm4gbmV3IFpvZERlZmF1bHQoe1xuICAgICAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyh0aGlzLl9kZWYpLFxuICAgICAgICAgICAgaW5uZXJUeXBlOiB0aGlzLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBkZWZhdWx0VmFsdWVGdW5jLFxuICAgICAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2REZWZhdWx0LFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgYnJhbmQoKSB7XG4gICAgICAgIHJldHVybiBuZXcgWm9kQnJhbmRlZCh7XG4gICAgICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEJyYW5kZWQsXG4gICAgICAgICAgICB0eXBlOiB0aGlzLFxuICAgICAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyh0aGlzLl9kZWYpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgY2F0Y2goZGVmKSB7XG4gICAgICAgIGNvbnN0IGNhdGNoVmFsdWVGdW5jID0gdHlwZW9mIGRlZiA9PT0gXCJmdW5jdGlvblwiID8gZGVmIDogKCkgPT4gZGVmO1xuICAgICAgICByZXR1cm4gbmV3IFpvZENhdGNoKHtcbiAgICAgICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXModGhpcy5fZGVmKSxcbiAgICAgICAgICAgIGlubmVyVHlwZTogdGhpcyxcbiAgICAgICAgICAgIGNhdGNoVmFsdWU6IGNhdGNoVmFsdWVGdW5jLFxuICAgICAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RDYXRjaCxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGRlc2NyaWJlKGRlc2NyaXB0aW9uKSB7XG4gICAgICAgIGNvbnN0IFRoaXMgPSB0aGlzLmNvbnN0cnVjdG9yO1xuICAgICAgICByZXR1cm4gbmV3IFRoaXMoe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwaXBlKHRhcmdldCkge1xuICAgICAgICByZXR1cm4gWm9kUGlwZWxpbmUuY3JlYXRlKHRoaXMsIHRhcmdldCk7XG4gICAgfVxuICAgIHJlYWRvbmx5KCkge1xuICAgICAgICByZXR1cm4gWm9kUmVhZG9ubHkuY3JlYXRlKHRoaXMpO1xuICAgIH1cbiAgICBpc09wdGlvbmFsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zYWZlUGFyc2UodW5kZWZpbmVkKS5zdWNjZXNzO1xuICAgIH1cbiAgICBpc051bGxhYmxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zYWZlUGFyc2UobnVsbCkuc3VjY2VzcztcbiAgICB9XG59XG5jb25zdCBjdWlkUmVnZXggPSAvXmNbXlxccy1dezgsfSQvaTtcbmNvbnN0IGN1aWQyUmVnZXggPSAvXlswLTlhLXpdKyQvO1xuY29uc3QgdWxpZFJlZ2V4ID0gL15bMC05QS1ISktNTlAtVFYtWl17MjZ9JC9pO1xuLy8gY29uc3QgdXVpZFJlZ2V4ID1cbi8vICAgL14oW2EtZjAtOV17OH0tW2EtZjAtOV17NH0tWzEtNV1bYS1mMC05XXszfS1bYS1mMC05XXs0fS1bYS1mMC05XXsxMn18MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwKSQvaTtcbmNvbnN0IHV1aWRSZWdleCA9IC9eWzAtOWEtZkEtRl17OH1cXGItWzAtOWEtZkEtRl17NH1cXGItWzAtOWEtZkEtRl17NH1cXGItWzAtOWEtZkEtRl17NH1cXGItWzAtOWEtZkEtRl17MTJ9JC9pO1xuY29uc3QgbmFub2lkUmVnZXggPSAvXlthLXowLTlfLV17MjF9JC9pO1xuY29uc3Qgand0UmVnZXggPSAvXltBLVphLXowLTktX10rXFwuW0EtWmEtejAtOS1fXStcXC5bQS1aYS16MC05LV9dKiQvO1xuY29uc3QgZHVyYXRpb25SZWdleCA9IC9eWy0rXT9QKD8hJCkoPzooPzpbLStdP1xcZCtZKXwoPzpbLStdP1xcZCtbLixdXFxkK1kkKSk/KD86KD86Wy0rXT9cXGQrTSl8KD86Wy0rXT9cXGQrWy4sXVxcZCtNJCkpPyg/Oig/OlstK10/XFxkK1cpfCg/OlstK10/XFxkK1suLF1cXGQrVyQpKT8oPzooPzpbLStdP1xcZCtEKXwoPzpbLStdP1xcZCtbLixdXFxkK0QkKSk/KD86VCg/PVtcXGQrLV0pKD86KD86Wy0rXT9cXGQrSCl8KD86Wy0rXT9cXGQrWy4sXVxcZCtIJCkpPyg/Oig/OlstK10/XFxkK00pfCg/OlstK10/XFxkK1suLF1cXGQrTSQpKT8oPzpbLStdP1xcZCsoPzpbLixdXFxkKyk/Uyk/KT8/JC87XG4vLyBmcm9tIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS80NjE4MS8xNTUwMTU1XG4vLyBvbGQgdmVyc2lvbjogdG9vIHNsb3csIGRpZG4ndCBzdXBwb3J0IHVuaWNvZGVcbi8vIGNvbnN0IGVtYWlsUmVnZXggPSAvXigoKFthLXpdfFxcZHxbISNcXCQlJidcXCpcXCtcXC1cXC89XFw/XFxeX2B7XFx8fX5dfFtcXHUwMEEwLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRUZdKSsoXFwuKFthLXpdfFxcZHxbISNcXCQlJidcXCpcXCtcXC1cXC89XFw/XFxeX2B7XFx8fX5dfFtcXHUwMEEwLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRUZdKSspKil8KChcXHgyMikoKCgoXFx4MjB8XFx4MDkpKihcXHgwZFxceDBhKSk/KFxceDIwfFxceDA5KSspPygoW1xceDAxLVxceDA4XFx4MGJcXHgwY1xceDBlLVxceDFmXFx4N2ZdfFxceDIxfFtcXHgyMy1cXHg1Yl18W1xceDVkLVxceDdlXXxbXFx1MDBBMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSl8KFxcXFwoW1xceDAxLVxceDA5XFx4MGJcXHgwY1xceDBkLVxceDdmXXxbXFx1MDBBMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXSkpKSkqKCgoXFx4MjB8XFx4MDkpKihcXHgwZFxceDBhKSk/KFxceDIwfFxceDA5KSspPyhcXHgyMikpKUAoKChbYS16XXxcXGR8W1xcdTAwQTAtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZFRl0pfCgoW2Etel18XFxkfFtcXHUwMEEwLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRUZdKShbYS16XXxcXGR8LXxcXC58X3x+fFtcXHUwMEEwLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRUZdKSooW2Etel18XFxkfFtcXHUwMEEwLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRUZdKSkpXFwuKSsoKFthLXpdfFtcXHUwMEEwLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRUZdKXwoKFthLXpdfFtcXHUwMEEwLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRUZdKShbYS16XXxcXGR8LXxcXC58X3x+fFtcXHUwMEEwLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRUZdKSooW2Etel18W1xcdTAwQTAtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZFRl0pKSkkL2k7XG4vL29sZCBlbWFpbCByZWdleFxuLy8gY29uc3QgZW1haWxSZWdleCA9IC9eKChbXjw+KClbXFxdLiw7Olxcc0BcIl0rKFxcLltePD4oKVtcXF0uLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoPyEtKShbXjw+KClbXFxdLiw7Olxcc0BcIl0rXFwuKStbXjw+KClbXFxdLiw7Olxcc0BcIl17MSx9KVteLTw+KClbXFxdLiw7Olxcc0BcIl0kL2k7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbi8vIGNvbnN0IGVtYWlsUmVnZXggPVxuLy8gICAvXigoW148PigpW1xcXVxcXFwuLDs6XFxzQFxcXCJdKyhcXC5bXjw+KClbXFxdXFxcXC4sOzpcXHNAXFxcIl0rKSopfChcXFwiLitcXFwiKSlAKChcXFsoKCgyNVswLTVdKXwoMlswLTRdWzAtOV0pfCgxWzAtOV17Mn0pfChbMC05XXsxLDJ9KSlcXC4pezN9KCgyNVswLTVdKXwoMlswLTRdWzAtOV0pfCgxWzAtOV17Mn0pfChbMC05XXsxLDJ9KSlcXF0pfChcXFtJUHY2OigoW2EtZjAtOV17MSw0fTopezd9fDo6KFthLWYwLTldezEsNH06KXswLDZ9fChbYS1mMC05XXsxLDR9Oil7MX06KFthLWYwLTldezEsNH06KXswLDV9fChbYS1mMC05XXsxLDR9Oil7Mn06KFthLWYwLTldezEsNH06KXswLDR9fChbYS1mMC05XXsxLDR9Oil7M306KFthLWYwLTldezEsNH06KXswLDN9fChbYS1mMC05XXsxLDR9Oil7NH06KFthLWYwLTldezEsNH06KXswLDJ9fChbYS1mMC05XXsxLDR9Oil7NX06KFthLWYwLTldezEsNH06KXswLDF9KShbYS1mMC05XXsxLDR9fCgoKDI1WzAtNV0pfCgyWzAtNF1bMC05XSl8KDFbMC05XXsyfSl8KFswLTldezEsMn0pKVxcLil7M30oKDI1WzAtNV0pfCgyWzAtNF1bMC05XSl8KDFbMC05XXsyfSl8KFswLTldezEsMn0pKSlcXF0pfChbQS1aYS16MC05XShbQS1aYS16MC05LV0qW0EtWmEtejAtOV0pKihcXC5bQS1aYS16XXsyLH0pKykpJC87XG4vLyBjb25zdCBlbWFpbFJlZ2V4ID1cbi8vICAgL15bYS16QS1aMC05XFwuXFwhXFwjXFwkXFwlXFwmXFwnXFwqXFwrXFwvXFw9XFw/XFxeXFxfXFxgXFx7XFx8XFx9XFx+XFwtXStAW2EtekEtWjAtOV0oPzpbYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSk/KD86XFwuW2EtekEtWjAtOV0oPzpbYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSk/KSokLztcbi8vIGNvbnN0IGVtYWlsUmVnZXggPVxuLy8gICAvXig/OlthLXowLTkhIyQlJicqKy89P15fYHt8fX4tXSsoPzpcXC5bYS16MC05ISMkJSYnKisvPT9eX2B7fH1+LV0rKSp8XCIoPzpbXFx4MDEtXFx4MDhcXHgwYlxceDBjXFx4MGUtXFx4MWZcXHgyMVxceDIzLVxceDViXFx4NWQtXFx4N2ZdfFxcXFxbXFx4MDEtXFx4MDlcXHgwYlxceDBjXFx4MGUtXFx4N2ZdKSpcIilAKD86KD86W2EtejAtOV0oPzpbYS16MC05LV0qW2EtejAtOV0pP1xcLikrW2EtejAtOV0oPzpbYS16MC05LV0qW2EtejAtOV0pP3xcXFsoPzooPzoyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXFwuKXszfSg/OjI1WzAtNV18MlswLTRdWzAtOV18WzAxXT9bMC05XVswLTldP3xbYS16MC05LV0qW2EtejAtOV06KD86W1xceDAxLVxceDA4XFx4MGJcXHgwY1xceDBlLVxceDFmXFx4MjEtXFx4NWFcXHg1My1cXHg3Zl18XFxcXFtcXHgwMS1cXHgwOVxceDBiXFx4MGNcXHgwZS1cXHg3Zl0pKylcXF0pJC9pO1xuY29uc3QgZW1haWxSZWdleCA9IC9eKD8hXFwuKSg/IS4qXFwuXFwuKShbQS1aMC05XycrXFwtXFwuXSopW0EtWjAtOV8rLV1AKFtBLVowLTldW0EtWjAtOVxcLV0qXFwuKStbQS1aXXsyLH0kL2k7XG4vLyBjb25zdCBlbWFpbFJlZ2V4ID1cbi8vICAgL15bYS16MC05LiEjJCUm4oCZKisvPT9eX2B7fH1+LV0rQFthLXowLTktXSsoPzpcXC5bYS16MC05XFwtXSspKiQvaTtcbi8vIGZyb20gaHR0cHM6Ly90aGVrZXZpbnNjb3R0LmNvbS9lbW9qaXMtaW4tamF2YXNjcmlwdC8jd3JpdGluZy1hLXJlZ3VsYXItZXhwcmVzc2lvblxuY29uc3QgX2Vtb2ppUmVnZXggPSBgXihcXFxccHtFeHRlbmRlZF9QaWN0b2dyYXBoaWN9fFxcXFxwe0Vtb2ppX0NvbXBvbmVudH0pKyRgO1xubGV0IGVtb2ppUmVnZXg7XG4vLyBmYXN0ZXIsIHNpbXBsZXIsIHNhZmVyXG5jb25zdCBpcHY0UmVnZXggPSAvXig/Oig/OjI1WzAtNV18MlswLTRdWzAtOV18MVswLTldWzAtOV18WzEtOV1bMC05XXxbMC05XSlcXC4pezN9KD86MjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV1bMC05XXxbMS05XVswLTldfFswLTldKSQvO1xuY29uc3QgaXB2NENpZHJSZWdleCA9IC9eKD86KD86MjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV1bMC05XXxbMS05XVswLTldfFswLTldKVxcLil7M30oPzoyNVswLTVdfDJbMC00XVswLTldfDFbMC05XVswLTldfFsxLTldWzAtOV18WzAtOV0pXFwvKDNbMC0yXXxbMTJdP1swLTldKSQvO1xuLy8gY29uc3QgaXB2NlJlZ2V4ID1cbi8vIC9eKChbYS1mMC05XXsxLDR9Oil7N318OjooW2EtZjAtOV17MSw0fTopezAsNn18KFthLWYwLTldezEsNH06KXsxfTooW2EtZjAtOV17MSw0fTopezAsNX18KFthLWYwLTldezEsNH06KXsyfTooW2EtZjAtOV17MSw0fTopezAsNH18KFthLWYwLTldezEsNH06KXszfTooW2EtZjAtOV17MSw0fTopezAsM318KFthLWYwLTldezEsNH06KXs0fTooW2EtZjAtOV17MSw0fTopezAsMn18KFthLWYwLTldezEsNH06KXs1fTooW2EtZjAtOV17MSw0fTopezAsMX0pKFthLWYwLTldezEsNH18KCgoMjVbMC01XSl8KDJbMC00XVswLTldKXwoMVswLTldezJ9KXwoWzAtOV17MSwyfSkpXFwuKXszfSgoMjVbMC01XSl8KDJbMC00XVswLTldKXwoMVswLTldezJ9KXwoWzAtOV17MSwyfSkpKSQvO1xuY29uc3QgaXB2NlJlZ2V4ID0gL14oKFswLTlhLWZBLUZdezEsNH06KXs3LDd9WzAtOWEtZkEtRl17MSw0fXwoWzAtOWEtZkEtRl17MSw0fTopezEsN306fChbMC05YS1mQS1GXXsxLDR9Oil7MSw2fTpbMC05YS1mQS1GXXsxLDR9fChbMC05YS1mQS1GXXsxLDR9Oil7MSw1fSg6WzAtOWEtZkEtRl17MSw0fSl7MSwyfXwoWzAtOWEtZkEtRl17MSw0fTopezEsNH0oOlswLTlhLWZBLUZdezEsNH0pezEsM318KFswLTlhLWZBLUZdezEsNH06KXsxLDN9KDpbMC05YS1mQS1GXXsxLDR9KXsxLDR9fChbMC05YS1mQS1GXXsxLDR9Oil7MSwyfSg6WzAtOWEtZkEtRl17MSw0fSl7MSw1fXxbMC05YS1mQS1GXXsxLDR9OigoOlswLTlhLWZBLUZdezEsNH0pezEsNn0pfDooKDpbMC05YS1mQS1GXXsxLDR9KXsxLDd9fDopfGZlODA6KDpbMC05YS1mQS1GXXswLDR9KXswLDR9JVswLTlhLXpBLVpdezEsfXw6OihmZmZmKDowezEsNH0pezAsMX06KXswLDF9KCgyNVswLTVdfCgyWzAtNF18MXswLDF9WzAtOV0pezAsMX1bMC05XSlcXC4pezMsM30oMjVbMC01XXwoMlswLTRdfDF7MCwxfVswLTldKXswLDF9WzAtOV0pfChbMC05YS1mQS1GXXsxLDR9Oil7MSw0fTooKDI1WzAtNV18KDJbMC00XXwxezAsMX1bMC05XSl7MCwxfVswLTldKVxcLil7MywzfSgyNVswLTVdfCgyWzAtNF18MXswLDF9WzAtOV0pezAsMX1bMC05XSkpJC87XG5jb25zdCBpcHY2Q2lkclJlZ2V4ID0gL14oKFswLTlhLWZBLUZdezEsNH06KXs3LDd9WzAtOWEtZkEtRl17MSw0fXwoWzAtOWEtZkEtRl17MSw0fTopezEsN306fChbMC05YS1mQS1GXXsxLDR9Oil7MSw2fTpbMC05YS1mQS1GXXsxLDR9fChbMC05YS1mQS1GXXsxLDR9Oil7MSw1fSg6WzAtOWEtZkEtRl17MSw0fSl7MSwyfXwoWzAtOWEtZkEtRl17MSw0fTopezEsNH0oOlswLTlhLWZBLUZdezEsNH0pezEsM318KFswLTlhLWZBLUZdezEsNH06KXsxLDN9KDpbMC05YS1mQS1GXXsxLDR9KXsxLDR9fChbMC05YS1mQS1GXXsxLDR9Oil7MSwyfSg6WzAtOWEtZkEtRl17MSw0fSl7MSw1fXxbMC05YS1mQS1GXXsxLDR9OigoOlswLTlhLWZBLUZdezEsNH0pezEsNn0pfDooKDpbMC05YS1mQS1GXXsxLDR9KXsxLDd9fDopfGZlODA6KDpbMC05YS1mQS1GXXswLDR9KXswLDR9JVswLTlhLXpBLVpdezEsfXw6OihmZmZmKDowezEsNH0pezAsMX06KXswLDF9KCgyNVswLTVdfCgyWzAtNF18MXswLDF9WzAtOV0pezAsMX1bMC05XSlcXC4pezMsM30oMjVbMC01XXwoMlswLTRdfDF7MCwxfVswLTldKXswLDF9WzAtOV0pfChbMC05YS1mQS1GXXsxLDR9Oil7MSw0fTooKDI1WzAtNV18KDJbMC00XXwxezAsMX1bMC05XSl7MCwxfVswLTldKVxcLil7MywzfSgyNVswLTVdfCgyWzAtNF18MXswLDF9WzAtOV0pezAsMX1bMC05XSkpXFwvKDEyWzAtOF18MVswMV1bMC05XXxbMS05XT9bMC05XSkkLztcbi8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzc4NjAzOTIvZGV0ZXJtaW5lLWlmLXN0cmluZy1pcy1pbi1iYXNlNjQtdXNpbmctamF2YXNjcmlwdFxuY29uc3QgYmFzZTY0UmVnZXggPSAvXihbMC05YS16QS1aKy9dezR9KSooKFswLTlhLXpBLVorL117Mn09PSl8KFswLTlhLXpBLVorL117M309KSk/JC87XG4vLyBodHRwczovL2Jhc2U2NC5ndXJ1L3N0YW5kYXJkcy9iYXNlNjR1cmxcbmNvbnN0IGJhc2U2NHVybFJlZ2V4ID0gL14oWzAtOWEtekEtWi1fXXs0fSkqKChbMC05YS16QS1aLV9dezJ9KD09KT8pfChbMC05YS16QS1aLV9dezN9KD0pPykpPyQvO1xuLy8gc2ltcGxlXG4vLyBjb25zdCBkYXRlUmVnZXhTb3VyY2UgPSBgXFxcXGR7NH0tXFxcXGR7Mn0tXFxcXGR7Mn1gO1xuLy8gbm8gbGVhcCB5ZWFyIHZhbGlkYXRpb25cbi8vIGNvbnN0IGRhdGVSZWdleFNvdXJjZSA9IGBcXFxcZHs0fS0oKDBbMTM1NzhdfDEwfDEyKS0zMXwoMFsxMy05XXwxWzAtMl0pLTMwfCgwWzEtOV18MVswLTJdKS0oMFsxLTldfDFcXFxcZHwyXFxcXGQpKWA7XG4vLyB3aXRoIGxlYXAgeWVhciB2YWxpZGF0aW9uXG5jb25zdCBkYXRlUmVnZXhTb3VyY2UgPSBgKChcXFxcZFxcXFxkWzI0NjhdWzA0OF18XFxcXGRcXFxcZFsxMzU3OV1bMjZdfFxcXFxkXFxcXGQwWzQ4XXxbMDI0NjhdWzA0OF0wMHxbMTM1NzldWzI2XTAwKS0wMi0yOXxcXFxcZHs0fS0oKDBbMTM1NzhdfDFbMDJdKS0oMFsxLTldfFsxMl1cXFxcZHwzWzAxXSl8KDBbNDY5XXwxMSktKDBbMS05XXxbMTJdXFxcXGR8MzApfCgwMiktKDBbMS05XXwxXFxcXGR8MlswLThdKSkpYDtcbmNvbnN0IGRhdGVSZWdleCA9IG5ldyBSZWdFeHAoYF4ke2RhdGVSZWdleFNvdXJjZX0kYCk7XG5mdW5jdGlvbiB0aW1lUmVnZXhTb3VyY2UoYXJncykge1xuICAgIGxldCBzZWNvbmRzUmVnZXhTb3VyY2UgPSBgWzAtNV1cXFxcZGA7XG4gICAgaWYgKGFyZ3MucHJlY2lzaW9uKSB7XG4gICAgICAgIHNlY29uZHNSZWdleFNvdXJjZSA9IGAke3NlY29uZHNSZWdleFNvdXJjZX1cXFxcLlxcXFxkeyR7YXJncy5wcmVjaXNpb259fWA7XG4gICAgfVxuICAgIGVsc2UgaWYgKGFyZ3MucHJlY2lzaW9uID09IG51bGwpIHtcbiAgICAgICAgc2Vjb25kc1JlZ2V4U291cmNlID0gYCR7c2Vjb25kc1JlZ2V4U291cmNlfShcXFxcLlxcXFxkKyk/YDtcbiAgICB9XG4gICAgY29uc3Qgc2Vjb25kc1F1YW50aWZpZXIgPSBhcmdzLnByZWNpc2lvbiA/IFwiK1wiIDogXCI/XCI7IC8vIHJlcXVpcmUgc2Vjb25kcyBpZiBwcmVjaXNpb24gaXMgbm9uemVyb1xuICAgIHJldHVybiBgKFswMV1cXFxcZHwyWzAtM10pOlswLTVdXFxcXGQoOiR7c2Vjb25kc1JlZ2V4U291cmNlfSkke3NlY29uZHNRdWFudGlmaWVyfWA7XG59XG5mdW5jdGlvbiB0aW1lUmVnZXgoYXJncykge1xuICAgIHJldHVybiBuZXcgUmVnRXhwKGBeJHt0aW1lUmVnZXhTb3VyY2UoYXJncyl9JGApO1xufVxuLy8gQWRhcHRlZCBmcm9tIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zMTQzMjMxXG5leHBvcnQgZnVuY3Rpb24gZGF0ZXRpbWVSZWdleChhcmdzKSB7XG4gICAgbGV0IHJlZ2V4ID0gYCR7ZGF0ZVJlZ2V4U291cmNlfVQke3RpbWVSZWdleFNvdXJjZShhcmdzKX1gO1xuICAgIGNvbnN0IG9wdHMgPSBbXTtcbiAgICBvcHRzLnB1c2goYXJncy5sb2NhbCA/IGBaP2AgOiBgWmApO1xuICAgIGlmIChhcmdzLm9mZnNldClcbiAgICAgICAgb3B0cy5wdXNoKGAoWystXVxcXFxkezJ9Oj9cXFxcZHsyfSlgKTtcbiAgICByZWdleCA9IGAke3JlZ2V4fSgke29wdHMuam9pbihcInxcIil9KWA7XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoYF4ke3JlZ2V4fSRgKTtcbn1cbmZ1bmN0aW9uIGlzVmFsaWRJUChpcCwgdmVyc2lvbikge1xuICAgIGlmICgodmVyc2lvbiA9PT0gXCJ2NFwiIHx8ICF2ZXJzaW9uKSAmJiBpcHY0UmVnZXgudGVzdChpcCkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmICgodmVyc2lvbiA9PT0gXCJ2NlwiIHx8ICF2ZXJzaW9uKSAmJiBpcHY2UmVnZXgudGVzdChpcCkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGlzVmFsaWRKV1Qoand0LCBhbGcpIHtcbiAgICBpZiAoIWp3dFJlZ2V4LnRlc3Qoand0KSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IFtoZWFkZXJdID0gand0LnNwbGl0KFwiLlwiKTtcbiAgICAgICAgaWYgKCFoZWFkZXIpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIC8vIENvbnZlcnQgYmFzZTY0dXJsIHRvIGJhc2U2NFxuICAgICAgICBjb25zdCBiYXNlNjQgPSBoZWFkZXJcbiAgICAgICAgICAgIC5yZXBsYWNlKC8tL2csIFwiK1wiKVxuICAgICAgICAgICAgLnJlcGxhY2UoL18vZywgXCIvXCIpXG4gICAgICAgICAgICAucGFkRW5kKGhlYWRlci5sZW5ndGggKyAoKDQgLSAoaGVhZGVyLmxlbmd0aCAlIDQpKSAlIDQpLCBcIj1cIik7XG4gICAgICAgIGNvbnN0IGRlY29kZWQgPSBKU09OLnBhcnNlKGF0b2IoYmFzZTY0KSk7XG4gICAgICAgIGlmICh0eXBlb2YgZGVjb2RlZCAhPT0gXCJvYmplY3RcIiB8fCBkZWNvZGVkID09PSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZiAoXCJ0eXBcIiBpbiBkZWNvZGVkICYmIGRlY29kZWQ/LnR5cCAhPT0gXCJKV1RcIilcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKCFkZWNvZGVkLmFsZylcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKGFsZyAmJiBkZWNvZGVkLmFsZyAhPT0gYWxnKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY2F0Y2gge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuZnVuY3Rpb24gaXNWYWxpZENpZHIoaXAsIHZlcnNpb24pIHtcbiAgICBpZiAoKHZlcnNpb24gPT09IFwidjRcIiB8fCAhdmVyc2lvbikgJiYgaXB2NENpZHJSZWdleC50ZXN0KGlwKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCh2ZXJzaW9uID09PSBcInY2XCIgfHwgIXZlcnNpb24pICYmIGlwdjZDaWRyUmVnZXgudGVzdChpcCkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbmV4cG9ydCBjbGFzcyBab2RTdHJpbmcgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgaWYgKHRoaXMuX2RlZi5jb2VyY2UpIHtcbiAgICAgICAgICAgIGlucHV0LmRhdGEgPSBTdHJpbmcoaW5wdXQuZGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyc2VkVHlwZSA9IHRoaXMuX2dldFR5cGUoaW5wdXQpO1xuICAgICAgICBpZiAocGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5zdHJpbmcpIHtcbiAgICAgICAgICAgIGNvbnN0IGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0KTtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUuc3RyaW5nLFxuICAgICAgICAgICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhdHVzID0gbmV3IFBhcnNlU3RhdHVzKCk7XG4gICAgICAgIGxldCBjdHggPSB1bmRlZmluZWQ7XG4gICAgICAgIGZvciAoY29uc3QgY2hlY2sgb2YgdGhpcy5fZGVmLmNoZWNrcykge1xuICAgICAgICAgICAgaWYgKGNoZWNrLmtpbmQgPT09IFwibWluXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXQuZGF0YS5sZW5ndGggPCBjaGVjay52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudG9vX3NtYWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogY2hlY2sudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3Q6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwibWF4XCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXQuZGF0YS5sZW5ndGggPiBjaGVjay52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudG9vX2JpZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heGltdW06IGNoZWNrLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1c2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4YWN0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcImxlbmd0aFwiKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9vQmlnID0gaW5wdXQuZGF0YS5sZW5ndGggPiBjaGVjay52YWx1ZTtcbiAgICAgICAgICAgICAgICBjb25zdCB0b29TbWFsbCA9IGlucHV0LmRhdGEubGVuZ3RoIDwgY2hlY2sudmFsdWU7XG4gICAgICAgICAgICAgICAgaWYgKHRvb0JpZyB8fCB0b29TbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRvb0JpZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLnRvb19iaWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogY2hlY2sudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3Q6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRvb1NtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudG9vX3NtYWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW06IGNoZWNrLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YWN0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcImVtYWlsXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWVtYWlsUmVnZXgudGVzdChpbnB1dC5kYXRhKSkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBcImVtYWlsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJlbW9qaVwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFlbW9qaVJlZ2V4KSB7XG4gICAgICAgICAgICAgICAgICAgIGVtb2ppUmVnZXggPSBuZXcgUmVnRXhwKF9lbW9qaVJlZ2V4LCBcInVcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghZW1vamlSZWdleC50ZXN0KGlucHV0LmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IFwiZW1vamlcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcInV1aWRcIikge1xuICAgICAgICAgICAgICAgIGlmICghdXVpZFJlZ2V4LnRlc3QoaW5wdXQuZGF0YSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbjogXCJ1dWlkXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJuYW5vaWRcIikge1xuICAgICAgICAgICAgICAgIGlmICghbmFub2lkUmVnZXgudGVzdChpbnB1dC5kYXRhKSkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBcIm5hbm9pZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwiY3VpZFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFjdWlkUmVnZXgudGVzdChpbnB1dC5kYXRhKSkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBcImN1aWRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcImN1aWQyXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWN1aWQyUmVnZXgudGVzdChpbnB1dC5kYXRhKSkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBcImN1aWQyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJ1bGlkXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXVsaWRSZWdleC50ZXN0KGlucHV0LmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IFwidWxpZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwidXJsXCIpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBuZXcgVVJMKGlucHV0LmRhdGEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IFwidXJsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJyZWdleFwiKSB7XG4gICAgICAgICAgICAgICAgY2hlY2sucmVnZXgubGFzdEluZGV4ID0gMDtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXN0UmVzdWx0ID0gY2hlY2sucmVnZXgudGVzdChpbnB1dC5kYXRhKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRlc3RSZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbjogXCJyZWdleFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwidHJpbVwiKSB7XG4gICAgICAgICAgICAgICAgaW5wdXQuZGF0YSA9IGlucHV0LmRhdGEudHJpbSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJpbmNsdWRlc1wiKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpbnB1dC5kYXRhLmluY2x1ZGVzKGNoZWNrLnZhbHVlLCBjaGVjay5wb3NpdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbjogeyBpbmNsdWRlczogY2hlY2sudmFsdWUsIHBvc2l0aW9uOiBjaGVjay5wb3NpdGlvbiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwidG9Mb3dlckNhc2VcIikge1xuICAgICAgICAgICAgICAgIGlucHV0LmRhdGEgPSBpbnB1dC5kYXRhLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcInRvVXBwZXJDYXNlXCIpIHtcbiAgICAgICAgICAgICAgICBpbnB1dC5kYXRhID0gaW5wdXQuZGF0YS50b1VwcGVyQ2FzZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJzdGFydHNXaXRoXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWlucHV0LmRhdGEuc3RhcnRzV2l0aChjaGVjay52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbjogeyBzdGFydHNXaXRoOiBjaGVjay52YWx1ZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwiZW5kc1dpdGhcIikge1xuICAgICAgICAgICAgICAgIGlmICghaW5wdXQuZGF0YS5lbmRzV2l0aChjaGVjay52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbjogeyBlbmRzV2l0aDogY2hlY2sudmFsdWUgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcImRhdGV0aW1lXCIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWdleCA9IGRhdGV0aW1lUmVnZXgoY2hlY2spO1xuICAgICAgICAgICAgICAgIGlmICghcmVnZXgudGVzdChpbnB1dC5kYXRhKSkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBcImRhdGV0aW1lXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJkYXRlXCIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWdleCA9IGRhdGVSZWdleDtcbiAgICAgICAgICAgICAgICBpZiAoIXJlZ2V4LnRlc3QoaW5wdXQuZGF0YSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbjogXCJkYXRlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJ0aW1lXCIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWdleCA9IHRpbWVSZWdleChjaGVjayk7XG4gICAgICAgICAgICAgICAgaWYgKCFyZWdleC50ZXN0KGlucHV0LmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IFwidGltZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwiZHVyYXRpb25cIikge1xuICAgICAgICAgICAgICAgIGlmICghZHVyYXRpb25SZWdleC50ZXN0KGlucHV0LmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IFwiZHVyYXRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcImlwXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzVmFsaWRJUChpbnB1dC5kYXRhLCBjaGVjay52ZXJzaW9uKSkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBcImlwXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJqd3RcIikge1xuICAgICAgICAgICAgICAgIGlmICghaXNWYWxpZEpXVChpbnB1dC5kYXRhLCBjaGVjay5hbGcpKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IFwiand0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJjaWRyXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzVmFsaWRDaWRyKGlucHV0LmRhdGEsIGNoZWNrLnZlcnNpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IFwiY2lkclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwiYmFzZTY0XCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWJhc2U2NFJlZ2V4LnRlc3QoaW5wdXQuZGF0YSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbjogXCJiYXNlNjRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3N0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcImJhc2U2NHVybFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFiYXNlNjR1cmxSZWdleC50ZXN0KGlucHV0LmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb246IFwiYmFzZTY0dXJsXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9zdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdXRpbC5hc3NlcnROZXZlcihjaGVjayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBzdGF0dXMudmFsdWUsIHZhbHVlOiBpbnB1dC5kYXRhIH07XG4gICAgfVxuICAgIF9yZWdleChyZWdleCwgdmFsaWRhdGlvbiwgbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWZpbmVtZW50KChkYXRhKSA9PiByZWdleC50ZXN0KGRhdGEpLCB7XG4gICAgICAgICAgICB2YWxpZGF0aW9uLFxuICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfc3RyaW5nLFxuICAgICAgICAgICAgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgX2FkZENoZWNrKGNoZWNrKSB7XG4gICAgICAgIHJldHVybiBuZXcgWm9kU3RyaW5nKHtcbiAgICAgICAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgICAgICAgIGNoZWNrczogWy4uLnRoaXMuX2RlZi5jaGVja3MsIGNoZWNrXSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGVtYWlsKG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHsga2luZDogXCJlbWFpbFwiLCAuLi5lcnJvclV0aWwuZXJyVG9PYmoobWVzc2FnZSkgfSk7XG4gICAgfVxuICAgIHVybChtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7IGtpbmQ6IFwidXJsXCIsIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSB9KTtcbiAgICB9XG4gICAgZW1vamkobWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soeyBraW5kOiBcImVtb2ppXCIsIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSB9KTtcbiAgICB9XG4gICAgdXVpZChtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7IGtpbmQ6IFwidXVpZFwiLCAuLi5lcnJvclV0aWwuZXJyVG9PYmoobWVzc2FnZSkgfSk7XG4gICAgfVxuICAgIG5hbm9pZChtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7IGtpbmQ6IFwibmFub2lkXCIsIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSB9KTtcbiAgICB9XG4gICAgY3VpZChtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7IGtpbmQ6IFwiY3VpZFwiLCAuLi5lcnJvclV0aWwuZXJyVG9PYmoobWVzc2FnZSkgfSk7XG4gICAgfVxuICAgIGN1aWQyKG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHsga2luZDogXCJjdWlkMlwiLCAuLi5lcnJvclV0aWwuZXJyVG9PYmoobWVzc2FnZSkgfSk7XG4gICAgfVxuICAgIHVsaWQobWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soeyBraW5kOiBcInVsaWRcIiwgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpIH0pO1xuICAgIH1cbiAgICBiYXNlNjQobWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soeyBraW5kOiBcImJhc2U2NFwiLCAuLi5lcnJvclV0aWwuZXJyVG9PYmoobWVzc2FnZSkgfSk7XG4gICAgfVxuICAgIGJhc2U2NHVybChtZXNzYWdlKSB7XG4gICAgICAgIC8vIGJhc2U2NHVybCBlbmNvZGluZyBpcyBhIG1vZGlmaWNhdGlvbiBvZiBiYXNlNjQgdGhhdCBjYW4gc2FmZWx5IGJlIHVzZWQgaW4gVVJMcyBhbmQgZmlsZW5hbWVzXG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgICAgICBraW5kOiBcImJhc2U2NHVybFwiLFxuICAgICAgICAgICAgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgand0KG9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHsga2luZDogXCJqd3RcIiwgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG9wdGlvbnMpIH0pO1xuICAgIH1cbiAgICBpcChvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7IGtpbmQ6IFwiaXBcIiwgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG9wdGlvbnMpIH0pO1xuICAgIH1cbiAgICBjaWRyKG9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHsga2luZDogXCJjaWRyXCIsIC4uLmVycm9yVXRpbC5lcnJUb09iaihvcHRpb25zKSB9KTtcbiAgICB9XG4gICAgZGF0ZXRpbWUob3B0aW9ucykge1xuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgICAgICAgICAga2luZDogXCJkYXRldGltZVwiLFxuICAgICAgICAgICAgICAgIHByZWNpc2lvbjogbnVsbCxcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGxvY2FsOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBvcHRpb25zLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwiZGF0ZXRpbWVcIixcbiAgICAgICAgICAgIHByZWNpc2lvbjogdHlwZW9mIG9wdGlvbnM/LnByZWNpc2lvbiA9PT0gXCJ1bmRlZmluZWRcIiA/IG51bGwgOiBvcHRpb25zPy5wcmVjaXNpb24sXG4gICAgICAgICAgICBvZmZzZXQ6IG9wdGlvbnM/Lm9mZnNldCA/PyBmYWxzZSxcbiAgICAgICAgICAgIGxvY2FsOiBvcHRpb25zPy5sb2NhbCA/PyBmYWxzZSxcbiAgICAgICAgICAgIC4uLmVycm9yVXRpbC5lcnJUb09iaihvcHRpb25zPy5tZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGRhdGUobWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soeyBraW5kOiBcImRhdGVcIiwgbWVzc2FnZSB9KTtcbiAgICB9XG4gICAgdGltZShvcHRpb25zKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgICAgICBraW5kOiBcInRpbWVcIixcbiAgICAgICAgICAgICAgICBwcmVjaXNpb246IG51bGwsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogb3B0aW9ucyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgICAgICBraW5kOiBcInRpbWVcIixcbiAgICAgICAgICAgIHByZWNpc2lvbjogdHlwZW9mIG9wdGlvbnM/LnByZWNpc2lvbiA9PT0gXCJ1bmRlZmluZWRcIiA/IG51bGwgOiBvcHRpb25zPy5wcmVjaXNpb24sXG4gICAgICAgICAgICAuLi5lcnJvclV0aWwuZXJyVG9PYmoob3B0aW9ucz8ubWVzc2FnZSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBkdXJhdGlvbihtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7IGtpbmQ6IFwiZHVyYXRpb25cIiwgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpIH0pO1xuICAgIH1cbiAgICByZWdleChyZWdleCwgbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAgICAgICAga2luZDogXCJyZWdleFwiLFxuICAgICAgICAgICAgcmVnZXg6IHJlZ2V4LFxuICAgICAgICAgICAgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgaW5jbHVkZXModmFsdWUsIG9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwiaW5jbHVkZXNcIixcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgICAgICAgIHBvc2l0aW9uOiBvcHRpb25zPy5wb3NpdGlvbixcbiAgICAgICAgICAgIC4uLmVycm9yVXRpbC5lcnJUb09iaihvcHRpb25zPy5tZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHN0YXJ0c1dpdGgodmFsdWUsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwic3RhcnRzV2l0aFwiLFxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgICAgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZW5kc1dpdGgodmFsdWUsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwiZW5kc1dpdGhcIixcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgICAgICAgIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG1pbihtaW5MZW5ndGgsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwibWluXCIsXG4gICAgICAgICAgICB2YWx1ZTogbWluTGVuZ3RoLFxuICAgICAgICAgICAgLi4uZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgbWF4KG1heExlbmd0aCwgbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAgICAgICAga2luZDogXCJtYXhcIixcbiAgICAgICAgICAgIHZhbHVlOiBtYXhMZW5ndGgsXG4gICAgICAgICAgICAuLi5lcnJvclV0aWwuZXJyVG9PYmoobWVzc2FnZSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBsZW5ndGgobGVuLCBtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgICAgICBraW5kOiBcImxlbmd0aFwiLFxuICAgICAgICAgICAgdmFsdWU6IGxlbixcbiAgICAgICAgICAgIC4uLmVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEVxdWl2YWxlbnQgdG8gYC5taW4oMSlgXG4gICAgICovXG4gICAgbm9uZW1wdHkobWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5taW4oMSwgZXJyb3JVdGlsLmVyclRvT2JqKG1lc3NhZ2UpKTtcbiAgICB9XG4gICAgdHJpbSgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBab2RTdHJpbmcoe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgY2hlY2tzOiBbLi4udGhpcy5fZGVmLmNoZWNrcywgeyBraW5kOiBcInRyaW1cIiB9XSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHRvTG93ZXJDYXNlKCkge1xuICAgICAgICByZXR1cm4gbmV3IFpvZFN0cmluZyh7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICBjaGVja3M6IFsuLi50aGlzLl9kZWYuY2hlY2tzLCB7IGtpbmQ6IFwidG9Mb3dlckNhc2VcIiB9XSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHRvVXBwZXJDYXNlKCkge1xuICAgICAgICByZXR1cm4gbmV3IFpvZFN0cmluZyh7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICBjaGVja3M6IFsuLi50aGlzLl9kZWYuY2hlY2tzLCB7IGtpbmQ6IFwidG9VcHBlckNhc2VcIiB9XSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGdldCBpc0RhdGV0aW1lKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcImRhdGV0aW1lXCIpO1xuICAgIH1cbiAgICBnZXQgaXNEYXRlKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcImRhdGVcIik7XG4gICAgfVxuICAgIGdldCBpc1RpbWUoKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuX2RlZi5jaGVja3MuZmluZCgoY2gpID0+IGNoLmtpbmQgPT09IFwidGltZVwiKTtcbiAgICB9XG4gICAgZ2V0IGlzRHVyYXRpb24oKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuX2RlZi5jaGVja3MuZmluZCgoY2gpID0+IGNoLmtpbmQgPT09IFwiZHVyYXRpb25cIik7XG4gICAgfVxuICAgIGdldCBpc0VtYWlsKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcImVtYWlsXCIpO1xuICAgIH1cbiAgICBnZXQgaXNVUkwoKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuX2RlZi5jaGVja3MuZmluZCgoY2gpID0+IGNoLmtpbmQgPT09IFwidXJsXCIpO1xuICAgIH1cbiAgICBnZXQgaXNFbW9qaSgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKChjaCkgPT4gY2gua2luZCA9PT0gXCJlbW9qaVwiKTtcbiAgICB9XG4gICAgZ2V0IGlzVVVJRCgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKChjaCkgPT4gY2gua2luZCA9PT0gXCJ1dWlkXCIpO1xuICAgIH1cbiAgICBnZXQgaXNOQU5PSUQoKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuX2RlZi5jaGVja3MuZmluZCgoY2gpID0+IGNoLmtpbmQgPT09IFwibmFub2lkXCIpO1xuICAgIH1cbiAgICBnZXQgaXNDVUlEKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcImN1aWRcIik7XG4gICAgfVxuICAgIGdldCBpc0NVSUQyKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcImN1aWQyXCIpO1xuICAgIH1cbiAgICBnZXQgaXNVTElEKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcInVsaWRcIik7XG4gICAgfVxuICAgIGdldCBpc0lQKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcImlwXCIpO1xuICAgIH1cbiAgICBnZXQgaXNDSURSKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9kZWYuY2hlY2tzLmZpbmQoKGNoKSA9PiBjaC5raW5kID09PSBcImNpZHJcIik7XG4gICAgfVxuICAgIGdldCBpc0Jhc2U2NCgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKChjaCkgPT4gY2gua2luZCA9PT0gXCJiYXNlNjRcIik7XG4gICAgfVxuICAgIGdldCBpc0Jhc2U2NHVybCgpIHtcbiAgICAgICAgLy8gYmFzZTY0dXJsIGVuY29kaW5nIGlzIGEgbW9kaWZpY2F0aW9uIG9mIGJhc2U2NCB0aGF0IGNhbiBzYWZlbHkgYmUgdXNlZCBpbiBVUkxzIGFuZCBmaWxlbmFtZXNcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKChjaCkgPT4gY2gua2luZCA9PT0gXCJiYXNlNjR1cmxcIik7XG4gICAgfVxuICAgIGdldCBtaW5MZW5ndGgoKSB7XG4gICAgICAgIGxldCBtaW4gPSBudWxsO1xuICAgICAgICBmb3IgKGNvbnN0IGNoIG9mIHRoaXMuX2RlZi5jaGVja3MpIHtcbiAgICAgICAgICAgIGlmIChjaC5raW5kID09PSBcIm1pblwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1pbiA9PT0gbnVsbCB8fCBjaC52YWx1ZSA+IG1pbilcbiAgICAgICAgICAgICAgICAgICAgbWluID0gY2gudmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1pbjtcbiAgICB9XG4gICAgZ2V0IG1heExlbmd0aCgpIHtcbiAgICAgICAgbGV0IG1heCA9IG51bGw7XG4gICAgICAgIGZvciAoY29uc3QgY2ggb2YgdGhpcy5fZGVmLmNoZWNrcykge1xuICAgICAgICAgICAgaWYgKGNoLmtpbmQgPT09IFwibWF4XCIpIHtcbiAgICAgICAgICAgICAgICBpZiAobWF4ID09PSBudWxsIHx8IGNoLnZhbHVlIDwgbWF4KVxuICAgICAgICAgICAgICAgICAgICBtYXggPSBjaC52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWF4O1xuICAgIH1cbn1cblpvZFN0cmluZy5jcmVhdGUgPSAocGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2RTdHJpbmcoe1xuICAgICAgICBjaGVja3M6IFtdLFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFN0cmluZyxcbiAgICAgICAgY29lcmNlOiBwYXJhbXM/LmNvZXJjZSA/PyBmYWxzZSxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbi8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM5NjY0ODQvd2h5LWRvZXMtbW9kdWx1cy1vcGVyYXRvci1yZXR1cm4tZnJhY3Rpb25hbC1udW1iZXItaW4tamF2YXNjcmlwdC8zMTcxMTAzNCMzMTcxMTAzNFxuZnVuY3Rpb24gZmxvYXRTYWZlUmVtYWluZGVyKHZhbCwgc3RlcCkge1xuICAgIGNvbnN0IHZhbERlY0NvdW50ID0gKHZhbC50b1N0cmluZygpLnNwbGl0KFwiLlwiKVsxXSB8fCBcIlwiKS5sZW5ndGg7XG4gICAgY29uc3Qgc3RlcERlY0NvdW50ID0gKHN0ZXAudG9TdHJpbmcoKS5zcGxpdChcIi5cIilbMV0gfHwgXCJcIikubGVuZ3RoO1xuICAgIGNvbnN0IGRlY0NvdW50ID0gdmFsRGVjQ291bnQgPiBzdGVwRGVjQ291bnQgPyB2YWxEZWNDb3VudCA6IHN0ZXBEZWNDb3VudDtcbiAgICBjb25zdCB2YWxJbnQgPSBOdW1iZXIucGFyc2VJbnQodmFsLnRvRml4ZWQoZGVjQ291bnQpLnJlcGxhY2UoXCIuXCIsIFwiXCIpKTtcbiAgICBjb25zdCBzdGVwSW50ID0gTnVtYmVyLnBhcnNlSW50KHN0ZXAudG9GaXhlZChkZWNDb3VudCkucmVwbGFjZShcIi5cIiwgXCJcIikpO1xuICAgIHJldHVybiAodmFsSW50ICUgc3RlcEludCkgLyAxMCAqKiBkZWNDb3VudDtcbn1cbmV4cG9ydCBjbGFzcyBab2ROdW1iZXIgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcbiAgICAgICAgdGhpcy5taW4gPSB0aGlzLmd0ZTtcbiAgICAgICAgdGhpcy5tYXggPSB0aGlzLmx0ZTtcbiAgICAgICAgdGhpcy5zdGVwID0gdGhpcy5tdWx0aXBsZU9mO1xuICAgIH1cbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgaWYgKHRoaXMuX2RlZi5jb2VyY2UpIHtcbiAgICAgICAgICAgIGlucHV0LmRhdGEgPSBOdW1iZXIoaW5wdXQuZGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyc2VkVHlwZSA9IHRoaXMuX2dldFR5cGUoaW5wdXQpO1xuICAgICAgICBpZiAocGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5udW1iZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0KTtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUubnVtYmVyLFxuICAgICAgICAgICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGN0eCA9IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qgc3RhdHVzID0gbmV3IFBhcnNlU3RhdHVzKCk7XG4gICAgICAgIGZvciAoY29uc3QgY2hlY2sgb2YgdGhpcy5fZGVmLmNoZWNrcykge1xuICAgICAgICAgICAgaWYgKGNoZWNrLmtpbmQgPT09IFwiaW50XCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXV0aWwuaXNJbnRlZ2VyKGlucHV0LmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZDogXCJpbnRlZ2VyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICByZWNlaXZlZDogXCJmbG9hdFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrLmtpbmQgPT09IFwibWluXCIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0b29TbWFsbCA9IGNoZWNrLmluY2x1c2l2ZSA/IGlucHV0LmRhdGEgPCBjaGVjay52YWx1ZSA6IGlucHV0LmRhdGEgPD0gY2hlY2sudmFsdWU7XG4gICAgICAgICAgICAgICAgaWYgKHRvb1NtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS50b29fc21hbGwsXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtOiBjaGVjay52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwibnVtYmVyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmNsdXNpdmU6IGNoZWNrLmluY2x1c2l2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4YWN0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcIm1heFwiKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9vQmlnID0gY2hlY2suaW5jbHVzaXZlID8gaW5wdXQuZGF0YSA+IGNoZWNrLnZhbHVlIDogaW5wdXQuZGF0YSA+PSBjaGVjay52YWx1ZTtcbiAgICAgICAgICAgICAgICBpZiAodG9vQmlnKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS50b29fYmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogY2hlY2sudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcIm51bWJlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVzaXZlOiBjaGVjay5pbmNsdXNpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICBleGFjdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJtdWx0aXBsZU9mXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoZmxvYXRTYWZlUmVtYWluZGVyKGlucHV0LmRhdGEsIGNoZWNrLnZhbHVlKSAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCwgY3R4KTtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUubm90X211bHRpcGxlX29mLFxuICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGVPZjogY2hlY2sudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJmaW5pdGVcIikge1xuICAgICAgICAgICAgICAgIGlmICghTnVtYmVyLmlzRmluaXRlKGlucHV0LmRhdGEpKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5ub3RfZmluaXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHV0aWwuYXNzZXJ0TmV2ZXIoY2hlY2spO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHN0YXR1czogc3RhdHVzLnZhbHVlLCB2YWx1ZTogaW5wdXQuZGF0YSB9O1xuICAgIH1cbiAgICBndGUodmFsdWUsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0TGltaXQoXCJtaW5cIiwgdmFsdWUsIHRydWUsIGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSk7XG4gICAgfVxuICAgIGd0KHZhbHVlLCBtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldExpbWl0KFwibWluXCIsIHZhbHVlLCBmYWxzZSwgZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpKTtcbiAgICB9XG4gICAgbHRlKHZhbHVlLCBtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldExpbWl0KFwibWF4XCIsIHZhbHVlLCB0cnVlLCBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSkpO1xuICAgIH1cbiAgICBsdCh2YWx1ZSwgbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXRMaW1pdChcIm1heFwiLCB2YWx1ZSwgZmFsc2UsIGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSk7XG4gICAgfVxuICAgIHNldExpbWl0KGtpbmQsIHZhbHVlLCBpbmNsdXNpdmUsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBab2ROdW1iZXIoe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgY2hlY2tzOiBbXG4gICAgICAgICAgICAgICAgLi4udGhpcy5fZGVmLmNoZWNrcyxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGtpbmQsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBpbmNsdXNpdmUsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIF9hZGRDaGVjayhjaGVjaykge1xuICAgICAgICByZXR1cm4gbmV3IFpvZE51bWJlcih7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICBjaGVja3M6IFsuLi50aGlzLl9kZWYuY2hlY2tzLCBjaGVja10sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBpbnQobWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAgICAgICAga2luZDogXCJpbnRcIixcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHBvc2l0aXZlKG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwibWluXCIsXG4gICAgICAgICAgICB2YWx1ZTogMCxcbiAgICAgICAgICAgIGluY2x1c2l2ZTogZmFsc2UsXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBuZWdhdGl2ZShtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgICAgICBraW5kOiBcIm1heFwiLFxuICAgICAgICAgICAgdmFsdWU6IDAsXG4gICAgICAgICAgICBpbmNsdXNpdmU6IGZhbHNlLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgbm9ucG9zaXRpdmUobWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAgICAgICAga2luZDogXCJtYXhcIixcbiAgICAgICAgICAgIHZhbHVlOiAwLFxuICAgICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgbm9ubmVnYXRpdmUobWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAgICAgICAga2luZDogXCJtaW5cIixcbiAgICAgICAgICAgIHZhbHVlOiAwLFxuICAgICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgbXVsdGlwbGVPZih2YWx1ZSwgbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAgICAgICAga2luZDogXCJtdWx0aXBsZU9mXCIsXG4gICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBmaW5pdGUobWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAgICAgICAga2luZDogXCJmaW5pdGVcIixcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHNhZmUobWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAgICAgICAga2luZDogXCJtaW5cIixcbiAgICAgICAgICAgIGluY2x1c2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgIHZhbHVlOiBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUixcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSxcbiAgICAgICAgfSkuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwibWF4XCIsXG4gICAgICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXQgbWluVmFsdWUoKSB7XG4gICAgICAgIGxldCBtaW4gPSBudWxsO1xuICAgICAgICBmb3IgKGNvbnN0IGNoIG9mIHRoaXMuX2RlZi5jaGVja3MpIHtcbiAgICAgICAgICAgIGlmIChjaC5raW5kID09PSBcIm1pblwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1pbiA9PT0gbnVsbCB8fCBjaC52YWx1ZSA+IG1pbilcbiAgICAgICAgICAgICAgICAgICAgbWluID0gY2gudmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1pbjtcbiAgICB9XG4gICAgZ2V0IG1heFZhbHVlKCkge1xuICAgICAgICBsZXQgbWF4ID0gbnVsbDtcbiAgICAgICAgZm9yIChjb25zdCBjaCBvZiB0aGlzLl9kZWYuY2hlY2tzKSB7XG4gICAgICAgICAgICBpZiAoY2gua2luZCA9PT0gXCJtYXhcIikge1xuICAgICAgICAgICAgICAgIGlmIChtYXggPT09IG51bGwgfHwgY2gudmFsdWUgPCBtYXgpXG4gICAgICAgICAgICAgICAgICAgIG1heCA9IGNoLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtYXg7XG4gICAgfVxuICAgIGdldCBpc0ludCgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fZGVmLmNoZWNrcy5maW5kKChjaCkgPT4gY2gua2luZCA9PT0gXCJpbnRcIiB8fCAoY2gua2luZCA9PT0gXCJtdWx0aXBsZU9mXCIgJiYgdXRpbC5pc0ludGVnZXIoY2gudmFsdWUpKSk7XG4gICAgfVxuICAgIGdldCBpc0Zpbml0ZSgpIHtcbiAgICAgICAgbGV0IG1heCA9IG51bGw7XG4gICAgICAgIGxldCBtaW4gPSBudWxsO1xuICAgICAgICBmb3IgKGNvbnN0IGNoIG9mIHRoaXMuX2RlZi5jaGVja3MpIHtcbiAgICAgICAgICAgIGlmIChjaC5raW5kID09PSBcImZpbml0ZVwiIHx8IGNoLmtpbmQgPT09IFwiaW50XCIgfHwgY2gua2luZCA9PT0gXCJtdWx0aXBsZU9mXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoLmtpbmQgPT09IFwibWluXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAobWluID09PSBudWxsIHx8IGNoLnZhbHVlID4gbWluKVxuICAgICAgICAgICAgICAgICAgICBtaW4gPSBjaC52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNoLmtpbmQgPT09IFwibWF4XCIpIHtcbiAgICAgICAgICAgICAgICBpZiAobWF4ID09PSBudWxsIHx8IGNoLnZhbHVlIDwgbWF4KVxuICAgICAgICAgICAgICAgICAgICBtYXggPSBjaC52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKG1pbikgJiYgTnVtYmVyLmlzRmluaXRlKG1heCk7XG4gICAgfVxufVxuWm9kTnVtYmVyLmNyZWF0ZSA9IChwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZE51bWJlcih7XG4gICAgICAgIGNoZWNrczogW10sXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kTnVtYmVyLFxuICAgICAgICBjb2VyY2U6IHBhcmFtcz8uY29lcmNlIHx8IGZhbHNlLFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNsYXNzIFpvZEJpZ0ludCBleHRlbmRzIFpvZFR5cGUge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgICAgICB0aGlzLm1pbiA9IHRoaXMuZ3RlO1xuICAgICAgICB0aGlzLm1heCA9IHRoaXMubHRlO1xuICAgIH1cbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgaWYgKHRoaXMuX2RlZi5jb2VyY2UpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgaW5wdXQuZGF0YSA9IEJpZ0ludChpbnB1dC5kYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZ2V0SW52YWxpZElucHV0KGlucHV0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXJzZWRUeXBlID0gdGhpcy5fZ2V0VHlwZShpbnB1dCk7XG4gICAgICAgIGlmIChwYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLmJpZ2ludCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2dldEludmFsaWRJbnB1dChpbnB1dCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGN0eCA9IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qgc3RhdHVzID0gbmV3IFBhcnNlU3RhdHVzKCk7XG4gICAgICAgIGZvciAoY29uc3QgY2hlY2sgb2YgdGhpcy5fZGVmLmNoZWNrcykge1xuICAgICAgICAgICAgaWYgKGNoZWNrLmtpbmQgPT09IFwibWluXCIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0b29TbWFsbCA9IGNoZWNrLmluY2x1c2l2ZSA/IGlucHV0LmRhdGEgPCBjaGVjay52YWx1ZSA6IGlucHV0LmRhdGEgPD0gY2hlY2sudmFsdWU7XG4gICAgICAgICAgICAgICAgaWYgKHRvb1NtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS50b29fc21hbGwsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImJpZ2ludFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bTogY2hlY2sudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmNsdXNpdmU6IGNoZWNrLmluY2x1c2l2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjaGVjay5raW5kID09PSBcIm1heFwiKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9vQmlnID0gY2hlY2suaW5jbHVzaXZlID8gaW5wdXQuZGF0YSA+IGNoZWNrLnZhbHVlIDogaW5wdXQuZGF0YSA+PSBjaGVjay52YWx1ZTtcbiAgICAgICAgICAgICAgICBpZiAodG9vQmlnKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS50b29fYmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJiaWdpbnRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heGltdW06IGNoZWNrLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVzaXZlOiBjaGVjay5pbmNsdXNpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBjaGVjay5tZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJtdWx0aXBsZU9mXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXQuZGF0YSAlIGNoZWNrLnZhbHVlICE9PSBCaWdJbnQoMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLm5vdF9tdWx0aXBsZV9vZixcbiAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpcGxlT2Y6IGNoZWNrLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHV0aWwuYXNzZXJ0TmV2ZXIoY2hlY2spO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHN0YXR1czogc3RhdHVzLnZhbHVlLCB2YWx1ZTogaW5wdXQuZGF0YSB9O1xuICAgIH1cbiAgICBfZ2V0SW52YWxpZElucHV0KGlucHV0KSB7XG4gICAgICAgIGNvbnN0IGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0KTtcbiAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlLFxuICAgICAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUuYmlnaW50LFxuICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgfVxuICAgIGd0ZSh2YWx1ZSwgbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXRMaW1pdChcIm1pblwiLCB2YWx1ZSwgdHJ1ZSwgZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpKTtcbiAgICB9XG4gICAgZ3QodmFsdWUsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0TGltaXQoXCJtaW5cIiwgdmFsdWUsIGZhbHNlLCBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSkpO1xuICAgIH1cbiAgICBsdGUodmFsdWUsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0TGltaXQoXCJtYXhcIiwgdmFsdWUsIHRydWUsIGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSk7XG4gICAgfVxuICAgIGx0KHZhbHVlLCBtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldExpbWl0KFwibWF4XCIsIHZhbHVlLCBmYWxzZSwgZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpKTtcbiAgICB9XG4gICAgc2V0TGltaXQoa2luZCwgdmFsdWUsIGluY2x1c2l2ZSwgbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gbmV3IFpvZEJpZ0ludCh7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICBjaGVja3M6IFtcbiAgICAgICAgICAgICAgICAuLi50aGlzLl9kZWYuY2hlY2tzLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAga2luZCxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIGluY2x1c2l2ZSxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgX2FkZENoZWNrKGNoZWNrKSB7XG4gICAgICAgIHJldHVybiBuZXcgWm9kQmlnSW50KHtcbiAgICAgICAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgICAgICAgIGNoZWNrczogWy4uLnRoaXMuX2RlZi5jaGVja3MsIGNoZWNrXSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHBvc2l0aXZlKG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwibWluXCIsXG4gICAgICAgICAgICB2YWx1ZTogQmlnSW50KDApLFxuICAgICAgICAgICAgaW5jbHVzaXZlOiBmYWxzZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG5lZ2F0aXZlKG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwibWF4XCIsXG4gICAgICAgICAgICB2YWx1ZTogQmlnSW50KDApLFxuICAgICAgICAgICAgaW5jbHVzaXZlOiBmYWxzZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG5vbnBvc2l0aXZlKG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwibWF4XCIsXG4gICAgICAgICAgICB2YWx1ZTogQmlnSW50KDApLFxuICAgICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgbm9ubmVnYXRpdmUobWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkQ2hlY2soe1xuICAgICAgICAgICAga2luZDogXCJtaW5cIixcbiAgICAgICAgICAgIHZhbHVlOiBCaWdJbnQoMCksXG4gICAgICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBtdWx0aXBsZU9mKHZhbHVlLCBtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgICAgICBraW5kOiBcIm11bHRpcGxlT2ZcIixcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZ2V0IG1pblZhbHVlKCkge1xuICAgICAgICBsZXQgbWluID0gbnVsbDtcbiAgICAgICAgZm9yIChjb25zdCBjaCBvZiB0aGlzLl9kZWYuY2hlY2tzKSB7XG4gICAgICAgICAgICBpZiAoY2gua2luZCA9PT0gXCJtaW5cIikge1xuICAgICAgICAgICAgICAgIGlmIChtaW4gPT09IG51bGwgfHwgY2gudmFsdWUgPiBtaW4pXG4gICAgICAgICAgICAgICAgICAgIG1pbiA9IGNoLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtaW47XG4gICAgfVxuICAgIGdldCBtYXhWYWx1ZSgpIHtcbiAgICAgICAgbGV0IG1heCA9IG51bGw7XG4gICAgICAgIGZvciAoY29uc3QgY2ggb2YgdGhpcy5fZGVmLmNoZWNrcykge1xuICAgICAgICAgICAgaWYgKGNoLmtpbmQgPT09IFwibWF4XCIpIHtcbiAgICAgICAgICAgICAgICBpZiAobWF4ID09PSBudWxsIHx8IGNoLnZhbHVlIDwgbWF4KVxuICAgICAgICAgICAgICAgICAgICBtYXggPSBjaC52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWF4O1xuICAgIH1cbn1cblpvZEJpZ0ludC5jcmVhdGUgPSAocGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2RCaWdJbnQoe1xuICAgICAgICBjaGVja3M6IFtdLFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEJpZ0ludCxcbiAgICAgICAgY29lcmNlOiBwYXJhbXM/LmNvZXJjZSA/PyBmYWxzZSxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmV4cG9ydCBjbGFzcyBab2RCb29sZWFuIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGlmICh0aGlzLl9kZWYuY29lcmNlKSB7XG4gICAgICAgICAgICBpbnB1dC5kYXRhID0gQm9vbGVhbihpbnB1dC5kYXRhKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXJzZWRUeXBlID0gdGhpcy5fZ2V0VHlwZShpbnB1dCk7XG4gICAgICAgIGlmIChwYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLmJvb2xlYW4pIHtcbiAgICAgICAgICAgIGNvbnN0IGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0KTtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUuYm9vbGVhbixcbiAgICAgICAgICAgICAgICByZWNlaXZlZDogY3R4LnBhcnNlZFR5cGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBPSyhpbnB1dC5kYXRhKTtcbiAgICB9XG59XG5ab2RCb29sZWFuLmNyZWF0ZSA9IChwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZEJvb2xlYW4oe1xuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEJvb2xlYW4sXG4gICAgICAgIGNvZXJjZTogcGFyYW1zPy5jb2VyY2UgfHwgZmFsc2UsXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG5leHBvcnQgY2xhc3MgWm9kRGF0ZSBleHRlbmRzIFpvZFR5cGUge1xuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBpZiAodGhpcy5fZGVmLmNvZXJjZSkge1xuICAgICAgICAgICAgaW5wdXQuZGF0YSA9IG5ldyBEYXRlKGlucHV0LmRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhcnNlZFR5cGUgPSB0aGlzLl9nZXRUeXBlKGlucHV0KTtcbiAgICAgICAgaWYgKHBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUuZGF0ZSkge1xuICAgICAgICAgICAgY29uc3QgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQpO1xuICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgICAgICAgICBleHBlY3RlZDogWm9kUGFyc2VkVHlwZS5kYXRlLFxuICAgICAgICAgICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKE51bWJlci5pc05hTihpbnB1dC5kYXRhLmdldFRpbWUoKSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0KTtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX2RhdGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXR1cyA9IG5ldyBQYXJzZVN0YXR1cygpO1xuICAgICAgICBsZXQgY3R4ID0gdW5kZWZpbmVkO1xuICAgICAgICBmb3IgKGNvbnN0IGNoZWNrIG9mIHRoaXMuX2RlZi5jaGVja3MpIHtcbiAgICAgICAgICAgIGlmIChjaGVjay5raW5kID09PSBcIm1pblwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlucHV0LmRhdGEuZ2V0VGltZSgpIDwgY2hlY2sudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQsIGN0eCk7XG4gICAgICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLnRvb19zbWFsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGNoZWNrLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBleGFjdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtOiBjaGVjay52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiZGF0ZVwiLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY2hlY2sua2luZCA9PT0gXCJtYXhcIikge1xuICAgICAgICAgICAgICAgIGlmIChpbnB1dC5kYXRhLmdldFRpbWUoKSA+IGNoZWNrLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0LCBjdHgpO1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS50b29fYmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogY2hlY2subWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1c2l2ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4YWN0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heGltdW06IGNoZWNrLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJkYXRlXCIsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB1dGlsLmFzc2VydE5ldmVyKGNoZWNrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc3RhdHVzOiBzdGF0dXMudmFsdWUsXG4gICAgICAgICAgICB2YWx1ZTogbmV3IERhdGUoaW5wdXQuZGF0YS5nZXRUaW1lKCkpLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBfYWRkQ2hlY2soY2hlY2spIHtcbiAgICAgICAgcmV0dXJuIG5ldyBab2REYXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgICAgICAgIGNoZWNrczogWy4uLnRoaXMuX2RlZi5jaGVja3MsIGNoZWNrXSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG1pbihtaW5EYXRlLCBtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZGRDaGVjayh7XG4gICAgICAgICAgICBraW5kOiBcIm1pblwiLFxuICAgICAgICAgICAgdmFsdWU6IG1pbkRhdGUuZ2V0VGltZSgpLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgbWF4KG1heERhdGUsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZENoZWNrKHtcbiAgICAgICAgICAgIGtpbmQ6IFwibWF4XCIsXG4gICAgICAgICAgICB2YWx1ZTogbWF4RGF0ZS5nZXRUaW1lKCksXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSksXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXQgbWluRGF0ZSgpIHtcbiAgICAgICAgbGV0IG1pbiA9IG51bGw7XG4gICAgICAgIGZvciAoY29uc3QgY2ggb2YgdGhpcy5fZGVmLmNoZWNrcykge1xuICAgICAgICAgICAgaWYgKGNoLmtpbmQgPT09IFwibWluXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAobWluID09PSBudWxsIHx8IGNoLnZhbHVlID4gbWluKVxuICAgICAgICAgICAgICAgICAgICBtaW4gPSBjaC52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWluICE9IG51bGwgPyBuZXcgRGF0ZShtaW4pIDogbnVsbDtcbiAgICB9XG4gICAgZ2V0IG1heERhdGUoKSB7XG4gICAgICAgIGxldCBtYXggPSBudWxsO1xuICAgICAgICBmb3IgKGNvbnN0IGNoIG9mIHRoaXMuX2RlZi5jaGVja3MpIHtcbiAgICAgICAgICAgIGlmIChjaC5raW5kID09PSBcIm1heFwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1heCA9PT0gbnVsbCB8fCBjaC52YWx1ZSA8IG1heClcbiAgICAgICAgICAgICAgICAgICAgbWF4ID0gY2gudmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1heCAhPSBudWxsID8gbmV3IERhdGUobWF4KSA6IG51bGw7XG4gICAgfVxufVxuWm9kRGF0ZS5jcmVhdGUgPSAocGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2REYXRlKHtcbiAgICAgICAgY2hlY2tzOiBbXSxcbiAgICAgICAgY29lcmNlOiBwYXJhbXM/LmNvZXJjZSB8fCBmYWxzZSxcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2REYXRlLFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNsYXNzIFpvZFN5bWJvbCBleHRlbmRzIFpvZFR5cGUge1xuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBjb25zdCBwYXJzZWRUeXBlID0gdGhpcy5fZ2V0VHlwZShpbnB1dCk7XG4gICAgICAgIGlmIChwYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLnN5bWJvbCkge1xuICAgICAgICAgICAgY29uc3QgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQpO1xuICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgICAgICAgICBleHBlY3RlZDogWm9kUGFyc2VkVHlwZS5zeW1ib2wsXG4gICAgICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gT0soaW5wdXQuZGF0YSk7XG4gICAgfVxufVxuWm9kU3ltYm9sLmNyZWF0ZSA9IChwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZFN5bWJvbCh7XG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kU3ltYm9sLFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNsYXNzIFpvZFVuZGVmaW5lZCBleHRlbmRzIFpvZFR5cGUge1xuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBjb25zdCBwYXJzZWRUeXBlID0gdGhpcy5fZ2V0VHlwZShpbnB1dCk7XG4gICAgICAgIGlmIChwYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLnVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQpO1xuICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgICAgICAgICBleHBlY3RlZDogWm9kUGFyc2VkVHlwZS51bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gT0soaW5wdXQuZGF0YSk7XG4gICAgfVxufVxuWm9kVW5kZWZpbmVkLmNyZWF0ZSA9IChwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZFVuZGVmaW5lZCh7XG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kVW5kZWZpbmVkLFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNsYXNzIFpvZE51bGwgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkVHlwZSA9IHRoaXMuX2dldFR5cGUoaW5wdXQpO1xuICAgICAgICBpZiAocGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5udWxsKSB7XG4gICAgICAgICAgICBjb25zdCBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlLFxuICAgICAgICAgICAgICAgIGV4cGVjdGVkOiBab2RQYXJzZWRUeXBlLm51bGwsXG4gICAgICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gT0soaW5wdXQuZGF0YSk7XG4gICAgfVxufVxuWm9kTnVsbC5jcmVhdGUgPSAocGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2ROdWxsKHtcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2ROdWxsLFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNsYXNzIFpvZEFueSBleHRlbmRzIFpvZFR5cGUge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgICAgICAvLyB0byBwcmV2ZW50IGluc3RhbmNlcyBvZiBvdGhlciBjbGFzc2VzIGZyb20gZXh0ZW5kaW5nIFpvZEFueS4gdGhpcyBjYXVzZXMgaXNzdWVzIHdpdGggY2F0Y2hhbGwgaW4gWm9kT2JqZWN0LlxuICAgICAgICB0aGlzLl9hbnkgPSB0cnVlO1xuICAgIH1cbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIE9LKGlucHV0LmRhdGEpO1xuICAgIH1cbn1cblpvZEFueS5jcmVhdGUgPSAocGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2RBbnkoe1xuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEFueSxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmV4cG9ydCBjbGFzcyBab2RVbmtub3duIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgICAgIC8vIHJlcXVpcmVkXG4gICAgICAgIHRoaXMuX3Vua25vd24gPSB0cnVlO1xuICAgIH1cbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIE9LKGlucHV0LmRhdGEpO1xuICAgIH1cbn1cblpvZFVua25vd24uY3JlYXRlID0gKHBhcmFtcykgPT4ge1xuICAgIHJldHVybiBuZXcgWm9kVW5rbm93bih7XG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kVW5rbm93bixcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmV4cG9ydCBjbGFzcyBab2ROZXZlciBleHRlbmRzIFpvZFR5cGUge1xuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBjb25zdCBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgICAgIGV4cGVjdGVkOiBab2RQYXJzZWRUeXBlLm5ldmVyLFxuICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgfVxufVxuWm9kTmV2ZXIuY3JlYXRlID0gKHBhcmFtcykgPT4ge1xuICAgIHJldHVybiBuZXcgWm9kTmV2ZXIoe1xuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE5ldmVyLFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNsYXNzIFpvZFZvaWQgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkVHlwZSA9IHRoaXMuX2dldFR5cGUoaW5wdXQpO1xuICAgICAgICBpZiAocGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS51bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGN0eCA9IHRoaXMuX2dldE9yUmV0dXJuQ3R4KGlucHV0KTtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUudm9pZCxcbiAgICAgICAgICAgICAgICByZWNlaXZlZDogY3R4LnBhcnNlZFR5cGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBPSyhpbnB1dC5kYXRhKTtcbiAgICB9XG59XG5ab2RWb2lkLmNyZWF0ZSA9IChwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZFZvaWQoe1xuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFZvaWQsXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG5leHBvcnQgY2xhc3MgWm9kQXJyYXkgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgeyBjdHgsIHN0YXR1cyB9ID0gdGhpcy5fcHJvY2Vzc0lucHV0UGFyYW1zKGlucHV0KTtcbiAgICAgICAgY29uc3QgZGVmID0gdGhpcy5fZGVmO1xuICAgICAgICBpZiAoY3R4LnBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUuYXJyYXkpIHtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUuYXJyYXksXG4gICAgICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGVmLmV4YWN0TGVuZ3RoICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCB0b29CaWcgPSBjdHguZGF0YS5sZW5ndGggPiBkZWYuZXhhY3RMZW5ndGgudmFsdWU7XG4gICAgICAgICAgICBjb25zdCB0b29TbWFsbCA9IGN0eC5kYXRhLmxlbmd0aCA8IGRlZi5leGFjdExlbmd0aC52YWx1ZTtcbiAgICAgICAgICAgIGlmICh0b29CaWcgfHwgdG9vU21hbGwpIHtcbiAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgY29kZTogdG9vQmlnID8gWm9kSXNzdWVDb2RlLnRvb19iaWcgOiBab2RJc3N1ZUNvZGUudG9vX3NtYWxsLFxuICAgICAgICAgICAgICAgICAgICBtaW5pbXVtOiAodG9vU21hbGwgPyBkZWYuZXhhY3RMZW5ndGgudmFsdWUgOiB1bmRlZmluZWQpLFxuICAgICAgICAgICAgICAgICAgICBtYXhpbXVtOiAodG9vQmlnID8gZGVmLmV4YWN0TGVuZ3RoLnZhbHVlIDogdW5kZWZpbmVkKSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGV4YWN0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBkZWYuZXhhY3RMZW5ndGgubWVzc2FnZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZGVmLm1pbkxlbmd0aCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKGN0eC5kYXRhLmxlbmd0aCA8IGRlZi5taW5MZW5ndGgudmFsdWUpIHtcbiAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLnRvb19zbWFsbCxcbiAgICAgICAgICAgICAgICAgICAgbWluaW11bTogZGVmLm1pbkxlbmd0aC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGV4YWN0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogZGVmLm1pbkxlbmd0aC5tZXNzYWdlLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChkZWYubWF4TGVuZ3RoICE9PSBudWxsKSB7XG4gICAgICAgICAgICBpZiAoY3R4LmRhdGEubGVuZ3RoID4gZGVmLm1heExlbmd0aC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudG9vX2JpZyxcbiAgICAgICAgICAgICAgICAgICAgbWF4aW11bTogZGVmLm1heExlbmd0aC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGV4YWN0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogZGVmLm1heExlbmd0aC5tZXNzYWdlLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChjdHguY29tbW9uLmFzeW5jKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoWy4uLmN0eC5kYXRhXS5tYXAoKGl0ZW0sIGkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGVmLnR5cGUuX3BhcnNlQXN5bmMobmV3IFBhcnNlSW5wdXRMYXp5UGF0aChjdHgsIGl0ZW0sIGN0eC5wYXRoLCBpKSk7XG4gICAgICAgICAgICB9KSkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFBhcnNlU3RhdHVzLm1lcmdlQXJyYXkoc3RhdHVzLCByZXN1bHQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gWy4uLmN0eC5kYXRhXS5tYXAoKGl0ZW0sIGkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBkZWYudHlwZS5fcGFyc2VTeW5jKG5ldyBQYXJzZUlucHV0TGF6eVBhdGgoY3R4LCBpdGVtLCBjdHgucGF0aCwgaSkpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFBhcnNlU3RhdHVzLm1lcmdlQXJyYXkoc3RhdHVzLCByZXN1bHQpO1xuICAgIH1cbiAgICBnZXQgZWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi50eXBlO1xuICAgIH1cbiAgICBtaW4obWluTGVuZ3RoLCBtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiBuZXcgWm9kQXJyYXkoe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgbWluTGVuZ3RoOiB7IHZhbHVlOiBtaW5MZW5ndGgsIG1lc3NhZ2U6IGVycm9yVXRpbC50b1N0cmluZyhtZXNzYWdlKSB9LFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgbWF4KG1heExlbmd0aCwgbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gbmV3IFpvZEFycmF5KHtcbiAgICAgICAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgICAgICAgIG1heExlbmd0aDogeyB2YWx1ZTogbWF4TGVuZ3RoLCBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSkgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGxlbmd0aChsZW4sIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBab2RBcnJheSh7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICBleGFjdExlbmd0aDogeyB2YWx1ZTogbGVuLCBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSkgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG5vbmVtcHR5KG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluKDEsIG1lc3NhZ2UpO1xuICAgIH1cbn1cblpvZEFycmF5LmNyZWF0ZSA9IChzY2hlbWEsIHBhcmFtcykgPT4ge1xuICAgIHJldHVybiBuZXcgWm9kQXJyYXkoe1xuICAgICAgICB0eXBlOiBzY2hlbWEsXG4gICAgICAgIG1pbkxlbmd0aDogbnVsbCxcbiAgICAgICAgbWF4TGVuZ3RoOiBudWxsLFxuICAgICAgICBleGFjdExlbmd0aDogbnVsbCxcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RBcnJheSxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmZ1bmN0aW9uIGRlZXBQYXJ0aWFsaWZ5KHNjaGVtYSkge1xuICAgIGlmIChzY2hlbWEgaW5zdGFuY2VvZiBab2RPYmplY3QpIHtcbiAgICAgICAgY29uc3QgbmV3U2hhcGUgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gc2NoZW1hLnNoYXBlKSB7XG4gICAgICAgICAgICBjb25zdCBmaWVsZFNjaGVtYSA9IHNjaGVtYS5zaGFwZVtrZXldO1xuICAgICAgICAgICAgbmV3U2hhcGVba2V5XSA9IFpvZE9wdGlvbmFsLmNyZWF0ZShkZWVwUGFydGlhbGlmeShmaWVsZFNjaGVtYSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgWm9kT2JqZWN0KHtcbiAgICAgICAgICAgIC4uLnNjaGVtYS5fZGVmLFxuICAgICAgICAgICAgc2hhcGU6ICgpID0+IG5ld1NoYXBlLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSBpZiAoc2NoZW1hIGluc3RhbmNlb2YgWm9kQXJyYXkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBab2RBcnJheSh7XG4gICAgICAgICAgICAuLi5zY2hlbWEuX2RlZixcbiAgICAgICAgICAgIHR5cGU6IGRlZXBQYXJ0aWFsaWZ5KHNjaGVtYS5lbGVtZW50KSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHNjaGVtYSBpbnN0YW5jZW9mIFpvZE9wdGlvbmFsKSB7XG4gICAgICAgIHJldHVybiBab2RPcHRpb25hbC5jcmVhdGUoZGVlcFBhcnRpYWxpZnkoc2NoZW1hLnVud3JhcCgpKSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHNjaGVtYSBpbnN0YW5jZW9mIFpvZE51bGxhYmxlKSB7XG4gICAgICAgIHJldHVybiBab2ROdWxsYWJsZS5jcmVhdGUoZGVlcFBhcnRpYWxpZnkoc2NoZW1hLnVud3JhcCgpKSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHNjaGVtYSBpbnN0YW5jZW9mIFpvZFR1cGxlKSB7XG4gICAgICAgIHJldHVybiBab2RUdXBsZS5jcmVhdGUoc2NoZW1hLml0ZW1zLm1hcCgoaXRlbSkgPT4gZGVlcFBhcnRpYWxpZnkoaXRlbSkpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBzY2hlbWE7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIFpvZE9iamVjdCBleHRlbmRzIFpvZFR5cGUge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgICAgICB0aGlzLl9jYWNoZWQgPSBudWxsO1xuICAgICAgICAvKipcbiAgICAgICAgICogQGRlcHJlY2F0ZWQgSW4gbW9zdCBjYXNlcywgdGhpcyBpcyBubyBsb25nZXIgbmVlZGVkIC0gdW5rbm93biBwcm9wZXJ0aWVzIGFyZSBub3cgc2lsZW50bHkgc3RyaXBwZWQuXG4gICAgICAgICAqIElmIHlvdSB3YW50IHRvIHBhc3MgdGhyb3VnaCB1bmtub3duIHByb3BlcnRpZXMsIHVzZSBgLnBhc3N0aHJvdWdoKClgIGluc3RlYWQuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLm5vbnN0cmljdCA9IHRoaXMucGFzc3Rocm91Z2g7XG4gICAgICAgIC8vIGV4dGVuZDxcbiAgICAgICAgLy8gICBBdWdtZW50YXRpb24gZXh0ZW5kcyBab2RSYXdTaGFwZSxcbiAgICAgICAgLy8gICBOZXdPdXRwdXQgZXh0ZW5kcyB1dGlsLmZsYXR0ZW48e1xuICAgICAgICAvLyAgICAgW2sgaW4ga2V5b2YgQXVnbWVudGF0aW9uIHwga2V5b2YgT3V0cHV0XTogayBleHRlbmRzIGtleW9mIEF1Z21lbnRhdGlvblxuICAgICAgICAvLyAgICAgICA/IEF1Z21lbnRhdGlvbltrXVtcIl9vdXRwdXRcIl1cbiAgICAgICAgLy8gICAgICAgOiBrIGV4dGVuZHMga2V5b2YgT3V0cHV0XG4gICAgICAgIC8vICAgICAgID8gT3V0cHV0W2tdXG4gICAgICAgIC8vICAgICAgIDogbmV2ZXI7XG4gICAgICAgIC8vICAgfT4sXG4gICAgICAgIC8vICAgTmV3SW5wdXQgZXh0ZW5kcyB1dGlsLmZsYXR0ZW48e1xuICAgICAgICAvLyAgICAgW2sgaW4ga2V5b2YgQXVnbWVudGF0aW9uIHwga2V5b2YgSW5wdXRdOiBrIGV4dGVuZHMga2V5b2YgQXVnbWVudGF0aW9uXG4gICAgICAgIC8vICAgICAgID8gQXVnbWVudGF0aW9uW2tdW1wiX2lucHV0XCJdXG4gICAgICAgIC8vICAgICAgIDogayBleHRlbmRzIGtleW9mIElucHV0XG4gICAgICAgIC8vICAgICAgID8gSW5wdXRba11cbiAgICAgICAgLy8gICAgICAgOiBuZXZlcjtcbiAgICAgICAgLy8gICB9PlxuICAgICAgICAvLyA+KFxuICAgICAgICAvLyAgIGF1Z21lbnRhdGlvbjogQXVnbWVudGF0aW9uXG4gICAgICAgIC8vICk6IFpvZE9iamVjdDxcbiAgICAgICAgLy8gICBleHRlbmRTaGFwZTxULCBBdWdtZW50YXRpb24+LFxuICAgICAgICAvLyAgIFVua25vd25LZXlzLFxuICAgICAgICAvLyAgIENhdGNoYWxsLFxuICAgICAgICAvLyAgIE5ld091dHB1dCxcbiAgICAgICAgLy8gICBOZXdJbnB1dFxuICAgICAgICAvLyA+IHtcbiAgICAgICAgLy8gICByZXR1cm4gbmV3IFpvZE9iamVjdCh7XG4gICAgICAgIC8vICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgIC8vICAgICBzaGFwZTogKCkgPT4gKHtcbiAgICAgICAgLy8gICAgICAgLi4udGhpcy5fZGVmLnNoYXBlKCksXG4gICAgICAgIC8vICAgICAgIC4uLmF1Z21lbnRhdGlvbixcbiAgICAgICAgLy8gICAgIH0pLFxuICAgICAgICAvLyAgIH0pIGFzIGFueTtcbiAgICAgICAgLy8gfVxuICAgICAgICAvKipcbiAgICAgICAgICogQGRlcHJlY2F0ZWQgVXNlIGAuZXh0ZW5kYCBpbnN0ZWFkXG4gICAgICAgICAqICAqL1xuICAgICAgICB0aGlzLmF1Z21lbnQgPSB0aGlzLmV4dGVuZDtcbiAgICB9XG4gICAgX2dldENhY2hlZCgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2NhY2hlZCAhPT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jYWNoZWQ7XG4gICAgICAgIGNvbnN0IHNoYXBlID0gdGhpcy5fZGVmLnNoYXBlKCk7XG4gICAgICAgIGNvbnN0IGtleXMgPSB1dGlsLm9iamVjdEtleXMoc2hhcGUpO1xuICAgICAgICB0aGlzLl9jYWNoZWQgPSB7IHNoYXBlLCBrZXlzIH07XG4gICAgICAgIHJldHVybiB0aGlzLl9jYWNoZWQ7XG4gICAgfVxuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBjb25zdCBwYXJzZWRUeXBlID0gdGhpcy5fZ2V0VHlwZShpbnB1dCk7XG4gICAgICAgIGlmIChwYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLm9iamVjdCkge1xuICAgICAgICAgICAgY29uc3QgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQpO1xuICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgICAgICAgICBleHBlY3RlZDogWm9kUGFyc2VkVHlwZS5vYmplY3QsXG4gICAgICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IHN0YXR1cywgY3R4IH0gPSB0aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXMoaW5wdXQpO1xuICAgICAgICBjb25zdCB7IHNoYXBlLCBrZXlzOiBzaGFwZUtleXMgfSA9IHRoaXMuX2dldENhY2hlZCgpO1xuICAgICAgICBjb25zdCBleHRyYUtleXMgPSBbXTtcbiAgICAgICAgaWYgKCEodGhpcy5fZGVmLmNhdGNoYWxsIGluc3RhbmNlb2YgWm9kTmV2ZXIgJiYgdGhpcy5fZGVmLnVua25vd25LZXlzID09PSBcInN0cmlwXCIpKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBjdHguZGF0YSkge1xuICAgICAgICAgICAgICAgIGlmICghc2hhcGVLZXlzLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgZXh0cmFLZXlzLnB1c2goa2V5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFpcnMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2Ygc2hhcGVLZXlzKSB7XG4gICAgICAgICAgICBjb25zdCBrZXlWYWxpZGF0b3IgPSBzaGFwZVtrZXldO1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBjdHguZGF0YVtrZXldO1xuICAgICAgICAgICAgcGFpcnMucHVzaCh7XG4gICAgICAgICAgICAgICAga2V5OiB7IHN0YXR1czogXCJ2YWxpZFwiLCB2YWx1ZToga2V5IH0sXG4gICAgICAgICAgICAgICAgdmFsdWU6IGtleVZhbGlkYXRvci5fcGFyc2UobmV3IFBhcnNlSW5wdXRMYXp5UGF0aChjdHgsIHZhbHVlLCBjdHgucGF0aCwga2V5KSksXG4gICAgICAgICAgICAgICAgYWx3YXlzU2V0OiBrZXkgaW4gY3R4LmRhdGEsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fZGVmLmNhdGNoYWxsIGluc3RhbmNlb2YgWm9kTmV2ZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IHVua25vd25LZXlzID0gdGhpcy5fZGVmLnVua25vd25LZXlzO1xuICAgICAgICAgICAgaWYgKHVua25vd25LZXlzID09PSBcInBhc3N0aHJvdWdoXCIpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBleHRyYUtleXMpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFpcnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IHsgc3RhdHVzOiBcInZhbGlkXCIsIHZhbHVlOiBrZXkgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7IHN0YXR1czogXCJ2YWxpZFwiLCB2YWx1ZTogY3R4LmRhdGFba2V5XSB9LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmICh1bmtub3duS2V5cyA9PT0gXCJzdHJpY3RcIikge1xuICAgICAgICAgICAgICAgIGlmIChleHRyYUtleXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS51bnJlY29nbml6ZWRfa2V5cyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleXM6IGV4dHJhS2V5cyxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHVua25vd25LZXlzID09PSBcInN0cmlwXCIpIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW50ZXJuYWwgWm9kT2JqZWN0IGVycm9yOiBpbnZhbGlkIHVua25vd25LZXlzIHZhbHVlLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gcnVuIGNhdGNoYWxsIHZhbGlkYXRpb25cbiAgICAgICAgICAgIGNvbnN0IGNhdGNoYWxsID0gdGhpcy5fZGVmLmNhdGNoYWxsO1xuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgZXh0cmFLZXlzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBjdHguZGF0YVtrZXldO1xuICAgICAgICAgICAgICAgIHBhaXJzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBrZXk6IHsgc3RhdHVzOiBcInZhbGlkXCIsIHZhbHVlOiBrZXkgfSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGNhdGNoYWxsLl9wYXJzZShuZXcgUGFyc2VJbnB1dExhenlQYXRoKGN0eCwgdmFsdWUsIGN0eC5wYXRoLCBrZXkpIC8vLCBjdHguY2hpbGQoa2V5KSwgdmFsdWUsIGdldFBhcnNlZFR5cGUodmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIGFsd2F5c1NldDoga2V5IGluIGN0eC5kYXRhLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChjdHguY29tbW9uLmFzeW5jKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAgICAgICAudGhlbihhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3luY1BhaXJzID0gW107XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBwYWlyIG9mIHBhaXJzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IGF3YWl0IHBhaXIua2V5O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGF3YWl0IHBhaXIudmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIHN5bmNQYWlycy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWx3YXlzU2V0OiBwYWlyLmFsd2F5c1NldCxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBzeW5jUGFpcnM7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC50aGVuKChzeW5jUGFpcnMpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUGFyc2VTdGF0dXMubWVyZ2VPYmplY3RTeW5jKHN0YXR1cywgc3luY1BhaXJzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFBhcnNlU3RhdHVzLm1lcmdlT2JqZWN0U3luYyhzdGF0dXMsIHBhaXJzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgc2hhcGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWYuc2hhcGUoKTtcbiAgICB9XG4gICAgc3RyaWN0KG1lc3NhZ2UpIHtcbiAgICAgICAgZXJyb3JVdGlsLmVyclRvT2JqO1xuICAgICAgICByZXR1cm4gbmV3IFpvZE9iamVjdCh7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICB1bmtub3duS2V5czogXCJzdHJpY3RcIixcbiAgICAgICAgICAgIC4uLihtZXNzYWdlICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JNYXA6IChpc3N1ZSwgY3R4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWZhdWx0RXJyb3IgPSB0aGlzLl9kZWYuZXJyb3JNYXA/Lihpc3N1ZSwgY3R4KS5tZXNzYWdlID8/IGN0eC5kZWZhdWx0RXJyb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNzdWUuY29kZSA9PT0gXCJ1bnJlY29nbml6ZWRfa2V5c1wiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yVXRpbC5lcnJUb09iaihtZXNzYWdlKS5tZXNzYWdlID8/IGRlZmF1bHRFcnJvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBkZWZhdWx0RXJyb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHN0cmlwKCkge1xuICAgICAgICByZXR1cm4gbmV3IFpvZE9iamVjdCh7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICB1bmtub3duS2V5czogXCJzdHJpcFwiLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcGFzc3Rocm91Z2goKSB7XG4gICAgICAgIHJldHVybiBuZXcgWm9kT2JqZWN0KHtcbiAgICAgICAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgICAgICAgIHVua25vd25LZXlzOiBcInBhc3N0aHJvdWdoXCIsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvLyBjb25zdCBBdWdtZW50RmFjdG9yeSA9XG4gICAgLy8gICA8RGVmIGV4dGVuZHMgWm9kT2JqZWN0RGVmPihkZWY6IERlZikgPT5cbiAgICAvLyAgIDxBdWdtZW50YXRpb24gZXh0ZW5kcyBab2RSYXdTaGFwZT4oXG4gICAgLy8gICAgIGF1Z21lbnRhdGlvbjogQXVnbWVudGF0aW9uXG4gICAgLy8gICApOiBab2RPYmplY3Q8XG4gICAgLy8gICAgIGV4dGVuZFNoYXBlPFJldHVyblR5cGU8RGVmW1wic2hhcGVcIl0+LCBBdWdtZW50YXRpb24+LFxuICAgIC8vICAgICBEZWZbXCJ1bmtub3duS2V5c1wiXSxcbiAgICAvLyAgICAgRGVmW1wiY2F0Y2hhbGxcIl1cbiAgICAvLyAgID4gPT4ge1xuICAgIC8vICAgICByZXR1cm4gbmV3IFpvZE9iamVjdCh7XG4gICAgLy8gICAgICAgLi4uZGVmLFxuICAgIC8vICAgICAgIHNoYXBlOiAoKSA9PiAoe1xuICAgIC8vICAgICAgICAgLi4uZGVmLnNoYXBlKCksXG4gICAgLy8gICAgICAgICAuLi5hdWdtZW50YXRpb24sXG4gICAgLy8gICAgICAgfSksXG4gICAgLy8gICAgIH0pIGFzIGFueTtcbiAgICAvLyAgIH07XG4gICAgZXh0ZW5kKGF1Z21lbnRhdGlvbikge1xuICAgICAgICByZXR1cm4gbmV3IFpvZE9iamVjdCh7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICBzaGFwZTogKCkgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLl9kZWYuc2hhcGUoKSxcbiAgICAgICAgICAgICAgICAuLi5hdWdtZW50YXRpb24sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFByaW9yIHRvIHpvZEAxLjAuMTIgdGhlcmUgd2FzIGEgYnVnIGluIHRoZVxuICAgICAqIGluZmVycmVkIHR5cGUgb2YgbWVyZ2VkIG9iamVjdHMuIFBsZWFzZVxuICAgICAqIHVwZ3JhZGUgaWYgeW91IGFyZSBleHBlcmllbmNpbmcgaXNzdWVzLlxuICAgICAqL1xuICAgIG1lcmdlKG1lcmdpbmcpIHtcbiAgICAgICAgY29uc3QgbWVyZ2VkID0gbmV3IFpvZE9iamVjdCh7XG4gICAgICAgICAgICB1bmtub3duS2V5czogbWVyZ2luZy5fZGVmLnVua25vd25LZXlzLFxuICAgICAgICAgICAgY2F0Y2hhbGw6IG1lcmdpbmcuX2RlZi5jYXRjaGFsbCxcbiAgICAgICAgICAgIHNoYXBlOiAoKSA9PiAoe1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuX2RlZi5zaGFwZSgpLFxuICAgICAgICAgICAgICAgIC4uLm1lcmdpbmcuX2RlZi5zaGFwZSgpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE9iamVjdCxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBtZXJnZWQ7XG4gICAgfVxuICAgIC8vIG1lcmdlPFxuICAgIC8vICAgSW5jb21pbmcgZXh0ZW5kcyBBbnlab2RPYmplY3QsXG4gICAgLy8gICBBdWdtZW50YXRpb24gZXh0ZW5kcyBJbmNvbWluZ1tcInNoYXBlXCJdLFxuICAgIC8vICAgTmV3T3V0cHV0IGV4dGVuZHMge1xuICAgIC8vICAgICBbayBpbiBrZXlvZiBBdWdtZW50YXRpb24gfCBrZXlvZiBPdXRwdXRdOiBrIGV4dGVuZHMga2V5b2YgQXVnbWVudGF0aW9uXG4gICAgLy8gICAgICAgPyBBdWdtZW50YXRpb25ba11bXCJfb3V0cHV0XCJdXG4gICAgLy8gICAgICAgOiBrIGV4dGVuZHMga2V5b2YgT3V0cHV0XG4gICAgLy8gICAgICAgPyBPdXRwdXRba11cbiAgICAvLyAgICAgICA6IG5ldmVyO1xuICAgIC8vICAgfSxcbiAgICAvLyAgIE5ld0lucHV0IGV4dGVuZHMge1xuICAgIC8vICAgICBbayBpbiBrZXlvZiBBdWdtZW50YXRpb24gfCBrZXlvZiBJbnB1dF06IGsgZXh0ZW5kcyBrZXlvZiBBdWdtZW50YXRpb25cbiAgICAvLyAgICAgICA/IEF1Z21lbnRhdGlvbltrXVtcIl9pbnB1dFwiXVxuICAgIC8vICAgICAgIDogayBleHRlbmRzIGtleW9mIElucHV0XG4gICAgLy8gICAgICAgPyBJbnB1dFtrXVxuICAgIC8vICAgICAgIDogbmV2ZXI7XG4gICAgLy8gICB9XG4gICAgLy8gPihcbiAgICAvLyAgIG1lcmdpbmc6IEluY29taW5nXG4gICAgLy8gKTogWm9kT2JqZWN0PFxuICAgIC8vICAgZXh0ZW5kU2hhcGU8VCwgUmV0dXJuVHlwZTxJbmNvbWluZ1tcIl9kZWZcIl1bXCJzaGFwZVwiXT4+LFxuICAgIC8vICAgSW5jb21pbmdbXCJfZGVmXCJdW1widW5rbm93bktleXNcIl0sXG4gICAgLy8gICBJbmNvbWluZ1tcIl9kZWZcIl1bXCJjYXRjaGFsbFwiXSxcbiAgICAvLyAgIE5ld091dHB1dCxcbiAgICAvLyAgIE5ld0lucHV0XG4gICAgLy8gPiB7XG4gICAgLy8gICBjb25zdCBtZXJnZWQ6IGFueSA9IG5ldyBab2RPYmplY3Qoe1xuICAgIC8vICAgICB1bmtub3duS2V5czogbWVyZ2luZy5fZGVmLnVua25vd25LZXlzLFxuICAgIC8vICAgICBjYXRjaGFsbDogbWVyZ2luZy5fZGVmLmNhdGNoYWxsLFxuICAgIC8vICAgICBzaGFwZTogKCkgPT5cbiAgICAvLyAgICAgICBvYmplY3RVdGlsLm1lcmdlU2hhcGVzKHRoaXMuX2RlZi5zaGFwZSgpLCBtZXJnaW5nLl9kZWYuc2hhcGUoKSksXG4gICAgLy8gICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kT2JqZWN0LFxuICAgIC8vICAgfSkgYXMgYW55O1xuICAgIC8vICAgcmV0dXJuIG1lcmdlZDtcbiAgICAvLyB9XG4gICAgc2V0S2V5KGtleSwgc2NoZW1hKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1Z21lbnQoeyBba2V5XTogc2NoZW1hIH0pO1xuICAgIH1cbiAgICAvLyBtZXJnZTxJbmNvbWluZyBleHRlbmRzIEFueVpvZE9iamVjdD4oXG4gICAgLy8gICBtZXJnaW5nOiBJbmNvbWluZ1xuICAgIC8vICk6IC8vWm9kT2JqZWN0PFQgJiBJbmNvbWluZ1tcIl9zaGFwZVwiXSwgVW5rbm93bktleXMsIENhdGNoYWxsPiA9IChtZXJnaW5nKSA9PiB7XG4gICAgLy8gWm9kT2JqZWN0PFxuICAgIC8vICAgZXh0ZW5kU2hhcGU8VCwgUmV0dXJuVHlwZTxJbmNvbWluZ1tcIl9kZWZcIl1bXCJzaGFwZVwiXT4+LFxuICAgIC8vICAgSW5jb21pbmdbXCJfZGVmXCJdW1widW5rbm93bktleXNcIl0sXG4gICAgLy8gICBJbmNvbWluZ1tcIl9kZWZcIl1bXCJjYXRjaGFsbFwiXVxuICAgIC8vID4ge1xuICAgIC8vICAgLy8gY29uc3QgbWVyZ2VkU2hhcGUgPSBvYmplY3RVdGlsLm1lcmdlU2hhcGVzKFxuICAgIC8vICAgLy8gICB0aGlzLl9kZWYuc2hhcGUoKSxcbiAgICAvLyAgIC8vICAgbWVyZ2luZy5fZGVmLnNoYXBlKClcbiAgICAvLyAgIC8vICk7XG4gICAgLy8gICBjb25zdCBtZXJnZWQ6IGFueSA9IG5ldyBab2RPYmplY3Qoe1xuICAgIC8vICAgICB1bmtub3duS2V5czogbWVyZ2luZy5fZGVmLnVua25vd25LZXlzLFxuICAgIC8vICAgICBjYXRjaGFsbDogbWVyZ2luZy5fZGVmLmNhdGNoYWxsLFxuICAgIC8vICAgICBzaGFwZTogKCkgPT5cbiAgICAvLyAgICAgICBvYmplY3RVdGlsLm1lcmdlU2hhcGVzKHRoaXMuX2RlZi5zaGFwZSgpLCBtZXJnaW5nLl9kZWYuc2hhcGUoKSksXG4gICAgLy8gICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kT2JqZWN0LFxuICAgIC8vICAgfSkgYXMgYW55O1xuICAgIC8vICAgcmV0dXJuIG1lcmdlZDtcbiAgICAvLyB9XG4gICAgY2F0Y2hhbGwoaW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBab2RPYmplY3Qoe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgY2F0Y2hhbGw6IGluZGV4LFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcGljayhtYXNrKSB7XG4gICAgICAgIGNvbnN0IHNoYXBlID0ge307XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIHV0aWwub2JqZWN0S2V5cyhtYXNrKSkge1xuICAgICAgICAgICAgaWYgKG1hc2tba2V5XSAmJiB0aGlzLnNoYXBlW2tleV0pIHtcbiAgICAgICAgICAgICAgICBzaGFwZVtrZXldID0gdGhpcy5zaGFwZVtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgWm9kT2JqZWN0KHtcbiAgICAgICAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgICAgICAgIHNoYXBlOiAoKSA9PiBzaGFwZSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG9taXQobWFzaykge1xuICAgICAgICBjb25zdCBzaGFwZSA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiB1dGlsLm9iamVjdEtleXModGhpcy5zaGFwZSkpIHtcbiAgICAgICAgICAgIGlmICghbWFza1trZXldKSB7XG4gICAgICAgICAgICAgICAgc2hhcGVba2V5XSA9IHRoaXMuc2hhcGVba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFpvZE9iamVjdCh7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICBzaGFwZTogKCkgPT4gc2hhcGUsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIGRlZXBQYXJ0aWFsKCkge1xuICAgICAgICByZXR1cm4gZGVlcFBhcnRpYWxpZnkodGhpcyk7XG4gICAgfVxuICAgIHBhcnRpYWwobWFzaykge1xuICAgICAgICBjb25zdCBuZXdTaGFwZSA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiB1dGlsLm9iamVjdEtleXModGhpcy5zaGFwZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkU2NoZW1hID0gdGhpcy5zaGFwZVtrZXldO1xuICAgICAgICAgICAgaWYgKG1hc2sgJiYgIW1hc2tba2V5XSkge1xuICAgICAgICAgICAgICAgIG5ld1NoYXBlW2tleV0gPSBmaWVsZFNjaGVtYTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIG5ld1NoYXBlW2tleV0gPSBmaWVsZFNjaGVtYS5vcHRpb25hbCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgWm9kT2JqZWN0KHtcbiAgICAgICAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgICAgICAgIHNoYXBlOiAoKSA9PiBuZXdTaGFwZSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJlcXVpcmVkKG1hc2spIHtcbiAgICAgICAgY29uc3QgbmV3U2hhcGUgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgdXRpbC5vYmplY3RLZXlzKHRoaXMuc2hhcGUpKSB7XG4gICAgICAgICAgICBpZiAobWFzayAmJiAhbWFza1trZXldKSB7XG4gICAgICAgICAgICAgICAgbmV3U2hhcGVba2V5XSA9IHRoaXMuc2hhcGVba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkU2NoZW1hID0gdGhpcy5zaGFwZVtrZXldO1xuICAgICAgICAgICAgICAgIGxldCBuZXdGaWVsZCA9IGZpZWxkU2NoZW1hO1xuICAgICAgICAgICAgICAgIHdoaWxlIChuZXdGaWVsZCBpbnN0YW5jZW9mIFpvZE9wdGlvbmFsKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0ZpZWxkID0gbmV3RmllbGQuX2RlZi5pbm5lclR5cGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG5ld1NoYXBlW2tleV0gPSBuZXdGaWVsZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFpvZE9iamVjdCh7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICBzaGFwZTogKCkgPT4gbmV3U2hhcGUsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBrZXlvZigpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVpvZEVudW0odXRpbC5vYmplY3RLZXlzKHRoaXMuc2hhcGUpKTtcbiAgICB9XG59XG5ab2RPYmplY3QuY3JlYXRlID0gKHNoYXBlLCBwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZE9iamVjdCh7XG4gICAgICAgIHNoYXBlOiAoKSA9PiBzaGFwZSxcbiAgICAgICAgdW5rbm93bktleXM6IFwic3RyaXBcIixcbiAgICAgICAgY2F0Y2hhbGw6IFpvZE5ldmVyLmNyZWF0ZSgpLFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE9iamVjdCxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcblpvZE9iamVjdC5zdHJpY3RDcmVhdGUgPSAoc2hhcGUsIHBhcmFtcykgPT4ge1xuICAgIHJldHVybiBuZXcgWm9kT2JqZWN0KHtcbiAgICAgICAgc2hhcGU6ICgpID0+IHNoYXBlLFxuICAgICAgICB1bmtub3duS2V5czogXCJzdHJpY3RcIixcbiAgICAgICAgY2F0Y2hhbGw6IFpvZE5ldmVyLmNyZWF0ZSgpLFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE9iamVjdCxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcblpvZE9iamVjdC5sYXp5Y3JlYXRlID0gKHNoYXBlLCBwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZE9iamVjdCh7XG4gICAgICAgIHNoYXBlLFxuICAgICAgICB1bmtub3duS2V5czogXCJzdHJpcFwiLFxuICAgICAgICBjYXRjaGFsbDogWm9kTmV2ZXIuY3JlYXRlKCksXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kT2JqZWN0LFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNsYXNzIFpvZFVuaW9uIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHsgY3R4IH0gPSB0aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXMoaW5wdXQpO1xuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5fZGVmLm9wdGlvbnM7XG4gICAgICAgIGZ1bmN0aW9uIGhhbmRsZVJlc3VsdHMocmVzdWx0cykge1xuICAgICAgICAgICAgLy8gcmV0dXJuIGZpcnN0IGlzc3VlLWZyZWUgdmFsaWRhdGlvbiBpZiBpdCBleGlzdHNcbiAgICAgICAgICAgIGZvciAoY29uc3QgcmVzdWx0IG9mIHJlc3VsdHMpIHtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdC5zdGF0dXMgPT09IFwidmFsaWRcIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0LnJlc3VsdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlc3VsdCBvZiByZXN1bHRzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHQuc3RhdHVzID09PSBcImRpcnR5XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gYWRkIGlzc3VlcyBmcm9tIGRpcnR5IG9wdGlvblxuICAgICAgICAgICAgICAgICAgICBjdHguY29tbW9uLmlzc3Vlcy5wdXNoKC4uLnJlc3VsdC5jdHguY29tbW9uLmlzc3Vlcyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQucmVzdWx0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHJldHVybiBpbnZhbGlkXG4gICAgICAgICAgICBjb25zdCB1bmlvbkVycm9ycyA9IHJlc3VsdHMubWFwKChyZXN1bHQpID0+IG5ldyBab2RFcnJvcihyZXN1bHQuY3R4LmNvbW1vbi5pc3N1ZXMpKTtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3VuaW9uLFxuICAgICAgICAgICAgICAgIHVuaW9uRXJyb3JzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY3R4LmNvbW1vbi5hc3luYykge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKG9wdGlvbnMubWFwKGFzeW5jIChvcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaGlsZEN0eCA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uY3R4LFxuICAgICAgICAgICAgICAgICAgICBjb21tb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmN0eC5jb21tb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBpc3N1ZXM6IFtdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IG51bGwsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQ6IGF3YWl0IG9wdGlvbi5fcGFyc2VBc3luYyh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBjdHguZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBjaGlsZEN0eCxcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGN0eDogY2hpbGRDdHgsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pKS50aGVuKGhhbmRsZVJlc3VsdHMpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbGV0IGRpcnR5ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgaXNzdWVzID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRDdHggPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmN0eCxcbiAgICAgICAgICAgICAgICAgICAgY29tbW9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5jdHguY29tbW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWVzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBudWxsLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gb3B0aW9uLl9wYXJzZVN5bmMoe1xuICAgICAgICAgICAgICAgICAgICBkYXRhOiBjdHguZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogY2hpbGRDdHgsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5zdGF0dXMgPT09IFwidmFsaWRcIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChyZXN1bHQuc3RhdHVzID09PSBcImRpcnR5XCIgJiYgIWRpcnR5KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpcnR5ID0geyByZXN1bHQsIGN0eDogY2hpbGRDdHggfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGNoaWxkQ3R4LmNvbW1vbi5pc3N1ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlzc3Vlcy5wdXNoKGNoaWxkQ3R4LmNvbW1vbi5pc3N1ZXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkaXJ0eSkge1xuICAgICAgICAgICAgICAgIGN0eC5jb21tb24uaXNzdWVzLnB1c2goLi4uZGlydHkuY3R4LmNvbW1vbi5pc3N1ZXMpO1xuICAgICAgICAgICAgICAgIHJldHVybiBkaXJ0eS5yZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB1bmlvbkVycm9ycyA9IGlzc3Vlcy5tYXAoKGlzc3VlcykgPT4gbmV3IFpvZEVycm9yKGlzc3VlcykpO1xuICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdW5pb24sXG4gICAgICAgICAgICAgICAgdW5pb25FcnJvcnMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBvcHRpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLm9wdGlvbnM7XG4gICAgfVxufVxuWm9kVW5pb24uY3JlYXRlID0gKHR5cGVzLCBwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZFVuaW9uKHtcbiAgICAgICAgb3B0aW9uczogdHlwZXMsXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kVW5pb24sXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLy8vLy8vLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy8vLy8vLy8vXG4vLy8vLy8vLy8vICAgICAgWm9kRGlzY3JpbWluYXRlZFVuaW9uICAgICAgLy8vLy8vLy8vL1xuLy8vLy8vLy8vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLy8vLy8vLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuY29uc3QgZ2V0RGlzY3JpbWluYXRvciA9ICh0eXBlKSA9PiB7XG4gICAgaWYgKHR5cGUgaW5zdGFuY2VvZiBab2RMYXp5KSB7XG4gICAgICAgIHJldHVybiBnZXREaXNjcmltaW5hdG9yKHR5cGUuc2NoZW1hKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodHlwZSBpbnN0YW5jZW9mIFpvZEVmZmVjdHMpIHtcbiAgICAgICAgcmV0dXJuIGdldERpc2NyaW1pbmF0b3IodHlwZS5pbm5lclR5cGUoKSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGUgaW5zdGFuY2VvZiBab2RMaXRlcmFsKSB7XG4gICAgICAgIHJldHVybiBbdHlwZS52YWx1ZV07XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGUgaW5zdGFuY2VvZiBab2RFbnVtKSB7XG4gICAgICAgIHJldHVybiB0eXBlLm9wdGlvbnM7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGUgaW5zdGFuY2VvZiBab2ROYXRpdmVFbnVtKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBiYW4vYmFuXG4gICAgICAgIHJldHVybiB1dGlsLm9iamVjdFZhbHVlcyh0eXBlLmVudW0pO1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlIGluc3RhbmNlb2YgWm9kRGVmYXVsdCkge1xuICAgICAgICByZXR1cm4gZ2V0RGlzY3JpbWluYXRvcih0eXBlLl9kZWYuaW5uZXJUeXBlKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodHlwZSBpbnN0YW5jZW9mIFpvZFVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gW3VuZGVmaW5lZF07XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGUgaW5zdGFuY2VvZiBab2ROdWxsKSB7XG4gICAgICAgIHJldHVybiBbbnVsbF07XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGUgaW5zdGFuY2VvZiBab2RPcHRpb25hbCkge1xuICAgICAgICByZXR1cm4gW3VuZGVmaW5lZCwgLi4uZ2V0RGlzY3JpbWluYXRvcih0eXBlLnVud3JhcCgpKV07XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGUgaW5zdGFuY2VvZiBab2ROdWxsYWJsZSkge1xuICAgICAgICByZXR1cm4gW251bGwsIC4uLmdldERpc2NyaW1pbmF0b3IodHlwZS51bndyYXAoKSldO1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlIGluc3RhbmNlb2YgWm9kQnJhbmRlZCkge1xuICAgICAgICByZXR1cm4gZ2V0RGlzY3JpbWluYXRvcih0eXBlLnVud3JhcCgpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodHlwZSBpbnN0YW5jZW9mIFpvZFJlYWRvbmx5KSB7XG4gICAgICAgIHJldHVybiBnZXREaXNjcmltaW5hdG9yKHR5cGUudW53cmFwKCkpO1xuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlIGluc3RhbmNlb2YgWm9kQ2F0Y2gpIHtcbiAgICAgICAgcmV0dXJuIGdldERpc2NyaW1pbmF0b3IodHlwZS5fZGVmLmlubmVyVHlwZSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxufTtcbmV4cG9ydCBjbGFzcyBab2REaXNjcmltaW5hdGVkVW5pb24gZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgeyBjdHggfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgICAgIGlmIChjdHgucGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5vYmplY3QpIHtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUub2JqZWN0LFxuICAgICAgICAgICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGlzY3JpbWluYXRvciA9IHRoaXMuZGlzY3JpbWluYXRvcjtcbiAgICAgICAgY29uc3QgZGlzY3JpbWluYXRvclZhbHVlID0gY3R4LmRhdGFbZGlzY3JpbWluYXRvcl07XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMub3B0aW9uc01hcC5nZXQoZGlzY3JpbWluYXRvclZhbHVlKTtcbiAgICAgICAgaWYgKCFvcHRpb24pIHtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3VuaW9uX2Rpc2NyaW1pbmF0b3IsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogQXJyYXkuZnJvbSh0aGlzLm9wdGlvbnNNYXAua2V5cygpKSxcbiAgICAgICAgICAgICAgICBwYXRoOiBbZGlzY3JpbWluYXRvcl0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjdHguY29tbW9uLmFzeW5jKSB7XG4gICAgICAgICAgICByZXR1cm4gb3B0aW9uLl9wYXJzZUFzeW5jKHtcbiAgICAgICAgICAgICAgICBkYXRhOiBjdHguZGF0YSxcbiAgICAgICAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IGN0eCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi5fcGFyc2VTeW5jKHtcbiAgICAgICAgICAgICAgICBkYXRhOiBjdHguZGF0YSxcbiAgICAgICAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IGN0eCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBkaXNjcmltaW5hdG9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLmRpc2NyaW1pbmF0b3I7XG4gICAgfVxuICAgIGdldCBvcHRpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLm9wdGlvbnM7XG4gICAgfVxuICAgIGdldCBvcHRpb25zTWFwKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLm9wdGlvbnNNYXA7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRoZSBjb25zdHJ1Y3RvciBvZiB0aGUgZGlzY3JpbWluYXRlZCB1bmlvbiBzY2hlbWEuIEl0cyBiZWhhdmlvdXIgaXMgdmVyeSBzaW1pbGFyIHRvIHRoYXQgb2YgdGhlIG5vcm1hbCB6LnVuaW9uKCkgY29uc3RydWN0b3IuXG4gICAgICogSG93ZXZlciwgaXQgb25seSBhbGxvd3MgYSB1bmlvbiBvZiBvYmplY3RzLCBhbGwgb2Ygd2hpY2ggbmVlZCB0byBzaGFyZSBhIGRpc2NyaW1pbmF0b3IgcHJvcGVydHkuIFRoaXMgcHJvcGVydHkgbXVzdFxuICAgICAqIGhhdmUgYSBkaWZmZXJlbnQgdmFsdWUgZm9yIGVhY2ggb2JqZWN0IGluIHRoZSB1bmlvbi5cbiAgICAgKiBAcGFyYW0gZGlzY3JpbWluYXRvciB0aGUgbmFtZSBvZiB0aGUgZGlzY3JpbWluYXRvciBwcm9wZXJ0eVxuICAgICAqIEBwYXJhbSB0eXBlcyBhbiBhcnJheSBvZiBvYmplY3Qgc2NoZW1hc1xuICAgICAqIEBwYXJhbSBwYXJhbXNcbiAgICAgKi9cbiAgICBzdGF0aWMgY3JlYXRlKGRpc2NyaW1pbmF0b3IsIG9wdGlvbnMsIHBhcmFtcykge1xuICAgICAgICAvLyBHZXQgYWxsIHRoZSB2YWxpZCBkaXNjcmltaW5hdG9yIHZhbHVlc1xuICAgICAgICBjb25zdCBvcHRpb25zTWFwID0gbmV3IE1hcCgpO1xuICAgICAgICAvLyB0cnkge1xuICAgICAgICBmb3IgKGNvbnN0IHR5cGUgb2Ygb3B0aW9ucykge1xuICAgICAgICAgICAgY29uc3QgZGlzY3JpbWluYXRvclZhbHVlcyA9IGdldERpc2NyaW1pbmF0b3IodHlwZS5zaGFwZVtkaXNjcmltaW5hdG9yXSk7XG4gICAgICAgICAgICBpZiAoIWRpc2NyaW1pbmF0b3JWYWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBIGRpc2NyaW1pbmF0b3IgdmFsdWUgZm9yIGtleSBcXGAke2Rpc2NyaW1pbmF0b3J9XFxgIGNvdWxkIG5vdCBiZSBleHRyYWN0ZWQgZnJvbSBhbGwgc2NoZW1hIG9wdGlvbnNgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvciAoY29uc3QgdmFsdWUgb2YgZGlzY3JpbWluYXRvclZhbHVlcykge1xuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zTWFwLmhhcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEaXNjcmltaW5hdG9yIHByb3BlcnR5ICR7U3RyaW5nKGRpc2NyaW1pbmF0b3IpfSBoYXMgZHVwbGljYXRlIHZhbHVlICR7U3RyaW5nKHZhbHVlKX1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb3B0aW9uc01hcC5zZXQodmFsdWUsIHR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgWm9kRGlzY3JpbWluYXRlZFVuaW9uKHtcbiAgICAgICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kRGlzY3JpbWluYXRlZFVuaW9uLFxuICAgICAgICAgICAgZGlzY3JpbWluYXRvcixcbiAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgICBvcHRpb25zTWFwLFxuICAgICAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgICAgICB9KTtcbiAgICB9XG59XG5mdW5jdGlvbiBtZXJnZVZhbHVlcyhhLCBiKSB7XG4gICAgY29uc3QgYVR5cGUgPSBnZXRQYXJzZWRUeXBlKGEpO1xuICAgIGNvbnN0IGJUeXBlID0gZ2V0UGFyc2VkVHlwZShiKTtcbiAgICBpZiAoYSA9PT0gYikge1xuICAgICAgICByZXR1cm4geyB2YWxpZDogdHJ1ZSwgZGF0YTogYSB9O1xuICAgIH1cbiAgICBlbHNlIGlmIChhVHlwZSA9PT0gWm9kUGFyc2VkVHlwZS5vYmplY3QgJiYgYlR5cGUgPT09IFpvZFBhcnNlZFR5cGUub2JqZWN0KSB7XG4gICAgICAgIGNvbnN0IGJLZXlzID0gdXRpbC5vYmplY3RLZXlzKGIpO1xuICAgICAgICBjb25zdCBzaGFyZWRLZXlzID0gdXRpbC5vYmplY3RLZXlzKGEpLmZpbHRlcigoa2V5KSA9PiBiS2V5cy5pbmRleE9mKGtleSkgIT09IC0xKTtcbiAgICAgICAgY29uc3QgbmV3T2JqID0geyAuLi5hLCAuLi5iIH07XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIHNoYXJlZEtleXMpIHtcbiAgICAgICAgICAgIGNvbnN0IHNoYXJlZFZhbHVlID0gbWVyZ2VWYWx1ZXMoYVtrZXldLCBiW2tleV0pO1xuICAgICAgICAgICAgaWYgKCFzaGFyZWRWYWx1ZS52YWxpZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHZhbGlkOiBmYWxzZSB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV3T2JqW2tleV0gPSBzaGFyZWRWYWx1ZS5kYXRhO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHZhbGlkOiB0cnVlLCBkYXRhOiBuZXdPYmogfTtcbiAgICB9XG4gICAgZWxzZSBpZiAoYVR5cGUgPT09IFpvZFBhcnNlZFR5cGUuYXJyYXkgJiYgYlR5cGUgPT09IFpvZFBhcnNlZFR5cGUuYXJyYXkpIHtcbiAgICAgICAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHsgdmFsaWQ6IGZhbHNlIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3QXJyYXkgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGEubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtQSA9IGFbaW5kZXhdO1xuICAgICAgICAgICAgY29uc3QgaXRlbUIgPSBiW2luZGV4XTtcbiAgICAgICAgICAgIGNvbnN0IHNoYXJlZFZhbHVlID0gbWVyZ2VWYWx1ZXMoaXRlbUEsIGl0ZW1CKTtcbiAgICAgICAgICAgIGlmICghc2hhcmVkVmFsdWUudmFsaWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyB2YWxpZDogZmFsc2UgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5ld0FycmF5LnB1c2goc2hhcmVkVmFsdWUuZGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgdmFsaWQ6IHRydWUsIGRhdGE6IG5ld0FycmF5IH07XG4gICAgfVxuICAgIGVsc2UgaWYgKGFUeXBlID09PSBab2RQYXJzZWRUeXBlLmRhdGUgJiYgYlR5cGUgPT09IFpvZFBhcnNlZFR5cGUuZGF0ZSAmJiArYSA9PT0gK2IpIHtcbiAgICAgICAgcmV0dXJuIHsgdmFsaWQ6IHRydWUsIGRhdGE6IGEgfTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiB7IHZhbGlkOiBmYWxzZSB9O1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBab2RJbnRlcnNlY3Rpb24gZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgeyBzdGF0dXMsIGN0eCB9ID0gdGhpcy5fcHJvY2Vzc0lucHV0UGFyYW1zKGlucHV0KTtcbiAgICAgICAgY29uc3QgaGFuZGxlUGFyc2VkID0gKHBhcnNlZExlZnQsIHBhcnNlZFJpZ2h0KSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNBYm9ydGVkKHBhcnNlZExlZnQpIHx8IGlzQWJvcnRlZChwYXJzZWRSaWdodCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG1lcmdlZCA9IG1lcmdlVmFsdWVzKHBhcnNlZExlZnQudmFsdWUsIHBhcnNlZFJpZ2h0LnZhbHVlKTtcbiAgICAgICAgICAgIGlmICghbWVyZ2VkLnZhbGlkKSB7XG4gICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX2ludGVyc2VjdGlvbl90eXBlcyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0RpcnR5KHBhcnNlZExlZnQpIHx8IGlzRGlydHkocGFyc2VkUmlnaHQpKSB7XG4gICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cy52YWx1ZSwgdmFsdWU6IG1lcmdlZC5kYXRhIH07XG4gICAgICAgIH07XG4gICAgICAgIGlmIChjdHguY29tbW9uLmFzeW5jKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgICAgIHRoaXMuX2RlZi5sZWZ0Ll9wYXJzZUFzeW5jKHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogY3R4LmRhdGEsXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IGN0eCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0aGlzLl9kZWYucmlnaHQuX3BhcnNlQXN5bmMoe1xuICAgICAgICAgICAgICAgICAgICBkYXRhOiBjdHguZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgICAgICAgICAgICAgIHBhcmVudDogY3R4LFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgXSkudGhlbigoW2xlZnQsIHJpZ2h0XSkgPT4gaGFuZGxlUGFyc2VkKGxlZnQsIHJpZ2h0KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gaGFuZGxlUGFyc2VkKHRoaXMuX2RlZi5sZWZ0Ll9wYXJzZVN5bmMoe1xuICAgICAgICAgICAgICAgIGRhdGE6IGN0eC5kYXRhLFxuICAgICAgICAgICAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgICAgICAgICAgIHBhcmVudDogY3R4LFxuICAgICAgICAgICAgfSksIHRoaXMuX2RlZi5yaWdodC5fcGFyc2VTeW5jKHtcbiAgICAgICAgICAgICAgICBkYXRhOiBjdHguZGF0YSxcbiAgICAgICAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IGN0eCxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblpvZEludGVyc2VjdGlvbi5jcmVhdGUgPSAobGVmdCwgcmlnaHQsIHBhcmFtcykgPT4ge1xuICAgIHJldHVybiBuZXcgWm9kSW50ZXJzZWN0aW9uKHtcbiAgICAgICAgbGVmdDogbGVmdCxcbiAgICAgICAgcmlnaHQ6IHJpZ2h0LFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEludGVyc2VjdGlvbixcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbi8vIHR5cGUgWm9kVHVwbGVJdGVtcyA9IFtab2RUeXBlQW55LCAuLi5ab2RUeXBlQW55W11dO1xuZXhwb3J0IGNsYXNzIFpvZFR1cGxlIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHsgc3RhdHVzLCBjdHggfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgICAgIGlmIChjdHgucGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5hcnJheSkge1xuICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgICAgICAgICBleHBlY3RlZDogWm9kUGFyc2VkVHlwZS5hcnJheSxcbiAgICAgICAgICAgICAgICByZWNlaXZlZDogY3R4LnBhcnNlZFR5cGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjdHguZGF0YS5sZW5ndGggPCB0aGlzLl9kZWYuaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUudG9vX3NtYWxsLFxuICAgICAgICAgICAgICAgIG1pbmltdW06IHRoaXMuX2RlZi5pdGVtcy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGV4YWN0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3QgPSB0aGlzLl9kZWYucmVzdDtcbiAgICAgICAgaWYgKCFyZXN0ICYmIGN0eC5kYXRhLmxlbmd0aCA+IHRoaXMuX2RlZi5pdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS50b29fYmlnLFxuICAgICAgICAgICAgICAgIG1heGltdW06IHRoaXMuX2RlZi5pdGVtcy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgaW5jbHVzaXZlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGV4YWN0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gWy4uLmN0eC5kYXRhXVxuICAgICAgICAgICAgLm1hcCgoaXRlbSwgaXRlbUluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzY2hlbWEgPSB0aGlzLl9kZWYuaXRlbXNbaXRlbUluZGV4XSB8fCB0aGlzLl9kZWYucmVzdDtcbiAgICAgICAgICAgIGlmICghc2NoZW1hKVxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgcmV0dXJuIHNjaGVtYS5fcGFyc2UobmV3IFBhcnNlSW5wdXRMYXp5UGF0aChjdHgsIGl0ZW0sIGN0eC5wYXRoLCBpdGVtSW5kZXgpKTtcbiAgICAgICAgfSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHgpID0+ICEheCk7IC8vIGZpbHRlciBudWxsc1xuICAgICAgICBpZiAoY3R4LmNvbW1vbi5hc3luYykge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKGl0ZW1zKS50aGVuKChyZXN1bHRzKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFBhcnNlU3RhdHVzLm1lcmdlQXJyYXkoc3RhdHVzLCByZXN1bHRzKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFBhcnNlU3RhdHVzLm1lcmdlQXJyYXkoc3RhdHVzLCBpdGVtcyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGl0ZW1zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLml0ZW1zO1xuICAgIH1cbiAgICByZXN0KHJlc3QpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBab2RUdXBsZSh7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICByZXN0LFxuICAgICAgICB9KTtcbiAgICB9XG59XG5ab2RUdXBsZS5jcmVhdGUgPSAoc2NoZW1hcywgcGFyYW1zKSA9PiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHNjaGVtYXMpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIllvdSBtdXN0IHBhc3MgYW4gYXJyYXkgb2Ygc2NoZW1hcyB0byB6LnR1cGxlKFsgLi4uIF0pXCIpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFpvZFR1cGxlKHtcbiAgICAgICAgaXRlbXM6IHNjaGVtYXMsXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kVHVwbGUsXG4gICAgICAgIHJlc3Q6IG51bGwsXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG5leHBvcnQgY2xhc3MgWm9kUmVjb3JkIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgZ2V0IGtleVNjaGVtYSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5rZXlUeXBlO1xuICAgIH1cbiAgICBnZXQgdmFsdWVTY2hlbWEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWYudmFsdWVUeXBlO1xuICAgIH1cbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgeyBzdGF0dXMsIGN0eCB9ID0gdGhpcy5fcHJvY2Vzc0lucHV0UGFyYW1zKGlucHV0KTtcbiAgICAgICAgaWYgKGN0eC5wYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLm9iamVjdCkge1xuICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgICAgICAgICBleHBlY3RlZDogWm9kUGFyc2VkVHlwZS5vYmplY3QsXG4gICAgICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYWlycyA9IFtdO1xuICAgICAgICBjb25zdCBrZXlUeXBlID0gdGhpcy5fZGVmLmtleVR5cGU7XG4gICAgICAgIGNvbnN0IHZhbHVlVHlwZSA9IHRoaXMuX2RlZi52YWx1ZVR5cGU7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGN0eC5kYXRhKSB7XG4gICAgICAgICAgICBwYWlycy5wdXNoKHtcbiAgICAgICAgICAgICAgICBrZXk6IGtleVR5cGUuX3BhcnNlKG5ldyBQYXJzZUlucHV0TGF6eVBhdGgoY3R4LCBrZXksIGN0eC5wYXRoLCBrZXkpKSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWVUeXBlLl9wYXJzZShuZXcgUGFyc2VJbnB1dExhenlQYXRoKGN0eCwgY3R4LmRhdGFba2V5XSwgY3R4LnBhdGgsIGtleSkpLFxuICAgICAgICAgICAgICAgIGFsd2F5c1NldDoga2V5IGluIGN0eC5kYXRhLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGN0eC5jb21tb24uYXN5bmMpIHtcbiAgICAgICAgICAgIHJldHVybiBQYXJzZVN0YXR1cy5tZXJnZU9iamVjdEFzeW5jKHN0YXR1cywgcGFpcnMpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFBhcnNlU3RhdHVzLm1lcmdlT2JqZWN0U3luYyhzdGF0dXMsIHBhaXJzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgZWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi52YWx1ZVR5cGU7XG4gICAgfVxuICAgIHN0YXRpYyBjcmVhdGUoZmlyc3QsIHNlY29uZCwgdGhpcmQpIHtcbiAgICAgICAgaWYgKHNlY29uZCBpbnN0YW5jZW9mIFpvZFR5cGUpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgWm9kUmVjb3JkKHtcbiAgICAgICAgICAgICAgICBrZXlUeXBlOiBmaXJzdCxcbiAgICAgICAgICAgICAgICB2YWx1ZVR5cGU6IHNlY29uZCxcbiAgICAgICAgICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFJlY29yZCxcbiAgICAgICAgICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHRoaXJkKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgWm9kUmVjb3JkKHtcbiAgICAgICAgICAgIGtleVR5cGU6IFpvZFN0cmluZy5jcmVhdGUoKSxcbiAgICAgICAgICAgIHZhbHVlVHlwZTogZmlyc3QsXG4gICAgICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFJlY29yZCxcbiAgICAgICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMoc2Vjb25kKSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIFpvZE1hcCBleHRlbmRzIFpvZFR5cGUge1xuICAgIGdldCBrZXlTY2hlbWEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWYua2V5VHlwZTtcbiAgICB9XG4gICAgZ2V0IHZhbHVlU2NoZW1hKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLnZhbHVlVHlwZTtcbiAgICB9XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHsgc3RhdHVzLCBjdHggfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgICAgIGlmIChjdHgucGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5tYXApIHtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUubWFwLFxuICAgICAgICAgICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qga2V5VHlwZSA9IHRoaXMuX2RlZi5rZXlUeXBlO1xuICAgICAgICBjb25zdCB2YWx1ZVR5cGUgPSB0aGlzLl9kZWYudmFsdWVUeXBlO1xuICAgICAgICBjb25zdCBwYWlycyA9IFsuLi5jdHguZGF0YS5lbnRyaWVzKCldLm1hcCgoW2tleSwgdmFsdWVdLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBrZXk6IGtleVR5cGUuX3BhcnNlKG5ldyBQYXJzZUlucHV0TGF6eVBhdGgoY3R4LCBrZXksIGN0eC5wYXRoLCBbaW5kZXgsIFwia2V5XCJdKSksXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlVHlwZS5fcGFyc2UobmV3IFBhcnNlSW5wdXRMYXp5UGF0aChjdHgsIHZhbHVlLCBjdHgucGF0aCwgW2luZGV4LCBcInZhbHVlXCJdKSksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGN0eC5jb21tb24uYXN5bmMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbmFsTWFwID0gbmV3IE1hcCgpO1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGFpciBvZiBwYWlycykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBhd2FpdCBwYWlyLmtleTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBhd2FpdCBwYWlyLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoa2V5LnN0YXR1cyA9PT0gXCJhYm9ydGVkXCIgfHwgdmFsdWUuc3RhdHVzID09PSBcImFib3J0ZWRcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGtleS5zdGF0dXMgPT09IFwiZGlydHlcIiB8fCB2YWx1ZS5zdGF0dXMgPT09IFwiZGlydHlcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZmluYWxNYXAuc2V0KGtleS52YWx1ZSwgdmFsdWUudmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cy52YWx1ZSwgdmFsdWU6IGZpbmFsTWFwIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbmFsTWFwID0gbmV3IE1hcCgpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBwYWlyIG9mIHBhaXJzKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gcGFpci5rZXk7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwYWlyLnZhbHVlO1xuICAgICAgICAgICAgICAgIGlmIChrZXkuc3RhdHVzID09PSBcImFib3J0ZWRcIiB8fCB2YWx1ZS5zdGF0dXMgPT09IFwiYWJvcnRlZFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoa2V5LnN0YXR1cyA9PT0gXCJkaXJ0eVwiIHx8IHZhbHVlLnN0YXR1cyA9PT0gXCJkaXJ0eVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmaW5hbE1hcC5zZXQoa2V5LnZhbHVlLCB2YWx1ZS52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cy52YWx1ZSwgdmFsdWU6IGZpbmFsTWFwIH07XG4gICAgICAgIH1cbiAgICB9XG59XG5ab2RNYXAuY3JlYXRlID0gKGtleVR5cGUsIHZhbHVlVHlwZSwgcGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2RNYXAoe1xuICAgICAgICB2YWx1ZVR5cGUsXG4gICAgICAgIGtleVR5cGUsXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kTWFwLFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNsYXNzIFpvZFNldCBleHRlbmRzIFpvZFR5cGUge1xuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBjb25zdCB7IHN0YXR1cywgY3R4IH0gPSB0aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXMoaW5wdXQpO1xuICAgICAgICBpZiAoY3R4LnBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUuc2V0KSB7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF90eXBlLFxuICAgICAgICAgICAgICAgIGV4cGVjdGVkOiBab2RQYXJzZWRUeXBlLnNldCxcbiAgICAgICAgICAgICAgICByZWNlaXZlZDogY3R4LnBhcnNlZFR5cGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRlZiA9IHRoaXMuX2RlZjtcbiAgICAgICAgaWYgKGRlZi5taW5TaXplICE9PSBudWxsKSB7XG4gICAgICAgICAgICBpZiAoY3R4LmRhdGEuc2l6ZSA8IGRlZi5taW5TaXplLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS50b29fc21hbGwsXG4gICAgICAgICAgICAgICAgICAgIG1pbmltdW06IGRlZi5taW5TaXplLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInNldFwiLFxuICAgICAgICAgICAgICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGV4YWN0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogZGVmLm1pblNpemUubWVzc2FnZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZGVmLm1heFNpemUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChjdHguZGF0YS5zaXplID4gZGVmLm1heFNpemUudmFsdWUpIHtcbiAgICAgICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLnRvb19iaWcsXG4gICAgICAgICAgICAgICAgICAgIG1heGltdW06IGRlZi5tYXhTaXplLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInNldFwiLFxuICAgICAgICAgICAgICAgICAgICBpbmNsdXNpdmU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGV4YWN0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogZGVmLm1heFNpemUubWVzc2FnZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCB2YWx1ZVR5cGUgPSB0aGlzLl9kZWYudmFsdWVUeXBlO1xuICAgICAgICBmdW5jdGlvbiBmaW5hbGl6ZVNldChlbGVtZW50cykge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VkU2V0ID0gbmV3IFNldCgpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIGVsZW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQuc3RhdHVzID09PSBcImFib3J0ZWRcIilcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQuc3RhdHVzID09PSBcImRpcnR5XCIpXG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5kaXJ0eSgpO1xuICAgICAgICAgICAgICAgIHBhcnNlZFNldC5hZGQoZWxlbWVudC52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cy52YWx1ZSwgdmFsdWU6IHBhcnNlZFNldCB9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gWy4uLmN0eC5kYXRhLnZhbHVlcygpXS5tYXAoKGl0ZW0sIGkpID0+IHZhbHVlVHlwZS5fcGFyc2UobmV3IFBhcnNlSW5wdXRMYXp5UGF0aChjdHgsIGl0ZW0sIGN0eC5wYXRoLCBpKSkpO1xuICAgICAgICBpZiAoY3R4LmNvbW1vbi5hc3luYykge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKGVsZW1lbnRzKS50aGVuKChlbGVtZW50cykgPT4gZmluYWxpemVTZXQoZWxlbWVudHMpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmaW5hbGl6ZVNldChlbGVtZW50cyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbWluKG1pblNpemUsIG1lc3NhZ2UpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBab2RTZXQoe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgbWluU2l6ZTogeyB2YWx1ZTogbWluU2l6ZSwgbWVzc2FnZTogZXJyb3JVdGlsLnRvU3RyaW5nKG1lc3NhZ2UpIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBtYXgobWF4U2l6ZSwgbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gbmV3IFpvZFNldCh7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICBtYXhTaXplOiB7IHZhbHVlOiBtYXhTaXplLCBtZXNzYWdlOiBlcnJvclV0aWwudG9TdHJpbmcobWVzc2FnZSkgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHNpemUoc2l6ZSwgbWVzc2FnZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5taW4oc2l6ZSwgbWVzc2FnZSkubWF4KHNpemUsIG1lc3NhZ2UpO1xuICAgIH1cbiAgICBub25lbXB0eShtZXNzYWdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbigxLCBtZXNzYWdlKTtcbiAgICB9XG59XG5ab2RTZXQuY3JlYXRlID0gKHZhbHVlVHlwZSwgcGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2RTZXQoe1xuICAgICAgICB2YWx1ZVR5cGUsXG4gICAgICAgIG1pblNpemU6IG51bGwsXG4gICAgICAgIG1heFNpemU6IG51bGwsXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kU2V0LFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNsYXNzIFpvZEZ1bmN0aW9uIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgICAgIHRoaXMudmFsaWRhdGUgPSB0aGlzLmltcGxlbWVudDtcbiAgICB9XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHsgY3R4IH0gPSB0aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXMoaW5wdXQpO1xuICAgICAgICBpZiAoY3R4LnBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUuZnVuY3Rpb24pIHtcbiAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwge1xuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFpvZFBhcnNlZFR5cGUuZnVuY3Rpb24sXG4gICAgICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBtYWtlQXJnc0lzc3VlKGFyZ3MsIGVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gbWFrZUlzc3VlKHtcbiAgICAgICAgICAgICAgICBkYXRhOiBhcmdzLFxuICAgICAgICAgICAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgICAgICAgICAgIGVycm9yTWFwczogW2N0eC5jb21tb24uY29udGV4dHVhbEVycm9yTWFwLCBjdHguc2NoZW1hRXJyb3JNYXAsIGdldEVycm9yTWFwKCksIGRlZmF1bHRFcnJvck1hcF0uZmlsdGVyKCh4KSA9PiAhIXgpLFxuICAgICAgICAgICAgICAgIGlzc3VlRGF0YToge1xuICAgICAgICAgICAgICAgICAgICBjb2RlOiBab2RJc3N1ZUNvZGUuaW52YWxpZF9hcmd1bWVudHMsXG4gICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50c0Vycm9yOiBlcnJvcixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gbWFrZVJldHVybnNJc3N1ZShyZXR1cm5zLCBlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIG1ha2VJc3N1ZSh7XG4gICAgICAgICAgICAgICAgZGF0YTogcmV0dXJucyxcbiAgICAgICAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICAgICAgICBlcnJvck1hcHM6IFtjdHguY29tbW9uLmNvbnRleHR1YWxFcnJvck1hcCwgY3R4LnNjaGVtYUVycm9yTWFwLCBnZXRFcnJvck1hcCgpLCBkZWZhdWx0RXJyb3JNYXBdLmZpbHRlcigoeCkgPT4gISF4KSxcbiAgICAgICAgICAgICAgICBpc3N1ZURhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfcmV0dXJuX3R5cGUsXG4gICAgICAgICAgICAgICAgICAgIHJldHVyblR5cGVFcnJvcjogZXJyb3IsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHsgZXJyb3JNYXA6IGN0eC5jb21tb24uY29udGV4dHVhbEVycm9yTWFwIH07XG4gICAgICAgIGNvbnN0IGZuID0gY3R4LmRhdGE7XG4gICAgICAgIGlmICh0aGlzLl9kZWYucmV0dXJucyBpbnN0YW5jZW9mIFpvZFByb21pc2UpIHtcbiAgICAgICAgICAgIC8vIFdvdWxkIGxvdmUgYSB3YXkgdG8gYXZvaWQgZGlzYWJsaW5nIHRoaXMgcnVsZSwgYnV0IHdlIG5lZWRcbiAgICAgICAgICAgIC8vIGFuIGFsaWFzICh1c2luZyBhbiBhcnJvdyBmdW5jdGlvbiB3YXMgd2hhdCBjYXVzZWQgMjY1MSkuXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICAgICAgICAgIGNvbnN0IG1lID0gdGhpcztcbiAgICAgICAgICAgIHJldHVybiBPSyhhc3luYyBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gbmV3IFpvZEVycm9yKFtdKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJzZWRBcmdzID0gYXdhaXQgbWUuX2RlZi5hcmdzLnBhcnNlQXN5bmMoYXJncywgcGFyYW1zKS5jYXRjaCgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBlcnJvci5hZGRJc3N1ZShtYWtlQXJnc0lzc3VlKGFyZ3MsIGUpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgUmVmbGVjdC5hcHBseShmbiwgdGhpcywgcGFyc2VkQXJncyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyc2VkUmV0dXJucyA9IGF3YWl0IG1lLl9kZWYucmV0dXJucy5fZGVmLnR5cGVcbiAgICAgICAgICAgICAgICAgICAgLnBhcnNlQXN5bmMocmVzdWx0LCBwYXJhbXMpXG4gICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBlcnJvci5hZGRJc3N1ZShtYWtlUmV0dXJuc0lzc3VlKHJlc3VsdCwgZSkpO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGFyc2VkUmV0dXJucztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gV291bGQgbG92ZSBhIHdheSB0byBhdm9pZCBkaXNhYmxpbmcgdGhpcyBydWxlLCBidXQgd2UgbmVlZFxuICAgICAgICAgICAgLy8gYW4gYWxpYXMgKHVzaW5nIGFuIGFycm93IGZ1bmN0aW9uIHdhcyB3aGF0IGNhdXNlZCAyNjUxKS5cbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuICAgICAgICAgICAgY29uc3QgbWUgPSB0aGlzO1xuICAgICAgICAgICAgcmV0dXJuIE9LKGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyc2VkQXJncyA9IG1lLl9kZWYuYXJncy5zYWZlUGFyc2UoYXJncywgcGFyYW1zKTtcbiAgICAgICAgICAgICAgICBpZiAoIXBhcnNlZEFyZ3Muc3VjY2Vzcykge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgWm9kRXJyb3IoW21ha2VBcmdzSXNzdWUoYXJncywgcGFyc2VkQXJncy5lcnJvcildKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gUmVmbGVjdC5hcHBseShmbiwgdGhpcywgcGFyc2VkQXJncy5kYXRhKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJzZWRSZXR1cm5zID0gbWUuX2RlZi5yZXR1cm5zLnNhZmVQYXJzZShyZXN1bHQsIHBhcmFtcyk7XG4gICAgICAgICAgICAgICAgaWYgKCFwYXJzZWRSZXR1cm5zLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFpvZEVycm9yKFttYWtlUmV0dXJuc0lzc3VlKHJlc3VsdCwgcGFyc2VkUmV0dXJucy5lcnJvcildKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlZFJldHVybnMuZGF0YTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHBhcmFtZXRlcnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWYuYXJncztcbiAgICB9XG4gICAgcmV0dXJuVHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5yZXR1cm5zO1xuICAgIH1cbiAgICBhcmdzKC4uLml0ZW1zKSB7XG4gICAgICAgIHJldHVybiBuZXcgWm9kRnVuY3Rpb24oe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgYXJnczogWm9kVHVwbGUuY3JlYXRlKGl0ZW1zKS5yZXN0KFpvZFVua25vd24uY3JlYXRlKCkpLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJucyhyZXR1cm5UeXBlKSB7XG4gICAgICAgIHJldHVybiBuZXcgWm9kRnVuY3Rpb24oe1xuICAgICAgICAgICAgLi4udGhpcy5fZGVmLFxuICAgICAgICAgICAgcmV0dXJuczogcmV0dXJuVHlwZSxcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGltcGxlbWVudChmdW5jKSB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRlZEZ1bmMgPSB0aGlzLnBhcnNlKGZ1bmMpO1xuICAgICAgICByZXR1cm4gdmFsaWRhdGVkRnVuYztcbiAgICB9XG4gICAgc3RyaWN0SW1wbGVtZW50KGZ1bmMpIHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGVkRnVuYyA9IHRoaXMucGFyc2UoZnVuYyk7XG4gICAgICAgIHJldHVybiB2YWxpZGF0ZWRGdW5jO1xuICAgIH1cbiAgICBzdGF0aWMgY3JlYXRlKGFyZ3MsIHJldHVybnMsIHBhcmFtcykge1xuICAgICAgICByZXR1cm4gbmV3IFpvZEZ1bmN0aW9uKHtcbiAgICAgICAgICAgIGFyZ3M6IChhcmdzID8gYXJncyA6IFpvZFR1cGxlLmNyZWF0ZShbXSkucmVzdChab2RVbmtub3duLmNyZWF0ZSgpKSksXG4gICAgICAgICAgICByZXR1cm5zOiByZXR1cm5zIHx8IFpvZFVua25vd24uY3JlYXRlKCksXG4gICAgICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEZ1bmN0aW9uLFxuICAgICAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgWm9kTGF6eSBleHRlbmRzIFpvZFR5cGUge1xuICAgIGdldCBzY2hlbWEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWYuZ2V0dGVyKCk7XG4gICAgfVxuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBjb25zdCB7IGN0eCB9ID0gdGhpcy5fcHJvY2Vzc0lucHV0UGFyYW1zKGlucHV0KTtcbiAgICAgICAgY29uc3QgbGF6eVNjaGVtYSA9IHRoaXMuX2RlZi5nZXR0ZXIoKTtcbiAgICAgICAgcmV0dXJuIGxhenlTY2hlbWEuX3BhcnNlKHsgZGF0YTogY3R4LmRhdGEsIHBhdGg6IGN0eC5wYXRoLCBwYXJlbnQ6IGN0eCB9KTtcbiAgICB9XG59XG5ab2RMYXp5LmNyZWF0ZSA9IChnZXR0ZXIsIHBhcmFtcykgPT4ge1xuICAgIHJldHVybiBuZXcgWm9kTGF6eSh7XG4gICAgICAgIGdldHRlcjogZ2V0dGVyLFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZExhenksXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG5leHBvcnQgY2xhc3MgWm9kTGl0ZXJhbCBleHRlbmRzIFpvZFR5cGUge1xuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBpZiAoaW5wdXQuZGF0YSAhPT0gdGhpcy5fZGVmLnZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICByZWNlaXZlZDogY3R4LmRhdGEsXG4gICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfbGl0ZXJhbCxcbiAgICAgICAgICAgICAgICBleHBlY3RlZDogdGhpcy5fZGVmLnZhbHVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBzdGF0dXM6IFwidmFsaWRcIiwgdmFsdWU6IGlucHV0LmRhdGEgfTtcbiAgICB9XG4gICAgZ2V0IHZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLnZhbHVlO1xuICAgIH1cbn1cblpvZExpdGVyYWwuY3JlYXRlID0gKHZhbHVlLCBwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZExpdGVyYWwoe1xuICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kTGl0ZXJhbCxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmZ1bmN0aW9uIGNyZWF0ZVpvZEVudW0odmFsdWVzLCBwYXJhbXMpIHtcbiAgICByZXR1cm4gbmV3IFpvZEVudW0oe1xuICAgICAgICB2YWx1ZXMsXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kRW51bSxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufVxuZXhwb3J0IGNsYXNzIFpvZEVudW0gZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBpbnB1dC5kYXRhICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBjb25zdCBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICAgICAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IHRoaXMuX2RlZi52YWx1ZXM7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICBleHBlY3RlZDogdXRpbC5qb2luVmFsdWVzKGV4cGVjdGVkVmFsdWVzKSxcbiAgICAgICAgICAgICAgICByZWNlaXZlZDogY3R4LnBhcnNlZFR5cGUsXG4gICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLl9jYWNoZSkge1xuICAgICAgICAgICAgdGhpcy5fY2FjaGUgPSBuZXcgU2V0KHRoaXMuX2RlZi52YWx1ZXMpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fY2FjaGUuaGFzKGlucHV0LmRhdGEpKSB7XG4gICAgICAgICAgICBjb25zdCBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICAgICAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IHRoaXMuX2RlZi52YWx1ZXM7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICByZWNlaXZlZDogY3R4LmRhdGEsXG4gICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfZW51bV92YWx1ZSxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBleHBlY3RlZFZhbHVlcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9LKGlucHV0LmRhdGEpO1xuICAgIH1cbiAgICBnZXQgb3B0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi52YWx1ZXM7XG4gICAgfVxuICAgIGdldCBlbnVtKCkge1xuICAgICAgICBjb25zdCBlbnVtVmFsdWVzID0ge307XG4gICAgICAgIGZvciAoY29uc3QgdmFsIG9mIHRoaXMuX2RlZi52YWx1ZXMpIHtcbiAgICAgICAgICAgIGVudW1WYWx1ZXNbdmFsXSA9IHZhbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW51bVZhbHVlcztcbiAgICB9XG4gICAgZ2V0IFZhbHVlcygpIHtcbiAgICAgICAgY29uc3QgZW51bVZhbHVlcyA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IHZhbCBvZiB0aGlzLl9kZWYudmFsdWVzKSB7XG4gICAgICAgICAgICBlbnVtVmFsdWVzW3ZhbF0gPSB2YWw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVudW1WYWx1ZXM7XG4gICAgfVxuICAgIGdldCBFbnVtKCkge1xuICAgICAgICBjb25zdCBlbnVtVmFsdWVzID0ge307XG4gICAgICAgIGZvciAoY29uc3QgdmFsIG9mIHRoaXMuX2RlZi52YWx1ZXMpIHtcbiAgICAgICAgICAgIGVudW1WYWx1ZXNbdmFsXSA9IHZhbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW51bVZhbHVlcztcbiAgICB9XG4gICAgZXh0cmFjdCh2YWx1ZXMsIG5ld0RlZiA9IHRoaXMuX2RlZikge1xuICAgICAgICByZXR1cm4gWm9kRW51bS5jcmVhdGUodmFsdWVzLCB7XG4gICAgICAgICAgICAuLi50aGlzLl9kZWYsXG4gICAgICAgICAgICAuLi5uZXdEZWYsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBleGNsdWRlKHZhbHVlcywgbmV3RGVmID0gdGhpcy5fZGVmKSB7XG4gICAgICAgIHJldHVybiBab2RFbnVtLmNyZWF0ZSh0aGlzLm9wdGlvbnMuZmlsdGVyKChvcHQpID0+ICF2YWx1ZXMuaW5jbHVkZXMob3B0KSksIHtcbiAgICAgICAgICAgIC4uLnRoaXMuX2RlZixcbiAgICAgICAgICAgIC4uLm5ld0RlZixcbiAgICAgICAgfSk7XG4gICAgfVxufVxuWm9kRW51bS5jcmVhdGUgPSBjcmVhdGVab2RFbnVtO1xuZXhwb3J0IGNsYXNzIFpvZE5hdGl2ZUVudW0gZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgbmF0aXZlRW51bVZhbHVlcyA9IHV0aWwuZ2V0VmFsaWRFbnVtVmFsdWVzKHRoaXMuX2RlZi52YWx1ZXMpO1xuICAgICAgICBjb25zdCBjdHggPSB0aGlzLl9nZXRPclJldHVybkN0eChpbnB1dCk7XG4gICAgICAgIGlmIChjdHgucGFyc2VkVHlwZSAhPT0gWm9kUGFyc2VkVHlwZS5zdHJpbmcgJiYgY3R4LnBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUubnVtYmVyKSB7XG4gICAgICAgICAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IHV0aWwub2JqZWN0VmFsdWVzKG5hdGl2ZUVudW1WYWx1ZXMpO1xuICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IHV0aWwuam9pblZhbHVlcyhleHBlY3RlZFZhbHVlcyksXG4gICAgICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlLFxuICAgICAgICAgICAgICAgIGNvZGU6IFpvZElzc3VlQ29kZS5pbnZhbGlkX3R5cGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fY2FjaGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2NhY2hlID0gbmV3IFNldCh1dGlsLmdldFZhbGlkRW51bVZhbHVlcyh0aGlzLl9kZWYudmFsdWVzKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLl9jYWNoZS5oYXMoaW5wdXQuZGF0YSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0gdXRpbC5vYmplY3RWYWx1ZXMobmF0aXZlRW51bVZhbHVlcyk7XG4gICAgICAgICAgICBhZGRJc3N1ZVRvQ29udGV4dChjdHgsIHtcbiAgICAgICAgICAgICAgICByZWNlaXZlZDogY3R4LmRhdGEsXG4gICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfZW51bV92YWx1ZSxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBleHBlY3RlZFZhbHVlcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9LKGlucHV0LmRhdGEpO1xuICAgIH1cbiAgICBnZXQgZW51bSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi52YWx1ZXM7XG4gICAgfVxufVxuWm9kTmF0aXZlRW51bS5jcmVhdGUgPSAodmFsdWVzLCBwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZE5hdGl2ZUVudW0oe1xuICAgICAgICB2YWx1ZXM6IHZhbHVlcyxcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2ROYXRpdmVFbnVtLFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNsYXNzIFpvZFByb21pc2UgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICB1bndyYXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWYudHlwZTtcbiAgICB9XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHsgY3R4IH0gPSB0aGlzLl9wcm9jZXNzSW5wdXRQYXJhbXMoaW5wdXQpO1xuICAgICAgICBpZiAoY3R4LnBhcnNlZFR5cGUgIT09IFpvZFBhcnNlZFR5cGUucHJvbWlzZSAmJiBjdHguY29tbW9uLmFzeW5jID09PSBmYWxzZSkge1xuICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgICAgICAgICBleHBlY3RlZDogWm9kUGFyc2VkVHlwZS5wcm9taXNlLFxuICAgICAgICAgICAgICAgIHJlY2VpdmVkOiBjdHgucGFyc2VkVHlwZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcHJvbWlzaWZpZWQgPSBjdHgucGFyc2VkVHlwZSA9PT0gWm9kUGFyc2VkVHlwZS5wcm9taXNlID8gY3R4LmRhdGEgOiBQcm9taXNlLnJlc29sdmUoY3R4LmRhdGEpO1xuICAgICAgICByZXR1cm4gT0socHJvbWlzaWZpZWQudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi50eXBlLnBhcnNlQXN5bmMoZGF0YSwge1xuICAgICAgICAgICAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgICAgICAgICAgIGVycm9yTWFwOiBjdHguY29tbW9uLmNvbnRleHR1YWxFcnJvck1hcCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KSk7XG4gICAgfVxufVxuWm9kUHJvbWlzZS5jcmVhdGUgPSAoc2NoZW1hLCBwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZFByb21pc2Uoe1xuICAgICAgICB0eXBlOiBzY2hlbWEsXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kUHJvbWlzZSxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbmV4cG9ydCBjbGFzcyBab2RFZmZlY3RzIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgaW5uZXJUeXBlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLnNjaGVtYTtcbiAgICB9XG4gICAgc291cmNlVHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5zY2hlbWEuX2RlZi50eXBlTmFtZSA9PT0gWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZEVmZmVjdHNcbiAgICAgICAgICAgID8gdGhpcy5fZGVmLnNjaGVtYS5zb3VyY2VUeXBlKClcbiAgICAgICAgICAgIDogdGhpcy5fZGVmLnNjaGVtYTtcbiAgICB9XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHsgc3RhdHVzLCBjdHggfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgICAgIGNvbnN0IGVmZmVjdCA9IHRoaXMuX2RlZi5lZmZlY3QgfHwgbnVsbDtcbiAgICAgICAgY29uc3QgY2hlY2tDdHggPSB7XG4gICAgICAgICAgICBhZGRJc3N1ZTogKGFyZykgPT4ge1xuICAgICAgICAgICAgICAgIGFkZElzc3VlVG9Db250ZXh0KGN0eCwgYXJnKTtcbiAgICAgICAgICAgICAgICBpZiAoYXJnLmZhdGFsKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cy5hYm9ydCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldCBwYXRoKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjdHgucGF0aDtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICAgIGNoZWNrQ3R4LmFkZElzc3VlID0gY2hlY2tDdHguYWRkSXNzdWUuYmluZChjaGVja0N0eCk7XG4gICAgICAgIGlmIChlZmZlY3QudHlwZSA9PT0gXCJwcmVwcm9jZXNzXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NlZCA9IGVmZmVjdC50cmFuc2Zvcm0oY3R4LmRhdGEsIGNoZWNrQ3R4KTtcbiAgICAgICAgICAgIGlmIChjdHguY29tbW9uLmFzeW5jKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShwcm9jZXNzZWQpLnRoZW4oYXN5bmMgKHByb2Nlc3NlZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHVzLnZhbHVlID09PSBcImFib3J0ZWRcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLl9kZWYuc2NoZW1hLl9wYXJzZUFzeW5jKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHByb2Nlc3NlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBjdHgsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0LnN0YXR1cyA9PT0gXCJhYm9ydGVkXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5zdGF0dXMgPT09IFwiZGlydHlcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBESVJUWShyZXN1bHQudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHVzLnZhbHVlID09PSBcImRpcnR5XCIpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRElSVFkocmVzdWx0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChzdGF0dXMudmFsdWUgPT09IFwiYWJvcnRlZFwiKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9kZWYuc2NoZW1hLl9wYXJzZVN5bmMoe1xuICAgICAgICAgICAgICAgICAgICBkYXRhOiBwcm9jZXNzZWQsXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IGN0eCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0LnN0YXR1cyA9PT0gXCJhYm9ydGVkXCIpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09PSBcImRpcnR5XCIpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBESVJUWShyZXN1bHQudmFsdWUpO1xuICAgICAgICAgICAgICAgIGlmIChzdGF0dXMudmFsdWUgPT09IFwiZGlydHlcIilcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERJUlRZKHJlc3VsdC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZWZmZWN0LnR5cGUgPT09IFwicmVmaW5lbWVudFwiKSB7XG4gICAgICAgICAgICBjb25zdCBleGVjdXRlUmVmaW5lbWVudCA9IChhY2MpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBlZmZlY3QucmVmaW5lbWVudChhY2MsIGNoZWNrQ3R4KTtcbiAgICAgICAgICAgICAgICBpZiAoY3R4LmNvbW1vbi5hc3luYykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkFzeW5jIHJlZmluZW1lbnQgZW5jb3VudGVyZWQgZHVyaW5nIHN5bmNocm9ub3VzIHBhcnNlIG9wZXJhdGlvbi4gVXNlIC5wYXJzZUFzeW5jIGluc3RlYWQuXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmIChjdHguY29tbW9uLmFzeW5jID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlubmVyID0gdGhpcy5fZGVmLnNjaGVtYS5fcGFyc2VTeW5jKHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogY3R4LmRhdGEsXG4gICAgICAgICAgICAgICAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IGN0eCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoaW5uZXIuc3RhdHVzID09PSBcImFib3J0ZWRcIilcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIElOVkFMSUQ7XG4gICAgICAgICAgICAgICAgaWYgKGlubmVyLnN0YXR1cyA9PT0gXCJkaXJ0eVwiKVxuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICAvLyByZXR1cm4gdmFsdWUgaXMgaWdub3JlZFxuICAgICAgICAgICAgICAgIGV4ZWN1dGVSZWZpbmVtZW50KGlubmVyLnZhbHVlKTtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cy52YWx1ZSwgdmFsdWU6IGlubmVyLnZhbHVlIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZGVmLnNjaGVtYS5fcGFyc2VBc3luYyh7IGRhdGE6IGN0eC5kYXRhLCBwYXRoOiBjdHgucGF0aCwgcGFyZW50OiBjdHggfSkudGhlbigoaW5uZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlubmVyLnN0YXR1cyA9PT0gXCJhYm9ydGVkXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlubmVyLnN0YXR1cyA9PT0gXCJkaXJ0eVwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBleGVjdXRlUmVmaW5lbWVudChpbm5lci52YWx1ZSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cy52YWx1ZSwgdmFsdWU6IGlubmVyLnZhbHVlIH07XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChlZmZlY3QudHlwZSA9PT0gXCJ0cmFuc2Zvcm1cIikge1xuICAgICAgICAgICAgaWYgKGN0eC5jb21tb24uYXN5bmMgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmFzZSA9IHRoaXMuX2RlZi5zY2hlbWEuX3BhcnNlU3luYyh7XG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IGN0eC5kYXRhLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBjdHgsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKCFpc1ZhbGlkKGJhc2UpKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBlZmZlY3QudHJhbnNmb3JtKGJhc2UudmFsdWUsIGNoZWNrQ3R4KTtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEFzeW5jaHJvbm91cyB0cmFuc2Zvcm0gZW5jb3VudGVyZWQgZHVyaW5nIHN5bmNocm9ub3VzIHBhcnNlIG9wZXJhdGlvbi4gVXNlIC5wYXJzZUFzeW5jIGluc3RlYWQuYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7IHN0YXR1czogc3RhdHVzLnZhbHVlLCB2YWx1ZTogcmVzdWx0IH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZGVmLnNjaGVtYS5fcGFyc2VBc3luYyh7IGRhdGE6IGN0eC5kYXRhLCBwYXRoOiBjdHgucGF0aCwgcGFyZW50OiBjdHggfSkudGhlbigoYmFzZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzVmFsaWQoYmFzZSkpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShlZmZlY3QudHJhbnNmb3JtKGJhc2UudmFsdWUsIGNoZWNrQ3R4KSkudGhlbigocmVzdWx0KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBzdGF0dXMudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdXRpbC5hc3NlcnROZXZlcihlZmZlY3QpO1xuICAgIH1cbn1cblpvZEVmZmVjdHMuY3JlYXRlID0gKHNjaGVtYSwgZWZmZWN0LCBwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZEVmZmVjdHMoe1xuICAgICAgICBzY2hlbWEsXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kRWZmZWN0cyxcbiAgICAgICAgZWZmZWN0LFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuWm9kRWZmZWN0cy5jcmVhdGVXaXRoUHJlcHJvY2VzcyA9IChwcmVwcm9jZXNzLCBzY2hlbWEsIHBhcmFtcykgPT4ge1xuICAgIHJldHVybiBuZXcgWm9kRWZmZWN0cyh7XG4gICAgICAgIHNjaGVtYSxcbiAgICAgICAgZWZmZWN0OiB7IHR5cGU6IFwicHJlcHJvY2Vzc1wiLCB0cmFuc2Zvcm06IHByZXByb2Nlc3MgfSxcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RFZmZlY3RzLFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IHsgWm9kRWZmZWN0cyBhcyBab2RUcmFuc2Zvcm1lciB9O1xuZXhwb3J0IGNsYXNzIFpvZE9wdGlvbmFsIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHBhcnNlZFR5cGUgPSB0aGlzLl9nZXRUeXBlKGlucHV0KTtcbiAgICAgICAgaWYgKHBhcnNlZFR5cGUgPT09IFpvZFBhcnNlZFR5cGUudW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gT0sodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLmlubmVyVHlwZS5fcGFyc2UoaW5wdXQpO1xuICAgIH1cbiAgICB1bndyYXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWYuaW5uZXJUeXBlO1xuICAgIH1cbn1cblpvZE9wdGlvbmFsLmNyZWF0ZSA9ICh0eXBlLCBwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZE9wdGlvbmFsKHtcbiAgICAgICAgaW5uZXJUeXBlOiB0eXBlLFxuICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZE9wdGlvbmFsLFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNsYXNzIFpvZE51bGxhYmxlIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHBhcnNlZFR5cGUgPSB0aGlzLl9nZXRUeXBlKGlucHV0KTtcbiAgICAgICAgaWYgKHBhcnNlZFR5cGUgPT09IFpvZFBhcnNlZFR5cGUubnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIE9LKG51bGwpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWYuaW5uZXJUeXBlLl9wYXJzZShpbnB1dCk7XG4gICAgfVxuICAgIHVud3JhcCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5pbm5lclR5cGU7XG4gICAgfVxufVxuWm9kTnVsbGFibGUuY3JlYXRlID0gKHR5cGUsIHBhcmFtcykgPT4ge1xuICAgIHJldHVybiBuZXcgWm9kTnVsbGFibGUoe1xuICAgICAgICBpbm5lclR5cGU6IHR5cGUsXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kTnVsbGFibGUsXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG5leHBvcnQgY2xhc3MgWm9kRGVmYXVsdCBleHRlbmRzIFpvZFR5cGUge1xuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBjb25zdCB7IGN0eCB9ID0gdGhpcy5fcHJvY2Vzc0lucHV0UGFyYW1zKGlucHV0KTtcbiAgICAgICAgbGV0IGRhdGEgPSBjdHguZGF0YTtcbiAgICAgICAgaWYgKGN0eC5wYXJzZWRUeXBlID09PSBab2RQYXJzZWRUeXBlLnVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZGF0YSA9IHRoaXMuX2RlZi5kZWZhdWx0VmFsdWUoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLmlubmVyVHlwZS5fcGFyc2Uoe1xuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIHBhdGg6IGN0eC5wYXRoLFxuICAgICAgICAgICAgcGFyZW50OiBjdHgsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZW1vdmVEZWZhdWx0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLmlubmVyVHlwZTtcbiAgICB9XG59XG5ab2REZWZhdWx0LmNyZWF0ZSA9ICh0eXBlLCBwYXJhbXMpID0+IHtcbiAgICByZXR1cm4gbmV3IFpvZERlZmF1bHQoe1xuICAgICAgICBpbm5lclR5cGU6IHR5cGUsXG4gICAgICAgIHR5cGVOYW1lOiBab2RGaXJzdFBhcnR5VHlwZUtpbmQuWm9kRGVmYXVsdCxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiB0eXBlb2YgcGFyYW1zLmRlZmF1bHQgPT09IFwiZnVuY3Rpb25cIiA/IHBhcmFtcy5kZWZhdWx0IDogKCkgPT4gcGFyYW1zLmRlZmF1bHQsXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG5leHBvcnQgY2xhc3MgWm9kQ2F0Y2ggZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgeyBjdHggfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgICAgIC8vIG5ld0N0eCBpcyB1c2VkIHRvIG5vdCBjb2xsZWN0IGlzc3VlcyBmcm9tIGlubmVyIHR5cGVzIGluIGN0eFxuICAgICAgICBjb25zdCBuZXdDdHggPSB7XG4gICAgICAgICAgICAuLi5jdHgsXG4gICAgICAgICAgICBjb21tb246IHtcbiAgICAgICAgICAgICAgICAuLi5jdHguY29tbW9uLFxuICAgICAgICAgICAgICAgIGlzc3VlczogW10sXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9kZWYuaW5uZXJUeXBlLl9wYXJzZSh7XG4gICAgICAgICAgICBkYXRhOiBuZXdDdHguZGF0YSxcbiAgICAgICAgICAgIHBhdGg6IG5ld0N0eC5wYXRoLFxuICAgICAgICAgICAgcGFyZW50OiB7XG4gICAgICAgICAgICAgICAgLi4ubmV3Q3R4LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChpc0FzeW5jKHJlc3VsdCkpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBcInZhbGlkXCIsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiByZXN1bHQuc3RhdHVzID09PSBcInZhbGlkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gcmVzdWx0LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuX2RlZi5jYXRjaFZhbHVlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQgZXJyb3IoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgWm9kRXJyb3IobmV3Q3R4LmNvbW1vbi5pc3N1ZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQ6IG5ld0N0eC5kYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzdGF0dXM6IFwidmFsaWRcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzdWx0LnN0YXR1cyA9PT0gXCJ2YWxpZFwiXG4gICAgICAgICAgICAgICAgICAgID8gcmVzdWx0LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5fZGVmLmNhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0IGVycm9yKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgWm9kRXJyb3IobmV3Q3R4LmNvbW1vbi5pc3N1ZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0OiBuZXdDdHguZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIHJlbW92ZUNhdGNoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLmlubmVyVHlwZTtcbiAgICB9XG59XG5ab2RDYXRjaC5jcmVhdGUgPSAodHlwZSwgcGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2RDYXRjaCh7XG4gICAgICAgIGlubmVyVHlwZTogdHlwZSxcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RDYXRjaCxcbiAgICAgICAgY2F0Y2hWYWx1ZTogdHlwZW9mIHBhcmFtcy5jYXRjaCA9PT0gXCJmdW5jdGlvblwiID8gcGFyYW1zLmNhdGNoIDogKCkgPT4gcGFyYW1zLmNhdGNoLFxuICAgICAgICAuLi5wcm9jZXNzQ3JlYXRlUGFyYW1zKHBhcmFtcyksXG4gICAgfSk7XG59O1xuZXhwb3J0IGNsYXNzIFpvZE5hTiBleHRlbmRzIFpvZFR5cGUge1xuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBjb25zdCBwYXJzZWRUeXBlID0gdGhpcy5fZ2V0VHlwZShpbnB1dCk7XG4gICAgICAgIGlmIChwYXJzZWRUeXBlICE9PSBab2RQYXJzZWRUeXBlLm5hbikge1xuICAgICAgICAgICAgY29uc3QgY3R4ID0gdGhpcy5fZ2V0T3JSZXR1cm5DdHgoaW5wdXQpO1xuICAgICAgICAgICAgYWRkSXNzdWVUb0NvbnRleHQoY3R4LCB7XG4gICAgICAgICAgICAgICAgY29kZTogWm9kSXNzdWVDb2RlLmludmFsaWRfdHlwZSxcbiAgICAgICAgICAgICAgICBleHBlY3RlZDogWm9kUGFyc2VkVHlwZS5uYW4sXG4gICAgICAgICAgICAgICAgcmVjZWl2ZWQ6IGN0eC5wYXJzZWRUeXBlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gSU5WQUxJRDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBzdGF0dXM6IFwidmFsaWRcIiwgdmFsdWU6IGlucHV0LmRhdGEgfTtcbiAgICB9XG59XG5ab2ROYU4uY3JlYXRlID0gKHBhcmFtcykgPT4ge1xuICAgIHJldHVybiBuZXcgWm9kTmFOKHtcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2ROYU4sXG4gICAgICAgIC4uLnByb2Nlc3NDcmVhdGVQYXJhbXMocGFyYW1zKSxcbiAgICB9KTtcbn07XG5leHBvcnQgY29uc3QgQlJBTkQgPSBTeW1ib2woXCJ6b2RfYnJhbmRcIik7XG5leHBvcnQgY2xhc3MgWm9kQnJhbmRlZCBleHRlbmRzIFpvZFR5cGUge1xuICAgIF9wYXJzZShpbnB1dCkge1xuICAgICAgICBjb25zdCB7IGN0eCB9ID0gdGhpcy5fcHJvY2Vzc0lucHV0UGFyYW1zKGlucHV0KTtcbiAgICAgICAgY29uc3QgZGF0YSA9IGN0eC5kYXRhO1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLnR5cGUuX3BhcnNlKHtcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICAgIHBhcmVudDogY3R4LFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgdW53cmFwKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLnR5cGU7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIFpvZFBpcGVsaW5lIGV4dGVuZHMgWm9kVHlwZSB7XG4gICAgX3BhcnNlKGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHsgc3RhdHVzLCBjdHggfSA9IHRoaXMuX3Byb2Nlc3NJbnB1dFBhcmFtcyhpbnB1dCk7XG4gICAgICAgIGlmIChjdHguY29tbW9uLmFzeW5jKSB7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVBc3luYyA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpblJlc3VsdCA9IGF3YWl0IHRoaXMuX2RlZi5pbi5fcGFyc2VBc3luYyh7XG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IGN0eC5kYXRhLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBjdHgsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKGluUmVzdWx0LnN0YXR1cyA9PT0gXCJhYm9ydGVkXCIpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICAgICAgICAgIGlmIChpblJlc3VsdC5zdGF0dXMgPT09IFwiZGlydHlcIikge1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXMuZGlydHkoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERJUlRZKGluUmVzdWx0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9kZWYub3V0Ll9wYXJzZUFzeW5jKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGluUmVzdWx0LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IGN0eCxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiBoYW5kbGVBc3luYygpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaW5SZXN1bHQgPSB0aGlzLl9kZWYuaW4uX3BhcnNlU3luYyh7XG4gICAgICAgICAgICAgICAgZGF0YTogY3R4LmRhdGEsXG4gICAgICAgICAgICAgICAgcGF0aDogY3R4LnBhdGgsXG4gICAgICAgICAgICAgICAgcGFyZW50OiBjdHgsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChpblJlc3VsdC5zdGF0dXMgPT09IFwiYWJvcnRlZFwiKVxuICAgICAgICAgICAgICAgIHJldHVybiBJTlZBTElEO1xuICAgICAgICAgICAgaWYgKGluUmVzdWx0LnN0YXR1cyA9PT0gXCJkaXJ0eVwiKSB7XG4gICAgICAgICAgICAgICAgc3RhdHVzLmRpcnR5KCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBcImRpcnR5XCIsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpblJlc3VsdC52YWx1ZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RlZi5vdXQuX3BhcnNlU3luYyh7XG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IGluUmVzdWx0LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBjdHgucGF0aCxcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBjdHgsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3RhdGljIGNyZWF0ZShhLCBiKSB7XG4gICAgICAgIHJldHVybiBuZXcgWm9kUGlwZWxpbmUoe1xuICAgICAgICAgICAgaW46IGEsXG4gICAgICAgICAgICBvdXQ6IGIsXG4gICAgICAgICAgICB0eXBlTmFtZTogWm9kRmlyc3RQYXJ0eVR5cGVLaW5kLlpvZFBpcGVsaW5lLFxuICAgICAgICB9KTtcbiAgICB9XG59XG5leHBvcnQgY2xhc3MgWm9kUmVhZG9ubHkgZXh0ZW5kcyBab2RUeXBlIHtcbiAgICBfcGFyc2UoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fZGVmLmlubmVyVHlwZS5fcGFyc2UoaW5wdXQpO1xuICAgICAgICBjb25zdCBmcmVlemUgPSAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWQoZGF0YSkpIHtcbiAgICAgICAgICAgICAgICBkYXRhLnZhbHVlID0gT2JqZWN0LmZyZWV6ZShkYXRhLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gaXNBc3luYyhyZXN1bHQpID8gcmVzdWx0LnRoZW4oKGRhdGEpID0+IGZyZWV6ZShkYXRhKSkgOiBmcmVlemUocmVzdWx0KTtcbiAgICB9XG4gICAgdW53cmFwKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmLmlubmVyVHlwZTtcbiAgICB9XG59XG5ab2RSZWFkb25seS5jcmVhdGUgPSAodHlwZSwgcGFyYW1zKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBab2RSZWFkb25seSh7XG4gICAgICAgIGlubmVyVHlwZTogdHlwZSxcbiAgICAgICAgdHlwZU5hbWU6IFpvZEZpcnN0UGFydHlUeXBlS2luZC5ab2RSZWFkb25seSxcbiAgICAgICAgLi4ucHJvY2Vzc0NyZWF0ZVBhcmFtcyhwYXJhbXMpLFxuICAgIH0pO1xufTtcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLy8vLy8vLy8gICAgICAgICAgICAgICAgICAgIC8vLy8vLy8vLy9cbi8vLy8vLy8vLy8gICAgICB6LmN1c3RvbSAgICAgIC8vLy8vLy8vLy9cbi8vLy8vLy8vLy8gICAgICAgICAgICAgICAgICAgIC8vLy8vLy8vLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbmZ1bmN0aW9uIGNsZWFuUGFyYW1zKHBhcmFtcywgZGF0YSkge1xuICAgIGNvbnN0IHAgPSB0eXBlb2YgcGFyYW1zID09PSBcImZ1bmN0aW9uXCIgPyBwYXJhbXMoZGF0YSkgOiB0eXBlb2YgcGFyYW1zID09PSBcInN0cmluZ1wiID8geyBtZXNzYWdlOiBwYXJhbXMgfSA6IHBhcmFtcztcbiAgICBjb25zdCBwMiA9IHR5cGVvZiBwID09PSBcInN0cmluZ1wiID8geyBtZXNzYWdlOiBwIH0gOiBwO1xuICAgIHJldHVybiBwMjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjdXN0b20oY2hlY2ssIF9wYXJhbXMgPSB7fSwgXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKlxuICogUGFzcyBgZmF0YWxgIGludG8gdGhlIHBhcmFtcyBvYmplY3QgaW5zdGVhZDpcbiAqXG4gKiBgYGB0c1xuICogei5zdHJpbmcoKS5jdXN0b20oKHZhbCkgPT4gdmFsLmxlbmd0aCA+IDUsIHsgZmF0YWw6IGZhbHNlIH0pXG4gKiBgYGBcbiAqXG4gKi9cbmZhdGFsKSB7XG4gICAgaWYgKGNoZWNrKVxuICAgICAgICByZXR1cm4gWm9kQW55LmNyZWF0ZSgpLnN1cGVyUmVmaW5lKChkYXRhLCBjdHgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHIgPSBjaGVjayhkYXRhKTtcbiAgICAgICAgICAgIGlmIChyIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiByLnRoZW4oKHIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJhbXMgPSBjbGVhblBhcmFtcyhfcGFyYW1zLCBkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IF9mYXRhbCA9IHBhcmFtcy5mYXRhbCA/PyBmYXRhbCA/PyB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3R4LmFkZElzc3VlKHsgY29kZTogXCJjdXN0b21cIiwgLi4ucGFyYW1zLCBmYXRhbDogX2ZhdGFsIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJhbXMgPSBjbGVhblBhcmFtcyhfcGFyYW1zLCBkYXRhKTtcbiAgICAgICAgICAgICAgICBjb25zdCBfZmF0YWwgPSBwYXJhbXMuZmF0YWwgPz8gZmF0YWwgPz8gdHJ1ZTtcbiAgICAgICAgICAgICAgICBjdHguYWRkSXNzdWUoeyBjb2RlOiBcImN1c3RvbVwiLCAuLi5wYXJhbXMsIGZhdGFsOiBfZmF0YWwgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0pO1xuICAgIHJldHVybiBab2RBbnkuY3JlYXRlKCk7XG59XG5leHBvcnQgeyBab2RUeXBlIGFzIFNjaGVtYSwgWm9kVHlwZSBhcyBab2RTY2hlbWEgfTtcbmV4cG9ydCBjb25zdCBsYXRlID0ge1xuICAgIG9iamVjdDogWm9kT2JqZWN0LmxhenljcmVhdGUsXG59O1xuZXhwb3J0IHZhciBab2RGaXJzdFBhcnR5VHlwZUtpbmQ7XG4oZnVuY3Rpb24gKFpvZEZpcnN0UGFydHlUeXBlS2luZCkge1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZFN0cmluZ1wiXSA9IFwiWm9kU3RyaW5nXCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kTnVtYmVyXCJdID0gXCJab2ROdW1iZXJcIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2ROYU5cIl0gPSBcIlpvZE5hTlwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZEJpZ0ludFwiXSA9IFwiWm9kQmlnSW50XCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kQm9vbGVhblwiXSA9IFwiWm9kQm9vbGVhblwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZERhdGVcIl0gPSBcIlpvZERhdGVcIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RTeW1ib2xcIl0gPSBcIlpvZFN5bWJvbFwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZFVuZGVmaW5lZFwiXSA9IFwiWm9kVW5kZWZpbmVkXCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kTnVsbFwiXSA9IFwiWm9kTnVsbFwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZEFueVwiXSA9IFwiWm9kQW55XCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kVW5rbm93blwiXSA9IFwiWm9kVW5rbm93blwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZE5ldmVyXCJdID0gXCJab2ROZXZlclwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZFZvaWRcIl0gPSBcIlpvZFZvaWRcIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RBcnJheVwiXSA9IFwiWm9kQXJyYXlcIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RPYmplY3RcIl0gPSBcIlpvZE9iamVjdFwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZFVuaW9uXCJdID0gXCJab2RVbmlvblwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZERpc2NyaW1pbmF0ZWRVbmlvblwiXSA9IFwiWm9kRGlzY3JpbWluYXRlZFVuaW9uXCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kSW50ZXJzZWN0aW9uXCJdID0gXCJab2RJbnRlcnNlY3Rpb25cIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RUdXBsZVwiXSA9IFwiWm9kVHVwbGVcIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RSZWNvcmRcIl0gPSBcIlpvZFJlY29yZFwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZE1hcFwiXSA9IFwiWm9kTWFwXCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kU2V0XCJdID0gXCJab2RTZXRcIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RGdW5jdGlvblwiXSA9IFwiWm9kRnVuY3Rpb25cIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RMYXp5XCJdID0gXCJab2RMYXp5XCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kTGl0ZXJhbFwiXSA9IFwiWm9kTGl0ZXJhbFwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZEVudW1cIl0gPSBcIlpvZEVudW1cIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RFZmZlY3RzXCJdID0gXCJab2RFZmZlY3RzXCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kTmF0aXZlRW51bVwiXSA9IFwiWm9kTmF0aXZlRW51bVwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZE9wdGlvbmFsXCJdID0gXCJab2RPcHRpb25hbFwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZE51bGxhYmxlXCJdID0gXCJab2ROdWxsYWJsZVwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZERlZmF1bHRcIl0gPSBcIlpvZERlZmF1bHRcIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RDYXRjaFwiXSA9IFwiWm9kQ2F0Y2hcIjtcbiAgICBab2RGaXJzdFBhcnR5VHlwZUtpbmRbXCJab2RQcm9taXNlXCJdID0gXCJab2RQcm9taXNlXCI7XG4gICAgWm9kRmlyc3RQYXJ0eVR5cGVLaW5kW1wiWm9kQnJhbmRlZFwiXSA9IFwiWm9kQnJhbmRlZFwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZFBpcGVsaW5lXCJdID0gXCJab2RQaXBlbGluZVwiO1xuICAgIFpvZEZpcnN0UGFydHlUeXBlS2luZFtcIlpvZFJlYWRvbmx5XCJdID0gXCJab2RSZWFkb25seVwiO1xufSkoWm9kRmlyc3RQYXJ0eVR5cGVLaW5kIHx8IChab2RGaXJzdFBhcnR5VHlwZUtpbmQgPSB7fSkpO1xuLy8gcmVxdWlyZXMgVFMgNC40K1xuY2xhc3MgQ2xhc3Mge1xuICAgIGNvbnN0cnVjdG9yKC4uLl8pIHsgfVxufVxuY29uc3QgaW5zdGFuY2VPZlR5cGUgPSAoXG4vLyBjb25zdCBpbnN0YW5jZU9mVHlwZSA9IDxUIGV4dGVuZHMgbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55PihcbmNscywgcGFyYW1zID0ge1xuICAgIG1lc3NhZ2U6IGBJbnB1dCBub3QgaW5zdGFuY2Ugb2YgJHtjbHMubmFtZX1gLFxufSkgPT4gY3VzdG9tKChkYXRhKSA9PiBkYXRhIGluc3RhbmNlb2YgY2xzLCBwYXJhbXMpO1xuY29uc3Qgc3RyaW5nVHlwZSA9IFpvZFN0cmluZy5jcmVhdGU7XG5jb25zdCBudW1iZXJUeXBlID0gWm9kTnVtYmVyLmNyZWF0ZTtcbmNvbnN0IG5hblR5cGUgPSBab2ROYU4uY3JlYXRlO1xuY29uc3QgYmlnSW50VHlwZSA9IFpvZEJpZ0ludC5jcmVhdGU7XG5jb25zdCBib29sZWFuVHlwZSA9IFpvZEJvb2xlYW4uY3JlYXRlO1xuY29uc3QgZGF0ZVR5cGUgPSBab2REYXRlLmNyZWF0ZTtcbmNvbnN0IHN5bWJvbFR5cGUgPSBab2RTeW1ib2wuY3JlYXRlO1xuY29uc3QgdW5kZWZpbmVkVHlwZSA9IFpvZFVuZGVmaW5lZC5jcmVhdGU7XG5jb25zdCBudWxsVHlwZSA9IFpvZE51bGwuY3JlYXRlO1xuY29uc3QgYW55VHlwZSA9IFpvZEFueS5jcmVhdGU7XG5jb25zdCB1bmtub3duVHlwZSA9IFpvZFVua25vd24uY3JlYXRlO1xuY29uc3QgbmV2ZXJUeXBlID0gWm9kTmV2ZXIuY3JlYXRlO1xuY29uc3Qgdm9pZFR5cGUgPSBab2RWb2lkLmNyZWF0ZTtcbmNvbnN0IGFycmF5VHlwZSA9IFpvZEFycmF5LmNyZWF0ZTtcbmNvbnN0IG9iamVjdFR5cGUgPSBab2RPYmplY3QuY3JlYXRlO1xuY29uc3Qgc3RyaWN0T2JqZWN0VHlwZSA9IFpvZE9iamVjdC5zdHJpY3RDcmVhdGU7XG5jb25zdCB1bmlvblR5cGUgPSBab2RVbmlvbi5jcmVhdGU7XG5jb25zdCBkaXNjcmltaW5hdGVkVW5pb25UeXBlID0gWm9kRGlzY3JpbWluYXRlZFVuaW9uLmNyZWF0ZTtcbmNvbnN0IGludGVyc2VjdGlvblR5cGUgPSBab2RJbnRlcnNlY3Rpb24uY3JlYXRlO1xuY29uc3QgdHVwbGVUeXBlID0gWm9kVHVwbGUuY3JlYXRlO1xuY29uc3QgcmVjb3JkVHlwZSA9IFpvZFJlY29yZC5jcmVhdGU7XG5jb25zdCBtYXBUeXBlID0gWm9kTWFwLmNyZWF0ZTtcbmNvbnN0IHNldFR5cGUgPSBab2RTZXQuY3JlYXRlO1xuY29uc3QgZnVuY3Rpb25UeXBlID0gWm9kRnVuY3Rpb24uY3JlYXRlO1xuY29uc3QgbGF6eVR5cGUgPSBab2RMYXp5LmNyZWF0ZTtcbmNvbnN0IGxpdGVyYWxUeXBlID0gWm9kTGl0ZXJhbC5jcmVhdGU7XG5jb25zdCBlbnVtVHlwZSA9IFpvZEVudW0uY3JlYXRlO1xuY29uc3QgbmF0aXZlRW51bVR5cGUgPSBab2ROYXRpdmVFbnVtLmNyZWF0ZTtcbmNvbnN0IHByb21pc2VUeXBlID0gWm9kUHJvbWlzZS5jcmVhdGU7XG5jb25zdCBlZmZlY3RzVHlwZSA9IFpvZEVmZmVjdHMuY3JlYXRlO1xuY29uc3Qgb3B0aW9uYWxUeXBlID0gWm9kT3B0aW9uYWwuY3JlYXRlO1xuY29uc3QgbnVsbGFibGVUeXBlID0gWm9kTnVsbGFibGUuY3JlYXRlO1xuY29uc3QgcHJlcHJvY2Vzc1R5cGUgPSBab2RFZmZlY3RzLmNyZWF0ZVdpdGhQcmVwcm9jZXNzO1xuY29uc3QgcGlwZWxpbmVUeXBlID0gWm9kUGlwZWxpbmUuY3JlYXRlO1xuY29uc3Qgb3N0cmluZyA9ICgpID0+IHN0cmluZ1R5cGUoKS5vcHRpb25hbCgpO1xuY29uc3Qgb251bWJlciA9ICgpID0+IG51bWJlclR5cGUoKS5vcHRpb25hbCgpO1xuY29uc3Qgb2Jvb2xlYW4gPSAoKSA9PiBib29sZWFuVHlwZSgpLm9wdGlvbmFsKCk7XG5leHBvcnQgY29uc3QgY29lcmNlID0ge1xuICAgIHN0cmluZzogKChhcmcpID0+IFpvZFN0cmluZy5jcmVhdGUoeyAuLi5hcmcsIGNvZXJjZTogdHJ1ZSB9KSksXG4gICAgbnVtYmVyOiAoKGFyZykgPT4gWm9kTnVtYmVyLmNyZWF0ZSh7IC4uLmFyZywgY29lcmNlOiB0cnVlIH0pKSxcbiAgICBib29sZWFuOiAoKGFyZykgPT4gWm9kQm9vbGVhbi5jcmVhdGUoe1xuICAgICAgICAuLi5hcmcsXG4gICAgICAgIGNvZXJjZTogdHJ1ZSxcbiAgICB9KSksXG4gICAgYmlnaW50OiAoKGFyZykgPT4gWm9kQmlnSW50LmNyZWF0ZSh7IC4uLmFyZywgY29lcmNlOiB0cnVlIH0pKSxcbiAgICBkYXRlOiAoKGFyZykgPT4gWm9kRGF0ZS5jcmVhdGUoeyAuLi5hcmcsIGNvZXJjZTogdHJ1ZSB9KSksXG59O1xuZXhwb3J0IHsgYW55VHlwZSBhcyBhbnksIGFycmF5VHlwZSBhcyBhcnJheSwgYmlnSW50VHlwZSBhcyBiaWdpbnQsIGJvb2xlYW5UeXBlIGFzIGJvb2xlYW4sIGRhdGVUeXBlIGFzIGRhdGUsIGRpc2NyaW1pbmF0ZWRVbmlvblR5cGUgYXMgZGlzY3JpbWluYXRlZFVuaW9uLCBlZmZlY3RzVHlwZSBhcyBlZmZlY3QsIGVudW1UeXBlIGFzIGVudW0sIGZ1bmN0aW9uVHlwZSBhcyBmdW5jdGlvbiwgaW5zdGFuY2VPZlR5cGUgYXMgaW5zdGFuY2VvZiwgaW50ZXJzZWN0aW9uVHlwZSBhcyBpbnRlcnNlY3Rpb24sIGxhenlUeXBlIGFzIGxhenksIGxpdGVyYWxUeXBlIGFzIGxpdGVyYWwsIG1hcFR5cGUgYXMgbWFwLCBuYW5UeXBlIGFzIG5hbiwgbmF0aXZlRW51bVR5cGUgYXMgbmF0aXZlRW51bSwgbmV2ZXJUeXBlIGFzIG5ldmVyLCBudWxsVHlwZSBhcyBudWxsLCBudWxsYWJsZVR5cGUgYXMgbnVsbGFibGUsIG51bWJlclR5cGUgYXMgbnVtYmVyLCBvYmplY3RUeXBlIGFzIG9iamVjdCwgb2Jvb2xlYW4sIG9udW1iZXIsIG9wdGlvbmFsVHlwZSBhcyBvcHRpb25hbCwgb3N0cmluZywgcGlwZWxpbmVUeXBlIGFzIHBpcGVsaW5lLCBwcmVwcm9jZXNzVHlwZSBhcyBwcmVwcm9jZXNzLCBwcm9taXNlVHlwZSBhcyBwcm9taXNlLCByZWNvcmRUeXBlIGFzIHJlY29yZCwgc2V0VHlwZSBhcyBzZXQsIHN0cmljdE9iamVjdFR5cGUgYXMgc3RyaWN0T2JqZWN0LCBzdHJpbmdUeXBlIGFzIHN0cmluZywgc3ltYm9sVHlwZSBhcyBzeW1ib2wsIGVmZmVjdHNUeXBlIGFzIHRyYW5zZm9ybWVyLCB0dXBsZVR5cGUgYXMgdHVwbGUsIHVuZGVmaW5lZFR5cGUgYXMgdW5kZWZpbmVkLCB1bmlvblR5cGUgYXMgdW5pb24sIHVua25vd25UeXBlIGFzIHVua25vd24sIHZvaWRUeXBlIGFzIHZvaWQsIH07XG5leHBvcnQgY29uc3QgTkVWRVIgPSBJTlZBTElEO1xuIl0sIm5hbWVzIjpbIlpvZEVycm9yIiwiWm9kSXNzdWVDb2RlIiwiZGVmYXVsdEVycm9yTWFwIiwiZ2V0RXJyb3JNYXAiLCJlcnJvclV0aWwiLCJESVJUWSIsIklOVkFMSUQiLCJPSyIsIlBhcnNlU3RhdHVzIiwiYWRkSXNzdWVUb0NvbnRleHQiLCJpc0Fib3J0ZWQiLCJpc0FzeW5jIiwiaXNEaXJ0eSIsImlzVmFsaWQiLCJtYWtlSXNzdWUiLCJ1dGlsIiwiWm9kUGFyc2VkVHlwZSIsImdldFBhcnNlZFR5cGUiLCJQYXJzZUlucHV0TGF6eVBhdGgiLCJwYXJlbnQiLCJ2YWx1ZSIsInBhdGgiLCJrZXkiLCJfY2FjaGVkUGF0aCIsImRhdGEiLCJfcGF0aCIsIl9rZXkiLCJsZW5ndGgiLCJBcnJheSIsImlzQXJyYXkiLCJwdXNoIiwiaGFuZGxlUmVzdWx0IiwiY3R4IiwicmVzdWx0Iiwic3VjY2VzcyIsImNvbW1vbiIsImlzc3VlcyIsIkVycm9yIiwiZXJyb3IiLCJfZXJyb3IiLCJwcm9jZXNzQ3JlYXRlUGFyYW1zIiwicGFyYW1zIiwiZXJyb3JNYXAiLCJpbnZhbGlkX3R5cGVfZXJyb3IiLCJyZXF1aXJlZF9lcnJvciIsImRlc2NyaXB0aW9uIiwiY3VzdG9tTWFwIiwiaXNzIiwibWVzc2FnZSIsImNvZGUiLCJkZWZhdWx0RXJyb3IiLCJab2RUeXBlIiwiX2RlZiIsIl9nZXRUeXBlIiwiaW5wdXQiLCJfZ2V0T3JSZXR1cm5DdHgiLCJwYXJzZWRUeXBlIiwic2NoZW1hRXJyb3JNYXAiLCJfcHJvY2Vzc0lucHV0UGFyYW1zIiwic3RhdHVzIiwiX3BhcnNlU3luYyIsIl9wYXJzZSIsIl9wYXJzZUFzeW5jIiwiUHJvbWlzZSIsInJlc29sdmUiLCJwYXJzZSIsInNhZmVQYXJzZSIsImFzeW5jIiwiY29udGV4dHVhbEVycm9yTWFwIiwiZXJyIiwidG9Mb3dlckNhc2UiLCJpbmNsdWRlcyIsInRoZW4iLCJwYXJzZUFzeW5jIiwic2FmZVBhcnNlQXN5bmMiLCJtYXliZUFzeW5jUmVzdWx0IiwicmVmaW5lIiwiY2hlY2siLCJnZXRJc3N1ZVByb3BlcnRpZXMiLCJ2YWwiLCJfcmVmaW5lbWVudCIsInNldEVycm9yIiwiYWRkSXNzdWUiLCJjdXN0b20iLCJyZWZpbmVtZW50IiwicmVmaW5lbWVudERhdGEiLCJab2RFZmZlY3RzIiwic2NoZW1hIiwidHlwZU5hbWUiLCJab2RGaXJzdFBhcnR5VHlwZUtpbmQiLCJlZmZlY3QiLCJ0eXBlIiwic3VwZXJSZWZpbmUiLCJkZWYiLCJzcGEiLCJiaW5kIiwib3B0aW9uYWwiLCJudWxsYWJsZSIsIm51bGxpc2giLCJhcnJheSIsInByb21pc2UiLCJvciIsImFuZCIsInRyYW5zZm9ybSIsImJyYW5kIiwiZGVmYXVsdCIsImNhdGNoIiwiZGVzY3JpYmUiLCJwaXBlIiwicmVhZG9ubHkiLCJpc051bGxhYmxlIiwiaXNPcHRpb25hbCIsInZlcnNpb24iLCJ2ZW5kb3IiLCJ2YWxpZGF0ZSIsIlpvZE9wdGlvbmFsIiwiY3JlYXRlIiwiWm9kTnVsbGFibGUiLCJab2RBcnJheSIsIlpvZFByb21pc2UiLCJvcHRpb24iLCJab2RVbmlvbiIsImluY29taW5nIiwiWm9kSW50ZXJzZWN0aW9uIiwiZGVmYXVsdFZhbHVlRnVuYyIsIlpvZERlZmF1bHQiLCJpbm5lclR5cGUiLCJkZWZhdWx0VmFsdWUiLCJab2RCcmFuZGVkIiwiY2F0Y2hWYWx1ZUZ1bmMiLCJab2RDYXRjaCIsImNhdGNoVmFsdWUiLCJUaGlzIiwidGFyZ2V0IiwiWm9kUGlwZWxpbmUiLCJab2RSZWFkb25seSIsInVuZGVmaW5lZCIsImN1aWRSZWdleCIsImN1aWQyUmVnZXgiLCJ1bGlkUmVnZXgiLCJ1dWlkUmVnZXgiLCJuYW5vaWRSZWdleCIsImp3dFJlZ2V4IiwiZHVyYXRpb25SZWdleCIsImVtYWlsUmVnZXgiLCJfZW1vamlSZWdleCIsImVtb2ppUmVnZXgiLCJpcHY0UmVnZXgiLCJpcHY0Q2lkclJlZ2V4IiwiaXB2NlJlZ2V4IiwiaXB2NkNpZHJSZWdleCIsImJhc2U2NFJlZ2V4IiwiYmFzZTY0dXJsUmVnZXgiLCJkYXRlUmVnZXhTb3VyY2UiLCJkYXRlUmVnZXgiLCJSZWdFeHAiLCJ0aW1lUmVnZXhTb3VyY2UiLCJhcmdzIiwic2Vjb25kc1JlZ2V4U291cmNlIiwicHJlY2lzaW9uIiwic2Vjb25kc1F1YW50aWZpZXIiLCJ0aW1lUmVnZXgiLCJkYXRldGltZVJlZ2V4IiwicmVnZXgiLCJvcHRzIiwibG9jYWwiLCJvZmZzZXQiLCJqb2luIiwiaXNWYWxpZElQIiwiaXAiLCJ0ZXN0IiwiaXNWYWxpZEpXVCIsImp3dCIsImFsZyIsImhlYWRlciIsInNwbGl0IiwiYmFzZTY0IiwicmVwbGFjZSIsInBhZEVuZCIsImRlY29kZWQiLCJKU09OIiwiYXRvYiIsInR5cCIsImlzVmFsaWRDaWRyIiwiWm9kU3RyaW5nIiwiY29lcmNlIiwiU3RyaW5nIiwic3RyaW5nIiwiaW52YWxpZF90eXBlIiwiZXhwZWN0ZWQiLCJyZWNlaXZlZCIsImNoZWNrcyIsImtpbmQiLCJ0b29fc21hbGwiLCJtaW5pbXVtIiwiaW5jbHVzaXZlIiwiZXhhY3QiLCJkaXJ0eSIsInRvb19iaWciLCJtYXhpbXVtIiwidG9vQmlnIiwidG9vU21hbGwiLCJ2YWxpZGF0aW9uIiwiaW52YWxpZF9zdHJpbmciLCJVUkwiLCJsYXN0SW5kZXgiLCJ0ZXN0UmVzdWx0IiwidHJpbSIsInBvc2l0aW9uIiwidG9VcHBlckNhc2UiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJhc3NlcnROZXZlciIsIl9yZWdleCIsImVyclRvT2JqIiwiX2FkZENoZWNrIiwiZW1haWwiLCJ1cmwiLCJlbW9qaSIsInV1aWQiLCJuYW5vaWQiLCJjdWlkIiwiY3VpZDIiLCJ1bGlkIiwiYmFzZTY0dXJsIiwib3B0aW9ucyIsImNpZHIiLCJkYXRldGltZSIsImRhdGUiLCJ0aW1lIiwiZHVyYXRpb24iLCJtaW4iLCJtaW5MZW5ndGgiLCJtYXgiLCJtYXhMZW5ndGgiLCJsZW4iLCJub25lbXB0eSIsImlzRGF0ZXRpbWUiLCJmaW5kIiwiY2giLCJpc0RhdGUiLCJpc1RpbWUiLCJpc0R1cmF0aW9uIiwiaXNFbWFpbCIsImlzVVJMIiwiaXNFbW9qaSIsImlzVVVJRCIsImlzTkFOT0lEIiwiaXNDVUlEIiwiaXNDVUlEMiIsImlzVUxJRCIsImlzSVAiLCJpc0NJRFIiLCJpc0Jhc2U2NCIsImlzQmFzZTY0dXJsIiwiZmxvYXRTYWZlUmVtYWluZGVyIiwic3RlcCIsInZhbERlY0NvdW50IiwidG9TdHJpbmciLCJzdGVwRGVjQ291bnQiLCJkZWNDb3VudCIsInZhbEludCIsIk51bWJlciIsInBhcnNlSW50IiwidG9GaXhlZCIsInN0ZXBJbnQiLCJab2ROdW1iZXIiLCJhcmd1bWVudHMiLCJndGUiLCJsdGUiLCJtdWx0aXBsZU9mIiwibnVtYmVyIiwiaXNJbnRlZ2VyIiwibm90X211bHRpcGxlX29mIiwiaXNGaW5pdGUiLCJub3RfZmluaXRlIiwic2V0TGltaXQiLCJndCIsImx0IiwiaW50IiwicG9zaXRpdmUiLCJuZWdhdGl2ZSIsIm5vbnBvc2l0aXZlIiwibm9ubmVnYXRpdmUiLCJmaW5pdGUiLCJzYWZlIiwiTUlOX1NBRkVfSU5URUdFUiIsIk1BWF9TQUZFX0lOVEVHRVIiLCJtaW5WYWx1ZSIsIm1heFZhbHVlIiwiaXNJbnQiLCJab2RCaWdJbnQiLCJCaWdJbnQiLCJfZ2V0SW52YWxpZElucHV0IiwiYmlnaW50IiwiWm9kQm9vbGVhbiIsIkJvb2xlYW4iLCJib29sZWFuIiwiWm9kRGF0ZSIsIkRhdGUiLCJpc05hTiIsImdldFRpbWUiLCJpbnZhbGlkX2RhdGUiLCJtaW5EYXRlIiwibWF4RGF0ZSIsIlpvZFN5bWJvbCIsInN5bWJvbCIsIlpvZFVuZGVmaW5lZCIsIlpvZE51bGwiLCJudWxsIiwiWm9kQW55IiwiX2FueSIsIlpvZFVua25vd24iLCJfdW5rbm93biIsIlpvZE5ldmVyIiwibmV2ZXIiLCJab2RWb2lkIiwidm9pZCIsImV4YWN0TGVuZ3RoIiwiYWxsIiwibWFwIiwiaXRlbSIsImkiLCJtZXJnZUFycmF5IiwiZWxlbWVudCIsImRlZXBQYXJ0aWFsaWZ5IiwiWm9kT2JqZWN0IiwibmV3U2hhcGUiLCJzaGFwZSIsImZpZWxkU2NoZW1hIiwidW53cmFwIiwiWm9kVHVwbGUiLCJpdGVtcyIsIl9jYWNoZWQiLCJub25zdHJpY3QiLCJwYXNzdGhyb3VnaCIsImF1Z21lbnQiLCJleHRlbmQiLCJfZ2V0Q2FjaGVkIiwia2V5cyIsIm9iamVjdEtleXMiLCJvYmplY3QiLCJzaGFwZUtleXMiLCJleHRyYUtleXMiLCJjYXRjaGFsbCIsInVua25vd25LZXlzIiwicGFpcnMiLCJrZXlWYWxpZGF0b3IiLCJhbHdheXNTZXQiLCJ1bnJlY29nbml6ZWRfa2V5cyIsInN5bmNQYWlycyIsInBhaXIiLCJtZXJnZU9iamVjdFN5bmMiLCJzdHJpY3QiLCJpc3N1ZSIsInN0cmlwIiwiYXVnbWVudGF0aW9uIiwibWVyZ2UiLCJtZXJnaW5nIiwibWVyZ2VkIiwic2V0S2V5IiwiaW5kZXgiLCJwaWNrIiwibWFzayIsIm9taXQiLCJkZWVwUGFydGlhbCIsInBhcnRpYWwiLCJyZXF1aXJlZCIsIm5ld0ZpZWxkIiwia2V5b2YiLCJjcmVhdGVab2RFbnVtIiwic3RyaWN0Q3JlYXRlIiwibGF6eWNyZWF0ZSIsImhhbmRsZVJlc3VsdHMiLCJyZXN1bHRzIiwidW5pb25FcnJvcnMiLCJpbnZhbGlkX3VuaW9uIiwiY2hpbGRDdHgiLCJ0eXBlcyIsImdldERpc2NyaW1pbmF0b3IiLCJab2RMYXp5IiwiWm9kTGl0ZXJhbCIsIlpvZEVudW0iLCJab2ROYXRpdmVFbnVtIiwib2JqZWN0VmFsdWVzIiwiZW51bSIsIlpvZERpc2NyaW1pbmF0ZWRVbmlvbiIsImRpc2NyaW1pbmF0b3IiLCJkaXNjcmltaW5hdG9yVmFsdWUiLCJvcHRpb25zTWFwIiwiZ2V0IiwiaW52YWxpZF91bmlvbl9kaXNjcmltaW5hdG9yIiwiZnJvbSIsIk1hcCIsImRpc2NyaW1pbmF0b3JWYWx1ZXMiLCJoYXMiLCJzZXQiLCJtZXJnZVZhbHVlcyIsImEiLCJiIiwiYVR5cGUiLCJiVHlwZSIsInZhbGlkIiwiYktleXMiLCJzaGFyZWRLZXlzIiwiZmlsdGVyIiwiaW5kZXhPZiIsIm5ld09iaiIsInNoYXJlZFZhbHVlIiwibmV3QXJyYXkiLCJpdGVtQSIsIml0ZW1CIiwiaGFuZGxlUGFyc2VkIiwicGFyc2VkTGVmdCIsInBhcnNlZFJpZ2h0IiwiaW52YWxpZF9pbnRlcnNlY3Rpb25fdHlwZXMiLCJsZWZ0IiwicmlnaHQiLCJyZXN0IiwiaXRlbUluZGV4IiwieCIsInNjaGVtYXMiLCJab2RSZWNvcmQiLCJrZXlTY2hlbWEiLCJrZXlUeXBlIiwidmFsdWVTY2hlbWEiLCJ2YWx1ZVR5cGUiLCJtZXJnZU9iamVjdEFzeW5jIiwiZmlyc3QiLCJzZWNvbmQiLCJ0aGlyZCIsIlpvZE1hcCIsImVudHJpZXMiLCJmaW5hbE1hcCIsIlpvZFNldCIsIm1pblNpemUiLCJzaXplIiwibWF4U2l6ZSIsImZpbmFsaXplU2V0IiwiZWxlbWVudHMiLCJwYXJzZWRTZXQiLCJTZXQiLCJhZGQiLCJ2YWx1ZXMiLCJab2RGdW5jdGlvbiIsImltcGxlbWVudCIsImZ1bmN0aW9uIiwibWFrZUFyZ3NJc3N1ZSIsImVycm9yTWFwcyIsImlzc3VlRGF0YSIsImludmFsaWRfYXJndW1lbnRzIiwiYXJndW1lbnRzRXJyb3IiLCJtYWtlUmV0dXJuc0lzc3VlIiwicmV0dXJucyIsImludmFsaWRfcmV0dXJuX3R5cGUiLCJyZXR1cm5UeXBlRXJyb3IiLCJmbiIsIm1lIiwicGFyc2VkQXJncyIsImUiLCJSZWZsZWN0IiwiYXBwbHkiLCJwYXJzZWRSZXR1cm5zIiwicGFyYW1ldGVycyIsInJldHVyblR5cGUiLCJmdW5jIiwidmFsaWRhdGVkRnVuYyIsInN0cmljdEltcGxlbWVudCIsImdldHRlciIsImxhenlTY2hlbWEiLCJpbnZhbGlkX2xpdGVyYWwiLCJleHBlY3RlZFZhbHVlcyIsImpvaW5WYWx1ZXMiLCJfY2FjaGUiLCJpbnZhbGlkX2VudW1fdmFsdWUiLCJlbnVtVmFsdWVzIiwiVmFsdWVzIiwiRW51bSIsImV4dHJhY3QiLCJuZXdEZWYiLCJleGNsdWRlIiwib3B0IiwibmF0aXZlRW51bVZhbHVlcyIsImdldFZhbGlkRW51bVZhbHVlcyIsInByb21pc2lmaWVkIiwic291cmNlVHlwZSIsImNoZWNrQ3R4IiwiYXJnIiwiZmF0YWwiLCJhYm9ydCIsInByb2Nlc3NlZCIsImV4ZWN1dGVSZWZpbmVtZW50IiwiYWNjIiwiaW5uZXIiLCJiYXNlIiwiY3JlYXRlV2l0aFByZXByb2Nlc3MiLCJwcmVwcm9jZXNzIiwiWm9kVHJhbnNmb3JtZXIiLCJyZW1vdmVEZWZhdWx0IiwibmV3Q3R4IiwicmVtb3ZlQ2F0Y2giLCJab2ROYU4iLCJuYW4iLCJCUkFORCIsIlN5bWJvbCIsImhhbmRsZUFzeW5jIiwiaW5SZXN1bHQiLCJpbiIsIm91dCIsImZyZWV6ZSIsIk9iamVjdCIsImNsZWFuUGFyYW1zIiwicCIsInAyIiwiX3BhcmFtcyIsInIiLCJfZmF0YWwiLCJTY2hlbWEiLCJab2RTY2hlbWEiLCJsYXRlIiwiQ2xhc3MiLCJfIiwiaW5zdGFuY2VPZlR5cGUiLCJjbHMiLCJuYW1lIiwic3RyaW5nVHlwZSIsIm51bWJlclR5cGUiLCJuYW5UeXBlIiwiYmlnSW50VHlwZSIsImJvb2xlYW5UeXBlIiwiZGF0ZVR5cGUiLCJzeW1ib2xUeXBlIiwidW5kZWZpbmVkVHlwZSIsIm51bGxUeXBlIiwiYW55VHlwZSIsInVua25vd25UeXBlIiwibmV2ZXJUeXBlIiwidm9pZFR5cGUiLCJhcnJheVR5cGUiLCJvYmplY3RUeXBlIiwic3RyaWN0T2JqZWN0VHlwZSIsInVuaW9uVHlwZSIsImRpc2NyaW1pbmF0ZWRVbmlvblR5cGUiLCJpbnRlcnNlY3Rpb25UeXBlIiwidHVwbGVUeXBlIiwicmVjb3JkVHlwZSIsIm1hcFR5cGUiLCJzZXRUeXBlIiwiZnVuY3Rpb25UeXBlIiwibGF6eVR5cGUiLCJsaXRlcmFsVHlwZSIsImVudW1UeXBlIiwibmF0aXZlRW51bVR5cGUiLCJwcm9taXNlVHlwZSIsImVmZmVjdHNUeXBlIiwib3B0aW9uYWxUeXBlIiwibnVsbGFibGVUeXBlIiwicHJlcHJvY2Vzc1R5cGUiLCJwaXBlbGluZVR5cGUiLCJvc3RyaW5nIiwib251bWJlciIsIm9ib29sZWFuIiwiYW55IiwiZGlzY3JpbWluYXRlZFVuaW9uIiwiaW5zdGFuY2VvZiIsImludGVyc2VjdGlvbiIsImxhenkiLCJsaXRlcmFsIiwibmF0aXZlRW51bSIsInBpcGVsaW5lIiwicmVjb3JkIiwic3RyaWN0T2JqZWN0IiwidHJhbnNmb3JtZXIiLCJ0dXBsZSIsInVuaW9uIiwidW5rbm93biIsIk5FVkVSIl0sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/__barrel_optimize__?names=Button,Container,Heading!=!./components/ui.tsx":
|
||
/*!********************************************************************************!*\
|
||
!*** __barrel_optimize__?names=Button,Container,Heading!=!./components/ui.tsx ***!
|
||
\********************************************************************************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Button: () => (/* reexport safe */ _Users_marcmintel_Projects_e_tib_com_components_ui_Button_tsx__WEBPACK_IMPORTED_MODULE_0__.Button),\n/* harmony export */ Container: () => (/* reexport safe */ _Users_marcmintel_Projects_e_tib_com_components_ui_Container_tsx__WEBPACK_IMPORTED_MODULE_1__.Container),\n/* harmony export */ Heading: () => (/* reexport safe */ _Users_marcmintel_Projects_e_tib_com_components_ui_Heading_tsx__WEBPACK_IMPORTED_MODULE_2__.Heading)\n/* harmony export */ });\n/* harmony import */ var _Users_marcmintel_Projects_e_tib_com_components_ui_Button_tsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/ui/Button.tsx */ \"(app-pages-browser)/./components/ui/Button.tsx\");\n/* harmony import */ var _Users_marcmintel_Projects_e_tib_com_components_ui_Container_tsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/ui/Container.tsx */ \"(app-pages-browser)/./components/ui/Container.tsx\");\n/* harmony import */ var _Users_marcmintel_Projects_e_tib_com_components_ui_Heading_tsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/ui/Heading.tsx */ \"(app-pages-browser)/./components/ui/Heading.tsx\");\n\n\n\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS9fX2JhcnJlbF9vcHRpbWl6ZV9fP25hbWVzPUJ1dHRvbixDb250YWluZXIsSGVhZGluZyE9IS4vY29tcG9uZW50cy91aS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ3NGO0FBQ007QUFDSiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL2NvbXBvbmVudHMvdWkudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IHsgQnV0dG9uIH0gZnJvbSBcIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9jb21wb25lbnRzL3VpL0J1dHRvbi50c3hcIlxuZXhwb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9jb21wb25lbnRzL3VpL0NvbnRhaW5lci50c3hcIlxuZXhwb3J0IHsgSGVhZGluZyB9IGZyb20gXCIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vY29tcG9uZW50cy91aS9IZWFkaW5nLnRzeFwiIl0sIm5hbWVzIjpbIkJ1dHRvbiIsIkNvbnRhaW5lciIsIkhlYWRpbmciXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/__barrel_optimize__?names=Button,Container,Heading!=!./components/ui.tsx\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(app-pages-browser)/__barrel_optimize__?names=cn!=!./components/ui.tsx":
|
||
/*!**********************************************************!*\
|
||
!*** __barrel_optimize__?names=cn!=!./components/ui.tsx ***!
|
||
\**********************************************************/
|
||
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cn: () => (/* reexport safe */ _Users_marcmintel_Projects_e_tib_com_components_ui_utils_ts__WEBPACK_IMPORTED_MODULE_0__.cn)\n/* harmony export */ });\n/* harmony import */ var _Users_marcmintel_Projects_e_tib_com_components_ui_utils_ts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/ui/utils.ts */ \"(app-pages-browser)/./components/ui/utils.ts\");\n\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS9fX2JhcnJlbF9vcHRpbWl6ZV9fP25hbWVzPWNuIT0hLi9jb21wb25lbnRzL3VpLnRzeCIsIm1hcHBpbmdzIjoiOzs7OztBQUNnRiIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL2NvbXBvbmVudHMvdWkudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IHsgY24gfSBmcm9tIFwiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL2NvbXBvbmVudHMvdWkvdXRpbHMudHNcIiJdLCJuYW1lcyI6WyJjbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/__barrel_optimize__?names=cn!=!./components/ui.tsx\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/components/app-router-headers.js":
|
||
/*!***********************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/components/app-router-headers.js ***!
|
||
\***********************************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ACTION_HEADER: function() {\n return ACTION_HEADER;\n },\n FLIGHT_HEADERS: function() {\n return FLIGHT_HEADERS;\n },\n NEXT_ACTION_NOT_FOUND_HEADER: function() {\n return NEXT_ACTION_NOT_FOUND_HEADER;\n },\n NEXT_ACTION_REVALIDATED_HEADER: function() {\n return NEXT_ACTION_REVALIDATED_HEADER;\n },\n NEXT_DID_POSTPONE_HEADER: function() {\n return NEXT_DID_POSTPONE_HEADER;\n },\n NEXT_HMR_REFRESH_HASH_COOKIE: function() {\n return NEXT_HMR_REFRESH_HASH_COOKIE;\n },\n NEXT_HMR_REFRESH_HEADER: function() {\n return NEXT_HMR_REFRESH_HEADER;\n },\n NEXT_HTML_REQUEST_ID_HEADER: function() {\n return NEXT_HTML_REQUEST_ID_HEADER;\n },\n NEXT_IS_PRERENDER_HEADER: function() {\n return NEXT_IS_PRERENDER_HEADER;\n },\n NEXT_REQUEST_ID_HEADER: function() {\n return NEXT_REQUEST_ID_HEADER;\n },\n NEXT_REWRITTEN_PATH_HEADER: function() {\n return NEXT_REWRITTEN_PATH_HEADER;\n },\n NEXT_REWRITTEN_QUERY_HEADER: function() {\n return NEXT_REWRITTEN_QUERY_HEADER;\n },\n NEXT_ROUTER_PREFETCH_HEADER: function() {\n return NEXT_ROUTER_PREFETCH_HEADER;\n },\n NEXT_ROUTER_SEGMENT_PREFETCH_HEADER: function() {\n return NEXT_ROUTER_SEGMENT_PREFETCH_HEADER;\n },\n NEXT_ROUTER_STALE_TIME_HEADER: function() {\n return NEXT_ROUTER_STALE_TIME_HEADER;\n },\n NEXT_ROUTER_STATE_TREE_HEADER: function() {\n return NEXT_ROUTER_STATE_TREE_HEADER;\n },\n NEXT_RSC_UNION_QUERY: function() {\n return NEXT_RSC_UNION_QUERY;\n },\n NEXT_URL: function() {\n return NEXT_URL;\n },\n RSC_CONTENT_TYPE_HEADER: function() {\n return RSC_CONTENT_TYPE_HEADER;\n },\n RSC_HEADER: function() {\n return RSC_HEADER;\n }\n});\nconst RSC_HEADER = 'rsc';\nconst ACTION_HEADER = 'next-action';\nconst NEXT_ROUTER_STATE_TREE_HEADER = 'next-router-state-tree';\nconst NEXT_ROUTER_PREFETCH_HEADER = 'next-router-prefetch';\nconst NEXT_ROUTER_SEGMENT_PREFETCH_HEADER = 'next-router-segment-prefetch';\nconst NEXT_HMR_REFRESH_HEADER = 'next-hmr-refresh';\nconst NEXT_HMR_REFRESH_HASH_COOKIE = '__next_hmr_refresh_hash__';\nconst NEXT_URL = 'next-url';\nconst RSC_CONTENT_TYPE_HEADER = 'text/x-component';\nconst FLIGHT_HEADERS = [\n RSC_HEADER,\n NEXT_ROUTER_STATE_TREE_HEADER,\n NEXT_ROUTER_PREFETCH_HEADER,\n NEXT_HMR_REFRESH_HEADER,\n NEXT_ROUTER_SEGMENT_PREFETCH_HEADER\n];\nconst NEXT_RSC_UNION_QUERY = '_rsc';\nconst NEXT_ROUTER_STALE_TIME_HEADER = 'x-nextjs-stale-time';\nconst NEXT_DID_POSTPONE_HEADER = 'x-nextjs-postponed';\nconst NEXT_REWRITTEN_PATH_HEADER = 'x-nextjs-rewritten-path';\nconst NEXT_REWRITTEN_QUERY_HEADER = 'x-nextjs-rewritten-query';\nconst NEXT_IS_PRERENDER_HEADER = 'x-nextjs-prerender';\nconst NEXT_ACTION_NOT_FOUND_HEADER = 'x-nextjs-action-not-found';\nconst NEXT_REQUEST_ID_HEADER = 'x-nextjs-request-id';\nconst NEXT_HTML_REQUEST_ID_HEADER = 'x-nextjs-html-request-id';\nconst NEXT_ACTION_REVALIDATED_HEADER = 'x-action-revalidated';\nif ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router-headers.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNoYXJlZCkvLi9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYXBwLXJvdXRlci1oZWFkZXJzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUNhQSxhQUFhO2VBQWJBOztJQWlCQUMsY0FBYztlQUFkQTs7SUFlQUMsNEJBQTRCO2VBQTVCQTs7SUFLQUMsOEJBQThCO2VBQTlCQTs7SUFUQUMsd0JBQXdCO2VBQXhCQTs7SUFmQUMsNEJBQTRCO2VBQTVCQTs7SUFEQUMsdUJBQXVCO2VBQXZCQTs7SUFzQkFDLDJCQUEyQjtlQUEzQkE7O0lBSEFDLHdCQUF3QjtlQUF4QkE7O0lBRUFDLHNCQUFzQjtlQUF0QkE7O0lBSkFDLDBCQUEwQjtlQUExQkE7O0lBQ0FDLDJCQUEyQjtlQUEzQkE7O0lBekJBQywyQkFBMkI7ZUFBM0JBOztJQUtBQyxtQ0FBbUM7ZUFBbkNBOztJQWlCQUMsNkJBQTZCO2VBQTdCQTs7SUF2QkFDLDZCQUE2QjtlQUE3QkE7O0lBcUJBQyxvQkFBb0I7ZUFBcEJBOztJQVhBQyxRQUFRO2VBQVJBOztJQUNBQyx1QkFBdUI7ZUFBdkJBOztJQWhCQUMsVUFBVTtlQUFWQTs7O0FBQU4sTUFBTUEsYUFBYTtBQUNuQixNQUFNbkIsZ0JBQWdCO0FBSXRCLE1BQU1lLGdDQUFnQztBQUN0QyxNQUFNSCw4QkFBOEI7QUFLcEMsTUFBTUMsc0NBQ1g7QUFDSyxNQUFNUCwwQkFBMEI7QUFDaEMsTUFBTUQsK0JBQStCO0FBQ3JDLE1BQU1ZLFdBQVc7QUFDakIsTUFBTUMsMEJBQTBCO0FBRWhDLE1BQU1qQixpQkFBaUI7SUFDNUJrQjtJQUNBSjtJQUNBSDtJQUNBTjtJQUNBTztDQUNEO0FBRU0sTUFBTUcsdUJBQXVCO0FBRTdCLE1BQU1GLGdDQUFnQztBQUN0QyxNQUFNViwyQkFBMkI7QUFDakMsTUFBTU0sNkJBQTZCO0FBQ25DLE1BQU1DLDhCQUE4QjtBQUNwQyxNQUFNSCwyQkFBMkI7QUFDakMsTUFBTU4sK0JBQStCO0FBQ3JDLE1BQU1PLHlCQUF5QjtBQUMvQixNQUFNRiw4QkFBOEI7QUFHcEMsTUFBTUosaUNBQWlDIiwic291cmNlcyI6WyIvVXNlcnMvc3JjL2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItaGVhZGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgUlNDX0hFQURFUiA9ICdyc2MnIGFzIGNvbnN0XG5leHBvcnQgY29uc3QgQUNUSU9OX0hFQURFUiA9ICduZXh0LWFjdGlvbicgYXMgY29uc3Rcbi8vIFRPRE86IEluc3RlYWQgb2Ygc2VuZGluZyB0aGUgZnVsbCByb3V0ZXIgc3RhdGUsIHdlIG9ubHkgbmVlZCB0byBzZW5kIHRoZVxuLy8gc2VnbWVudCBwYXRoLiBTYXZlcyBieXRlcy4gVGhlbiB3ZSBjb3VsZCBhbHNvIHVzZSB0aGlzIGZpZWxkIGZvciBzZWdtZW50XG4vLyBwcmVmZXRjaGVzLCB3aGljaCBhbHNvIG5lZWQgdG8gc3BlY2lmeSBhIHBhcnRpY3VsYXIgc2VnbWVudC5cbmV4cG9ydCBjb25zdCBORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUiA9ICduZXh0LXJvdXRlci1zdGF0ZS10cmVlJyBhcyBjb25zdFxuZXhwb3J0IGNvbnN0IE5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUiA9ICduZXh0LXJvdXRlci1wcmVmZXRjaCcgYXMgY29uc3Rcbi8vIFRoaXMgY29udGFpbnMgdGhlIHBhdGggdG8gdGhlIHNlZ21lbnQgYmVpbmcgcHJlZmV0Y2hlZC5cbi8vIFRPRE86IElmIHdlIGNoYW5nZSBuZXh0LXJvdXRlci1zdGF0ZS10cmVlIHRvIGJlIGEgc2VnbWVudCBwYXRoLCB3ZSBjYW4gdXNlXG4vLyB0aGF0IGluc3RlYWQuIFRoZW4gbmV4dC1yb3V0ZXItcHJlZmV0Y2ggYW5kIG5leHQtcm91dGVyLXNlZ21lbnQtcHJlZmV0Y2ggY2FuXG4vLyBiZSBtZXJnZWQgaW50byBhIHNpbmdsZSBlbnVtLlxuZXhwb3J0IGNvbnN0IE5FWFRfUk9VVEVSX1NFR01FTlRfUFJFRkVUQ0hfSEVBREVSID1cbiAgJ25leHQtcm91dGVyLXNlZ21lbnQtcHJlZmV0Y2gnIGFzIGNvbnN0XG5leHBvcnQgY29uc3QgTkVYVF9ITVJfUkVGUkVTSF9IRUFERVIgPSAnbmV4dC1obXItcmVmcmVzaCcgYXMgY29uc3RcbmV4cG9ydCBjb25zdCBORVhUX0hNUl9SRUZSRVNIX0hBU0hfQ09PS0lFID0gJ19fbmV4dF9obXJfcmVmcmVzaF9oYXNoX18nIGFzIGNvbnN0XG5leHBvcnQgY29uc3QgTkVYVF9VUkwgPSAnbmV4dC11cmwnIGFzIGNvbnN0XG5leHBvcnQgY29uc3QgUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIgPSAndGV4dC94LWNvbXBvbmVudCcgYXMgY29uc3RcblxuZXhwb3J0IGNvbnN0IEZMSUdIVF9IRUFERVJTID0gW1xuICBSU0NfSEVBREVSLFxuICBORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUixcbiAgTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSLFxuICBORVhUX0hNUl9SRUZSRVNIX0hFQURFUixcbiAgTkVYVF9ST1VURVJfU0VHTUVOVF9QUkVGRVRDSF9IRUFERVIsXG5dIGFzIGNvbnN0XG5cbmV4cG9ydCBjb25zdCBORVhUX1JTQ19VTklPTl9RVUVSWSA9ICdfcnNjJyBhcyBjb25zdFxuXG5leHBvcnQgY29uc3QgTkVYVF9ST1VURVJfU1RBTEVfVElNRV9IRUFERVIgPSAneC1uZXh0anMtc3RhbGUtdGltZScgYXMgY29uc3RcbmV4cG9ydCBjb25zdCBORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIgPSAneC1uZXh0anMtcG9zdHBvbmVkJyBhcyBjb25zdFxuZXhwb3J0IGNvbnN0IE5FWFRfUkVXUklUVEVOX1BBVEhfSEVBREVSID0gJ3gtbmV4dGpzLXJld3JpdHRlbi1wYXRoJyBhcyBjb25zdFxuZXhwb3J0IGNvbnN0IE5FWFRfUkVXUklUVEVOX1FVRVJZX0hFQURFUiA9ICd4LW5leHRqcy1yZXdyaXR0ZW4tcXVlcnknIGFzIGNvbnN0XG5leHBvcnQgY29uc3QgTkVYVF9JU19QUkVSRU5ERVJfSEVBREVSID0gJ3gtbmV4dGpzLXByZXJlbmRlcicgYXMgY29uc3RcbmV4cG9ydCBjb25zdCBORVhUX0FDVElPTl9OT1RfRk9VTkRfSEVBREVSID0gJ3gtbmV4dGpzLWFjdGlvbi1ub3QtZm91bmQnIGFzIGNvbnN0XG5leHBvcnQgY29uc3QgTkVYVF9SRVFVRVNUX0lEX0hFQURFUiA9ICd4LW5leHRqcy1yZXF1ZXN0LWlkJyBhcyBjb25zdFxuZXhwb3J0IGNvbnN0IE5FWFRfSFRNTF9SRVFVRVNUX0lEX0hFQURFUiA9ICd4LW5leHRqcy1odG1sLXJlcXVlc3QtaWQnIGFzIGNvbnN0XG5cbi8vIFRPRE86IFNob3VsZCB0aGlzIGluY2x1ZGUgbmV4dGpzIGluIHRoZSBuYW1lLCBsaWtlIHRoZSBvdGhlcnM/XG5leHBvcnQgY29uc3QgTkVYVF9BQ1RJT05fUkVWQUxJREFURURfSEVBREVSID0gJ3gtYWN0aW9uLXJldmFsaWRhdGVkJyBhcyBjb25zdFxuIl0sIm5hbWVzIjpbIkFDVElPTl9IRUFERVIiLCJGTElHSFRfSEVBREVSUyIsIk5FWFRfQUNUSU9OX05PVF9GT1VORF9IRUFERVIiLCJORVhUX0FDVElPTl9SRVZBTElEQVRFRF9IRUFERVIiLCJORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIiLCJORVhUX0hNUl9SRUZSRVNIX0hBU0hfQ09PS0lFIiwiTkVYVF9ITVJfUkVGUkVTSF9IRUFERVIiLCJORVhUX0hUTUxfUkVRVUVTVF9JRF9IRUFERVIiLCJORVhUX0lTX1BSRVJFTkRFUl9IRUFERVIiLCJORVhUX1JFUVVFU1RfSURfSEVBREVSIiwiTkVYVF9SRVdSSVRURU5fUEFUSF9IRUFERVIiLCJORVhUX1JFV1JJVFRFTl9RVUVSWV9IRUFERVIiLCJORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVIiLCJORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUiIsIk5FWFRfUk9VVEVSX1NUQUxFX1RJTUVfSEVBREVSIiwiTkVYVF9ST1VURVJfU1RBVEVfVFJFRV9IRUFERVIiLCJORVhUX1JTQ19VTklPTl9RVUVSWSIsIk5FWFRfVVJMIiwiUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIiLCJSU0NfSEVBREVSIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/components/app-router-headers.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/async-local-storage.js":
|
||
/*!************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/async-local-storage.js ***!
|
||
\************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n bindSnapshot: function() {\n return bindSnapshot;\n },\n createAsyncLocalStorage: function() {\n return createAsyncLocalStorage;\n },\n createSnapshot: function() {\n return createSnapshot;\n }\n});\nconst sharedAsyncLocalStorageNotAvailableError = Object.defineProperty(new Error('Invariant: AsyncLocalStorage accessed in runtime where it is not available'), \"__NEXT_ERROR_CODE\", {\n value: \"E504\",\n enumerable: false,\n configurable: true\n});\nclass FakeAsyncLocalStorage {\n disable() {\n throw sharedAsyncLocalStorageNotAvailableError;\n }\n getStore() {\n // This fake implementation of AsyncLocalStorage always returns `undefined`.\n return undefined;\n }\n run() {\n throw sharedAsyncLocalStorageNotAvailableError;\n }\n exit() {\n throw sharedAsyncLocalStorageNotAvailableError;\n }\n enterWith() {\n throw sharedAsyncLocalStorageNotAvailableError;\n }\n static bind(fn) {\n return fn;\n }\n}\nconst maybeGlobalAsyncLocalStorage = typeof globalThis !== 'undefined' && globalThis.AsyncLocalStorage;\nfunction createAsyncLocalStorage() {\n if (maybeGlobalAsyncLocalStorage) {\n return new maybeGlobalAsyncLocalStorage();\n }\n return new FakeAsyncLocalStorage();\n}\nfunction bindSnapshot(// WARNING: Don't pass a named function to this argument! See: https://github.com/facebook/react/pull/34911\nfn) {\n if (maybeGlobalAsyncLocalStorage) {\n return maybeGlobalAsyncLocalStorage.bind(fn);\n }\n return FakeAsyncLocalStorage.bind(fn);\n}\nfunction createSnapshot() {\n if (maybeGlobalAsyncLocalStorage) {\n return maybeGlobalAsyncLocalStorage.snapshot();\n }\n return function(fn, ...args) {\n return fn(...args);\n };\n}\n\n//# sourceMappingURL=async-local-storage.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNoYXJlZCkvLi9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvYXN5bmMtbG9jYWwtc3RvcmFnZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FJTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL25leHRAMTYuMS42X0BiYWJlbCtjb3JlQDcuMjkuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjFfcmVhY3QtZG9tQDE5LjIuNF9yZWFjdEAxOS4yLjRfX3JlYWN0QDE5LjIuNF9zYXNzQDEuOTguMC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2FzeW5jLWxvY2FsLXN0b3JhZ2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBiaW5kU25hcHNob3Q6IG51bGwsXG4gICAgY3JlYXRlQXN5bmNMb2NhbFN0b3JhZ2U6IG51bGwsXG4gICAgY3JlYXRlU25hcHNob3Q6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgYmluZFNuYXBzaG90OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJpbmRTbmFwc2hvdDtcbiAgICB9LFxuICAgIGNyZWF0ZUFzeW5jTG9jYWxTdG9yYWdlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUFzeW5jTG9jYWxTdG9yYWdlO1xuICAgIH0sXG4gICAgY3JlYXRlU25hcHNob3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlU25hcHNob3Q7XG4gICAgfVxufSk7XG5jb25zdCBzaGFyZWRBc3luY0xvY2FsU3RvcmFnZU5vdEF2YWlsYWJsZUVycm9yID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBFcnJvcignSW52YXJpYW50OiBBc3luY0xvY2FsU3RvcmFnZSBhY2Nlc3NlZCBpbiBydW50aW1lIHdoZXJlIGl0IGlzIG5vdCBhdmFpbGFibGUnKSwgXCJfX05FWFRfRVJST1JfQ09ERVwiLCB7XG4gICAgdmFsdWU6IFwiRTUwNFwiLFxuICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxufSk7XG5jbGFzcyBGYWtlQXN5bmNMb2NhbFN0b3JhZ2Uge1xuICAgIGRpc2FibGUoKSB7XG4gICAgICAgIHRocm93IHNoYXJlZEFzeW5jTG9jYWxTdG9yYWdlTm90QXZhaWxhYmxlRXJyb3I7XG4gICAgfVxuICAgIGdldFN0b3JlKCkge1xuICAgICAgICAvLyBUaGlzIGZha2UgaW1wbGVtZW50YXRpb24gb2YgQXN5bmNMb2NhbFN0b3JhZ2UgYWx3YXlzIHJldHVybnMgYHVuZGVmaW5lZGAuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJ1bigpIHtcbiAgICAgICAgdGhyb3cgc2hhcmVkQXN5bmNMb2NhbFN0b3JhZ2VOb3RBdmFpbGFibGVFcnJvcjtcbiAgICB9XG4gICAgZXhpdCgpIHtcbiAgICAgICAgdGhyb3cgc2hhcmVkQXN5bmNMb2NhbFN0b3JhZ2VOb3RBdmFpbGFibGVFcnJvcjtcbiAgICB9XG4gICAgZW50ZXJXaXRoKCkge1xuICAgICAgICB0aHJvdyBzaGFyZWRBc3luY0xvY2FsU3RvcmFnZU5vdEF2YWlsYWJsZUVycm9yO1xuICAgIH1cbiAgICBzdGF0aWMgYmluZChmbikge1xuICAgICAgICByZXR1cm4gZm47XG4gICAgfVxufVxuY29uc3QgbWF5YmVHbG9iYWxBc3luY0xvY2FsU3RvcmFnZSA9IHR5cGVvZiBnbG9iYWxUaGlzICE9PSAndW5kZWZpbmVkJyAmJiBnbG9iYWxUaGlzLkFzeW5jTG9jYWxTdG9yYWdlO1xuZnVuY3Rpb24gY3JlYXRlQXN5bmNMb2NhbFN0b3JhZ2UoKSB7XG4gICAgaWYgKG1heWJlR2xvYmFsQXN5bmNMb2NhbFN0b3JhZ2UpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBtYXliZUdsb2JhbEFzeW5jTG9jYWxTdG9yYWdlKCk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgRmFrZUFzeW5jTG9jYWxTdG9yYWdlKCk7XG59XG5mdW5jdGlvbiBiaW5kU25hcHNob3QoLy8gV0FSTklORzogRG9uJ3QgcGFzcyBhIG5hbWVkIGZ1bmN0aW9uIHRvIHRoaXMgYXJndW1lbnQhIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3B1bGwvMzQ5MTFcbmZuKSB7XG4gICAgaWYgKG1heWJlR2xvYmFsQXN5bmNMb2NhbFN0b3JhZ2UpIHtcbiAgICAgICAgcmV0dXJuIG1heWJlR2xvYmFsQXN5bmNMb2NhbFN0b3JhZ2UuYmluZChmbik7XG4gICAgfVxuICAgIHJldHVybiBGYWtlQXN5bmNMb2NhbFN0b3JhZ2UuYmluZChmbik7XG59XG5mdW5jdGlvbiBjcmVhdGVTbmFwc2hvdCgpIHtcbiAgICBpZiAobWF5YmVHbG9iYWxBc3luY0xvY2FsU3RvcmFnZSkge1xuICAgICAgICByZXR1cm4gbWF5YmVHbG9iYWxBc3luY0xvY2FsU3RvcmFnZS5zbmFwc2hvdCgpO1xuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24oZm4sIC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIGZuKC4uLmFyZ3MpO1xuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFzeW5jLWxvY2FsLXN0b3JhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/async-local-storage.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-async-storage-instance.js":
|
||
/*!********************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-async-storage-instance.js ***!
|
||
\********************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"workAsyncStorageInstance\", ({\n enumerable: true,\n get: function() {\n return workAsyncStorageInstance;\n }\n}));\nconst _asynclocalstorage = __webpack_require__(/*! ./async-local-storage */ \"(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/async-local-storage.js\");\nconst workAsyncStorageInstance = (0, _asynclocalstorage.createAsyncLocalStorage)();\n\n//# sourceMappingURL=work-async-storage-instance.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNoYXJlZCkvLi9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvd29yay1hc3luYy1zdG9yYWdlLWluc3RhbmNlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsNERBQTJEO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsMkJBQTJCLG1CQUFPLENBQUMsNE9BQXVCO0FBQzFEOztBQUVBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL25leHRAMTYuMS42X0BiYWJlbCtjb3JlQDcuMjkuMF9Ab3BlbnRlbGVtZXRyeSthcGlAMS45LjFfcmVhY3QtZG9tQDE5LjIuNF9yZWFjdEAxOS4yLjRfX3JlYWN0QDE5LjIuNF9zYXNzQDEuOTguMC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL3dvcmstYXN5bmMtc3RvcmFnZS1pbnN0YW5jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIndvcmtBc3luY1N0b3JhZ2VJbnN0YW5jZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gd29ya0FzeW5jU3RvcmFnZUluc3RhbmNlO1xuICAgIH1cbn0pO1xuY29uc3QgX2FzeW5jbG9jYWxzdG9yYWdlID0gcmVxdWlyZShcIi4vYXN5bmMtbG9jYWwtc3RvcmFnZVwiKTtcbmNvbnN0IHdvcmtBc3luY1N0b3JhZ2VJbnN0YW5jZSA9ICgwLCBfYXN5bmNsb2NhbHN0b3JhZ2UuY3JlYXRlQXN5bmNMb2NhbFN0b3JhZ2UpKCk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdvcmstYXN5bmMtc3RvcmFnZS1pbnN0YW5jZS5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-async-storage-instance.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-async-storage.external.js":
|
||
/*!********************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-async-storage.external.js ***!
|
||
\********************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"workAsyncStorage\", ({\n enumerable: true,\n get: function() {\n return _workasyncstorageinstance.workAsyncStorageInstance;\n }\n}));\nconst _workasyncstorageinstance = __webpack_require__(/*! ./work-async-storage-instance */ \"(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-async-storage-instance.js\");\n\n//# sourceMappingURL=work-async-storage.external.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNoYXJlZCkvLi9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvd29yay1hc3luYy1zdG9yYWdlLmV4dGVybmFsLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0Ysb0RBQW1EO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFDO0FBQ0Ysa0NBQWtDLG1CQUFPLENBQUMsNFBBQStCOztBQUV6RSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci93b3JrLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJ3b3JrQXN5bmNTdG9yYWdlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfd29ya2FzeW5jc3RvcmFnZWluc3RhbmNlLndvcmtBc3luY1N0b3JhZ2VJbnN0YW5jZTtcbiAgICB9XG59KTtcbmNvbnN0IF93b3JrYXN5bmNzdG9yYWdlaW5zdGFuY2UgPSByZXF1aXJlKFwiLi93b3JrLWFzeW5jLXN0b3JhZ2UtaW5zdGFuY2VcIik7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdvcmstYXN5bmMtc3RvcmFnZS5leHRlcm5hbC5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-async-storage.external.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js":
|
||
/*!*************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js ***!
|
||
\*************************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"workUnitAsyncStorageInstance\", ({\n enumerable: true,\n get: function() {\n return workUnitAsyncStorageInstance;\n }\n}));\nconst _asynclocalstorage = __webpack_require__(/*! ./async-local-storage */ \"(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/async-local-storage.js\");\nconst workUnitAsyncStorageInstance = (0, _asynclocalstorage.createAsyncLocalStorage)();\n\n//# sourceMappingURL=work-unit-async-storage-instance.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNoYXJlZCkvLi9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvd29yay11bml0LWFzeW5jLXN0b3JhZ2UtaW5zdGFuY2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixnRUFBK0Q7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRiwyQkFBMkIsbUJBQU8sQ0FBQyw0T0FBdUI7QUFDMUQ7O0FBRUEiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvd29yay11bml0LWFzeW5jLXN0b3JhZ2UtaW5zdGFuY2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJ3b3JrVW5pdEFzeW5jU3RvcmFnZUluc3RhbmNlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB3b3JrVW5pdEFzeW5jU3RvcmFnZUluc3RhbmNlO1xuICAgIH1cbn0pO1xuY29uc3QgX2FzeW5jbG9jYWxzdG9yYWdlID0gcmVxdWlyZShcIi4vYXN5bmMtbG9jYWwtc3RvcmFnZVwiKTtcbmNvbnN0IHdvcmtVbml0QXN5bmNTdG9yYWdlSW5zdGFuY2UgPSAoMCwgX2FzeW5jbG9jYWxzdG9yYWdlLmNyZWF0ZUFzeW5jTG9jYWxTdG9yYWdlKSgpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD13b3JrLXVuaXQtYXN5bmMtc3RvcmFnZS1pbnN0YW5jZS5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js":
|
||
/*!*************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js ***!
|
||
\*************************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getCacheSignal: function() {\n return getCacheSignal;\n },\n getDraftModeProviderForCacheScope: function() {\n return getDraftModeProviderForCacheScope;\n },\n getHmrRefreshHash: function() {\n return getHmrRefreshHash;\n },\n getPrerenderResumeDataCache: function() {\n return getPrerenderResumeDataCache;\n },\n getRenderResumeDataCache: function() {\n return getRenderResumeDataCache;\n },\n getRuntimeStagePromise: function() {\n return getRuntimeStagePromise;\n },\n getServerComponentsHmrCache: function() {\n return getServerComponentsHmrCache;\n },\n isHmrRefresh: function() {\n return isHmrRefresh;\n },\n throwForMissingRequestStore: function() {\n return throwForMissingRequestStore;\n },\n throwInvariantForMissingStore: function() {\n return throwInvariantForMissingStore;\n },\n workUnitAsyncStorage: function() {\n return _workunitasyncstorageinstance.workUnitAsyncStorageInstance;\n }\n});\nconst _workunitasyncstorageinstance = __webpack_require__(/*! ./work-unit-async-storage-instance */ \"(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js\");\nconst _approuterheaders = __webpack_require__(/*! ../../client/components/app-router-headers */ \"(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/client/components/app-router-headers.js\");\nconst _invarianterror = __webpack_require__(/*! ../../shared/lib/invariant-error */ \"(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/invariant-error.js\");\nfunction throwForMissingRequestStore(callingExpression) {\n throw Object.defineProperty(new Error(`\\`${callingExpression}\\` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`), \"__NEXT_ERROR_CODE\", {\n value: \"E251\",\n enumerable: false,\n configurable: true\n });\n}\nfunction throwInvariantForMissingStore() {\n throw Object.defineProperty(new _invarianterror.InvariantError('Expected workUnitAsyncStorage to have a store.'), \"__NEXT_ERROR_CODE\", {\n value: \"E696\",\n enumerable: false,\n configurable: true\n });\n}\nfunction getPrerenderResumeDataCache(workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender':\n case 'prerender-runtime':\n case 'prerender-ppr':\n return workUnitStore.prerenderResumeDataCache;\n case 'prerender-client':\n // TODO eliminate fetch caching in client scope and stop exposing this data\n // cache during SSR.\n return workUnitStore.prerenderResumeDataCache;\n case 'request':\n {\n // In dev, we might fill caches even during a dynamic request.\n if (workUnitStore.prerenderResumeDataCache) {\n return workUnitStore.prerenderResumeDataCache;\n }\n // fallthrough\n }\n case 'prerender-legacy':\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n return null;\n default:\n return workUnitStore;\n }\n}\nfunction getRenderResumeDataCache(workUnitStore) {\n switch(workUnitStore.type){\n case 'request':\n case 'prerender':\n case 'prerender-runtime':\n case 'prerender-client':\n if (workUnitStore.renderResumeDataCache) {\n // If we are in a prerender, we might have a render resume data cache\n // that is used to read from prefilled caches.\n return workUnitStore.renderResumeDataCache;\n }\n // fallthrough\n case 'prerender-ppr':\n // Otherwise we return the mutable resume data cache here as an immutable\n // version of the cache as it can also be used for reading.\n return workUnitStore.prerenderResumeDataCache ?? null;\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n case 'prerender-legacy':\n return null;\n default:\n return workUnitStore;\n }\n}\nfunction getHmrRefreshHash(workStore, workUnitStore) {\n if (workStore.dev) {\n switch(workUnitStore.type){\n case 'cache':\n case 'private-cache':\n case 'prerender':\n case 'prerender-runtime':\n return workUnitStore.hmrRefreshHash;\n case 'request':\n var _workUnitStore_cookies_get;\n return (_workUnitStore_cookies_get = workUnitStore.cookies.get(_approuterheaders.NEXT_HMR_REFRESH_HASH_COOKIE)) == null ? void 0 : _workUnitStore_cookies_get.value;\n case 'prerender-client':\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'unstable-cache':\n break;\n default:\n workUnitStore;\n }\n }\n return undefined;\n}\nfunction isHmrRefresh(workStore, workUnitStore) {\n if (workStore.dev) {\n switch(workUnitStore.type){\n case 'cache':\n case 'private-cache':\n case 'request':\n return workUnitStore.isHmrRefresh ?? false;\n case 'prerender':\n case 'prerender-client':\n case 'prerender-runtime':\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'unstable-cache':\n break;\n default:\n workUnitStore;\n }\n }\n return false;\n}\nfunction getServerComponentsHmrCache(workStore, workUnitStore) {\n if (workStore.dev) {\n switch(workUnitStore.type){\n case 'cache':\n case 'private-cache':\n case 'request':\n return workUnitStore.serverComponentsHmrCache;\n case 'prerender':\n case 'prerender-client':\n case 'prerender-runtime':\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'unstable-cache':\n break;\n default:\n workUnitStore;\n }\n }\n return undefined;\n}\nfunction getDraftModeProviderForCacheScope(workStore, workUnitStore) {\n if (workStore.isDraftMode) {\n switch(workUnitStore.type){\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n case 'prerender-runtime':\n case 'request':\n return workUnitStore.draftMode;\n case 'prerender':\n case 'prerender-client':\n case 'prerender-ppr':\n case 'prerender-legacy':\n break;\n default:\n workUnitStore;\n }\n }\n return undefined;\n}\nfunction getCacheSignal(workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender':\n case 'prerender-client':\n case 'prerender-runtime':\n return workUnitStore.cacheSignal;\n case 'request':\n {\n // In dev, we might fill caches even during a dynamic request.\n if (workUnitStore.cacheSignal) {\n return workUnitStore.cacheSignal;\n }\n // fallthrough\n }\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n return null;\n default:\n return workUnitStore;\n }\n}\nfunction getRuntimeStagePromise(workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender-runtime':\n case 'private-cache':\n return workUnitStore.runtimeStagePromise;\n case 'prerender':\n case 'prerender-client':\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'request':\n case 'cache':\n case 'unstable-cache':\n return null;\n default:\n return workUnitStore;\n }\n}\n\n//# sourceMappingURL=work-unit-async-storage.external.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNoYXJlZCkvLi9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvd29yay11bml0LWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWwuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYiw4Q0FBNkM7QUFDN0M7QUFDQSxDQUFDLEVBQUM7QUFDRixNQUFNLENBWUw7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Qsc0NBQXNDLG1CQUFPLENBQUMsc1FBQW9DO0FBQ2xGLDBCQUEwQixtQkFBTyxDQUFDLGdRQUE0QztBQUM5RSx3QkFBd0IsbUJBQU8sQ0FBQyw0T0FBa0M7QUFDbEU7QUFDQSwrQ0FBK0Msa0JBQWtCO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfQG9wZW50ZWxlbWV0cnkrYXBpQDEuOS4xX3JlYWN0LWRvbUAxOS4yLjRfcmVhY3RAMTkuMi40X19yZWFjdEAxOS4yLjRfc2Fzc0AxLjk4LjAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci93b3JrLXVuaXQtYXN5bmMtc3RvcmFnZS5leHRlcm5hbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGdldENhY2hlU2lnbmFsOiBudWxsLFxuICAgIGdldERyYWZ0TW9kZVByb3ZpZGVyRm9yQ2FjaGVTY29wZTogbnVsbCxcbiAgICBnZXRIbXJSZWZyZXNoSGFzaDogbnVsbCxcbiAgICBnZXRQcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU6IG51bGwsXG4gICAgZ2V0UmVuZGVyUmVzdW1lRGF0YUNhY2hlOiBudWxsLFxuICAgIGdldFJ1bnRpbWVTdGFnZVByb21pc2U6IG51bGwsXG4gICAgZ2V0U2VydmVyQ29tcG9uZW50c0htckNhY2hlOiBudWxsLFxuICAgIGlzSG1yUmVmcmVzaDogbnVsbCxcbiAgICB0aHJvd0Zvck1pc3NpbmdSZXF1ZXN0U3RvcmU6IG51bGwsXG4gICAgdGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmU6IG51bGwsXG4gICAgd29ya1VuaXRBc3luY1N0b3JhZ2U6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZ2V0Q2FjaGVTaWduYWw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0Q2FjaGVTaWduYWw7XG4gICAgfSxcbiAgICBnZXREcmFmdE1vZGVQcm92aWRlckZvckNhY2hlU2NvcGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0RHJhZnRNb2RlUHJvdmlkZXJGb3JDYWNoZVNjb3BlO1xuICAgIH0sXG4gICAgZ2V0SG1yUmVmcmVzaEhhc2g6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0SG1yUmVmcmVzaEhhc2g7XG4gICAgfSxcbiAgICBnZXRQcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0UHJlcmVuZGVyUmVzdW1lRGF0YUNhY2hlO1xuICAgIH0sXG4gICAgZ2V0UmVuZGVyUmVzdW1lRGF0YUNhY2hlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFJlbmRlclJlc3VtZURhdGFDYWNoZTtcbiAgICB9LFxuICAgIGdldFJ1bnRpbWVTdGFnZVByb21pc2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0UnVudGltZVN0YWdlUHJvbWlzZTtcbiAgICB9LFxuICAgIGdldFNlcnZlckNvbXBvbmVudHNIbXJDYWNoZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRTZXJ2ZXJDb21wb25lbnRzSG1yQ2FjaGU7XG4gICAgfSxcbiAgICBpc0htclJlZnJlc2g6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNIbXJSZWZyZXNoO1xuICAgIH0sXG4gICAgdGhyb3dGb3JNaXNzaW5nUmVxdWVzdFN0b3JlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRocm93Rm9yTWlzc2luZ1JlcXVlc3RTdG9yZTtcbiAgICB9LFxuICAgIHRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlO1xuICAgIH0sXG4gICAgd29ya1VuaXRBc3luY1N0b3JhZ2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3dvcmt1bml0YXN5bmNzdG9yYWdlaW5zdGFuY2Uud29ya1VuaXRBc3luY1N0b3JhZ2VJbnN0YW5jZTtcbiAgICB9XG59KTtcbmNvbnN0IF93b3JrdW5pdGFzeW5jc3RvcmFnZWluc3RhbmNlID0gcmVxdWlyZShcIi4vd29yay11bml0LWFzeW5jLXN0b3JhZ2UtaW5zdGFuY2VcIik7XG5jb25zdCBfYXBwcm91dGVyaGVhZGVycyA9IHJlcXVpcmUoXCIuLi8uLi9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLWhlYWRlcnNcIik7XG5jb25zdCBfaW52YXJpYW50ZXJyb3IgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9pbnZhcmlhbnQtZXJyb3JcIik7XG5mdW5jdGlvbiB0aHJvd0Zvck1pc3NpbmdSZXF1ZXN0U3RvcmUoY2FsbGluZ0V4cHJlc3Npb24pIHtcbiAgICB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IEVycm9yKGBcXGAke2NhbGxpbmdFeHByZXNzaW9ufVxcYCB3YXMgY2FsbGVkIG91dHNpZGUgYSByZXF1ZXN0IHNjb3BlLiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtZHluYW1pYy1hcGktd3JvbmctY29udGV4dGApLCBcIl9fTkVYVF9FUlJPUl9DT0RFXCIsIHtcbiAgICAgICAgdmFsdWU6IFwiRTI1MVwiLFxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG59XG5mdW5jdGlvbiB0aHJvd0ludmFyaWFudEZvck1pc3NpbmdTdG9yZSgpIHtcbiAgICB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IF9pbnZhcmlhbnRlcnJvci5JbnZhcmlhbnRFcnJvcignRXhwZWN0ZWQgd29ya1VuaXRBc3luY1N0b3JhZ2UgdG8gaGF2ZSBhIHN0b3JlLicpLCBcIl9fTkVYVF9FUlJPUl9DT0RFXCIsIHtcbiAgICAgICAgdmFsdWU6IFwiRTY5NlwiLFxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG59XG5mdW5jdGlvbiBnZXRQcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGUod29ya1VuaXRTdG9yZSkge1xuICAgIHN3aXRjaCh3b3JrVW5pdFN0b3JlLnR5cGUpe1xuICAgICAgICBjYXNlICdwcmVyZW5kZXInOlxuICAgICAgICBjYXNlICdwcmVyZW5kZXItcnVudGltZSc6XG4gICAgICAgIGNhc2UgJ3ByZXJlbmRlci1wcHInOlxuICAgICAgICAgICAgcmV0dXJuIHdvcmtVbml0U3RvcmUucHJlcmVuZGVyUmVzdW1lRGF0YUNhY2hlO1xuICAgICAgICBjYXNlICdwcmVyZW5kZXItY2xpZW50JzpcbiAgICAgICAgICAgIC8vIFRPRE8gZWxpbWluYXRlIGZldGNoIGNhY2hpbmcgaW4gY2xpZW50IHNjb3BlIGFuZCBzdG9wIGV4cG9zaW5nIHRoaXMgZGF0YVxuICAgICAgICAgICAgLy8gY2FjaGUgZHVyaW5nIFNTUi5cbiAgICAgICAgICAgIHJldHVybiB3b3JrVW5pdFN0b3JlLnByZXJlbmRlclJlc3VtZURhdGFDYWNoZTtcbiAgICAgICAgY2FzZSAncmVxdWVzdCc6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLy8gSW4gZGV2LCB3ZSBtaWdodCBmaWxsIGNhY2hlcyBldmVuIGR1cmluZyBhIGR5bmFtaWMgcmVxdWVzdC5cbiAgICAgICAgICAgICAgICBpZiAod29ya1VuaXRTdG9yZS5wcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtVbml0U3RvcmUucHJlcmVuZGVyUmVzdW1lRGF0YUNhY2hlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGZhbGx0aHJvdWdoXG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3ByZXJlbmRlci1sZWdhY3knOlxuICAgICAgICBjYXNlICdjYWNoZSc6XG4gICAgICAgIGNhc2UgJ3ByaXZhdGUtY2FjaGUnOlxuICAgICAgICBjYXNlICd1bnN0YWJsZS1jYWNoZSc6XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB3b3JrVW5pdFN0b3JlO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdldFJlbmRlclJlc3VtZURhdGFDYWNoZSh3b3JrVW5pdFN0b3JlKSB7XG4gICAgc3dpdGNoKHdvcmtVbml0U3RvcmUudHlwZSl7XG4gICAgICAgIGNhc2UgJ3JlcXVlc3QnOlxuICAgICAgICBjYXNlICdwcmVyZW5kZXInOlxuICAgICAgICBjYXNlICdwcmVyZW5kZXItcnVudGltZSc6XG4gICAgICAgIGNhc2UgJ3ByZXJlbmRlci1jbGllbnQnOlxuICAgICAgICAgICAgaWYgKHdvcmtVbml0U3RvcmUucmVuZGVyUmVzdW1lRGF0YUNhY2hlKSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgd2UgYXJlIGluIGEgcHJlcmVuZGVyLCB3ZSBtaWdodCBoYXZlIGEgcmVuZGVyIHJlc3VtZSBkYXRhIGNhY2hlXG4gICAgICAgICAgICAgICAgLy8gdGhhdCBpcyB1c2VkIHRvIHJlYWQgZnJvbSBwcmVmaWxsZWQgY2FjaGVzLlxuICAgICAgICAgICAgICAgIHJldHVybiB3b3JrVW5pdFN0b3JlLnJlbmRlclJlc3VtZURhdGFDYWNoZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgLy8gZmFsbHRocm91Z2hcbiAgICAgICAgY2FzZSAncHJlcmVuZGVyLXBwcic6XG4gICAgICAgICAgICAvLyBPdGhlcndpc2Ugd2UgcmV0dXJuIHRoZSBtdXRhYmxlIHJlc3VtZSBkYXRhIGNhY2hlIGhlcmUgYXMgYW4gaW1tdXRhYmxlXG4gICAgICAgICAgICAvLyB2ZXJzaW9uIG9mIHRoZSBjYWNoZSBhcyBpdCBjYW4gYWxzbyBiZSB1c2VkIGZvciByZWFkaW5nLlxuICAgICAgICAgICAgcmV0dXJuIHdvcmtVbml0U3RvcmUucHJlcmVuZGVyUmVzdW1lRGF0YUNhY2hlID8/IG51bGw7XG4gICAgICAgIGNhc2UgJ2NhY2hlJzpcbiAgICAgICAgY2FzZSAncHJpdmF0ZS1jYWNoZSc6XG4gICAgICAgIGNhc2UgJ3Vuc3RhYmxlLWNhY2hlJzpcbiAgICAgICAgY2FzZSAncHJlcmVuZGVyLWxlZ2FjeSc6XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB3b3JrVW5pdFN0b3JlO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdldEhtclJlZnJlc2hIYXNoKHdvcmtTdG9yZSwgd29ya1VuaXRTdG9yZSkge1xuICAgIGlmICh3b3JrU3RvcmUuZGV2KSB7XG4gICAgICAgIHN3aXRjaCh3b3JrVW5pdFN0b3JlLnR5cGUpe1xuICAgICAgICAgICAgY2FzZSAnY2FjaGUnOlxuICAgICAgICAgICAgY2FzZSAncHJpdmF0ZS1jYWNoZSc6XG4gICAgICAgICAgICBjYXNlICdwcmVyZW5kZXInOlxuICAgICAgICAgICAgY2FzZSAncHJlcmVuZGVyLXJ1bnRpbWUnOlxuICAgICAgICAgICAgICAgIHJldHVybiB3b3JrVW5pdFN0b3JlLmhtclJlZnJlc2hIYXNoO1xuICAgICAgICAgICAgY2FzZSAncmVxdWVzdCc6XG4gICAgICAgICAgICAgICAgdmFyIF93b3JrVW5pdFN0b3JlX2Nvb2tpZXNfZ2V0O1xuICAgICAgICAgICAgICAgIHJldHVybiAoX3dvcmtVbml0U3RvcmVfY29va2llc19nZXQgPSB3b3JrVW5pdFN0b3JlLmNvb2tpZXMuZ2V0KF9hcHByb3V0ZXJoZWFkZXJzLk5FWFRfSE1SX1JFRlJFU0hfSEFTSF9DT09LSUUpKSA9PSBudWxsID8gdm9pZCAwIDogX3dvcmtVbml0U3RvcmVfY29va2llc19nZXQudmFsdWU7XG4gICAgICAgICAgICBjYXNlICdwcmVyZW5kZXItY2xpZW50JzpcbiAgICAgICAgICAgIGNhc2UgJ3ByZXJlbmRlci1wcHInOlxuICAgICAgICAgICAgY2FzZSAncHJlcmVuZGVyLWxlZ2FjeSc6XG4gICAgICAgICAgICBjYXNlICd1bnN0YWJsZS1jYWNoZSc6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHdvcmtVbml0U3RvcmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIGlzSG1yUmVmcmVzaCh3b3JrU3RvcmUsIHdvcmtVbml0U3RvcmUpIHtcbiAgICBpZiAod29ya1N0b3JlLmRldikge1xuICAgICAgICBzd2l0Y2god29ya1VuaXRTdG9yZS50eXBlKXtcbiAgICAgICAgICAgIGNhc2UgJ2NhY2hlJzpcbiAgICAgICAgICAgIGNhc2UgJ3ByaXZhdGUtY2FjaGUnOlxuICAgICAgICAgICAgY2FzZSAncmVxdWVzdCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtVbml0U3RvcmUuaXNIbXJSZWZyZXNoID8/IGZhbHNlO1xuICAgICAgICAgICAgY2FzZSAncHJlcmVuZGVyJzpcbiAgICAgICAgICAgIGNhc2UgJ3ByZXJlbmRlci1jbGllbnQnOlxuICAgICAgICAgICAgY2FzZSAncHJlcmVuZGVyLXJ1bnRpbWUnOlxuICAgICAgICAgICAgY2FzZSAncHJlcmVuZGVyLXBwcic6XG4gICAgICAgICAgICBjYXNlICdwcmVyZW5kZXItbGVnYWN5JzpcbiAgICAgICAgICAgIGNhc2UgJ3Vuc3RhYmxlLWNhY2hlJzpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgd29ya1VuaXRTdG9yZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBnZXRTZXJ2ZXJDb21wb25lbnRzSG1yQ2FjaGUod29ya1N0b3JlLCB3b3JrVW5pdFN0b3JlKSB7XG4gICAgaWYgKHdvcmtTdG9yZS5kZXYpIHtcbiAgICAgICAgc3dpdGNoKHdvcmtVbml0U3RvcmUudHlwZSl7XG4gICAgICAgICAgICBjYXNlICdjYWNoZSc6XG4gICAgICAgICAgICBjYXNlICdwcml2YXRlLWNhY2hlJzpcbiAgICAgICAgICAgIGNhc2UgJ3JlcXVlc3QnOlxuICAgICAgICAgICAgICAgIHJldHVybiB3b3JrVW5pdFN0b3JlLnNlcnZlckNvbXBvbmVudHNIbXJDYWNoZTtcbiAgICAgICAgICAgIGNhc2UgJ3ByZXJlbmRlcic6XG4gICAgICAgICAgICBjYXNlICdwcmVyZW5kZXItY2xpZW50JzpcbiAgICAgICAgICAgIGNhc2UgJ3ByZXJlbmRlci1ydW50aW1lJzpcbiAgICAgICAgICAgIGNhc2UgJ3ByZXJlbmRlci1wcHInOlxuICAgICAgICAgICAgY2FzZSAncHJlcmVuZGVyLWxlZ2FjeSc6XG4gICAgICAgICAgICBjYXNlICd1bnN0YWJsZS1jYWNoZSc6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHdvcmtVbml0U3RvcmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIGdldERyYWZ0TW9kZVByb3ZpZGVyRm9yQ2FjaGVTY29wZSh3b3JrU3RvcmUsIHdvcmtVbml0U3RvcmUpIHtcbiAgICBpZiAod29ya1N0b3JlLmlzRHJhZnRNb2RlKSB7XG4gICAgICAgIHN3aXRjaCh3b3JrVW5pdFN0b3JlLnR5cGUpe1xuICAgICAgICAgICAgY2FzZSAnY2FjaGUnOlxuICAgICAgICAgICAgY2FzZSAncHJpdmF0ZS1jYWNoZSc6XG4gICAgICAgICAgICBjYXNlICd1bnN0YWJsZS1jYWNoZSc6XG4gICAgICAgICAgICBjYXNlICdwcmVyZW5kZXItcnVudGltZSc6XG4gICAgICAgICAgICBjYXNlICdyZXF1ZXN0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gd29ya1VuaXRTdG9yZS5kcmFmdE1vZGU7XG4gICAgICAgICAgICBjYXNlICdwcmVyZW5kZXInOlxuICAgICAgICAgICAgY2FzZSAncHJlcmVuZGVyLWNsaWVudCc6XG4gICAgICAgICAgICBjYXNlICdwcmVyZW5kZXItcHByJzpcbiAgICAgICAgICAgIGNhc2UgJ3ByZXJlbmRlci1sZWdhY3knOlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB3b3JrVW5pdFN0b3JlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBnZXRDYWNoZVNpZ25hbCh3b3JrVW5pdFN0b3JlKSB7XG4gICAgc3dpdGNoKHdvcmtVbml0U3RvcmUudHlwZSl7XG4gICAgICAgIGNhc2UgJ3ByZXJlbmRlcic6XG4gICAgICAgIGNhc2UgJ3ByZXJlbmRlci1jbGllbnQnOlxuICAgICAgICBjYXNlICdwcmVyZW5kZXItcnVudGltZSc6XG4gICAgICAgICAgICByZXR1cm4gd29ya1VuaXRTdG9yZS5jYWNoZVNpZ25hbDtcbiAgICAgICAgY2FzZSAncmVxdWVzdCc6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLy8gSW4gZGV2LCB3ZSBtaWdodCBmaWxsIGNhY2hlcyBldmVuIGR1cmluZyBhIGR5bmFtaWMgcmVxdWVzdC5cbiAgICAgICAgICAgICAgICBpZiAod29ya1VuaXRTdG9yZS5jYWNoZVNpZ25hbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gd29ya1VuaXRTdG9yZS5jYWNoZVNpZ25hbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBmYWxsdGhyb3VnaFxuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlICdwcmVyZW5kZXItcHByJzpcbiAgICAgICAgY2FzZSAncHJlcmVuZGVyLWxlZ2FjeSc6XG4gICAgICAgIGNhc2UgJ2NhY2hlJzpcbiAgICAgICAgY2FzZSAncHJpdmF0ZS1jYWNoZSc6XG4gICAgICAgIGNhc2UgJ3Vuc3RhYmxlLWNhY2hlJzpcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHdvcmtVbml0U3RvcmU7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0UnVudGltZVN0YWdlUHJvbWlzZSh3b3JrVW5pdFN0b3JlKSB7XG4gICAgc3dpdGNoKHdvcmtVbml0U3RvcmUudHlwZSl7XG4gICAgICAgIGNhc2UgJ3ByZXJlbmRlci1ydW50aW1lJzpcbiAgICAgICAgY2FzZSAncHJpdmF0ZS1jYWNoZSc6XG4gICAgICAgICAgICByZXR1cm4gd29ya1VuaXRTdG9yZS5ydW50aW1lU3RhZ2VQcm9taXNlO1xuICAgICAgICBjYXNlICdwcmVyZW5kZXInOlxuICAgICAgICBjYXNlICdwcmVyZW5kZXItY2xpZW50JzpcbiAgICAgICAgY2FzZSAncHJlcmVuZGVyLXBwcic6XG4gICAgICAgIGNhc2UgJ3ByZXJlbmRlci1sZWdhY3knOlxuICAgICAgICBjYXNlICdyZXF1ZXN0JzpcbiAgICAgICAgY2FzZSAnY2FjaGUnOlxuICAgICAgICBjYXNlICd1bnN0YWJsZS1jYWNoZSc6XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB3b3JrVW5pdFN0b3JlO1xuICAgIH1cbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9d29yay11bml0LWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWwuanMubWFwIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js\n"));
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/invariant-error.js":
|
||
/*!*************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/invariant-error.js ***!
|
||
\*************************************************************************************************************************************************************************************************/
|
||
/***/ ((module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"InvariantError\", ({\n enumerable: true,\n get: function() {\n return InvariantError;\n }\n}));\nclass InvariantError extends Error {\n constructor(message, options){\n super(`Invariant: ${message.endsWith('.') ? message : message + '.'} This is a bug in Next.js.`, options);\n this.name = 'InvariantError';\n }\n} //# sourceMappingURL=invariant-error.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNoYXJlZCkvLi9ub2RlX21vZHVsZXMvLnBucG0vbmV4dEAxNi4xLjZfQGJhYmVsK2NvcmVANy4yOS4wX0BvcGVudGVsZW1ldHJ5K2FwaUAxLjkuMV9yZWFjdC1kb21AMTkuMi40X3JlYWN0QDE5LjIuNF9fcmVhY3RAMTkuMi40X3Nhc3NAMS45OC4wL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbnZhcmlhbnQtZXJyb3IuanMiLCJtYXBwaW5ncyI6Ijs7OztrREFBYUE7OztlQUFBQTs7O0FBQU4sTUFBTUEsdUJBQXVCQztJQUNsQ0MsWUFBWUMsT0FBZSxFQUFFQyxPQUFzQixDQUFFO1FBQ25ELEtBQUssQ0FDSCxDQUFDLFdBQVcsRUFBRUQsUUFBUUUsUUFBUSxDQUFDLE9BQU9GLFVBQVVBLFVBQVUsSUFBSSwwQkFBMEIsQ0FBQyxFQUN6RkM7UUFFRixJQUFJLENBQUNFLElBQUksR0FBRztJQUNkO0FBQ0YiLCJzb3VyY2VzIjpbIi9Vc2Vycy9zcmMvc2hhcmVkL2xpYi9pbnZhcmlhbnQtZXJyb3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEludmFyaWFudEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIG9wdGlvbnM/OiBFcnJvck9wdGlvbnMpIHtcbiAgICBzdXBlcihcbiAgICAgIGBJbnZhcmlhbnQ6ICR7bWVzc2FnZS5lbmRzV2l0aCgnLicpID8gbWVzc2FnZSA6IG1lc3NhZ2UgKyAnLid9IFRoaXMgaXMgYSBidWcgaW4gTmV4dC5qcy5gLFxuICAgICAgb3B0aW9uc1xuICAgIClcbiAgICB0aGlzLm5hbWUgPSAnSW52YXJpYW50RXJyb3InXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJJbnZhcmlhbnRFcnJvciIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJtZXNzYWdlIiwib3B0aW9ucyIsImVuZHNXaXRoIiwibmFtZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(shared)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/shared/lib/invariant-error.js\n"));
|
||
|
||
/***/ })
|
||
|
||
},
|
||
/******/ __webpack_require__ => { // webpackRuntimeModules
|
||
/******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
|
||
/******/ __webpack_require__.O(0, ["main-app"], () => (__webpack_exec__("(app-pages-browser)/./node_modules/.pnpm/next@16.1.6_@babel+core@7.29.0_@opentelemetry+api@1.9.1_react-dom@19.2.4_react@19.2.4__react@19.2.4_sass@1.98.0/node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fmarcmintel%2FProjects%2Fe-tib.com%2Fapp%2F%5Blocale%5D%2Ferror.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=false!")));
|
||
/******/ var __webpack_exports__ = __webpack_require__.O();
|
||
/******/ _N_E = __webpack_exports__;
|
||
/******/ }
|
||
]); |